# Create a Flash Racing Game Tutorial

If you’re interested in gaming and blogging, YouSayToo lets you earn from your flash games and allows you to make money blogging.

In this tutorial we’ll cover the creation of a flash racing game.

I got the permission from Remus C. from gameSheep to publish this awesome tutorial.

Before we start, I recommend you all to give a look at gameSheep. You will find a lot of games with cute graphics.

Moreover, this tutorial will give the start to another series of tutorials about creating a flash racing game.

Let’s start!

Moving the car

1. Car movement is not the most difficult part of a racing game, but if you want to simulate realistic (almost realistic) movement you have to take in consideration some of the aspects described below.

3. Click on the first frame (the only frame) of the “defs” layer and press F9 to display the Actions Window for this frame. Now let’s see what these variables do:

4. OK! Now let’s get back to school :) and see what we can do with these variables.

Click on the first frame of the second layer (“actions”) and if the Actions windows is not open, press F9 to display it.

We will discuss this script in a few moments, but first let’s see how Flash “understands” movement and coordinates.

Just a bit of trigonometry and Flash

Flash is using the classic Cartesian Coordinate System (a grid based system with a horizontal axis OX and a vertical axis OY).

You notice in the attached picture that in Flash the Y axis is inverted meaning that the negative side of the Y axis is positioned higher than the positive side. So the lower a coordinate is, the higher it’s value will be.

Because Flash understand only horizontal and vertical vectors we will have to calculate the horizontal and the vertical components of the actual “speed”.

So, from trigonometry we know (in this case) that:

`sin(angle) = speedx/speed` and

`cos(angle) = speedy/speed`

so… we know the angle (angle=car._rotation) and we know the speed. That’s all we need know. Is it? No. You need to know one more thing:

The Math class implemented in Macromedia Flash does not work with angles measured in degrees. Instead we will have to provide angles measured in radians (an alternative unit measurement for angles).

The only case in which you will use degrees is when actually rotating the movieclips.

Using the simple equation below you will be able to transform degrees into radians:

`angle_radians = angle_degrees * (PI/180)`

Now we can easily calculate the X and Y components of the car’s speed:

```speedx = Math.sin(_rotation*(Math.PI/180))*speed; speedy = Math.cos(_rotation*(Math.PI/180))*speed*-1;```

Well, you already figured out why the sign of the Y component has to be inverted ;)

And now let’s get back to Flash and our Actions Window. Next I will explain what the “step” function is all about. The “step” function will be executed on every enterFrame event (on the “stepper” layer you will find an empty movieclip the executes the onClipEvent (enterFrame) routine).

That’s it! We already have a moving car. Now we can move on to collisions.

Collisions

1. We all know why collisions are important in a Racing Game… Because we don’t want the car to leave the track, because we want to force the player to use a specific way, because we want him/her to avoid collisions in order to get the best time (or win the race).

Collisions are a very important part of a racing game and 70% of the game feeling and success depends on good collisions.

We don’t want the car to get stuck in the non accessible areas (NAA), we don’t want it to lose all speed although it hardly touches those areas and we definitely don’t want it to bounce back (by reversing the speed).

In other words we don’t want to give the player a hard time, but on the contrary, an enjoyable game. So when the car touches the NAA we must try to correct it’s trajectory and of course apply a speed penalty depending on the angle of collision and collision duration.

3. Before we go back to the “step” function, I will explain how the collisions will work.

Using four points to detect collisions

As you can see in the attached picture, we will pick four points, one on every side of the car and check to see if any of them “touches” the NAA.

For example if the Left Side Point is inside the NAA (hits the NAA) then we will have to apply a speed penalty and increase the angle (_rotation) of the car. Why do we do that? Because of what we discussed earlier: we must try to correct the car’s trajectory. So what we do here is force the car to steer right.

OK, I guess everything is clear up to this point. And since we are speaking of points, let’s see how we calculate their coordinates. To simplify things we will take the Left Side Point as an example.

When the car’s rotation is 0 our job is very simple: the LSP coordinates are x=car._x-20 (20 pixels to the left of the car’s center point) and y=car._y

But the car will not always have an angle of 0. Well, here comes the tricky part. There are a few ways to calculate the four points even if the angle is not 0 (for example you can use the sine and the cosine functions) and for this tutorial I chose the simple way (I don’t know if it’s the optimum way, but it’s very simple):

We define the Left Side Point as if the car’s rotation was 0:

`car.pointLeft = {x:-20, y:0}; //this is an Object`

and then we transform the point’s coordinated from local (related to the car’s clip) to global (related to the _root clip where we will test the collisions):

`car.localToGlobal(car.pointLeft);`

Now we have our Left Side Point coordinates that we can use to check the collision:

`car.pointLeft.x and car.pointLeft.y`

Can it get any simpler? :)

4. And again back to our Actions Window. Click on the first frame of the “actions” layer and if the Actions Window is not open press F9 to display it.

You will notice that I added a few lines to the “step” function and you probably already know what those lines do :) but still I will go into a few details.

Hard? Not so hard :) And the next two steps are even simpler.

Where are we running?

1. Up to now we have a 100% functional game engine but no game. We don’t have a goal. So we’ll have to add one and because this tutorial is about a time trial racing game we will add laps and timers.

3. You notice that I added two frames on every layer and I labeled them “ready set”, “go” and “finish”. In the first frame a movie clip will play saying “ready, set, go”. When “go” is displayed _root will move to the frame labeled “go” where the car can move.

Why the car will not move in the first frame? Well, that’s because the “stepper” movieClip only exists in the second frame, so that’s where the “step” function will be executed.

On the second frame of the “actions” layer you will also find two new variables. Those variables will be used to store the exact time when the race started (initialTime|) and the exact time when the current lap started (lapTime).

When the game is over, after the player finishes ten laps, _root will move to the “finish” frame where an information movieClip will be displayed.

4. OK! What we need to do next is determine whether the player has finished a lap or not, so we will add two movieClip (the red line on the right side) and check if the car “touched” this movieClip, and if it did, than you know that a lap is finished… hmm… not really :)

First of all the car will “touch” this movieClip for more than one frame. Maybe for two, maybe for ten, maybe for one hundred frames, you cannot determine this number because it depends on the car’s speed. And instead of increasing the number of laps with one, you will increase it with two, ten or one hundred laps, so the race will be ready quite fast.

