Jump to content
IGNORED

Super Pro Racers


Ben_Larson

Recommended Posts

I've been holding out on you guys - been secretly working on a racing game.  My first 7800 game actually.

 

It's an overhead racing game, done in 320B mode with a minimalist graphical look (more or less necessitated by the choice of 320B mode).

 

You can do fullscreen 1 player mode vs the computer or split screen head-to-head 2 player mode.  There's 3 cars total in each race, so in 1 player mode, there will be 2 CPU opponents, and in 2 player mode there will be 1.

 

One interesting thing to note is that you can collide with the other cars.  That means you can do things like run them into the wall to try to gain an advantage (which I recommend doing because it's fun if nothing else).

 

There's 4 levels of difficulty.  I recommend starting out on easy mode, because even easy mode is probably gonna be a bit of a challenge until you get the hang of the tracks.

 

Speaking of which, there's 4 tracks total at the moment.  That may be all I do because my current dev board (made from an old Choplifter cart) only goes up to 32K and I'm right at about 32K right now.  I'd probably want to build a new dev board if I were gonna go higher.

 

The controls are left/right to steer and button 1 to accelerate.  There's no brakes because the car slows down quickly enough as-is and nobody uses brakes anyway. :)

 

There's a couple other features and things I haven't mentioned, but enough text for now - here's some screenshots and a ROM file.  Have at it and feel free to let me know what you think. :)

 

 

SuperProRacers1.jpg

SuperProRacers2.jpg

SuperProRacers3.jpg

racers.zip

  • Like 29
  • Thanks 3
Link to comment
Share on other sites

So far so good, Ben. The car engine/exhaust noise is good, and I like the physics. 

It fall somewhere between the tightness of Rare's R.C. Pro-Am and the looseness of Atari's Super Sprint. 

I also like the two current lap notices placed on the track. 

The challenge may need to be tweaked, as currently it seems even under Medium, the CPU never makes a 'real' mistake, and your car is unable to catch up to the CPU vehicles.

Link to comment
Share on other sites

1 hour ago, Eagle said:

Very nice @Ben_Larson

Looks like Kangaroo. 

You could also use 320C and have 9 colours and more gfx.

With this type of game you easily could fill background gfx as well.

 

Bellow example of my WIP engine for 320 modes

 

 

 

 

I actually did consider 320C briefly but I wasn't able to get the car sprites how I liked them due to the color placement limitations.

 

So yea I used 320B with kangaroo mode 'on' in order to get more colors.  That of course brings it's own issues with the black boxes around things but I was able to work around it.

One thing I've realized while doing this project is that the 7800 isn't the easiest system to code for, especially when using the 320 modes.

I like your demo by the way - very impressive.

  • Like 1
Link to comment
Share on other sites

I love overhead racers! and hope you're able to achieve everything you set out to do!

 

I personally have started disliking the look of 320 mode 7800 games, as I have been playing a ton of colecovision lately, 320 on the 7800 has a very "colecovision" look to me lol

  • Confused 1
Link to comment
Share on other sites

Nice game!  I love these kind of racing games.

 

I love the "drifty"-ness of the car turning and the scrolling of the cars is great.    I'm not sure there's another game like this on the 7800.

 

Any chance of adding some textured tiles outside the track to make it green or brown or otherwise colorful background and add some "decoration" sprites like trees or other type of things?  The blacktop of the track makes sense, unless the premise of the game is you are in the world's largest parking lot with tires marking off the course.   
 

I would also add a "Super Mario Kart" throttling mechanism on Easy Mode (and possibly the others modes as well) where if the computer gets too far ahead (or behind?) they speed up or slow down to make it more competitive.  Even on easy if you make one mistake you are done for.

Link to comment
Share on other sites

Posted (edited)
On 5/15/2024 at 10:09 AM, KrunchyTC said:

Just had a chance to play it, it's really good! the handling is excellent, the scrolling is nice and smooth, and the AI is solid as well :D

 

I'm curious what more can be done to livin up the visual presentation.


There's 2 issues at play from a technical point of view:

 

1) The track data is 4 bits per tile, so there's only 16 different types of track tiles possible.  And there's only 1 unused tile at the moment (several of the tile types are invisible track markers that are used for keeping track of laps).

2) Since the game engine uses 'direct mode', there's one data write per tile when scrolling left/right.  So with too many tiles on screen, you start to get slowdown.

 

I did experiment a little bit, but I couldn't really come up with anything I liked.  So at that point I figured I would just lean into the minimalist angle and embrace it. 😀

Edited by Ben_Larson
Link to comment
Share on other sites

37 minutes ago, Ben_Larson said:


There's 2 issues at play from a technical point of view:

 

1) The track data is 4 bits per tile, so there's only 16 different types of track tiles possible.  And there's only 1 unused tile at the moment (several of the tile types are invisible track markers that are used for keeping track of laps).

2) Since the game engine uses 'direct mode', there's one data write per tile when scrolling left/right.  So with too many tiles on screen, you start to get slowdown.

 

I did experiment a little bit, but I couldn't really come up with anything I liked.  So at that point I figured I would just lean into the minimalist angle and embrace it. 😀

Ah, yeah that makes sense. Just as long as there are plenty of tracks, I think I'd be happy :P

Link to comment
Share on other sites

