Jay3DGame
This is mainly a side-project(to test the current strength of my engine) that is based off my engine's latest commit(Commit #57) if you wish to review it at the point in time.
The engine itself won't be touched in any way(or maybe some minor reworks here and there), therefore anything I need to add will be done once the side-project is done.
Things to add to the engine:
- Insert game inside the engine
- Better scratchpad support
- Better textures (reading, blitting, basic image processing)
- Some way to seperate Game and Engine data
- Add higher level rendering constructs (Shaders, materials, meshes, transforms)
- Add some form of automatic shader selection
- Add some form of primitives(Rectangle, circles, spheres, triangles)
- More flexible transform class(Default values for projection and camera)
- Non-perspective views (Orthogonal views)
- Texture manipulation (Translation, rotation, scale)
- More control over textures(filtering, formatting etc.)
- More friendly constructors(Camera)
- Window should have more properties (Center position, fullscreen, maybe mouse locking)
- Better Vector math(normalisation, +=, commonly used vector constants, swizzling support)
- Options class/system, some place to read values that the player chooses
- Centralised "level" or "scene" class that holds the data that the game is using
- Game object class
- Make naming consistent
- Eventually make easier way to generate Mesh
- Eventually make easier way of generating texture coordinates
- Vector swizzling
- Make time seconds instead of nanoseconds
- Give vectors a copy constructor
- Give vectors an interpolation method
- Transparency support
- Sprite support
- Good way to compare vectors
- Vector2f crossproduct method29.
- Some way to actually display text(UI)
Notes:
Was relatively fun yet very tedious to code the game. I basically said a big ?#@! you to OO design and have not refactored much code(to stick to the idea of not altering my engine). However it DEFINITELY helped pinpoint the weaknesses of my engine(as of commit #57 in Jay3D public repository)