The second problem, assuming that you solved the first one is that one player will go past the finish line (the red line on the right) and then return immediately to the same line and “touch” it again, increasing the number of laps even though the lap is not completed. This problem can be solved in a few ways but we will chose the solution that fixes both our problems: we will add a checkpoint (the red line to the left). This checkpoint will be placed somewhere around the middle of the race so that the player will lose more time returning to the finish line than he will lose by completing the lap. Of course if you want a more secured race you will add more than one checkpoint. You will be able to easily add more checkpoints after finishing this tutorial.

5. Open the actions window for the first frame of the “actions” layer. We have to new functions both related to timing the race – setTimes (calculates and sets the total race time) and setBestLap (calculates and sets the best lap time). We’ll take them one at a time and see what they do.

6. And now one more time (I promise this is the last time) back to the “step” function and let’s analyze the new lines.

7. That’s it :) Now let’s move on to the final graphic touches and see our completed game.

Finishing the game

1. The final graphic touches… Well, there’s nothing to explain here. You can express yourself in anyway and create graphics after your own taste.

Just remember to set the alpha of the green movie clip and the red movie clips to 0.

3. Remember that this is just a tutorial. You must work on it in order to build a really addicting game. In the next tutorial we will add opponents in the game. Until then, have fun building your Time Trial Racing Game ;)

And by the way my best lap time is 9.84 :D

And here ends Remus tutorial. I learned a lot from this tut and I will use it to improve the gameplay with some additions.

Meanwhile, give feedback to Remus and try to beat that n00b laptime!!

• Nice tutorial man ;)

• And by the way ;) my best lap is 9;72 :P:P

• N00b

Awesome!
I really appreciate the work hat goes into these tutorials, and they have definitely helped my development (seeong as I am a n00b).
I’m currently working on a game like Madness Interactive, and I’ just making the firing character move!
Much thanks,
^^

• Wow, awesome!
I just love your tutorials, and hosting tutorials of others is just as cool. This tutorial definitely helps for when I will finally have time to pursue Flash!

Love the end result, and just a quick run without even trying I got 9.90 for my best lap.

• gnark

Definitly a nice tute.. But to all of the above commenters..
This is an exact copy of a gameSheep tutorial.. All credits go to them..

• N00b

Whoah! I just got 9.57!

• N00b

9.33…

• N00b

9.09 ^^

• Emanuele Feronato

hmmm maybe Remus should play a bit more to his games… ;-)

• omg…9;51 but it was like my 20th lap :[

• mango

8.51 =|

• sam

8.17 :)

• abhilash

cool tut
but I already have this tutorial and my best time is 7.52

• abhilash

I am the winner with 7.52 laptime!!!

• Jullian Verhaeghe

7.33 MOFO

• Monkios

I know this is only a tutorial and there are bugs wich you did not solve but if a player goes in a wall in a 90 degrees angle, he’ll enter it slowly and be pushed ouside of the race.

• Where I add code for car

• mousey

amazing :p

• Dave

Wow, nice tutorial.

One thing, if you were to turn this into a real game, how would you address people going reverse on the track (crossing both check points still applies, but in reverse)?

(I know you mentioned a part II, so if you address it there sorry :/ )

• Robin

09:03 :)

• Gagan

Please help! I can’t open any of the file with Flash Mx. Why? The error showed was “Unexpected File Format”.
RSVP

• r0cko

Flash MX uses ActionScript 1, the tutorial is about ActionScript 2. Use Flash 8.

• Sneddon

MY Best Time Was 9:32

• Cecil

9:76
nice tutorial

• Cecil

I was wondering, whats the action script you would put on the car if you also wanted it to go to next frame when it hits something.

• Since FOREVER I wanted to create my own games, and with your excellent tutorials I am finally beginning to understand certain mathematics (a grade I suck at) Flash uses. Your code is very clear and by simple reading, even without the FLA’s, you made me understand so much more. Can’t wait to create games for http://www.hq40k.com! Thanx!

• Callum

W00p OMFGZORZWTH!11 :D 9:07 BEAT THAT :D

• Great tute! (even if its not yours)

To Cecil

to make the car go to the next frame add code like this

if (car.hitTest(terrain)){
car.gotoAndStop(2);
}

• Gagan

Help! Can anyone provide me the same tutorial file compatible with flash Mx( not ver 2004). I couldn’t open the file given here as it says “Unexpected file format”.

• Orlando

Nice tutorial!! This is what I was looking for, specially because I starting with flash, specifically with Flash 9.
After to check it and convert it to AS3, I could not find a way to predict a collision using localToGlobal method, which is very easy, So, I followed your advice to use trigonometry, and this what I got:

function newPos(point:String,x0:Number,y0:Number,sign:Number):void{
var hypotenuse:Number = Math.sqrt( Math.pow(x0,2) Math.pow(y0,2));
var angle:Number = Math.PI-(this.car1.rotation*Math.PI/180)- Math.acos(sign*x0/hypotenuse);
this[point].x = this.car1.x – sign*hypotenuse * Math.cos(angle);
this[point].y = this.car1.y sign*hypotenuse * Math.sin(angle);
}
newPos (“ref1”,-15,-20,-1);
newPos (“ref2”,15,-20,-1);
newPos (“ref3”,15,20,1);
newPos (“ref4”,-15,20,1);

where ref 1,2,3, and 4 are a circle movieClips I am using to see if positions are correct. In my case, I am putting four points in the corners of the car.

I hope it can be useful for someone else.

I forgot, just change car.x for car.x xSpeed and car.y for car.y ySpeed and you can check if there will be a collision.

• Orlando

This is the same code but with little changes

function newPos(point:Point,carRot:Number,sign:Number){
var hypotenuse:Number = Math.sqrt( Math.pow(point.x,2) Math.pow(point.y,2));
var angle:Number = Math.PI-(carRot*Math.PI/180)- Math.acos(sign*point.x/hypotenuse);
point.x = -sign*hypotenuse * Math.cos(angle);
point.y = sign*hypotenuse * Math.sin(angle);
}
var newPoint:Point = new Point(-15,-20);
newPos (newPoint,myRot,-1);
newPoint.x = myCar.x;
newPoint.y = myCar.y;
myCar.point1 = newPoint;
ref1.x = newPoint.x;
ref1.y = newPoint.y;

