**** CLOUD LEADER BOARD **** Are you a top 10 Scratcher today? <Arrow Keys> Direction, <Space> Fire, <S> Smart Bomb, <D> Hyperspace Touch to fly, far side of screen to fire. The story is simple: You are the last line of defence against an invading legion of aliens who are determined to abduct all of the remaining humans to create an unstoppable army of hyrbid mutants. You pilot the only space craft capable of undoing their plans and protecting the fate of human life. No humanoids were harmed during the making of this game. Whilst you're here why not check out: Science: https://scratch.mit.edu/studios/26831275/ Games: https://scratch.mit.edu/studios/27050111/ #games #retro #arcade #sidescroller #shooter
#games #retro #arcade Based on Defender (1980) Williams Electronics developed by Eugene Jarvis, Larry DeMar, Sam Dicker and Paul Dussault Defender was one of the most important titles of the Golden Age of Video Arcade Games, selling over 55,000 units to become the company's best selling game and one of the highest-grossing arcade games ever. Defender is a two-dimensional side-scrolling shooting game set on the surface of an unnamed planet. The player controls a space ship as it navigates the terrain, flying either to the left or right. This project demonstrates advanced cloning techniques and the use of lists as queues to supplement message passing. The making of Defender Defender is a fast action game designed in 1980 to run on much slower computers than we use today. The illusion of speed is given by the terrain scrolling along the bottom of the screen. The terrain is 1 continuous line drawn each frame with the pen. The terrain is stored in a list of 2048 y-coordinates. This scaled by 2 to give a total x-axis 4096 or -2047 to 2048. Each frame the player sprite calculates a new value for _scroll x. _scroll x represents the middle of the screen from the player perspective. Each sprite calculates it's screen x position based on the local variable _x {-2047 to 2048} and the Players _scroll x variable. If the screen x variable {-240 to 240} the sprite is shown and appears on screen. To ensure the terrain and sprite movement is synchronised a game loop broadcasting 2 messages is used: update and draw. This allows for more controlled synchronisation than each sprite using a forever loop. On receiving an update message each sprite updates any variables and performs a hit test. On receiving a draw message each sprite moves and draws any updates to the screen. To allow many sprites to be cloned in one iteration of the message loop lists are used as queues to supplement the message data. For example many sprites can fire a bomb in one message sequence. Each sprite adds the x, y coordinates, costume #, speed and accuracy variables to the end of the bomb queue list before cloning the bomb sprite. This action is known as push. When the bomb sprite starts as a clone it reads the x, y coordinates, costume #, speed and accuracy variables from the start of the bomb queue list and deletes the values from the list. This action is known as pop. Many of the sprites use message queues to allow many new sprites to be cloned every frame.