2023-07-13 10:53:33 +02:00
|
|
|
- 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
|
|
|
|
will have to do without them.
|
2023-07-08 21:37:47 +02:00
|
|
|
- Rendering: two pass: 1st pass renders the scaled down background (possibly not
|
|
|
|
rendering floor, can be just pure green for "grass") to prevent overflows,
|
|
|
|
second pass renders the tracks (or the nearest part of it).
|
2023-07-13 10:53:33 +02:00
|
|
|
- Track model has to be preprocessed, unseen walls must be removed else would
|
|
|
|
be too slow.
|
2023-07-08 21:37:47 +02:00
|
|
|
- Track format: just a list of (x,y,z,transform,block_type) elements.
|
2023-07-13 10:53:33 +02:00
|
|
|
- text or bin?
|
|
|
|
- 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)
|
|
|
|
- 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.
|
|
|
|
- How to render sky? Spherical mapping? Just constant color?
|
|
|
|
- what color format to use? full RGB is bloat+overkill, 332 is too low for the
|
|
|
|
textures used. Possibilities.
|
|
|
|
- 565
|
|
|
|
- leave choice of colors to frontend (but textures still have to be stored
|
|
|
|
in some format)
|
2023-07-08 21:37:47 +02:00
|
|
|
- Start and finish blocks will be just the first/last checkpoint blocks (no need
|
|
|
|
for special start, finish and CP).
|