Jump to content
IGNORED

Turbo - a 3D Racing Game


Atarius Maximus

Recommended Posts

Here's a demo I've been working on the past few days to see if it's possible to make a 3D racing game with bB. I used the multisprite kernel, and created a pretty cool looking 3D moving roadway with enemy cars that scale up in size as they travel down the road to give a pseudo-3D effect. I was able to get the highest resolution of the MSK working fine (there's been reports of it not working so well with sprites on the screen), so I was able to add a very detailed cityscape on the horizon with the sun and clouds. The end result was better than I had hoped. A screenshot wouldn't do it justice, since there are multiple frames that are always moving. You'll have to download it to see. ;)

 

This is still just a demo - however you can move the car around. In keeping with the turbo theme, press the fire button to send your car into warp speed! :)

 

EDIT: I decided to add a screenshot. This is a modified picture, I pasted together about four different screenshots to get this image, and there are still items on the screen that you'll only see if you play. :)

turbo1.txt

turbo1.txt.bin

post-2143-1176404137_thumb.jpg

Edited by Atarius Maximus
Link to comment
Share on other sites

Wow!!!! Great job, man! Can't wait to try out the finished product! I wonder if Batari would have ever thought that BBasic would inspire such creative and advanced projects!

 

Thanks,

 

Mike

 

Wow, thanks for the compliments, Mike. I've made so many throwaway projects that didn't work like I thought they would, I was excited that this one may have some potential as a real game. I've had so much fun with the high resolution graphics capabilities of the multisprite kernel that I just can't seem to go back and develop on the standard kernel anymore. I'm really waiting for all those cool new features in the standard kernel to be made available in the multisprite kernel... ;) batari! ;)

 

Steve

Link to comment
Share on other sites

Ok...i looked! Nice work.....I agree..I hope we acn have all the other features of single in mutli. Nonetheless batari Basic is 2600 coding bliss.

 

Im having a blast trying to get it to do things.

 

I love when the code make things look wrong..reminds me of when I used to try to purposely glitch my 2600 to see the display I would get.

I know...im a sick man!!! :D

Link to comment
Share on other sites

Ok...i looked! Nice work.....I agree..I hope we acn have all the other features of single in mutli. Nonetheless batari Basic is 2600 coding bliss.

 

Im having a blast trying to get it to do things.

 

I love when the code make things look wrong..reminds me of when I used to try to purposely glitch my 2600 to see the display I would get.

I know...im a sick man!!! :D

 

Thanks! Yes, the MSK with all of the standard kernel features would be pure coding bliss. :)

 

Here's another update. It's now a playable game! :cool:

 

- Title screen added, press fire to start game.

- scoring added, roughly ten points per second awarded for staying alive on the road.

- Traffic patterns are now random, oncoming traffic doesn't just move down the left side of the road.

- Collision detection is working - your car will take damage (and slowly change colors). When your car turns red,

you're car is almost destroyed. When it is destroyed, you're taken back to the title screen and your score is displayed.

Right now it takes quite a long time to destroy your car - I'll work on the game's difficulty progression next.

- Car can now be sped up and slowed down by pressing up or down on the joystick.

- red 'taillights' added to the player car.

 

I found my first glitch with the MSK using pfheight=0. I can't set NUSIZ0 to adjust the width of the player. Instead of doing what it's supposed to (double-width or quad-width), it creates two very close copies of the same sprite. Must be that dreaded sprite incompatiblity I heard about when using the highest resolution. I got around it by using two normal sized sprites next to each other for the oncoming traffic sprite. I had to change it because of how collision detection is implemented in the MSK -- I had to use player0 and player1 as the sprites for the player car and traffic car in order to detect a collision and that's not how I had it set up in the original demo.

 

I have a quick question for one of the many bB experts around here that might want to take a look at the code - Is there any way to reduce the sprite flicker in this game? I understand why it's happening, I just don't know if there's a way to work around it. Also, same flicker issue on the new title screen - any way to fix that?

 

Thanks!

 

Steve

turbo5.txt

turbo5.txt.bin

Link to comment
Share on other sites

I have a quick question for one of the many bB experts around here that might want to take a look at the code - Is there any way to reduce the sprite flicker in this game? I understand why it's happening, I just don't know if there's a way to work around it. Also, same flicker issue on the new title screen - any way to fix that?

I'll look at your code and see. My knee-jerk response without looking first is "probably not"-- but I guess it depends on exactly what you're doing. ;)

 

Michael

Link to comment
Share on other sites

 

I have a quick question for one of the many bB experts around here that might want to take a look at the code - Is there any way to reduce the sprite flicker in this game? I understand why it's happening, I just don't know if there's a way to work around it. Also, same flicker issue on the new title screen - any way to fix that?

 

 

Why not have the TURBO title text be vertical instead of horizontal. That way, no flicker!

 

