Scary-Cows is an educational engine development project that brings together graphics, physics, and gameplay into a cohesive and functional 3D experience. It demonstrates not only technical proficiency in C++ and real-time rendering, but also creativity and system design in gameplay architecture. The project serves as a robust foundation for future work in both game development and engine programming.
Technical Highlights
Engine Development
Custom-built 3D engine optimized for DirectX 11
Physics Simulation
NVIDIA PhysX integration for realistic physical interactions
Graphics Rendering
Advanced shader systems, texture blending, and post-processing effects
Gameplay Design
Unique mechanics like grappling hooks and AI-controlled horde systems
Graphics and Rendering
The engine leverages DirectX 11 to deliver immersive environments through a custom rendering pipeline.
✦ Key Features
-
Shaders
- Phong shading for realistic lighting (
MiniPhongBlock.fx) - Shadow mapping (
ShadowShader.fx) - Skybox rendering for atmospheric depth (
Skybox.fx) - Terrain rendering using heightmaps and texture blending (
TerrainShader.fx) - Special effects such as motion blur (
Woosh.fx)
- Phong shading for realistic lighting (
-
Texture Management
- Efficient DDS texture loading (
DDSTextureLoader.cpp) - High-quality textures for materials like grass, stone, and sky (
Herbe.dds,Skybox.dds)
- Efficient DDS texture loading (
-
Rendering Pipeline
- Full DirectX 11 integration (
dispositifD3D11.cpp) - Custom rendering loop and graphics context setup (
Moteur.cpp)
- Full DirectX 11 integration (
-
Camera System
- Dynamic controls for perspective shifts, rotations, and movement (
Camera.cpp)
- Dynamic controls for perspective shifts, rotations, and movement (
-
Mesh and Object Rendering
- OBJ model loading and rendering (
ChargeurOBJ.cpp) - Specialized shaders for 3D mesh rendering (
ObjetMeshShader.fx)
- OBJ model loading and rendering (
-
Lighting and Effects
- Multi-light management system (
LightManager.cpp) - Post-processing pipeline with custom filters (
CustomFilter.cpp)
- Multi-light management system (
Physics System
The engine integrates NVIDIA PhysX SDK to simulate dynamic, responsive, and physically grounded gameplay.
✦ Key Features
-
PhysX Integration
- Rigid body dynamics, collision detection, and constraint systems (
Physics.cpp)
- Rigid body dynamics, collision detection, and constraint systems (
-
Grappling Hook Mechanic
- Physics-based swinging and climbing system (
Grappin.cpp,CordeGrappin.cpp)
- Physics-based swinging and climbing system (
-
Terrain Physics
- Accurate interaction with heightmapped terrain (
SommetTerrain.cpp)
- Accurate interaction with heightmapped terrain (
-
Debugging Tools
- Visual debugging via PhysX Visual Debugger (
SnippetPVD.h)
- Visual debugging via PhysX Visual Debugger (
Gameplay Mechanics
Designed with a focus on interactivity and challenge, the engine supports original and modular gameplay systems.
✦ Key Features
-
Enemy and Horde AI
- Coordinated behavior for multiple enemy types (
ghosts/,horde/)
- Coordinated behavior for multiple enemy types (
-
Checkpoints and Progression
- Save and respawn logic using data-driven configuration (
checkpoints.txt)
- Save and respawn logic using data-driven configuration (
-
Level Design
- Custom level geometry and obstacle layouts (
map_laby.dat,tunnel2.dat)
- Custom level geometry and obstacle layouts (
-
Gameplay Logic
- Centralized control and logic for player interaction (
MasterCow.cpp,MenuController.cpp)
- Centralized control and logic for player interaction (
-
Audio Integration
- Sound effects and music system for immersive feedback (
soundclass.cpp)
- Sound effects and music system for immersive feedback (
-
Global Input Handling
- Unified control scheme across gameplay systems (
globalControls.h)
- Unified control scheme across gameplay systems (