Scary-Cows — A Custom 3D Game Engine

Dec. 23, 2021

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)
  • Texture Management

    • Efficient DDS texture loading (DDSTextureLoader.cpp)
    • High-quality textures for materials like grass, stone, and sky (Herbe.dds, Skybox.dds)
  • Rendering Pipeline

    • Full DirectX 11 integration (dispositifD3D11.cpp)
    • Custom rendering loop and graphics context setup (Moteur.cpp)
  • Camera System

    • Dynamic controls for perspective shifts, rotations, and movement (Camera.cpp)
  • Mesh and Object Rendering

    • OBJ model loading and rendering (ChargeurOBJ.cpp)
    • Specialized shaders for 3D mesh rendering (ObjetMeshShader.fx)
  • Lighting and Effects

    • Multi-light management system (LightManager.cpp)
    • Post-processing pipeline with custom filters (CustomFilter.cpp)

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)
  • Grappling Hook Mechanic

    • Physics-based swinging and climbing system (Grappin.cpp, CordeGrappin.cpp)
  • Terrain Physics

    • Accurate interaction with heightmapped terrain (SommetTerrain.cpp)
  • Debugging Tools

    • Visual debugging via PhysX Visual Debugger (SnippetPVD.h)

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/)
  • Checkpoints and Progression

    • Save and respawn logic using data-driven configuration (checkpoints.txt)
  • Level Design

    • Custom level geometry and obstacle layouts (map_laby.dat, tunnel2.dat)
  • Gameplay Logic

    • Centralized control and logic for player interaction (MasterCow.cpp, MenuController.cpp)
  • Audio Integration

    • Sound effects and music system for immersive feedback (soundclass.cpp)
  • Global Input Handling

    • Unified control scheme across gameplay systems (globalControls.h)