Skip to content
anobin edited this page Feb 7, 2011 · 4 revisions
  • add MMX assembly solutions for matrix and vector ops
  • add 2d varonoi diagram algorithm
    • add API support for splitting a object using a varonoi diagram
    • this will be used to create simple shattering effects
  • add at least one unit test
    • add lots of unit tests
    • probably using google testing framework
  • add more basic models
  • add wiki for documentation and api/architecture/design decussions
  • add windows and Mac support
    • add visual studio support
    • add Xcode support
  • create sanbox class/classes
    • for testing, demo, and protyping purposes
    • flat plane environment with selectable camera
    • can place standard models
    • can load models and textures from filesystem and arrange models
    • test out physics
    • meant to ease learning curve
      • people who don't even know programming can start by using this to get concepts down
      • and then ease into programming
      • just look at how many good looking, but barely functioning games are made in blender's "game engine"
  • add multi* threaded support
    • add small options to make some tasks multi* threaded
    • also make it so some things are "thread* safe" so that the app code can run multi* threaded
      • need to outline these in documentation very specifically
    • mabye look into openMP (http://openmp.org/wp/about* openmp/)
    • mabye look into CUDA/openCL for GPU accelerated tasks
      • bullet doesn't currently use GPU acceleration
  • multi* threaded
  • add block wall basic shape
    • a rectangular shape made up of smaller blocks to allow for simplified destruction
  • add some sort of multi* texture interface for models and objects
    • current interface only allow for a 'base texture'
  • start to add system* level functionallity to API
    • init physics and graphics engine
    • manage collections of objects?
  • look into Bullet soft body support
    • cloth, rope and the like
  • add mechanism for good frame* rate control
    • current mechanism with GLUT timed calls is shit
  • replace GLUT with SDL or XGL/WGL
  • add in sound support with openAL
    • including new sound resources and loaders
    • support at least OGG format
    • may want other formats if we want to offer something akin to a music player
  • add support for png files
  • add in model loader
    • try to add support for 3ds, OBJ, and collada formats
  • refine shader interface in some way
    • current shader* vertex data interface is decent, but needs to be refined
  • add more control over physics chararistics to objects
    • more Bullet interfacing in Object class
  • add support for quaternions instead of/along with 3x3 rotational matrixes and up/forward vectors?
    • would save space and require less data movement/translation
  • add support for scripting language
    • is necessity considering all the prototyping that is needed to get scenes correct
    • dynamic, in that a change to the scripts can be seen in* engine without reloading
    • sadly, Lua is the best bet; I may have to learn the damn thing
    • try to keep the scripting langauge and C++ interfaces as seperated as possible for simplicity and consistency
  • run me some valgrind!!
  • run some profilling just to make sure nothing stands out
    • gprof is probably good enough
  • switch over to some good compiling mechanism
    • currently just manual makefiles
    • CMake? may have to learn that too, damn
  • make a damn teacup and monkey head model so we can have what everyone else uses
  • add support for input devices including controllers
    • probably just through SDL
  • add support for skyboxes
  • add support for overlays and writing text to overlays
  • add support for writing text to images and manipulating images
  • add support for saving screenshots
    • TGA and PNG resources should have writing mechanisms, not just reading
  • wait for awesomium to be ported to linux and then add it in somewhere (http://www.khrona.com/products/awesomium/)
    • it is simply too amazing not to have in here somewhere
    • also, it would allow for in* game UI to be written in html and css
  • add support for generating hilly terrain with heightmaps for physics in Bullet
  • after adding support for model, add support for animations
    • nice to be able to load these animations from model files
  • fill out camera support
    • at least an FPS, flying, and fixed camera
  • add support for particle effects
    • I don't think Bullet can do it
    • fog, exposions, water?
  • really rethink shader interface
    • need some detail texture interface
    • probably going to have to restrict interface a lot and just say that shaders have to adhere to it
      • current method is too general it's making things difficult
    • also probably make a good configurable shader that would be good for most general apps
      • global, point, directional, and uber lights
      • shadow maps and possibly shadow volumes
      • basic and detail texturing
    • support for detailing like paintballs and blood splatter (http://www.youtube.com/watch?v=tw_a_gc7NR4)
Clone this wiki locally