From dd13ae3c500a9aa106d7af0cf0ac74b639df5dc1 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Thu, 15 Aug 2013 19:00:30 -0400 Subject: Rename TODO to TODO.org --- TODO | 125 --------------------------------------------------------------- TODO.org | 123 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 123 insertions(+), 125 deletions(-) delete mode 100644 TODO create mode 100644 TODO.org diff --git a/TODO b/TODO deleted file mode 100644 index 4a69cee..0000000 --- a/TODO +++ /dev/null @@ -1,125 +0,0 @@ -# -*- org -*- - -* Things To Do - -** DONE Game loop - Provide a game loop structure that responds to input events, - updates the game state, renders the scene. Use a fixed update - timestep and cap the maximum FPS. - -** TODO Input - Provide hooks to respond to keyboard, mouse, and joystick events. - Wrap SDL keycode, mouse button, etc. constants in our own - enumeration. - - - [X] Keyboard - - [X] Mouse - - [X] Window (active, resize, quit) - - [ ] Joystick - -** DONE Sprites - Encapsulates an image and all of its transformations: position, - rotation, scale, color, etc. - - - [X] Add support for texture regions - - [X] Add support for animations - - [X] Use a sprite batch when drawing if one is currently bound - -** TODO Sprite batches - Efficiently render a large number of sprites. Only change OpenGL - context when necessary. For example, don't change texture when - rendering several sprites in a row that use the same one. - - - [X] Add basic batching for non-scaled, non-rotated sprites - - [X] Add transformation logic for scaling and rotating - - [X] Add support for colors - - [ ] Add support for different blending modes - -** DONE Tilesets - Break an image up into many small pieces. Useful for creating maps. - -** DONE Animations - Create a data type to represent an animated sequence of textures - and/or texture regions. - -** TODO Tile maps - - [ ] Create a generic tilemap module - - [ ] Create a loader for Tiled .tmx map files. - -** TODO Scene graph - A tree structure that is traversed when rendering a game scene. - The graph is composed of groups and nodes. Transformations are - accumulated as the tree is walked. - -** DONE Scripting - Provide a way for users to easily script 2D games using coroutines - and a scheduler. - -** TODO Vectors and matrices - Vectors and matrices are needed constantly for games. Provide an - easy-to-use module that provides procedures for common - vector/matrix math operations - - - [X] Vectors - - [ ] Matrices - -** TODO Fonts - - [ ] Fixed width bitmap font rendering - - [ ] Truetype font rendering via freetype - -** TODO Sound - Provide helpful wrappers around SDL sound procedures? - -** TODO A* pathfinding - A* is a commonly used pathfinding algorithm for games. Pathfinding - is such a common task that it would be nice to provide users with - a generic implementation. - -** TODO Bounding box collision detection - Most games need simple bounding box collision detection. Provide an - efficient implementation that uses quad trees. - -** TODO Particle systems - Provide a highly configurible particle simulation system. - -** TODO Asset Management - Provide a generic system for loading assets (images, sounds, fonts, - etc.) and storing them in a cache. Explore using weak keys so that - assets are removed from the cache when they are no longer - referenced. - -** TODO Actions - Provide a library of coroutines that perform commonly used - time-based actions such as linear interpolation. It would be nice - to have a way to make these easily composable as well. - - - [ ] Linear interpolation (lerp) - - [ ] Move to/move by - - -** TODO Combos - Provide an Emacs-like way of defining key combinations to that - multi-button input is easy for users. - - - [ ] Basic sequences (press A then B) - - [ ] Simultaneous key presses (press A and B at the same time) - - [ ] Timeouts (combos fail if you don't enter them quick enough) - -** TODO 0.1 Release - An official 0.1 alpha release with basic, minimal functionality - will provide a good place for people other than me to try out - guile-2d and perhaps even start to hack on it. - - - [ ] Finish sprite batches - - [ ] Basic font rendering - - I don't know of any freetype bindings for Guile, so maybe basic - fixed-width bitmap font support will be all that is possible for - now. - - - [ ] Resolve issues with FIGL - - Can't have a broken dependency. - - - [ ] Texinfo documentation - - [X] Autotools build files diff --git a/TODO.org b/TODO.org new file mode 100644 index 0000000..6d9b935 --- /dev/null +++ b/TODO.org @@ -0,0 +1,123 @@ +* Things To Do + +** DONE Game loop + Provide a game loop structure that responds to input events, + updates the game state, renders the scene. Use a fixed update + timestep and cap the maximum FPS. + +** TODO Input + Provide hooks to respond to keyboard, mouse, and joystick events. + Wrap SDL keycode, mouse button, etc. constants in our own + enumeration. + + - [X] Keyboard + - [X] Mouse + - [X] Window (active, resize, quit) + - [ ] Joystick + +** DONE Sprites + Encapsulates an image and all of its transformations: position, + rotation, scale, color, etc. + + - [X] Add support for texture regions + - [X] Add support for animations + - [X] Use a sprite batch when drawing if one is currently bound + +** TODO Sprite batches + Efficiently render a large number of sprites. Only change OpenGL + context when necessary. For example, don't change texture when + rendering several sprites in a row that use the same one. + + - [X] Add basic batching for non-scaled, non-rotated sprites + - [X] Add transformation logic for scaling and rotating + - [X] Add support for colors + - [ ] Add support for different blending modes + +** DONE Tilesets + Break an image up into many small pieces. Useful for creating maps. + +** DONE Animations + Create a data type to represent an animated sequence of textures + and/or texture regions. + +** TODO Tile maps + - [ ] Create a generic tilemap module + - [ ] Create a loader for Tiled .tmx map files. + +** TODO Scene graph + A tree structure that is traversed when rendering a game scene. + The graph is composed of groups and nodes. Transformations are + accumulated as the tree is walked. + +** DONE Scripting + Provide a way for users to easily script 2D games using coroutines + and a scheduler. + +** TODO Vectors and matrices + Vectors and matrices are needed constantly for games. Provide an + easy-to-use module that provides procedures for common + vector/matrix math operations + + - [X] Vectors + - [ ] Matrices + +** TODO Fonts + - [ ] Fixed width bitmap font rendering + - [ ] Truetype font rendering via freetype + +** TODO Sound + Provide helpful wrappers around SDL sound procedures? + +** TODO A* pathfinding + A* is a commonly used pathfinding algorithm for games. Pathfinding + is such a common task that it would be nice to provide users with + a generic implementation. + +** TODO Bounding box collision detection + Most games need simple bounding box collision detection. Provide an + efficient implementation that uses quad trees. + +** TODO Particle systems + Provide a highly configurible particle simulation system. + +** TODO Asset Management + Provide a generic system for loading assets (images, sounds, fonts, + etc.) and storing them in a cache. Explore using weak keys so that + assets are removed from the cache when they are no longer + referenced. + +** TODO Actions + Provide a library of coroutines that perform commonly used + time-based actions such as linear interpolation. It would be nice + to have a way to make these easily composable as well. + + - [ ] Linear interpolation (lerp) + - [ ] Move to/move by + + +** TODO Combos + Provide an Emacs-like way of defining key combinations to that + multi-button input is easy for users. + + - [ ] Basic sequences (press A then B) + - [ ] Simultaneous key presses (press A and B at the same time) + - [ ] Timeouts (combos fail if you don't enter them quick enough) + +** TODO 0.1 Release + An official 0.1 alpha release with basic, minimal functionality + will provide a good place for people other than me to try out + guile-2d and perhaps even start to hack on it. + + - [ ] Finish sprite batches + - [ ] Basic font rendering + + I don't know of any freetype bindings for Guile, so maybe basic + fixed-width bitmap font support will be all that is possible for + now. + + - [ ] Resolve issues with FIGL + + Can't have a broken dependency. + + - [ ] Texinfo documentation + - [X] Autotools build files -- cgit v1.2.3