What would you like to have in a 2D racing game?

What do you think are the key feature that a racing game should have?

Lately, I thought of creating a 2D racing game. I wanted a game with good collisions where the players can push each other in order to gain the advantage in the race. The player would see his car from above.

I would like to have your opinion on my gameplay ideas so far and if you think that I’m missing something very important or that would just be cool to have. Here are some ideas that I had for the gameplay :

So, a map would be constructed from 4 different elements :

  • The main road
  • The obstacles
  • The surface
  • The events

The main road describe the general shape of the race. It’s the path the the car follow in other to complete the race. The shape of this road is very important and the player will have to be aware of his form. While in big straith line it might be a good idea to go full speed, when there is a big turn ahead it would be wise to break to avoid hitting the wall and losing some precious seconds.

In addition to that, there would also be also be obstacle. The obstacle are physical object that are not part of the main road. The main road delimit the area where the car can move. Obstacle are simply an additional space limiter. There would be a lot of different obstacle; moving objects, movable object (move when you hit them), object that attract/repulse you, object that try to hit you, etc.

There would also be a couple of different surface that would affect your driving. The surface describe how the car react to his movement. For example, when you are driving on the ice you need to take a lot more precaution than when you are on dirt.

Finally, to add a bit of life into the game there would also be some events in the race. The events are things that happen when a car pass at a specific place. Some well known event are boost speed or coin to collect, but are not limited to theses two.

In a few days the judging of the Java4K comp will be posted, one of the games (my game) is similar to what you are planning on doing: http://www.java4k.com/index.php?action=games&method=view&gid=197. You might get some good ideas from the game and the judges comments. :slight_smile:

Yea I had already play the game and it’s really cool. I didn’t see it anywhere but do you post the source code for it?

I played oyur game.

how many laps are on the sweden course?

after 3 I decided it was impossible.

Sorry, I haven’t released the source code. I’ve just ported it to Android, so I may end up enhancing and selling it. 8)

To get points, you only do one lap on each of the tracks. However, there is no end to the game. You just keep trying to go faster to get a better score. You can stop when you have the highest score. ;D

Meh that’s too bad. But could you just tell me how you did the code for the different surface. For example, when on the road you go much faster than on the grass. To detect if the car is still on the road, do you consider the road as an area and check if the car is in this area? (which can be pretty complicated since the road as strange form). Or do you have some kind of grid map hidden and the case approximatively match the road form?

Oh yea. The physics of the car are very simple. I posted that code already: http://www.java-gaming.org/index.php/topic,19493.msg155982.html#msg155982
And yes, I have a grid map (a 2d boolean array) indicating if that pixel in the scene is part of the track or not. To populate the boolean array I simply drew the track first, then inspected where it actually got drawn. Not the most efficient for speed, but the most efficient for code bytes! ;D

I would like different cars to have different abilities as well as multiple maps/tracks that are advantageous to some builds and not others, and make the user have to do all the circuit at once so he can’t just pick the best ability for each. Offensive weapons/defensive weapons a plus.