newPoint = new Point(15,-20);
newPos (newPoint,myRot,-1);
newPoint.x = myCar.x;
newPoint.y = myCar.y;
myCar.point2 = newPoint;
ref2.x = newPoint.x;
ref2.y = newPoint.y;

newPoint = new Point(15,20);
newPos (newPoint,myRot,1);
newPoint.x = myCar.x;
newPoint.y = myCar.y;
myCar.point3 = newPoint;
ref3.x = newPoint.x;
ref3.y = newPoint.y;

newPoint = new Point(-15,20);
newPos (newPoint,myRot,1);
newPoint.x = myCar.x;
newPoint.y = myCar.y;
myCar.point4 = newPoint;
ref4.x = newPoint.x;
ref4.y = newPoint.y;

Remember ref 1,2,3, and 4 are just to see the collision points.

• very nice tutorial friend
its really very helpful and very interesting

thank you thank you very much

• Mike

7:43 :)

• cortina

nice tutorial , thanks
8.87 n_n

• hi, this is a wonderful tutorial, however, I am really a beginner exploring actionscripts, could anyone advise me what IDE/compiler do I need to develop a flash game/program or do I need to purchase macromedia flash to do this?

Thanks!!!

tonius

• Hi tonius. Yes, you need macromedia flash. I’m not sure about it, but i think that there excists programs to write actionscript. But as i said, im not sure about it. Anyway, you can du it with macromedia flash :)

• Dan

9:36

• 1.02

there is a secret passage :O

• Drew

i started using action script last week and started making games etc, i used to be a keen programer in ‘basic’ (well dated now lol) i found your site very very usefull to learn new code and put it into practice. i keep stumbling accross really difficult math problems then i look on your site and realise that the 30 lines of code i have written, can be swapped for 1 line of correct code lol. thanks

if you have time take a look at my first game, there are glitches i know about lol, but its my first one. http://www.geocities.com/ardscore

• David

Brilliant, but how can you change the amount of steer depending on the amount of time that the player has kept down the left /right keys

• ???

nice tutorial, but i had a question. i have an older version of flash and whenever i try to download the files it always says, “unexpected file type.” does anyone know how to see it or anything, cause it doesnt really work without it. nice tutorial though!

• ???

oh yeah, and also i am trying to make a game where you are constantly going but when you click the person turns. im not sure how and any help would be great. or, you could make a tutorial on it. here is my inspiration:

http://www.gtds.net/Hamster/

its a fairly simple game, but i would still love to know how to make it. thanks!

• Someone actually stole this game. They only changed on thing.
http://www.newgrounds.com/portal/view/397860
and the second version that the guy made:
http://www.newgrounds.com/portal/view/398157

• RockStar

The tutorial is awesome but does anyone know how I create a duplicate car & give the PC controlls to it so instead of a time trail its a vs PC game?

• Anthony

A great tute, thanks!

I’ve been trying for the past three days to add a new hit test object.

For example: A barrel and when you hit it, it plays a movieclip or sound.

I’ve tried something similar to

if (car.hitTest(barrel)){
car.gotoAndStop(2);

And created a clip and instance called barrel but it’s not working.

Thanks
}

• Randomguy

Hi
Can you try to add nos for the next tutorial?
Im trying to make and underground racing game.
thanks.

• Rosy

hey nice tuterials….
but i can’t open the download files on flash mx and i don’t know why ???

• connz

8.16 ;)

• Hey I am 5.67.

• Owais

HI…….It’s fantastic….
I really enjoyed…
& this is also very good tutorial.. for students or any other person.
i am really thankful to the peron..
who make this coding..
I want these types codings & tutorial..
plz send me more tutorial or scriptings on my ID..which is
Beautythief1@yahoo.com..
plz peoples join me..
& communicate about these types of softwares…
thanks. Fantasticccc…….!

• Owais

HI… friends…
I wil tel u..
IDE means (Integrated development Enviroment)
which we used in C++, fortron language…
IDE can be say as.. that it is a working place where we write the scripts…
C++ (blue screen) are also called IDE.

and remaining… Compiler..
it’s use for tranlation..
compliler.. is a translator.
can translate the program… machine language to human language…

A common example of compiler is…
If a person knows Arabic.. and another person knowz English…
So here we use the compiler as a person..
that knowz both language Arabic and English.

and make conversion easy..
so friend.. it’s ur question reply.
i hope u will.. understand these topics now..thanks.. if u want contact so..my ID is
Beautythief1@yahoo.com.
ome online from 6:30pm to 9:00pm regularly..tc..have fun.

• Owais

Hello….Sir,
If i want a openent player..
or a computer handed player..
So what i use or what I add in this scriting?

Ig someone have any answer of my Question..
So plz send me scripting on.. My Id which is..
Beautythief1@yahoo.com.. thanks
i will be waiting for kind response.

• RANDOM PERSON

YAY!!! I got 1.44 for one lap!!!

• WHEN WILL PART 2 COME OUT! This tutorial came out over a year ago!!! How much longer will we have to wait before we know how to use computer AI in this tut!

• nick

• I agree with Gregory!! I want to see some AI!

• bijoy

sir this game very nice and good.pls tell me how to build AI for this game.

• me =]

5/5, I actually also think AI is a fairly important subject to cover.

• yh its all good and well but what software do u use to make it on

• cman4321

My best lap is 9.14. Also, I love your tutorials.

• tutorialkirby

hey emmanuelle.i like the result of this tutorial but my flash cant load the file cuz its not the right format.i would be nice if you could make the same tutorial but beggining at the really start.and when will we know how to add ai to our games.im making one and poeple dont like it becuz theres no cpu.please help me.

http://www.newgrounds.com/portal/view/455996

• hello everyone !

I’m trying to make a racing game with your example, i have the solution for an Ai but i can’t :

– skid the car in a turning point
– know in live what is the place of the car (1st, second, etc.)
– have a realistic collision with other cars…..

You can find the begin of my job here :
http://www.benz.be/forum/racing/course3.php

If someone can help me !

Manu (sorry for my bad english)

• sam

having trouble with the “PLAY AGIAN” button can you help me thanks copper

• b2k

Saved my Day :D
Thanks man!

• 7.34 :)

• MaRgA

nice one it heplped me a lot!!! :D

