- 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. - 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). - Track model has to be preprocessed, unseen walls must be removed else would be too slow. - Track format: just a list of (x,y,z,transform,block_type) elements. - 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) - Start and finish blocks will be just the first/last checkpoint blocks (no need for special start, finish and CP).