On 5/14/2024 at 11:38 AM, Eagle said:

Very nice @Ben_Larson

Looks like Kangaroo. 

You could also use 320C and have 9 colours and more gfx.

With this type of game you easily could fill background gfx as well.

 

Bellow example of my WIP engine for 320 modes

 

 

 

I guess 320 can look decent, still not completely sure how I feel about it.

Link to comment
Share on other sites

Posted (edited)

Alright, new version...

 

Changes since last version:

 

* Tweaked difficulty.  'Easy' is easier, 'medium' is slightly easier, 'impossible' is slightly harder.  'Hard' is unchanged.

* Tweaked some colors.  The red lines in the title screen header were very hard to see on real hardware over RF so I changed them to blue.  I also changed the time trial and results screens to use gray instead of red for the text backgrounds.

* Added a little bit of whitespace above the timer in 'time trial' mode.
 

 

NewTitleScreen.jpg

 

racers-2024-05-17.zip

Edited by Ben_Larson
  • Like 5
  • Thanks 2
Link to comment
Share on other sites

Posted (edited)

Another new version.  Changes since 2024-05-17:

 

* Fixed bug that would cause the CPU cars to steer into the wall if you hit reset on track 3 when they were on the center straightaway and then selected that same track again

* Fixed issue so that cars appear partially off the left side of the screen (instead of disappearing the minute they hit the left edge)

* Fixed it so that car won't steer if not moving and no acceleration (thank you Philsan for pointing that out)

* Tweaked CPU steering on track 3 to avoid hitting the wall on one turn

 

My plan is to add 2+ more tracks, as well as a track selection screen that actually shows you what each track looks like.  That will mean going to 48K, which means I will have an excuse to build another dev board.

 

Speaking of which, here's some photos of my current ramshackle dev board for your entertainment. 😁

image.thumb.jpeg.4342b707b5b9287c9235ffb6a6e18be5.jpegimage.thumb.jpeg.15cc1536683536aeb69f2b27b58fd7c8.jpeg

 

racers-2024-05-22.zip

Edited by Ben_Larson
  • Like 7
Link to comment
Share on other sites

4 hours ago, PacManPlus said:

This looks and plays *INCREDIBLY*  Nice job on the scrolling!

 

Would be great if the steering controller was an option :ponder: :D 

Yeah, I absolutely agree with you, I thought his game played better than Micro machines :P

  • Like 1
Link to comment
Share on other sites

  • 1 month later...
Posted (edited)

Okay it's been a little while, but I got a new version.  Changes since the last version:

 

* Increased ROM to 48K and added 2 more tracks

* Added track selection screen (see image below)

* Fixed bug where P2 car couldn't steer when P1 car wasn't moving

* Fix bug where the palette switch at the bottom of the screen on time trial mode was occurring 1-2 scanlines too early

 

image.thumb.png.e18a137de06e2044ce5619fd58f421ec.png

racers.a78

Edited by Ben_Larson
  • Like 7
Link to comment
Share on other sites

ZeroPage Homebrew is playing Super Pro Racers on tomorrow's ZPH stream LIVE on Twitch! Hope you can join us!

 

Games:

 

  • Like 2
Link to comment
Share on other sites

Posted (edited)

Okay, another new version.  Here's the changes since the last version:

 

* Fixes for 2P split screen mode to address the slowdown issues (as demonstrated in the ZPH playthrough).  The main fix here was to switch to 30Hz screen updates in 2P mode vs 60Hz in 1P mode.  The other alternative would have been to omit the CPU car entirely in split-screen mode, which I didn't really want to do.

* Tweaks to the starting track positions to ensure the cars are always centered in the middle of the track vertically

* Fix for bug that was causing the top row of track 2 to disappear when going backwards on the track

* Fix for flickering glitches when cars were at the top of the screen

* Time trial timer color changed from gray back to red

 

James also found a very strange bug during the ZPH playthrough where one specific block did not load on track 6.  I wasn't able to reproduce this bug during testing but I think I have an idea what was causing it and I think I have fixed it? (fingers crossed :) ).

 

racers.a78

Edited by Ben_Larson
  • Like 8
Link to comment
Share on other sites

  • 2 weeks later...
Posted (edited)

New version.  Changes since last one:

 

* Added support for 2-way and 3-way ties in grand prix mode (previously one of the players would get one point less even if the finishing time was exactly the same)

* More optimizations to reduce slowdown

* Fixes for glitchy flashing track tiles on certain long horizontal stretches of track due to running out of DMA time

* Tweaks to track #3 in the track selection screen so that it's more accurately represented

* Fixes so that the number of scanlines is consistent

 

@PacManPlus convinced me to add driving controller support, so that's the next item up on my to-do list...
 

racers.a78

Edited by Ben_Larson
  • Like 10
  • Thanks 1
Link to comment
Share on other sites

  • 4 weeks later...

...and here is the version with driving controller support. :)

 

Thanks to @PacManPlus for encouraging me to do this and providing me with some info on how the driving controller works.

 

Note that the title screen works a bit differently when the driving controller is plugged in:

 

Rotating: Switches selection between # of players, difficulty, and # of laps.

Rotating + holding button: Changes the value of the current selection

 

I am gonna call this release v1.0 beta because I think it's feature complete now.

 

racers.a78

  • Like 10
  • Thanks 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...