• MaRgA

This is great, i was wondering how to add more maps to select to play…

• jus

cool! I wish you could make a tutorial on how to make racing games where the backround rotates instead of the car…

• my mannnnn… ouhh, greatt.. cool man. thanks for this tutorial.. I take it home okay.. :)

• best 9:27 wicked game used tutorilal to make wicked game go to http://mostplays.com/play/Super_Racer_30989

• liam

can someone email me some script i can use for cars because i cant copy this one.

• Kiwi

7.30 :P

• Thanks very much. I can’t say more. You’re AWESOME!

• Anthony

My best lap was 7.17
Thanks for this tutorial.. although I am a noob and only get some of it… I just need to learn the ariables and how to code haha.

• d

great tutorial .. & hehe i guess i take the gold , best lap so far: 6.26

• eichwulf

This is great, I used it to make my own racing game. I deleted a lot of code – especially about collision with the ground – it’s not correct, I just wrote to slow you down when you are on the ground.

• Verena

Hey…
this is a really nice tutorial.

Well, i need a version in AS3. Is there somebody, who can help me or is there sombody, who rewrite the program already?

It would be very nice!!

Thanks,
Verena

• Verena

sorry, I forgot to place my adress for sending results :)

• i got 8.91 second RECORD!!!!

• Umer

It Was Just what i was looking for, i love it. But there are some loop holes which can be fixed once you get off from computer and think about it, You know when you sit on computer there are too many distractions, right? Anyway nice new site’s layout. Congrulation,

Please Make New Site address instead of http://www.emanueleferonato.com, it’s hard to remember and your site is even harder to be searched it just doesn’t showup in search list. So have another domain name Like Geektutorials.com or something like that SInce you are always bragging about it so i figured that would suit your site, huh.

• This is great and all but i want to make my own racing game not somebosy else’s.

• Ha 8.70 Beat you all!

Proof:

http://img14.imageshack.us/img14/6329/77650639gx9.png

On another note, Can I make this game then put my sponsor page infront of it and distribute it?

• jay

7.10 secs. *SNAP*

• fredz

nice i like it!

I really like this, its help me understand AS2 so much more. I am trying to work on additional elements to this game like places were you can speed up faster then the max speed and other things like going smaller and larger and so on. Could you guys help me with this??

• Kingz

7.47 :P

• hey Verena are you still looking for a AS3 version?
i started making a racing game using this tutorial, but i’ve since added oppenents and gears and a vertical panning course.
its more like a drag racing game at the moment, but i’ll add in some corners later on :P

regards,
Grelek

• jayr

hey..tnx for your tutorial 8 helps a lot..

• pepens

can you make it drifting ? coz i want to make a drifting flash game. thx for your tutorial. :D

• as3 version

how about a as3 version. i tried to make one on my own with limited success. what is getting passed with “who”? there’s no variable called it and .code i don’t think applies to as3 either.

can someone send it to my mail?

thnks

my score 8.54

DennisvGerwen@hotmail.com

(my score is 8.54) :P

Thnks

• is there any certain reason for not post my messages ?

• Artificial Inteligent Code here : gamenetwork.gr

• atomic robo kid

hello.
I tried to download your carTableDetail.rar file at this address >> http://gamenetwork.gr/carTableDetail.rar file on your website but all I get is un-readable code which seems to have the extension file type of a .RAR (compressed) file. It looks like the binary source code but how do i use it please?

Because you’ve managed to solve the AI issue, I think virtually everyone here would be grateful. It’ll also make the original tutorial complete since no one can find the “GameSheep Car Racing Game – PART 2 – Adding Opponent Cars”. Please re-upload the FLA sourse file(s) for the version with opponent cars on your website (please post link here).

Cheers mate.

The Atomic Robo Kid

• tom

my best lap was 9.15

• person

6.87

• Joe

OH YEAH 7.09 WOOO!

• vagina village

i got a 6:52 on the game

• The B

.99 Sec take that!

• racerx11080

is there AS3 version of code of this game anywhere????

• cindy

gracias me sirvio muchoooo y aprendi muchooo

• Wibble

Would it be possible if you could make an extension for this tutorial that tels us how to add a CPU?

• Antony

My best lap time is 5:98

• Billy

7.40 ladies and gentlemen beat that

• Alex

Tal vez no entiendan porque hablo espaÃ±ol, pero sÃ³lo querÃ­a aportar que el juego tiene un bug, para que el programador lo tenga en cuenta.
Si doy la vuelta completa en reversa me la cuenta como una vuelta normal.

——————————
English:

I’m from Colombia, however i will try to explain in english:

Only for information to the developer:

If i drive in reverse one complete lap, it will count too.

• dave

7:24

• kuralotus

6.89 bitches

• kuralotus

6.89 beat that

• alex

i’m the best. my time is 6.80 seconds

• Tom

How might I modify the game so that you don’t have to continually press the up arrow to maintain forward motion? I’d like to be able to press the up arrow once, have it start moving slowly, then with each successive press, the forward motion would accellerate; same for the slowing down using the down arrow.

Any help is appreciated.

Tom

• steve

I’m interested to know how to add a second player.

• Nightrider

@Tom: just change this line
if (Key.isDown(Key.UP) && this[“speed”+who]<_root.maxSpeed)

into this
if (this[“speed”+who]<_root.maxSpeed)

• John

5:51 secs!

• Lars

5:48 secs, try to beat that one!

• Mauricio

Gracias amigo… Que buen tutorial!

• Zsole

Thank u!

• joe

8.09

• 9.06

• Bob

4:84 beat that. :)

• yue

i cant make my own game,,,huaaa,,,help me,,

• Pokenerd

8.95 :D :D

• meh

NaN, it glitched

• Pingback: Flash Tut. » Create A Flash Racing Game()

• Thanks for your tutorial. I really appreciate it! XD.

• give it a try

wooo!!! 7.56

• Dude

8.22

Very nice tutorial btw. all of them are!

• 7.54

oh yeah i’m awesome

• Thais

Pode me eviar?

• realy it will be a good game reaaaaaaaaaaly

• jotae

Great Work!

• potty

Very cool tutorial though I got a question! How simple is it to apply items into the game? such as oil slick? turbo bottles and such? :) Been racking me brains out to have item drops on such a simulation…

• chris

8.20

• Number One

