Jump to content

  • Log In with Google      Sign In   
  • Create Account

Space Invaders Logic


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
2 replies to this topic

#1 horvak   Members   -  Reputation: 122

Like
Likes
Like

Posted 10 August 1999 - 06:26 AM

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 ?

Sponsor:

#2 ghowland   Members   -  Reputation: 134

Like
Likes
Like

Posted 09 August 1999 - 11:27 PM

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




#3 TANSTAAFL   Moderators   -  Reputation: 1152

Like
Likes
Like

Posted 10 August 1999 - 06:26 AM

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.





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS