Advertisement

Space Invaders Logic

Started by August 10, 1999 12:26 PM
1 comment, last by horvak 25 years, 4 months ago
Basically you would have an array of baddies like:

BYTE alien[30][5]; // X and Y aliens //

So you would have 5 rows of 30 aliens per row.

Then you would check by the column to see if they would bounce at that point. If:

alien[0][0], alien[0][1],..., alien[0][4] were all dead, then you would know you could move that extra space, continue to check by moving over to: alien[1][0], alien[1][1],..., alien[1][4] and so on...

-Geoff


I'm looking for an algorithm which will help me understand the movement of the little guys in Taito's Space Invaders, ie you have approx 40 invaders on screen moving left and right, and when you clear a column, the invaders move all the way across the screen accordingly, how is it done ?
Advertisement
since in space invaders, all of the bad guys move in a synchronized way, you dont have to keep track of much...

you need(at least) the following variables.

AlienCount=# of aliens currently on the screen. this is used both to determine if you have beaten the level as well as how fast the aliens should be moving. you only have to update it when an alien is hit.

LeftColumn=the column number farthest to the left with aliens still alive in it

RightColumn=the column number farthest to the right with aliens still alive in it

BottomRow=the row number farthest down with aliens still alive. this is to calculate when then aliens land.

FormationX,FormationY= the upperleft corner of where alien(0,0)-the upperleft alien- is to be placed. this reference point is used to calculate all other alien positions

Direction=1 or -1 (or some other suitable numbers), specifies which direction the formation is moving

to determine when the formation should change direction, you compare the rightmost or leftmost columns position versus certain setpoints (based on the resolution of the play area), and change the direction as needed.

anyway, thats the basic layout. there's more to it, but i'm sure you can fill in the pieces.

Get off my lawn!

This topic is closed to new replies.

Advertisement