Wow, you guys must suck if you can’t get under 8.00. FTW 6.73!

• Vinay

Hi nice tutorial thank u so much..

• ty

i’ve always wondered how to make one of those side veiw dirt bike games were you travel through
inclines and declines trying not to fall over, I
mean it’s so complicated, if you have one wheel on
a higher or lower level the whole movieclip rotates to a certain degree dependant on the y and x axis of both wheels.

• Nice tut! i got 8.73 on 2nd lap, but can’t beat it now :p

• henrik

yea 7.57 =)

why can’t run fla file?

why i cant run fla file?

• ProfeaX

My best time is 8.50 :)

• Tim

9.90 :P
Great tutorial, this is very helpful!

• barenbaren

lol. great tutorial. i’m working on it. btw, my best is 08:53. lol :D

• Niven

Hey can anyone email an AS3 version of this tutorial? niven.r@hotmail.com

• sam

hi i want to ask u how did u create the stepper and by the way good tutorial

• Tweetie076

Couldnt be easier.. Atleast, works for me.

8.11

Good tute!

• Aaron

Just did a lap in 7:49

• Iska

Hello, what program do you use to create this game?

• Cirus

I’ve done 8.44! xD

• best game ever

• Ansis

7.33 ;)

It is the best tutorial I’ve ever seen :) I mean the style is consistent and the explanations given for the math behind it are easily comprehensible :)

I sort of imagine, how to put together some AI cars that follow waypoints on the map, but I would surely appreciate it, if you could make and post the second part of this tutorial. I really want to see, how it can be done in a neat and fluent coding style :)

• Really nice tutorial – Thanks!…
I would love to learn about adding a multi player option or a play against the computer option :-)

where can I find Part 2 of this Tutorial?

• massi93

Nice tutorial. My best 7.27..

• Kurtis

Thanks for the Tut.. very interesting and helpful

• gary

where is step1 part4?
can u send me on my email garyjuano@yahoo.com
hopefully i can build my own games!!

• khan

plz tell me how can i add text like START GO GO etc

• this is the best game ever

• gary

how can i change the race track background pls need help!!i need tutorial

• NAASPER

hey! man, what a very nice tutorial, i rily liked it.

• patrick

@60.Van meerhaeghe on October 15th, 2008 2:55 pm

[quote]hello everyone !

I’m trying to make a racing game with your example, i have the solution for an Ai but i can’t :

– skid the car in a turning point
– know in live what is the place of the car (1st, second, etc.)
– have a realistic collision with other cars…..

You can find the begin of my job here :
http://www.benz.be/forum/racing/course3.php

If someone can help me !

Manu (sorry for my bad english)
[/quote]

How do you make your circuit move whit te car???

• Daniel 2k9

awesome tutorial.. thanks very much.. i’m not newbie now :))

• jefar

8.71s very good tut

• Aaron

7.04 =D

• Aaron

Lol, just got 6.69 after that

• rovzx

my best is 00.08.20 :P

• asd5

my best time is 00.07.77

• only
4.81 seconds got

• Asif

thanks man………ur information was use full to me…to complete my project…….

• Asif

if u have any other small tutorial for creating some other mobile games ..plzz send an mail to my ID plzzzzzz

• cammyj3

this is an awesome tutorial 5*

i am trying to put this game into my own project now for college presentation but i cannot find where to put the stop() code in to make the game continue and not go to the next scene. the game starts by ready, set, go and after go, it continues to the next scene… this is very frustrating! please would you assist me as soon as possible. im sure other people are suffering from the same issue.

thanks alot!
cam

• Maximum speed only 4.81 seconds.
You can try.

• Molly

This was amazing! Thank you so much!

• ziko

how do we make same things about hit part with actionscrtip 3.0 using trigonometry !!

• Cool, but my best lap time 10.34 :(

• iflipante…. gracias amigo :)

• keethakaran

hi
i m do in project regard highway codes.
this is project outline its game based learning, therefore user can learn by enter game.
game outline function…….
user progress level(progress will show 5 different section in highway code
example like motorway section score 2 out of 5.

game like when car move near sign code question will pop up and answer with in certain time or it will skip to another question

do have an idea to improve and development help for this project

• tyler

where can i find part 2?

• Hi

9:16 =p

• harry

ok i have made a new track and when i play it i can drive through the actual track and it doesnt push me back could someone help me find where abouts in the code i have to change so my second track doesnt let you drive through it as if it is invisible.

plz mail me at hazza0999@gmail.com
or post a repley

• gofish

Good Tutorial :) I got 7:30 exactly ;)

• harry

fixed it lol

• Great Tutorial :) Keep up the good work .

• Andrii

Thanks a lot!
Awesome tutorial, quite useful

• Kalashnikova

Hey, nice tutorial, I just have one basic question, what kind of flash player/editor do you use? I want to get one but I don’t know which one would be best for making games, suggestions would be greatly appreciated.
Btw, I also got exactly 7:30 for best lap

• Pingback: ?????20???Flash?? | ??????()

• todo es super vacano pero ¿como se llamas el programa????

• 8.10 Oh Yeah!!! :D :D

• Nice, very good post thanks admin.

• Pingback: Flash Game Development Tutorials & FLA Files()

• Iron Stark

You are al slow, i got 7 : 15

• me

7.04!!!

• ricardo sousa

6.87 fracos –‘

• me

6.10 :-)

• cleo

How about the 2 players? the key control of the arrow keys and using w,a,s,d control? plss answer

• Anonymous

This tutorial looks interesting, but is there a way you could revise it to make it compatible with Flash CS4?

• john

how would you make it like the game driftrunners instead of top-down?

• GreenPuffle92

• Zetsu

• Pingback: 20??????????flash??????? | ??????()

• Jamie

1.53.46 :)

• sachin

thats it im the king yay-1st place time-0.26

• God

no bullshit, 7.47! i’ve been doing it for like 10 minutes

• Mighty

i just got 8.02 :)

• Hillbilly 208

wat program do you use?

• Fat Albert

Which flash is this for?
and would it work in flash mx??

• how to create a lan connection in flash?

• mikle

7.17))))))))))

• ryan

my best lap time is 00.08.87

• 5.68 omg :)))

• Azhar

Thanks…………
Nice tutorial…….. Hope u’ll keep same work goin in future and provide lots of such stuffs
God bless u…………. keep coding
Enjoy n take care………… once again thanks for guidance and for great tutorial

