Update TODO
This commit is contained in:
parent
5a3db49cc1
commit
e23fb2657a
1 changed files with 60 additions and 50 deletions
110
TODO.txt
110
TODO.txt
|
@ -1,17 +1,41 @@
|
||||||
|
=========== GENERAL ==============
|
||||||
|
|
||||||
|
- allow stopping car rotation in air like in Trackmania
|
||||||
|
- maybe allow some more air control, like slowing down with brakes, like in TM
|
||||||
|
- sound engine: probably all SFX will be procedurally generated, ok?
|
||||||
|
- music?
|
||||||
|
- probably just make one long track, literally OGG or something, then make
|
||||||
|
that be played by the frontend just ALL the time (maybe with the option in
|
||||||
|
menu to just turn music off) -- simple frontends can just ignore music
|
||||||
- allow car to be flipped upside down on start? with start block transform
|
- allow car to be flipped upside down on start? with start block transform
|
||||||
- maybe change sticker to fan? could me more fun: TEST and see
|
|
||||||
- map actually in ASCII format? how will humans edit it?
|
- map actually in ASCII format? how will humans edit it?
|
||||||
- make a simple rendering setting:
|
- make a simple rendering setting:
|
||||||
- will exclude images and only draw solid colors, let's say only 16, so that
|
- will exclude images and only draw solid colors, let's say only 16, so that
|
||||||
memory usage is reduced, CPU rendering is relieved, executable is smaller
|
memory usage is reduced, CPU rendering is relieved, executable is smaller
|
||||||
AND frontend doesn't have to use RGB565 (it can basically choose any mode).
|
AND frontend doesn't have to use RGB565 (it can basically choose any mode).
|
||||||
- background sky rendering efficiently:
|
|
||||||
- first draw the solid color top and bottom
|
|
||||||
- then render the 3D scene
|
|
||||||
- then iterate over the strip that should have the sky texture and only draw
|
|
||||||
to pixels where depth buffer was not overwritten (this step can be left out
|
|
||||||
in case we have depth buffer or sky turned off)
|
|
||||||
- camera behavior? what if car is riding upside down (on magnet) etc?
|
- camera behavior? what if car is riding upside down (on magnet) etc?
|
||||||
|
- compile time option to choose how many maps to include (for platforms with
|
||||||
|
lower memory)
|
||||||
|
- Environments: just different textures for a cube inside which the tarck is,
|
||||||
|
the cube won't have the top side, texture can have transparency (sky see
|
||||||
|
through) <-- NO
|
||||||
|
- UPDATE: tho rasterization of the big cube could take whole screen: too slow.
|
||||||
|
Maybe just have a model + texture for each env? (still could allow transp).
|
||||||
|
- OR: environment could just be a sky texture (or just sky color?) plus a
|
||||||
|
floor texture? pretty KISS. SKY DOESN'T HAVE TO BE SPHERICALLY MAPPED, it
|
||||||
|
can simply rotate horizontally and shift vertically (camera will never
|
||||||
|
roll) -- not accurate but good enough. <-- YES
|
||||||
|
- How to visually represent checkpoints (and finish)?
|
||||||
|
- Could be kind of an arrow made of single tri above the block?
|
||||||
|
(try how it looks in Blender)
|
||||||
|
- Probably just a literal block (or pyramid) DRAWN WITH DITHERING and/or
|
||||||
|
blinking <-- PROBABLY THIS
|
||||||
|
- replay format
|
||||||
|
|
||||||
|
=========== BUGS =================
|
||||||
|
|
||||||
|
=========== HANDLED ==============
|
||||||
|
|
||||||
- EFFICINT MAP DRAWING:
|
- EFFICINT MAP DRAWING:
|
||||||
- map will be subdivided into subblocks (probably 16x16x16 or 8x8x8), only
|
- map will be subdivided into subblocks (probably 16x16x16 or 8x8x8), only
|
||||||
nearest subblocks (and possibly only those in viewing direction will be
|
nearest subblocks (and possibly only those in viewing direction will be
|
||||||
|
@ -24,6 +48,35 @@
|
||||||
subblocks we want to draw.
|
subblocks we want to draw.
|
||||||
- THIS??? Draw further blocks in a simplified way, e.g. just splatting literal
|
- THIS??? Draw further blocks in a simplified way, e.g. just splatting literal
|
||||||
squares with constant color? See how it looks :)
|
squares with constant color? See how it looks :)
|
||||||
|
- background sky rendering efficiently:
|
||||||
|
- first draw the solid color top and bottom
|
||||||
|
- then render the 3D scene
|
||||||
|
- then iterate over the strip that should have the sky texture and only draw
|
||||||
|
to pixels where depth buffer was not overwritten (this step can be left out
|
||||||
|
in case we have depth buffer or sky turned off)
|
||||||
|
- maybe change sticker to fan? could me more fun: TEST and see
|
||||||
|
- track size: 64x64x64
|
||||||
|
- sky images could be just composed of 4x4 normal images? then we only need
|
||||||
|
one type of image
|
||||||
|
TOTAL SIZE OF TEXTURES:
|
||||||
|
- 64 x 64 x 2 = 8192, 6 x floor + 2 x wall + 1 x car = 8 * 8192 = 73728
|
||||||
|
- (128 x 128 x 1) x 3 background = 49152
|
||||||
|
- total = 122880
|
||||||
|
- OK so materials (final?):
|
||||||
|
- concrete: normal \
|
||||||
|
- accelerator: accelerates (adds some constant to speed?) > same wall texture?
|
||||||
|
- maybe jumppad (big "fan")? /
|
||||||
|
- dirt: a bit slippery (maybe also a bit slows down?) \
|
||||||
|
- magnet: pulls car downwards (allows riding on ceiling etc.) > same wall texture?
|
||||||
|
- ice: extremely slippery (can barely turn) /
|
||||||
|
- Architecture (modules):
|
||||||
|
- map: loads map n stuff
|
||||||
|
- racing engine (depends on map): handles physics of car with given inputs
|
||||||
|
- rendering engine (depends on map): hanles rendering of the map
|
||||||
|
- game (depends on all): joins it all together
|
||||||
|
- settings, constants etc.
|
||||||
|
- individual frontends
|
||||||
|
- ...?
|
||||||
- Textures: size? format? They will likely take a lot of mem, weak computers
|
- Textures: size? format? They will likely take a lot of mem, weak computers
|
||||||
will have to do without them.
|
will have to do without them.
|
||||||
- possibility of simple procedural textures to save space! <-- SOUNDS NICE
|
- possibility of simple procedural textures to save space! <-- SOUNDS NICE
|
||||||
|
@ -80,17 +133,6 @@
|
||||||
- special material? <-- YES
|
- special material? <-- YES
|
||||||
- maybe they could simply boost the car in its current direction? YES
|
- maybe they could simply boost the car in its current direction? YES
|
||||||
- just keeps accelerating car in its direction, ok?
|
- just keeps accelerating car in its direction, ok?
|
||||||
- compile time option to choose how many maps to include (for platforms with
|
|
||||||
lower memory)
|
|
||||||
- Environments: just different textures for a cube inside which the tarck is,
|
|
||||||
the cube won't have the top side, texture can have transparency (sky see
|
|
||||||
through) <-- NO
|
|
||||||
- UPDATE: tho rasterization of the big cube could take whole screen: too slow.
|
|
||||||
Maybe just have a model + texture for each env? (still could allow transp).
|
|
||||||
- OR: environment could just be a sky texture (or just sky color?) plus a
|
|
||||||
floor texture? pretty KISS. SKY DOESN'T HAVE TO BE SPHERICALLY MAPPED, it
|
|
||||||
can simply rotate horizontally and shift vertically (camera will never
|
|
||||||
roll) -- not accurate but good enough. <-- YES
|
|
||||||
- what color format to use? full RGB is bloat+overkill, 332 is too low for the
|
- what color format to use? full RGB is bloat+overkill, 332 is too low for the
|
||||||
textures used. Possibilities.
|
textures used. Possibilities.
|
||||||
- 565 <-- YES
|
- 565 <-- YES
|
||||||
|
@ -100,11 +142,6 @@
|
||||||
color and a simplified 1 byte color? <-- KINDA? There could be an option
|
color and a simplified 1 byte color? <-- KINDA? There could be an option
|
||||||
to just get simplified texture color in the 565 value that's normally
|
to just get simplified texture color in the 565 value that's normally
|
||||||
normal color
|
normal color
|
||||||
- How to visually represent checkpoints (and finish)?
|
|
||||||
- Could be kind of an arrow made of single tri above the block?
|
|
||||||
(try how it looks in Blender)
|
|
||||||
- Probably just a literal block (or pyramid) DRAWN WITH DITHERING and/or
|
|
||||||
blinking <-- PROBABLY THIS
|
|
||||||
- Start and finish blocks will be just the first/last checkpoint blocks (no need
|
- Start and finish blocks will be just the first/last checkpoint blocks (no need
|
||||||
for special start, finish and CP). <-- NO
|
for special start, finish and CP). <-- NO
|
||||||
- Or maybe not, we would need to somehow mark these with extra vars, plus we
|
- Or maybe not, we would need to somehow mark these with extra vars, plus we
|
||||||
|
@ -112,30 +149,3 @@
|
||||||
- Maybe there could be no finish, the player would just have to take all the
|
- Maybe there could be no finish, the player would just have to take all the
|
||||||
checkpoints? <--- THO probably not, would rule out "there and back" maps
|
checkpoints? <--- THO probably not, would rule out "there and back" maps
|
||||||
- THIS?: CP and FINISH will just be a special block, that's it?
|
- THIS?: CP and FINISH will just be a special block, that's it?
|
||||||
|
|
||||||
BUGS:
|
|
||||||
|
|
||||||
HANDLED:
|
|
||||||
|
|
||||||
- track size: 64x64x64
|
|
||||||
- sky images could be just composed of 4x4 normal images? then we only need
|
|
||||||
one type of image
|
|
||||||
TOTAL SIZE OF TEXTURES:
|
|
||||||
- 64 x 64 x 2 = 8192, 6 x floor + 2 x wall + 1 x car = 8 * 8192 = 73728
|
|
||||||
- (128 x 128 x 1) x 3 background = 49152
|
|
||||||
- total = 122880
|
|
||||||
- OK so materials (final?):
|
|
||||||
- concrete: normal \
|
|
||||||
- accelerator: accelerates (adds some constant to speed?) > same wall texture?
|
|
||||||
- maybe jumppad (big "fan")? /
|
|
||||||
- dirt: a bit slippery (maybe also a bit slows down?) \
|
|
||||||
- magnet: pulls car downwards (allows riding on ceiling etc.) > same wall texture?
|
|
||||||
- ice: extremely slippery (can barely turn) /
|
|
||||||
- Architecture (modules):
|
|
||||||
- map: loads map n stuff
|
|
||||||
- racing engine (depends on map): handles physics of car with given inputs
|
|
||||||
- rendering engine (depends on map): hanles rendering of the map
|
|
||||||
- game (depends on all): joins it all together
|
|
||||||
- settings, constants etc.
|
|
||||||
- individual frontends
|
|
||||||
- ...?
|
|
||||||
|
|
Loading…
Reference in a new issue