All Projects → petitg1987 → urchinEngine

petitg1987 / urchinEngine

Licence: other
Game engine library: 3D, Physics, Sound, Network, IA, Map Editor

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language
GLSL
2045 projects
python
139335 projects - #7 most used programming language
CMake
9771 projects
shell
77523 projects

Urchin Engine

Description

Game engine library in C++20: 3D, Physics, Sound, Network, IA, Map Editor

Video: https://www.youtube.com/watch?v=lSbCx7u6RtE

  • 3D Engine:

    • Graphic API: Vulkan
    • 3D models with skeleton animation & Blender exporter
    • Materials: diffuse texture/color, transparency, normal texture, ambient, emissive, depth test/write
    • Dynamic shadow: cached parallel split shadow maps, variance shadow map, blur
    • Dynamic lighting with deferred shading: omni-directional, directional
    • Terrain multi-layered and grass
    • Ambient occlusion (SSAO+)
    • Anti-aliasing (FXAA)
    • Space partitioning: octree
    • UI: text, button, window, textbox, bitmap, sequence, checkbox, slider, scrollbar
    • Skybox
    • Fog
  • Physics Engine:

    • Supported shapes: sphere, box, cylinder, capsule, cone, convex hull, compound shape, terrain
    • Body types: rigid body, ghost body
    • Algorithms:
      • Broad phase: AABBox Tree
      • Narrow phase: sphere-sphere, sphere-box, GJK/EPA, concave-convex
      • Constraint solver (iterative): external force, friction, restitution, inertia
    • Continuous collision detection (CCD)
    • Island
    • Ray cast
    • Character controller
  • Sound Engine:

    • Supported formats: ogg
    • Spatial sound and global sound
    • Sound trigger based on character position
  • IA Engine:

    • Automatic navigation mesh generator
    • Pathfinding A* with funnel algorithm
    • Character controller
  • Network Engine:

    • HTTP request sender
  • Map Editor:

    • Handle:
      • 3d objects with physics
      • Lights
      • Landscape: terrain, water, sky
      • Sound
      • AI agent
    • Debug visualization: hit box, light range, sound trigger, navigation mesh

Build

  • Environment setup: here
  • Build:
    • Debug:
      git clone https://github.com/petitg1987/urchinEngine.git && cd ./urchinEngine
      cmake -DCMAKE_BUILD_TYPE=Debug -S ./ -B .build/debug/
      cmake --build .build/debug/ -- -j 10
      
    • Release:
      git clone https://github.com/petitg1987/urchinEngine.git && cd ./urchinEngine
      cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -S ./ -B .build/release/
      cmake --build .build/release/ -- -j 10
      
  • Execute tests:
    cd urchinEngine/test/
    ./testExecutor [unit] [integration] [monkey]
    
  • Launch map editor:
    cd urchinEngine/mapEditor/
    ./urchinMapEditor
    
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].