• Bilal

Thanks…………
What a way to start and complete this game!!!!
Nice tutorial…….. Hope u’ll keep same work going in future and provide lots of such stuffs
God bless u…………. keep coding
Enjoy n take care………… once again thanks for guidance and for great tutorial

• XD

By any chance… have you worked with Game Maker before?

• but lap finished same if car go forward and car go back

• Nice tutorials with easy steps thank you.

• vlatko

Were is defs

• vlatko

I like to create a game but are no were is defs and wath is it

• atomic robo kid

Hello all. This particular tut originally made by GameSheep is fantastic. Much enjoyed. It’s very intuitive if you’re quite comfortable with Flash.

My only concern is how to add AI opponents. of course I know it’s been done and some of the results are equally as fantastic. Did you lot see these?
http://gamenetwork.gr/ and
http://www.benz.be/forum/racing/course3.php
by others users. Amazing. I was impressed because I would like to implement something like that. HOW????

:-)

• atomic robo kid

@ gamenetwork

hello. I tried to download your carTableDetail.rar file at this address >> http://gamenetwork.gr/carTableDetail.rar file on your website but all I get is un-readable code which seems to have the extension file type of a .RAR (compressed) file. It looks like the binary source code but how do i use it please?

Because you’ve managed to solve the AI issue, I think virtually everyone here would be grateful. It’ll also make the original tutorial complete since no one can find the “GameSheep Car Racing Game – PART 2 – Adding Opponent Cars”. Please re-upload the FLA sourse file(s) for the version with opponent cars on your website (please post link here).

Cheers mate.

The Atomic Robo Kid

• Alexandre Colella

Can you make an AS3 tutorial like this? :)

• Thanks!! such a nice tutorial……

• Nice tutorial!!! You´re a master!

• thanks this for good tutorial dude.

• aaaaa

howwwwwwwwwwwwwwwwwwwwwwwwwwwww do i move my car

• aaaaa

i cant play what tutorial goes in witch??????????????????????

• When i downloaded first fla file and open it. I got format error. Do anybody know how to fix it? Please.

• Thomas

Well, I’ve watched a lot of your tuts and I have to say you’re great. They’re all really helpfull. So is this one!
Thanks@NL!

• Jamee

7.73 is my best lap time. thanks for the tutorial!

• Nile

& when i customize the graphics of the symbol it slows my car down!

Cuando le doy al boton “Play Again” no hace nada, es como si el boton no tubiera acciones. ¿que hago?

• My time was 00:08:27 :P

• chris

Hi
Great tutorial, im needed some help im a propper noob at this, i’ve followed the tutorial tested the game and got it working but what i need to know is how to save the game to be play on a website and how to put the game on my website?

• chris

forgot to mention i haved saved the game as .swf but when i open the game i doesnt work??

• Fenix

Guys, how can i get more real physics? For example, drifts, normal acceleraton, braking, etc.

• Pat

idk….thats exactly what i need too

• Pat

and how can i make other cars racing me and adding the position?

• fakeoff

lol my best lap : 0.00 :O , :)) 8:50 ^^

• fakeoff

now 8:33 :D

• Fenix

7:90

• Fenix

7:43

• juib

I would recommend a wall at the edge of the map because otherwise (although it is a little difficult) the car can leave the map completely…

• This game tutorial is the best, thnx for deatailed lesson.

• lulu

2 questions..

1) how to change the code into 1 player.. without “check to see if the car in question is controlled by the player or by the computer”

2) how to change the lap from 10 laps to only 1 lap??

helppp pls… pls pls pls~~ :(

• Mum

6.94!

• Pingback: Formig-Racer « Leandro MOTENAI Ribeiro()

• Nice tutorial.

• virender jaiswal

good man this is amazing

• lizi

great tutorial!!! thank you :-)

• Nice work:) found your tutorial through google. I’m interested in creating a physic based bike riding game. Wondering if there is a tutorial about such type of game.

• yukg9

i got 5.09

• My time was, 00:06:27 I need to practice…

Great blog.

:)

• matotej

Great tutorial!

My best lap is 6:83. You just have to drive full gas and with no mistakes.

my time is 09:41 – beat that!

• Kamote

mine is 5:96 ^^

• Where is the f***ing second part???!!!

• Pingback: Flash game tutorial: corsa automobilistica()

• JK

I too am having problems with the “Play Again” button. How do you get it to work?

Otherwise it is an amazing tutorial. Thanks a lot, I am using it to teach Flash in my class. Thanks.

• i am a complete noob and i cant understand a poo of what any of this is. although i did enjoy the game :). i got stuck ate the start. what program do you use to open the .fla file?

• I loved this game. Is there a way to add more cars to the game to complete against mine?

thanks

• Coolio

7:11:90 <- 'best score'

• Please take a look at my new flash game:
http://matteoinvernizzi.it/projects/babbonatale/

FLA source included

• somethin

wdf is this type of flash game it is so retarded

• You’re smartest man

• ebrahim

hi guys can anyone help me please , how i can full screen the game

• 13 SECS!!

• Ygr3ku

i did 8:37 and working on it. anyway, nice tutorial, nice game. now i develop some game ideas, if you have any, please reply.

• Tobi

Hey,

i like it, but my flashmx says “Unexpected file format”

???

Tobi

• Héctor

7:39 :D. Nice tutorial
Very useful to start a game.

Thnx :)

• Jimbo

“if (Key.isDown(Key.SPACE) && this[“speed”+who]<_root.maxSpeed) {
this["speed"+who] += _root.maxSpeed;"

To actions

FOR A BOOT!!!

• Emil

Thanks for the tutorial, I’m a noob at flash, but I’ve learned a lot from trying and failing at modifying this racing tutorial. However I’m quite stuck at 2 things:

1. I want to have acceleration also on the reverse, how can I add this?

2. I want to make the collisions more instant. I don’t want the car to slowly run into the wall like it’s jelly. When the car hits a wall straight on, I want it to instantly stop. And when the wheels just slightly strikes the wall I’d like it to slow down, not be able to sink more into it.
How do I go about doing this?

• May i use the fla with my own logo on it?

• 07.60 is my best lap :)

• vimal

i know only arrow keys to move……..can u teach the turn keys

