Pico Off Road is a racing game inspired by the classic Ironman Super Off Road. There are 5 car colors to choose from (equal by parameters), three tracks that can be played in both directions. Player can choose from two modes - single race or tournament. There is one "hidden" mode: single race with 0 opponents can be considered as a practice.
- Z = confirm
- X = back
- arrows = turning, throttle, reverse
- Z = nitro
- X = throttle (for controllers if you can't press left/right + forward at the same time)
Pico Off Road uses combination of 2D sprites, 3D height map and real-time rendered meshes (cars).
good starting point!
physic is solid 👌
couple of comments:
- put acceleration on a button, easier to play with mobile & gamepads
- acceleration is too linear/quick imho
- npc are on fire!
code wise, there is a good deal to optimize.
your 3d structure as a flat array of coords is actually not very fast for lua.
suggest plain vector3 tables for coords, makes face>vertex indexing a lot simpler AND faster.
A couple of functions can also be inlined.
Don’t overthink array allocation, no need to copy and transform as 2 different steps.
Good luck for the final steps!
Hi, thank you for suggestions!
I didn't optimize it yet. Most of that code is heavily influenced by debugging and looking into partial results. I need to reduce it by around 4-5KB from compressed size. Token count/char count is not a problem. From performance point of view it's good enough (90% of cpu at most), but I'll definitely try those vector3 tables.
By the way, acceleration is already mapped to forward and X buttons.
Pico 8 is surprisingly powerful machine. Even Pico Off Road could be much better, there are unoptimized parts of code, map and picture compression could be better, etc. So I could add more graphics, maybe whole new track? I'm just not willing to spend another month doing that :-)
[Please log in to post a comment]