forked from anobin/3DMagic
-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO
119 lines (109 loc) · 5.94 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
-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
-probably using graphicsMagick (http://www.graphicsmagick.org/)
-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)
-Make Minecraft clone? huh? as a demo of the engine? ok, seriously if we make minecraft, i die happy.
-but it has to have that in-game browser and varonoi-based shattering for glass
-oh, and add guns and make some creppers be friendly and help you fight actual creppers
-and add lots of creepers, oh and hand-2-hand combat like in overgrowth (http://www.youtube.com/watch?v=kkctdAWsYvA)
-we could even add a pandora and grooveshark plugin into this clone
-oh and have it order pizza for you, and i don't just mean let it allow you to order pizza
-I mean have it know when you are going to be hungry and order pizza 20mins before then
-and then have it go to the door and pay for it and then feed it to you
-oh, and add albama mode where you just drink alcohol and beat your minecraft wife while wearing a white-beater
-and have the game do magic, actual magic, in real life; not really sure what this means, but it will be
-AWASOME 4 EVAR!!
-and of course ninjas and pirates and have daft punk be in-game both performing music and fighting creepers
-make something so good, these (http://www.terathon.com/c4engine/) guys die of sarvation
-but seriously, their API docs are free and would probably help in some API decisions to see how others do it