Skip to content

Features

Arthur Masson edited this page Apr 19, 2024 · 5 revisions

The stone engine will implement most basic functionalities for a game engine.

This page is serving as a list of features that it should have.

Basic

  • Scene definition : Have a library-agnostic way of defining a scene with its elements
  • Scene renderer : Implementation of a scene renderer using a graphic library
    • Vulkan
  • Window manager : Window manager that handle creation and destruction of windows, user input events
    • Glfw
  • Mesh : Possibility to display a model mesh on the screen
  • Camera : Way of moving the camera around a scene to render from different angles
  • Lights : The colors of the different rendered elements are influenced by lights as elements of a scene
  • Post Process : Post process effects to alter the final image into something else
  • Importing : Can use external files to include assets in our scene like mesh, texture images, sounds etc...
  • Custom scene : way to define a custom scene with extension

Advanced

  • Voxel World : Rendering a voxel world with better specialized performances than cube meshes
  • Skinned Mesh : Deformable mesh influenced by bones from a skeleton
  • Particle system : Optimized way to render swarm of small elements
  • Skybox : 360* elements that render where no elements are drawn
  • Casted Shadow : Lights can project shadow that are influenced by each elements
  • Animations : Playable scene animations over given time
    • Blending : Mix blending between multiple animations
    • State Machine : State machine that blend animations according to programmable states
  • Deferred shading : Use multiple stage in a rendering pipeline to render an image
  • Extended Rendering Effect
    • Normal mapping : Use of normal texture
    • Parralax mapping : Use of displacement height map
    • Bloom : Use of emissive material to influence elements around
    • HDR
    • SSAO : Use of depth buffer to modify screen ambient lightning
  • PBR : Physical based rendering pipeline materials

Extra

  • Physic : Body collision in the scene
  • Audio : Playable sound in background or in 3D
  • Network : Network communication with proxy elements mirroring remote elements from a server
  • Widget : System to create 2D widgets for user interface and a way to render them in a 3D scene

Future

  • KHR extensions : handle multiple file extensions https://wanna.helpjuice.com/khr-extensions
  • Terrain : Tessellated plane mesh rendered with a height map
  • Decal : Application of a texture projected on mesh
  • AI Behavior Tree
  • Image recording : Render image from the game engine directly to image files or videos

Clone this wiki locally