Racing Game

Hi everyone,
Almost two years after I discoved Panda3D, my first large project is pretty much finished. It is a racing game called Turbo Racers.

Screenshots and download here.

UPDATE:
Gameplay Video: youtube.com/watch?v=4qUMQ04xuCI

Please test and let me know if you find any bugs, I’ve only been able to test it on Windows 7 machines.

Nothing like a good racer. :smiley:

I’ve always wanted to create one, but something different at the same time. The idea of a racer is still in the back of my mind.

Nice screenshots. :slight_smile:

Good job on getting this project that far. I tried it, and liked some things, but some other things need to be improved, and some bugs fixed. Note that i could only try the first race with only the first vehicle.

I liked the Wipeout-like vehicles. Given the choice i’ll always go for a landspeeder rather than a car, so i’m ok with that. They were really slow however. I know it’s the beginning, but even for a start, it’s slow. The keyboard control is also painful to me when it comes to curve : it seems it would be much better to control the turning of the vehicles with the mouse (which is used in the menus anyway), so that you can control how hard you turn. Right now with the keyboard, it’s very hard to get the timing to curve, even after some practice, and the ship often goes wild.

About turning, 90 degrees curves (the first race only has those) are tough when there’s no drifting system or anything to help here, it looks (from the models) that other race tracks have more sensible curves, but i couldn’t play them.

Another problem is the AI, that makes the races a bit boring : it always drives the same way, right in the center of the road, and never fails anything, and has same max speed as the player, so what happens is that either the players tries to follow after his first fuck-up and can never hope to catch up, or he doesn’t fail and manages to catch up to the AI vehicle through “cheating” at the curves, going a bit outside of the road to reduce the distance to go. This shouldn’t even be possible, and is not in many car games i’ve seen (including the Wipeouts). I’m not sure if making it a necessary mechanics to win was on purpose, but it doesn’t seem good to me. Also, i can never be sure whether i’m still on tracks or not (or if there’s a way to know, i missed it).

After getting that i had to “cheat”, i could finally beat the first race, and then no unlock happened, all i could do was restart that race. This is most probably a bug, if not it should be made more obvious how you unlock stuff (and why lock everything? i’m ok with the unlocking principle, but only one race and one vehicle to start with is cheap).

Maybe controls are listed and can be configured somewhere, if so i missed it, and had to guess by trial and error how you change the view (nice option!), how you use powerups, and i’m still wondering if there’s not some important, game changing command that i missed. A little frame with a list of controls could pop up on the first race or something.

A word about the art : that was probably not your main focus while making the game, but it’s overall still very placeholder’ish for now. It wouldn’t cost much to have better models for the ships, nicer decor elements, and so on.

I liked the bloom on powerups, really nice effect. I like how there’s a skybox, music and 3D sound, a main menu, options menus (clicking on changing screen resolution and some other things in there crashes the game, by the way), all these little things that help a tech demo to become a game, and it’s obvious you’ve put a lot of work in that game project. Still, i wouldn’t call it pretty much finished yet.

I think the biggest improvement to make would be to add physics to your game. Right now, bumping another vehicle, colliding into a tree does… nothing, you just stop, or slow down, but none of the usual consequences of such impacts. Adding some Bullet would greatly improve the general feel of your game. I’m aware that would imply rewriting a lot of the current code, but if you can afford it, it will be well worth it.

To sum up : add physics, smooth mouse control, more interesting / challenging AI, and improve the artwork little by little (or get an artist to join you).

Great job so far! I hope you will take some time for refining it, since what arikel said would really improve your game.

Some more things. It looks like the login button has the alpha premultiplication issue. It would be nice to add an antialiasing option. Moreover, the grass texture produces some noise, you could try changing its filter type. These are details, the most important thing (imho) is the tutorial/instructions: now it is too long (you’d better show small pieces of it during the game, when those parts are really needed), nobody will read it, and as arikel showed nobody will read about the controls. For example you could show instructions when the mouse cursor is over a specific element (e.g. I have the mouse cursor over the career mode button and I can read its meaning somewhere). Moreover, you could show the controls at the first race. Obviously, if you make them customizable, the player may look at them in the options menu if he needs to see them once more.

Anyway, this is a cool project, apply arikel’s hints and it will be cooler! :slight_smile:

Thanks for the feedback. It is exactly what I need to bring this game up several notches. Here are some of my thoughts:

Speed/turning:
I hadn’t really thought of using the mouse, that sounds like a good idea. It also wouldn’t be too hard to add a drifting feature, and I agree that would help on sharp corners. While it does start slow, it ends very fast paced through upgrades. It would be easy to make it start faster and speed up more gradually (good idea).

AI:
It IS boring now, it just follows a set of points I made for each race. I’ve had some ideas for a while on how to fix this (such as leaving their course to collect powerups, health, maybe just a bit of randomness to mix things up a bit, etc.), but it hasn’t really been that high on my priority list. Now that some of the essentials are finished I will return to that.

“Cheating”:
That actually was my idea on how a player was supposed to win races; the player makes up for the computer’s otherwise perfect race by taking sharper corners and gaining an advantage that way. I’ve seen racing games both ways; I could work on it but I think it would be difficult on some of the worlds the way the game is set up.

Unlocking:
I agree it should have said somewhere how to unlock. You unlock races through Career mode. My guess is you were playing in single player mode?

Art:
Most of the models are pretty much placeholders; some of them were made all the way back when I first found Panda3D and I had no modeling experience at all. I definitely do want to work on the art; I think I have a lot of skills now that would help enhance/replace what I made earlier.

Physics:
Sigh I’ve wanted to add physics, and seriously considered commiting to implimenting them several times; however, I’ve had no experience with any physics engine at all (yet), so this one will probably have to go on hold for a while. I want to return and add physics at some point, but I’d like to work on a simpler project built from from the start with physics first.

Options/help:
I’m not sure why the options screen made it crash, is there an error report you could send me? Arikel, the controls are listed on the help page, which can be found by clicking the small question mark button in the upper right corner of the very first screen (I realize now it is probably hard to find). But as both you and Flavio said, it would be a good idea to have them appear before the first race.

It will be a week or so before I have time to work on the game again, but when I can I will certainly work on implementing some of these ideas. Here is a saved game file that should have access to every race, and also has as many credits as is possible to get during the game (so you can buy upgrades). Just extract the .py file into the “saved” folder.

love it!