Q: Can you introduce
Turbo Spirit XT to our readers?
TSXT is a classic arcade racing game as we all know and love from "good
old times". It's straight forward, fast and simple. TSXT is
the sequel to our game "Turbo Spirit" which was released
about 1 year earlier. Those two are - as far as I know - the only
Flash-3D racing game in the web.
Q: How much time did it take to develop the game and how many
people worked on it?
We worked on the game with 3 people (and a bunch of beta testers)
for about a year. The game is based on the prequel "Turbo
Spirit" so we didn't have to build the game from scratch..
Q: Let's talk about the gameplay. What are the main characteristics
of Turbo Spirit XT?
It's totally arcade - straightforward, fast and simple (although
not easy!). We tried generate a slot-machine like experience.
The only feature that breaks with tradition is the mouse-control.
Mouse control gains more and more popularity in online games, so
we tried to combine the classic arcade racing with the - for this
genre very untypical - mouse control.
Q: How many levels are available?
The game features three leagues with a total of 8 tracks. The
first league features 3, the second 6 and the third league all
8 tracks.
Q: What are the basic requirements for playing the game? (cpu,
video card? etc...)
A standard PC, probably much older than 3 years.. The cool thing
about TSXT is, that it's actually faster than the prequel Turbo
Spirit, although it features much more graphic details. This comes
due to our optimizations on the engine of the game.
Q: We have found the game extremely smooth. Does it use the latest
flash player 8 features?
No, it's developed in Flash 7. The new features of Flash 8 wouldn't
help speeding up the game. We developed our own optimization strategies
which are actually more performant than the features available
in Flash 8.
Q: What kind of optimizations did you implement to make sure the
action is always fast and smooth?
First, the game flow is time-based not frame-based. That means
that the game flows with the same speed, no matter how many FPS
you have. On a slower PC or at a part of the track with many objects
you will possibly see the FPS rate go down, but your bike will
cruise on with constant speed.
Second we wrote the engine entirely in ActionScript2 which is
incredibly much faster than ActionScript1. We spent much time on
profiling the engine and optimizing each line of the core-code.
This required doing some basic research on how Flash works, what
actions consume how much time, where to simplify, where to buffer,
... Programming is a craft. Code gets better if you work on it.
Q: Can you talk a little more in detail about the 3D engine. How
does it work? What techniques did you use?
The engine was inspired heavily by "Lotus II" on the
Amiga. I stared at the games for hours trying to figure out how
they did the graphics engine. At the moment, Flash is pretty much
on the evolutionary level of the Amiga, so the Amiga games are
a great inspiration. The funny thing was, that when I finished
the engine, I had the same bugs as "Lotus II" has, so
I knew I was pretty close to the original (The bug is: when driving
very slow on the side of the track, the graphics behave a bit odd...
try it out... it's not a real bug though, more a characteristic
of this kind of fake-3D-engine).
The details are highly mathematical, so I won't be able to tell
you much more without getting boring. The core-engine is very slim,
it needs about 200 lines of code. It's very compressed, a bunch
of complex formulas.. not much more.
Q: How do you create the racing levels? Did you create a special
map editor?
The levels of the prequel "Turbo Spirit" were created
with Windows Notepad... just plain text files with endless columns
of digits... As this method was quite abstract we created a full
featured level editor for TSXT. The new level editor loads into
the game, so that you can edit the level while playing it. This
guarantees fast and easy editing. The leveleditor is command line
based, all editing commands have to be typed into a console. For
example, the command "d lr 100 60-85" creates a random
forest on the next 100 meters of road...
Q: It would be great if you could tell
us about the AI used for the opponents. How did you approach
the problem?
The AI of "Lotus II" is the simplest AI I've ever seen, the opponents
just drive a zigzag course all the time. And still the game is much fun.... Our
AI is a little bit more advanced, we implemented a basic rule-based AI. The rules
are something like "If someone is driving in front of me and I'm faster
then him, change the lane so I don't crash into him" or "If a left
curve is in front of me, I try to change to the left lane"... As I said,
very basic. |