Thanks,

 

Mike

Link to comment
Share on other sites

 

I have a quick question for one of the many bB experts around here that might want to take a look at the code - Is there any way to reduce the sprite flicker in this game? I understand why it's happening, I just don't know if there's a way to work around it. Also, same flicker issue on the new title screen - any way to fix that?

 

 

Why not have the TURBO title text be vertical instead of horizontal. That way, no flicker!

 

Thanks,

 

Mike

 

That's true, there'd be no flicker if it was vertical. I just wanted to try it horizontal first because I can make a cooler looking title that way. I knew it would flicker, I just didn't know how bad it would be until I did it - and it is pretty bad!

 

I'd love to add some really unique features to this game if I can - maybe like a pitstop area in the old C64 game called 'pitstop'. It could be like a mini-game in itself, with a timer running to change tires, repair your car, or add fuel. A few of my other ideas were to have a timed mode with a defined start and finish line, maybe a tunnel, paddle support (if that's available in the MSK, not sure), some kind of car explosion animation when your health runs out, and maybe a fuel gauge (using the new pfscore options) that would go along with the pitstop idea. Just driving in a straight line all the time with nothing else to do but avoid colliisons would make for a pretty boring game. There's no way to add turns in the road due to the reflected playfield, unfortunately. I played around with that and I was able to get the animation sequence to work fine, but there's no way to make the road look exactly right. Instead of this \\ or this //, it looks like this )( .

 

Anyway, racing games have always been my favorite genre, and making a really cool one on the 2600 would be a lot of fun. :D

 

Steve

Link to comment
Share on other sites

I have a quick question for one of the many bB experts around here that might want to take a look at the code - Is there any way to reduce the sprite flicker in this game? I understand why it's happening, I just don't know if there's a way to work around it. Also, same flicker issue on the new title screen - any way to fix that?

I'll look at your code and see. My knee-jerk response without looking first is "probably not"-- but I guess it depends on exactly what you're doing. ;)

 

Michael

 

Thanks Michael. I always read your posts with great interest - you always have really good suggestions. I never replied to you post in my rollerball thread, but thanks for taking a look at the title screen problem in that one too, your idea worked great and I added it in.

 

Steve

Link to comment
Share on other sites

I had the chance to add a few more things to the game today. There is now a pitstop/gas station that you can enter to refill your gas tank and repair damage to your car. To enter the pitstop, run into the "sign" on the right side of the road as it passes by. Currently, the sign (which is misisle1) is always reappearing in every frame, in a future revision I'll make it appear less frequently to add some challenge to the game.

 

On the main screen, there is now a gas gauge at the top left of the screen. As the fuel bar decreases, it will change from green to yellow to red... if you run out of fuel, the game ends and you're taken back to the title screen. There's no warning yet, the game just abrubtly ends...I'm working on ideas for that now.

 

When you're in the gas station/pit stop screen, move your car over the gas pump on the lower right to fill your tank, and move your car to the workbench on the left side of the screen to repair the damage to your car. When you're done, drive off the top of the screen to re-enter the roadway.

 

There's really no sense of urgency when you're repairing or refueling, as you're not really racing against anybody. I may have to add a game timer or something to make you want to get back on the road fast. I'm making this up as I go, I don't really have any specific gameplay goal in mind...suggestions are welcome! :)

 

Steve

turbo10.txt

turbo10.txt.bin

Link to comment
Share on other sites

Nice game so far. What's that little white dot on the right side of the road supposed to be?

 

Well, for now, that's the "sign" for the gas station that you need to run in to to refuel and repair your car. It will take you to a different screen where you can move your car to a gas pump to refuel, and a workbench to repair any damage you've taken to your car. I'll probably change that into a sprite that looks more like a road sign in a future revision, and I plan on making it appear less frequently too to make the game a little more challenging. For now, I just wanted to make it easy to get to it.

 

Steve

Link to comment
Share on other sites

Nice game so far. What's that little white dot on the right side of the road supposed to be?

 

Just noticed your signature...yes, he is a god. :) Went down to busch stadium tonight, but the game was rained out before they even threw the first pitch. Damn weather....it was the first game I went to this year. Go Cards!!!!!!

 

Steve

Link to comment
Share on other sites

Latest update:

 

1. It's a little more difficult - the car can take less damage, and the gas station only appears when you're very low on gas.

2. The gas gauge will flash with the road sign when you're low on gas, and there is an actual road sign on the right side of the road that you'll have to run into to enter the station. It's designed to be a little difficult to enter the station - you may have to stay on the side of the road for a few seconds sometimes to enter. :)

3. You will now start to lose points while you're in the gas station - you'll want to repair your car and fill 'er up as fast as you can.

4. When your car is destroyed, the game pauses and the car changes to a "wrecked" car. Press down on the joystick to get back to the title screen.