• Illusionist

07.47 !!!!!

• help

• as3feeder

what is step function , thank you

• billy bob

my best time is 7:23 suckers:P

• pranay

Hi! nice game but where is the second part of it with opponents

• ‘ ‘

7.33!

• zel fernandez

where can i find the step 4? it’s not highlighted, there is no link. thanks for the response.

• my best lap was 8:57 :D

• Carlos

hi i want to ask u how did u create the stepper and by the way good tutorial

• by the way 6,74sek.

• Awesome!!! Thanks a lot. :D

• regh

hello! thank you very much for the tutorial! ^_^
it’s helped me quite a lot for my project :3

• OmegaZX

Best lap 9.60 ;)

• henk

08.07 best time of all i think i restarted 4 times.

• Trenton

i like the wesite and the game. the only problem im havings is the play again button and i can’t find your racing_part1_step4.fla download. so can you send it to me please

• diego

Nice Tutorial, i’m new in flash, i was wondering how i could change that car with a new one, i tried all ways but i can’t make it works like the blue one, it doesn’t move. Can someone help me?

• john

7:63 :p

• Antony

I want to know how to create a level after this and link them together. I want them to go to the next level if they finish the laps in nuder 100 secs. Please reply

• superb tutorial! and just in time!
i was looking to make a game for my website. Thanks a lot!!

• roger

pues aqui bengo yo de ultimo esta muy bueno el juego pero es muy dificil para los aficionados

• from three years i wanted to make my own game
but i did not know how to do it
game

• Matt

Thanks for the tutorial man!

BTW, my best time is 6.77 =D

• buddy

hello is there any way you can control the car by other controls like
WASD or like any of the other letters on the key board

• buddy

hello nice tut
is there anyway you can change the controls of the car

to like WASD

• goggi

how to change the code so that it did not check who is playing a player or a computer?

• Pingback: TechLab.105 » Blog Archive » M4 Intent Mod()

• vishal

can i use this for my website

• farrukh

ya @VISHAL you can , on his own responsibility if then u find problem , then call
me , then i’ll explain u in detail ,every line of the code, ok , now try it , ASAP

• vishal

Hi @farrukh, i try to make level in this game and i make new track for new level but when racing start, my car went on non accessible areas …

i copy and paste the whole script as it is. i change the variable name but noting happened .

• Jeffrey

Best Lap Time: 7.34
Best 10 Lap Time: 1.21.57

• i want to create a gamw

• cris

8.08

• Billy

Hi nice tutorial. My score 8.02 :) :) :) ;)

• Abhiman

Thanx… superb tutorial!

• angielski wroc?aw

8.35 yeah!

• i want to create a drive

• Shane

I just got 7.67 ;)

• Kimbiz

• Hi, buddy, im a java developer .. im going to develop games, i will follow this tutotial
regards.

• samfish

Is there a way to make the stage zoomed in or scroll?

• Connall

i thought i’d won untill i saw the 7.52, my time was 7:59… great tut

Its really awesome . . . . . fabulous tut . . . .
I learnt a lot of things . . . . Thanks . . . . .

• RussaX

my best lap is 7.30 :D

• Any ideas why it is not working for me? It works fine in Adobe flash, I can play the game, but on this page I cannot. (Also I cannot play the game created from the tutorial in a web browser).

Must be some setting on my broswer, but what?

• Great tutorial tnx dude

• CheeseToasty

4.79 win

3 minutes :)

• blackleon

how to make nextlevel ??

• Sean

The ‘play again’ button isn’t working why?

It might have something to do with the fact download part 4 can’t be downloaded now but what do I do to make play again work.

• Increible! muy buen tutorial

• thank you for the Great tutorial

• Hutch

thanks for the tut by the way 9.03 win

• Anonymous

how to put music in the game?

• THEBOMB

Best time 7.17, check it

• MathKing123

8:42!!! XD XD XD Haha, LOLs!

• MathKing123

haha, new best time 7:00 flat!

• pocodude

7:42…

• markiiz

7,80 best time :), nice tut

• cooldude

how do make more levels

• thanks for the tutorial.. finally i got finnish my project work :).. it was helping!!!

• it is very useful for beginners….it nice thanks….

• thanks for this tutorial, this inspire to create my racing game :)

• Alae

Hello , what Driver need i to create like this one ?

• Sundeep

first of all, nyc tutorial.
can anyone tell me what is the use of “stepper” layer in “step1.fla”. And my another doubt is how does the actionscript knows the boundaries of the track?
Plz help me in this..

• Awesome tutorial. And quite a funky little car game. Thanks for the help.

• lololol

my best was 0.7 :D

• abinash

nice tutorial for begineer’s.good job:)

• Matt

Best lap time: 7.20
Best course time: 1:22.07

Nice tutorial though. To do this, must I buy the software for \$600+ though? I’d like to get to know flash, but I don’t think I could afford that.

• 5:34 nerds beat that

• where the nipples is step 4

• my best lap is 9 seconds

• I need the car to shoot par?

Hi everyone, please share the second part of this wonderful lesson. Or send a lesson on creating the enemy in this game. I am your very please, do it

• GamingGod

Sweet. 8:39

• Robin

Great! Thanks!!!

• Lemon

How can I add more checkpoints ?
Cause how this is programmed I can easly not follow the right way and still win the race

• Lemon

How can I fix the “Play Again” button ?

• Excellent Tutorial. Thanks

• Resul

Thanks! This is great! All credits and special thanks to Remus C! =]

MY BEST LAP IS 8.40 :D

• As a newbie programmer this corner really motivated me to pursue my dream and not think of obstacles and other struggles just to make incredible programs.

• asdfjklk

1.55.82sec total time
7.98 fastest

• bleh

… It doesnt say what program to use 3:

• bleh

• vanraha

its a nice tutorial,,
but can u send me link for part1_step4

thank u very much :)

• ThaInfamous

Lol, great tutorial. Lol and mines was 8.67 >:D

• ThaInfamous

lol scratch tht 7:77 xD

• quyenclna_vietnam

hello ! hi pic
i don’t understand the layer stepper
this working for ?
why when i detele layer stepper the car don’t running ?

• Pingback: Making A Game « Serious Brew()

• Pingback: Daniel Groves Web Design()

• S.D.

