Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Kart Racer '86

A topic by blackbirddev created Oct 25, 2022 Views: 248 Replies: 5
Viewing posts 1 to 4
Submitted (9 edits)

I hoped to have enough time to submit this as a "game" but it is still very much in the "toy" category. I'll see how far I can get by the deadline.

This is what I'll be submitting for the competition, a "Kart Racer" game for the NES. To meet the constraints of the competition, this demo uses only 64kb PRG and CHR RAM. I also designed it to meet the constraints of a "GNROM" configuration, with no IRQ counter required. The first GNROM game was released in the US and Japan in 1986—so instead of releasing Gumshoe stateside, you can picture if Nintendo had released their first kart racing game that year instead.

While the demo's pretty rough, and there's a long TODO list remaining, here's some ideas I was kicking around:

  • The submission demo will only have one map (+ 16kb dedicated to lookup tables and 32kb to rendering and game logic). Each new map after takes an additional 16kb. This means twelve or more levels would fit in a 256kb rom.
  • By halving the vertical resolution of the road, you can feasibly support two player mode.
  • Current FPS is 7.5. 10 FPS is achievable, which sells the effect much better.

Next steps for the game overall:

  • Fix rendering near the horizon. The lookup tables exist, I just need to add routines to draw it. (In this video those lines are in dark grey.)
  • Likewise, render a solid map out-of-bounds color instead of rendering garbage.
  • Switch to a ring buffer for PPU updates, try and hit 10 FPS.
  • Add fixed objects on map, like other players, pipes, etc.
  • Make mountains and minimap smooth scroll.
  • Make current tile position influence player acceleration, rather than moving with fixed velocity.
  • Add enemy racers, add multiple angles of sprites for each player.
  • Add main menu, music, and character select screen.

After I fix some of the urgent issues I'll share the ROM and submit it.


HostSubmitted

This is really impressive! Can't wait to see how far you take it in the final days!

Submitted

Oh, kickass. I would not have said this was possible at such fine resolution. 

Remember that it doesn't have to be the final version of this game, to be a game. Without AI you can still do time trials. Without more tracks you can still go forward or backward. It might take more than six days to cram the rest of Mario Kart onto the NES... but what's already here includes the parts that make it a magic trick.

Submitted (1 edit)

Mindbleach, thanks for the great suggestion. I tested out variable tile speeds today and I think a  time trial is the way to go to make it a proper game. Plus I can focus on  focus on polishing the core driving mechanics, like collision/sliding. After staring at the "graphics" part for so long working on game mechanics will be a relief :)

Without more tracks you can still go forward or backward

I never thought about reflecting or reversing the track lookup table. That should be straightforward to try!

Submitted

Engineer-art solutions: not good, but fast. 

Plus it's very freeing to have a shippable version in-hand, so everything up to the last minute is just tweaking. Always be shipping. My project currently has stick figure enemies, half a level, and the bare minimum title screen. But there will be no panicked efforts to solve technical problems in the final hour... this time. 

Ooh, you posted the demo. Oh that is rock-solid. I knew this could be done at the tile level, but would not have bet on this look working at all. And it's double-buffered. You can't just be scrunching a nametable. I need a better emulator just to figure out what I'm looking at. That is witchcraft.

Submitted (2 edits)

Submitted as https://blackbirddev.itch.io/mariokart86