5. When you run out of gas, the car stops on the road and "Empty" shows up on the screen. Press down on the joystick to get back to the title screen.

6. Some graphics have been tweaked a little bit.

7. Traffic patterns changed a little - just to make it more challenging. Cars can switch direction mid-path now.

 

Final things that I'm definitely still going to change:

1. Sound!

2. A difficulty level progression as you get further into the game - I may make the oncoming traffic come in faster, make the gas station appear less frequently, or make your car handle a little more slowly.

3. The title screen graphic - it flickers way too much as is.

 

After those three things, I think I'm about done unless anyone has any other suggestions to improve it.

 

Steve

turbo13.txt

turbo13.txt.bin

Edited by Atarius Maximus
Link to comment
Share on other sites

 

After those three things, I think I'm about done unless anyone has any other suggestions to improve it.

 

Steve

 

This game is great!!! Lots of fun to play!

 

Some not too difficult to do suggestions:

 

Change the background screen color slowly from bright blue to black and back again to mimic the progression from day and night and night into day.

 

Insert some weather changes like fog (easy--just change colors to be more difficult to see), snow (shades of white and more difficult to steer), rain (???).

 

Allow for paddle controls as well as joystick (don't eliminate the joystick control... just allow paddles as well). BBasic 1.0 does support paddles to the best of my knowledge.

 

Thanks,

 

Mike

Link to comment
Share on other sites

Oh, and one more suggestion... use the pfcolors command to differentiate between the color of the buildings and the road. In fact, the code could be significantly trimmed if pfcolors were used to "hide" portions of the roadway part of the playfield instead of having 3 different playfields stored in memory.

 

Thanks,

 

Mike

Link to comment
Share on other sites

Oh, and one more suggestion... use the pfcolors command to differentiate between the color of the buildings and the road. In fact, the code could be significantly trimmed if pfcolors were used to "hide" portions of the roadway part of the playfield instead of having 3 different playfields stored in memory.

 

Thanks,

 

Mike

 

Thanks for all your suggestions. I didn't think that pfcolors worked with the multisprite kernel, I'll look into that.

 

Steve

Link to comment
Share on other sites

 

Thanks for all your suggestions. I didn't think that pfcolors worked with the multisprite kernel, I'll look into that.

 

Steve

 

Whoops.. you're right... my bad!!! :ponder: also ignore the paddle thing... no kernel options of any sort in the multisprite kernel

 

Thanks,

 

Mike

Edited by lord_mike
Link to comment
Share on other sites

 

Thanks for all your suggestions. I didn't think that pfcolors worked with the multisprite kernel, I'll look into that.

 

Steve

 

Whoops.. you're right... my bad!!! :ponder: also ignore the paddle thing... no kernel options of any sort in the multisprite kernel

 

Thanks,(

Mike

 

Yep, no kernel options. :(

 

Here's another update. I changed the title screen to eliminate the flicker, and added some sound effects. I also added a color-change option -- press the joystick left or right on the title screen to change the background and playfield graphics. I was using that to test color combinations, but figured I'd just leave it in there.

 

sound effects added:

Engine Rumble

Engine rumble increases in frequency when you go faster/decreases when slowing down

"crash" sound when you hit oncoming traffic

warning alarm when you're low on gas

sound effects when you're pumping gas and repairing your car

 

I've just about used up all the space in bank 1 and bank 4, so I'm going to have to spend some time moving stuff to banks 2 and 3, and testing to make sure nothing breaks.... that will take some time. I toyed around with lord_mike's ideas about weather changes, but I couldn't come up with anything that looked good to me. I added in a rain effect (rem'd out in the source right now) that looks OK, I may use that. Most likely the game will just get harder and faster as you get further into it, which is the last main feature I need to put in.

 

Steve

turbo16.txt

turbo16.txt.bin

Link to comment
Share on other sites

Here's another update.

 

In this revision, I implemented lord_mike's idea about the day/night changes. The game starts off in the middle of the night. I added in the rainfall effect (which will only appear at nighttime), and made your car skid left and right a little bit during the rainstorms, just to add a little challenge. As the background lightens from black to almost white in the daytime, the cars also are a little harder to see, which is supposed to be like the sun glaring in your eyes. I also reduced the amount of damage your car can take again - I'm still trying to find the sweet spot for that.

 

Currently the day/night progression will only happen twice, then it will stay night forever. I'm still working on moving code around to free up space in bank 1 to add more in. I'm still planning on changing how the oncoming traffic appears at night. I'd like them to appear further down the road to start off with, kind of like the fog scene in enduro, giving you less time to get out of their way.

 

I'd love some feedback or suggestions on the day/night changes, especially with my color choices.

 

Steve

turbo17.txt.bin

turbo17.txt

Edited by Atarius Maximus
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...