how can i open the source file .fla ?
with the Adobe Flash Professional CS5.5 ?
i’m a java programmer and i dont know.

• m.d

how can i make 2 players

• Nice tutorial and very interesting

• BEATTTT

i got 4.3 seconds beat that

• U SUCK I ENVY U MAN BUT THX FOR THE TUTORIAL cAN U JUST GIVE ME THE COMMANDS IN FLASH???????

• Mehelp

what is the code for play again??

and where I will Put it??

• My record is 9:03

• ren

2.27

• Nathan

7.26 is my best lap :D Great tutorial

• can you make a code for two cars??

• Pingback: Tutorials « jaechonmurphy()

• good tutorial i think i can like this flash games

• Hamachi D.

i got 9:00

• Andree

Hello,
I want the collision more instant. I don’t want the car to slowly run into the wall like it’s jelly. When the car hits a wall straight on, I want it to instantly stop. Could you help me?

• Lauren

How do you decrease the number of laps? 10 is a little long for me. Someone please help?

• Violeta

Hi! Thanks for this tutorial, I want to transform from ActionScript 2.0 to ActionScript 3.0, can somebody help me, please!!!

• craus

it’s dificult to transform this game in ActionScript 3.0?

• Hazz

hello, umm this this a really nice tut. but how can i make it a 2 PLAYER GAME or add a computer.

thanx

• Kit

Very awesome!

• Pingback: Yellz Blog! » New Flash Car Racing Game()

• BigDickNick

just got a 1.06 ;)

….you guys are so gay. like really, the biggest thing you have to worry about is what lap time you got on a mediocre flash game? pitiful.

• Rachwomaninoff

How do I get the ‘Play Again’ to work? Do I need to create an event listener and function or what? I’d appreciate your feedback.

• nartes

It’s a really good tutorial for beginners. It’s a really good example for beginners. On other hand check of leaving from the map is not very well implemented . If you start going backwards at an angle slightly less that 90 degrees to the boundary of the track, and press constantly left or right while hodling back down, the machine will leave well beyond the field

• TimX91

My best time is 07:97

• TimX91

and now 6:66 lol

• Pingback: Best Action Script 3 Game Tutorials()

• jordan

hi, im doing this for a school project but i have to add something to it…..
aand i suck with computers so if you can it would be nice if you tell me how to make a pause button or something….

• Stupid directions

• Hey how slow! Mine lap time is just 5.69.

• MrAlfaPlam1

How to change the color of the check points while still having them???

• MrAlfaPlam1

How to get rid of the red lines ???

• Ayman

Big Deal! I got 9.00 seconds dead!

• My Best Lap time is 8.13 Sec :D

• Bugatti Veyron

How can you have an AI race?

• hi i was wondering, how will i ad a leader-board to the game

• Great Tutorial..

• Sam12Be

i got 1:49 sec… thnx 4 the tutorial it help…

• Mondli

8.52…:D

• How can i change terrain? When i set new graphic on ground..car slows down and dont react on obsticles.What is the problem? :S

• Daniel

7.16 :)

• hil

7.67! xD

• Pingback: » Blog Archive » Creating a Racing Game()

• Orlando

7.77! :D

• Pingback: ?????20???Flash????????????Flash?? » ?????()

• Moggs

8.00 on the dot – on my first full lap. Just luck :o)

• omg

OMG!!!
i hate this tut… sorry :P

• Pingback: 32 Best Action Script 3 Game Tutorials()

• uh, one problem, I runned backwards so the lap counts anyway :P

• thank…

welldone

• dude

what does who mean?

• Benz

My best lap is 08:87 suckers and only played for 2 minutes

• lol

I got 1,70 seconds. I did not cheat by modifying the game whatsoever…

• tor

Which software do you use to create the game

• tayyabah

hi…
can anyone tell me kindly how to make a game in which we have to collect different alphabetic characters in flash games..
kindly tell me

• tayyabah

hi can any one kindly tell me how to make flash game in which you have to collect different alphabetical characters…
kindly tell me plz

• Masson 2K

7.10 ;))))))

• Paul

8.53 best lap

• Jonny

Hey, nice tutorial. I’m using this to compile a game where there’s several levels(It’s for my beginner’s animation class so we can understand simple flash coding and what-not)

I need some help: When I put the different levels in(On frames 5, 15, 25, 35, so on) I made buttons that take you to each perspective frame. Now, the level works normally, but one of two things happens at the end:

1. The level won’t let you finish. It’ll stop on lap 5 when you should be done and you’ll be driving around with no objective.
or
2. Once you finish a level, it switches over to another level on a different frame, then as it says “Ready, Set, Go!” it cycles through three more levels before ending on the first one one and making you play it. Then problem #1 occurs.

Some help would be nice. Thanks :)

• salman

nice tutorial

• nice tutorial :)

• karan

which is the first frame

• Bakhus

Nice…

and by the way My best lap 00.08.43 :D

• Pingback: emanueleferonato.com | Wanderer()

• Tuk

i need video tutorial man can you help me ?

• maty

WHy is it a large file

and on fb weill it let you uploa dit i maked it much better

• Annonymous

8,24

• danuil

Mejor tiempo 7.26 jejej

• Akshat

nice tutorial bro,
but how can i play it ????

• Kavindu

Thank You Very much. This Tutorial Very Helpfull & Nice.

• Thank you very much……this tutorial is great…nice and fun..thanks a lot…

• maggie

play again doesn’t work…help?!????!

• The people who are interested in gaming and blogging, YouSayToo lets you earn from your flash games and allows you to make money blogging.This tutorial covers the creation of a flash racing game. http://www.appsngizmo.com/checkout-todays-hot-car-racing-games-android/

• Nice tutorial, thank you

• Dian

Excuse me sir, step_4 (finishing the game) can’t to download, so how i get it ???
Thank u :)

• Pingback: car 15 cloneCamfrog | Camfrog()

• Pingback: Race The StooshBus Flash Game | Native Noise()

• Alice

Hello

Were is the link to part 2 of the tutorial oponents?

• Hello, i cannot seem to get the timer to work? Any ideas or links to peoples final products that work? thanks

• omar

hahaha 8.17 :P :P

• Beast

haha i got 5.12

• my best lap time 7.64 .
this is a complete tutorial , even i’m lost with the variable naming

• Pingback: 20??????????flash??????? - ??????????()