Skip to content

An attempt at providing the basis for a graphic (eventually game?) engine in rust based off glium.

Notifications You must be signed in to change notification settings

nartannt/rust_engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Right now the main goal is cleaning up the code, creating the modules, finishing some basic interface and getting a minimal project working.
Development will then consist in developing an example game (a kingdom rush clone?) and adding features as needed developping both in parallel.
Once a reasonable set of features are implemented work on a "real" game and refine the engine as the game demands it.

TODO (general) :
    - Reorganise all files
    - Make modules out of the relevant parts
    - Get minimal project working
    - Add support for textures
    - Lighting
    - make a demo repo for trying things out

TODO (precise steps) :
    - use mouse to rotate camera
    - Figure out a way for scene to be able to load all its unloaded game objects at once
    - make game draw the scenes in self.scenes

File organisation:

   - component.rs, logic and traits related to components

   - camera.rs, camera struct and basic functions

   - game_object.rs

   - game.rs, game struct
      -- Game::run() is the main loop of the game

   - graphic_component.rs 
      -- object model struct
      -- graphic compoenent struct
      -- load model and shader functions

   - fps_camera_controller.rs, allows for an fps camera controller
      -- TODO should not be in base project, but is useful for testing

   - input.rs, handles input
      -- keeps track of the keyboard state
      -- TODO mouse state

   - main.rs, main

   - scene.rs
      -- draws its objects
      -- TODO current assumption that each go has at most one gc

   - transform.rs, transform struct and rotation related functions


Interface:

Creating a go, scene and showing them on screen:
   - create new game
   - create new scene
   - create graphic component
      -- requires shaders (vertex and fragment)
      -- requires model
   - add model and shader to gc
   - create go
   - add graphic component to go in scene
   - add go to scene
   - add scene to game
   - run

About

An attempt at providing the basis for a graphic (eventually game?) engine in rust based off glium.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published