You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
10 KiB
10 KiB
- Project Symmetry
- Things TODO
- Input
- Shaders
- Geometry
- change struct usage
- change Array implementation
- resolve vec-types sizes
- Transform
- Deltatime
- Investigate about Exit() and at_exit() functions and whether to use them or not.
- Fix readme markdown
- Framebuffer and resolution independent rendering
- A simpler build system without dependencies
- Remove dependencies
- Remove Kazmath dependency
- Entity
- Positive and negative values for input_maps and returning corresponding values when they are true
- Find a permanent solution for build system
- Text rendering using freetype or stb lib
- Textures
- Camera
- Test render
- Bounding Boxes
- Fix input lag and other framerate related issues
- File extension checking for asset loading
- Materials
- Mesh/Model
- Add modifiers to input maps to enable combinations for example, c-x, m-k etc
- Only allocate hashmap bucket when required
- Mapping actions to keybindings, for example map action "Jump" to Space key etc
- Heirarchical Transforms
- Materials with textures
- Lights!
- Fix problems with texture units
- CANCELED Draw light volumes
- Fix problems with frustrum culling
- 2d drawing routines
- Gui
- CANCELED Image based lighting?
- CANCELED Deferred rendering?
- Fix mouse bugs on windows
- Configuration/Settings load/save handling
- Fix mousewheel bugs and gui not responding to mousewheel input
- Ability to mark meshes for debug rendering with possibility of different color for each?
- Setup cross compilation with mingw or stick to msvc?
- Add marking or queuing up custom meshes for debug render with particular transform and color for rendering bounding spheres for example
- Toggleable debug drawing for meshes
- Interleaved vbos for meshes and changes to blender exporter accordingly
- Enumerate and save all the uniform and attribute positions in shader when it is added and cache them in shader object?
- Physics/Collision detection in 2d
- Complete gui integration
- Allow passsing base path as commandline argument?
- Show SDL dialogbox if we cannot launch at all?
- Writing back to config file
- Reading from config file
- Variant -> String conversion procedure. Use in editor for debug var slots
- Add strings and booleans to variant types
- Fix Key release not being reported
- Better handling incase assets folder is not found?
- OpenAL not working in releasebuilds
- 3d sound using OpenAL
- Ogg format loading and playback
- Stick with OpenAL or switch to SoLoud + SDL for sound?
- Sound streaming
- Implment missing sound source properties (inner/outer cone, getting sound source data)
- Ingame console and console commands etc
- Allow binding/unbinding input maps to functions at runtime, for example if input map "Recompute" is triggered, it would call some function that can recompute bounding spheres.
- Better handling of wav format checking at load time
- Array-based Hashmaps
- Sprite sheet animations
- Replace orgfile with simple text readme and reduce duplication?
- Ray picking
- Remove reduntant "settings" structures and move all configuration stuff to config variables
- Shadow maps
- Log output to file on every run
- Print processor stats and machine capabilites RAM etc on every run to log.
- Milestone: Pong!
- Do input maps really need to be queried by their string names?
- Reloading all the things! (textures/shaders/models/settings/entities etc)
- Separate Debug/Editor camera from the active camera in the scene that can be switched to at any time
- Use hashmaps for debugvar slots in editor
- Live data views in editor
- Camera resize on window reisze
- Resizable framebuffers and textures
- Support for multiple color attachments in framebuffers?
- Multisampled textures and framebuffers
- Better way to store and manage textures attached to framebuffers
- Validate necessary assets at game launch
- Gamma correctness
- Variant type
- Log and debug/stats output in gui
- Editor
- Event Subsystem
- Keybindings for gui?
- Textual/Binary format for data serialization and persistance
- Better logging
- Hatching/Ink rendering style
- Fix frustum culling sometimes not working
- Compile and test on windows
- Array based string type comptible with cstring(char*)
- Fix mouse bugs
- Fix
- issues with opengl context showing 2.1 only
- Improve this readme
- ???
- Profit!
#+AUTHOR:Shariq Shah #+EMAIL:bluerriq@gmail.com #+TITLE:Project Symmetry
Project Symmetry
What?
A topdown 2D shooter exploring symmetry.
License
All the code in this repository is under GPLv3, see LICENSE for more information
File format specifications
Entity
entity: "Something" position: 0 0 0 scale: 1 1 1 rotation: 0 0 0 1 model: "suzanne.pamesh" material: "blinn_phong" diffuse_color: 1 0 0 1 diffuse_texture: "checkered.tga" specular: 0.55
Configuration Variables a.k.a cfg-vars
render_width: 1024 render_height: 1024 debug_draw_enabled: true fog_color: 0.5 0.2 0.2 1
ambient_light: 0.1 0.1 0.1 1 msaa: true msaa_levels: 8
Keybindings
Move_Forward: W
Move_Backward: S,Down
Quit: Left Ctrl-Q
Level/Scene
Materials
Mesh/Geometry
Things TODO
DONE Input
- State "DONE" from "TODO" [2015-07-02 Thu 01:24]
- Input maps (addition/removal)
- Adding removing keys to input maps
- Changing map na
DONE Shaders
- State "DONE" from "TODO" [2015-07-11 Sat 17:57]
- set asset folder
- load/compile shader
DONE Geometry
- State "DONE" from "TODO" [2015-07-11 Sat 17:57]
DONE change struct usage
- State "DONE" from "TODO" [2015-07-21 Tue 15:13]
DONE change Array implementation
- State "DONE" from "TODO" [2015-07-25 Sat 20:27]
DONE resolve vec-types sizes
- State "DONE" from "TODO" [2015-07-25 Sat 20:27]
DONE Transform
- State "DONE" from "TODO" [2015-07-26 Sun 18:01]
DONE Deltatime
- State "DONE" from "TODO" [2015-07-27 Mon 11:54]
DONE Investigate about Exit() and at_exit() functions and whether to use them or not.
- State "DONE" from "TODO" [2015-08-02 Sun 19:09]
DONE Fix readme markdown
- State "DONE" from "TODO" [2015-12-10 Thu 16:36]
DONE Framebuffer and resolution independent rendering
- State "DONE" from "TODO" [2016-05-27 Fri 18:02]
DONE A simpler build system without dependencies
- State "DONE" from "TODO" [2016-05-27 Fri 14:50]
DONE Remove dependencies
- State "DONE" from "TODO" [2017-02-26 Sun 01:46]
- glfw3
- glew
DONE Remove Kazmath dependency
- State "DONE" from "TODO" [2015-12-10 Thu 16:36]
DONE Entity
- State "DONE" from "TODO" [2015-09-15 Tue 12:17]
TODO Positive and negative values for input_maps and returning corresponding values when they are true
DONE Find a permanent solution for build system
- State "DONE" from "TODO" [2017-03-15 Wed 00:59]
TODO Text rendering using freetype or stb lib
DONE Textures
- State "DONE" from "TODO" [2015-10-09 Fri 18:47]
DONE Camera
- State "DONE" from "TODO" [2015-08-19 Wed 13:30]
DONE Test render
- State "DONE" from "TODO" [2015-08-19 Wed 13:30]
TODO Bounding Boxes
- Recalculated bounding boxes for rotated meshes?
DONE Fix input lag and other framerate related issues
- State "DONE" from "TODO" [2017-05-07 Sun 18:40]
TODO File extension checking for asset loading
DONE Materials
- State "DONE" from "TODO" [2015-10-13 Tue 19:38]
DONE Mesh/Model
- State "DONE" from "TODO" [2015-10-13 Tue 19:38]
TODO Add modifiers to input maps to enable combinations for example, c-x, m-k etc
TODO Only allocate hashmap bucket when required
TODO Mapping actions to keybindings, for example map action "Jump" to Space key etc
DONE Heirarchical Transforms
DONE Materials with textures
- State "DONE" from "TODO" [2015-10-15 Thu 21:21]
DONE Lights!
- State "DONE" from "TODO" [2017-03-14 Tue 00:31]
DONE Fix problems with texture units
- State "DONE" from "TODO" [2016-05-30 Mon 00:57]
CANCELED Draw light volumes
- State "CANCELED" from "TODO" [2017-02-26 Sun 15:39]
Deferred rendering on hold for now.
DONE Fix problems with frustrum culling
- State "DONE" from "TODO" [2017-03-26 Sun 01:33]
TODO 2d drawing routines
- Sprite batching
DONE Gui
- State "DONE" from "TODO" [2017-03-15 Wed 23:41]
CANCELED Image based lighting?
- State "CANCELED" from "TODO" [2017-03-14 Tue 00:31]
Not a requirement for current project
CANCELED Deferred rendering?
- State "CANCELED" from "TODO" [2017-02-26 Sun 01:49]
Sticking with forward rendering for now and focusing on tools etc.
DONE Fix mouse bugs on windows
- State "DONE" from "TODO" [2017-03-25 Sat 17:27]
TODO Configuration/Settings load/save handling
DONE Fix mousewheel bugs and gui not responding to mousewheel input
- State "DONE" from "TODO" [2017-03-19 Sun 01:31]
TODO Ability to mark meshes for debug rendering with possibility of different color for each?
TODO Setup cross compilation with mingw or stick to msvc?
TODO Add marking or queuing up custom meshes for debug render with particular transform and color for rendering bounding spheres for example
DONE Toggleable debug drawing for meshes
- State "DONE" from "TODO" [2017-03-18 Sat 16:18]
TODO Interleaved vbos for meshes and changes to blender exporter accordingly
TODO Enumerate and save all the uniform and attribute positions in shader when it is added and cache them in shader object?
TODO Physics/Collision detection in 2d
TODO Complete gui integration
x Font selection x Font atlas proper cleanup
- Decoupled event handling of gui and input if possible
- Custom rendering for gui
TODO Allow passsing base path as commandline argument?
TODO Show SDL dialogbox if we cannot launch at all?
DONE Writing back to config file
- State "DONE" from "TODO" [2017-05-08 Mon 00:57]
DONE Reading from config file
- State "DONE" from "TODO" [2017-05-07 Sun 23:52]
DONE Variant -> String conversion procedure. Use in editor for debug var slots
- State "DONE" from "TODO" [2017-05-07 Sun 18:43]
DONE Add strings and booleans to variant types
- State "DONE" from "TODO" [2017-03-29 Wed 00:23]
DONE Fix Key release not being reported
- State "DONE" from "TODO" [2017-03-26 Sun 01:16]
TODO Better handling incase assets folder is not found?
DONE OpenAL not working in releasebuilds
- State "DONE" from "TODO" [2017-03-25 Sat 02:06]
DONE 3d sound using OpenAL
- State "DONE" from "TODO" [2017-03-23 Thu 01:43]
TODO Ogg format loading and playback
TODO Stick with OpenAL or switch to SoLoud + SDL for sound?
TODO Sound streaming
TODO Implment missing sound source properties (inner/outer cone, getting sound source data)
TODO Ingame console and console commands etc
TODO Allow binding/unbinding input maps to functions at runtime, for example if input map "Recompute" is triggered, it would call some function that can recompute bounding spheres.
TODO Better handling of wav format checking at load time
DONE Array-based Hashmaps
- State "DONE" from "TODO" [2017-05-07 Sun 18:42]
TODO Sprite sheet animations
TODO Replace orgfile with simple text readme and reduce duplication?
TODO Ray picking
TODO Remove reduntant "settings" structures and move all configuration stuff to config variables
TODO Shadow maps
TODO Log output to file on every run
TODO Print processor stats and machine capabilites RAM etc on every run to log.
TODO Milestone: Pong!
- In order to put things into perspective and get a feel for what really needs to be prioritized, a very small but actual game release is necessary.
- Release platforms: Windows and Linux
- Makefile additions. Try to compile game as a dynamically loaded library with ability to reload on recompile
- Separation between game and engine base
- Game .so with init, update and cleanup functions
x Configuration files and "cvars" load/reload
- Keybindings in config
- Log output on every run.
TODO Do input maps really need to be queried by their string names?
TODO Reloading all the things! (textures/shaders/models/settings/entities etc)
TODO Separate Debug/Editor camera from the active camera in the scene that can be switched to at any time
TODO Use hashmaps for debugvar slots in editor
DONE Live data views in editor
- State "DONE" from "TODO" [2017-03-22 Wed 02:14]
DONE Camera resize on window reisze
- State "DONE" from "TODO" [2017-03-20 Mon 15:22]
DONE Resizable framebuffers and textures
- State "DONE" from "TODO" [2017-03-16 Thu 22:50]
DONE Support for multiple color attachments in framebuffers?
- State "DONE" from "TODO" [2017-03-16 Thu 22:51]
TODO Multisampled textures and framebuffers
DONE Better way to store and manage textures attached to framebuffers
- State "DONE" from "TODO" [2017-03-16 Thu 22:51]
TODO Validate necessary assets at game launch
TODO Gamma correctness
DONE Variant type
- State "DONE" from "TODO" [2017-03-22 Wed 02:14]
TODO Log and debug/stats output in gui
TODO Editor
TODO Event Subsystem
TODO Keybindings for gui?
TODO Textual/Binary format for data serialization and persistance
TODO Better logging
TODO Hatching/Ink rendering style
DONE Fix frustum culling sometimes not working
- State "DONE" from "TODO" [2017-03-25 Sat 19:10]
DONE Compile and test on windows
- State "DONE" from "TODO" [2017-03-14 Tue 00:32]
TODO Array based string type comptible with cstring(char*)
DONE Fix mouse bugs
- State "DONE" from "TODO" [2017-03-01 Wed 00:45]
DONE Fix
DONE issues with opengl context showing 2.1 only
- State "DONE" from "TODO" [2017-03-19 Sun 14:03]
- State "DONE" from "TODO" [2017-02-26 Sun 15:39]