These screenshots show the size of the layout I will need to make my desired game.
To make this game, I will need 5 different layers to help keep everything organised. For example, The backgrounds will be on the back layer which will be placed on BG1 and 2 as you can see above.
Video 2,
The next thing I did was to make sure the BG1 layer was highlighted and then to add a new object named, Tiled Background. This tiled background will be at the very back of my game which is made to look like grass. After doing this, I ticked snap to grid and show grid to help get all my assets in the right place with ease.
After adding the tiled background I stretched it out to fill the whole layout which the snap to grid helps to do.
Video 3,

The next stage in creating my game was to add a Tilemap. To do so, I highlighted the Tileset layer then clicked add new object then Tilemap. Next I opened my artwork for my tilemap.
After adding my artwork, I placed it throughout my layout. Its meant to look like platforms that I can place other art on to look like its is on something not just floating.
The next stage in creating my game was to add a Tilemap. To do so, I highlighted the Tileset layer then clicked add new object then Tilemap. Next I opened my artwork for my tilemap.
After adding my artwork, I placed it throughout my layout. Its meant to look like platforms that I can place other art on to look like its is on something not just floating.
Video 4,
Then I highlighted the Game layer and added a new sprite and made a square. This square will be used to scroll up the screen at a certain speed to look like it is just scrolling on its own.
To make this square move on its own i had to give it two behaviours; ScrollTo and Bullet behaviour.
Video 5,
Next, I added a new sprite for my player. With my player I had multiple sprite strips (animations) I needed to add. I added the animations for the player moving forward, moving left and moving right.
After doing that I went back to the scroll sprite I made and made some new events in the event sheet. First thing I did was to select Every Tick then Set speed. Then I typed Scroll.Bullet.Speed which means it will move at the speed that you set for the bullet behavior properties. Next I clicked add action then selected Set angle of Motion then I typed Scroll.Bullet.AngleOfMotion which means it will travel vertical the way I need it.
After finishing editing the scroll sprite events I moved onto the player. First of all I added a new action called Compare Y, The entered Scroll.Y-306 which means the player will move 306 pixels below the placement of the scroll sprite. Next I added a new action, Compare X, and entered 464.
Video 6,
Next I Assigned the left Arrow key to the "Car_Left" animation, the right Arrow key to the "Car_Right" animation and the forwards Arrow key to the "Car_Forwards" animation.
The last thing i did in this video I created the effect of flames on the back of the car. I created two Imagepoints onto the player sprite at the back of the car to look like flames from the exhaust pipe. To do so I created a new event and made up Arrow key to Create a new object and selected the engine flame sprite and made it spawn on the game layer at both Imagepoint1 and 2 at ImagepointX and Y.
Video 7,
In this video we focused on the spawning of the player bullets. Just like the Engine flames I have it so when the Space button is pressed it creates a new object, the player bullet, on the game layer and the player.x and player.y. Then I added another event that is the player bullet, Is on screen then I had to right click it and select invert. Then I added a new action and selected destroy. This means that when the player bullet goes off the screen it will destroy. This helps the game run better as it gets rid of some sprites.
Video 8,
Next we did the fire rate, cooldown. We made two Instance Variables named Cooldown and Firerate. In this video we didn't do much coding in the event sheet but what we did was we made two events. The first one is compare Instance Variable and choose the cooldown variable, then I put when Cooldown is greater than or equal too 0 add dt (Delta Time) to Cooldown. The next one was the same event but instead of it being greater than or equal too 0 this one is greater than or equal too Self.Firerate, then it will set Cooldown to -1.
Video 9,
Now we did the Weapon power which the power-up will use to be able to work. I did 4 different stages for the weapon powers. Stage 1 is Weapon Power 0, in this power the player shoots two bullets and as the Power's increase so, 1, 2 and 3 the bullets increase by two. So when you reach weapon power 3 you will shoot 8 bullets that spread out when fired.
Video 10,
Video 9,
Now we did the Weapon power which the power-up will use to be able to work. I did 4 different stages for the weapon powers. Stage 1 is Weapon Power 0, in this power the player shoots two bullets and as the Power's increase so, 1, 2 and 3 the bullets increase by two. So when you reach weapon power 3 you will shoot 8 bullets that spread out when fired.
Video 10,
Next we did the health bar, We made two separate sprites one which is a black rectangle and one which is a green rectangle. The green rectangle is the health bar. We made the green bar change colour as the player loses health so the less health the player has the more red the colour becomes. To do this we added an effect named set colour, then added a new event, Every tick and set the width to 200 divided by the player.max_hp times by player.player_hp. All this does is make it so when the play gets hit the bar will decrease. Next I did another event, On Start of Layout, and the action was set player_hp (the health bar) to play.max_hp, which means it will be full every time you start the game.
Video 11,
This is where we created the first enemy. I added two new sprites one for the spawner and one with the animation sprite strip. I give it two behaviours DestroyOutsideLayout and Bullet. I also gave it a Instance Variable named Has_Spawned which is a Boolean which is a true or false command. The screenshot above shows you the events I edited. The first part is the speed of which the enemy flies down the screen. The next part is where the enemy focuses on the player and flies towards them. The part after that is how you restart the game and the last part is when the enemy goes outside the layout it will destroy.
Video 12,
This is where we created the first enemy. I added two new sprites one for the spawner and one with the animation sprite strip. I give it two behaviours DestroyOutsideLayout and Bullet. I also gave it a Instance Variable named Has_Spawned which is a Boolean which is a true or false command. The screenshot above shows you the events I edited. The first part is the speed of which the enemy flies down the screen. The next part is where the enemy focuses on the player and flies towards them. The part after that is how you restart the game and the last part is when the enemy goes outside the layout it will destroy.
Video 12,
Now we made it so when you shoot the enemy the enemy flashes to help the player know when your bullets are hitting them and gave the enemy health variable so we can destroy them. I set the enemy HP to 4 and had it so when the player bullet hits the enemy it subtracts 1 from that and when it reaches 0 the enemy will destroy.
Video 13,
The enemy bullet works like the player bullet however, I added a few different variable and behaviour to them. First of all I added two behaviours Bullet an LineOfSight. Then I added four Instance Variables Shoot, CoolDown, FireRate and Ammo. I have it so the enemy bullet will be shoot and will fly at the angle of the player and when the bullet goes off screen it will destroy.
Video 14,
Now I did the blood effect on the enemy's death and the importing of my sound effects and set up an event for the enemy death sound. I had it so both of my blood sprites one and two are created on the game layer at Enemy1.X and Y. After doing this I made it so when the enemy dies the enemy death sound.
Video 15,
In this video, I did the shooting sound and the deduction of the players HP when in contact with the enemy. First of all I had it so when the space bar is pressed the player shooting sound I had created plays and on the release of the space bar stop this sound. Next, I had it so when the enemy shoots their ammo and it hits the player it will subtract the enemy bullet damage limit. Also I made it so the player flashes white when it is either hit directly by the enemy and/or the enemy bullet and when the players hp reaches zero the player will destroy.
Video 16,
In this video all we did was make the hitboxes for all the player animations to make it seem more realistic.
Video 17,
This is the part where I had a special death of sorts. I also added the player death sound as well. To begin I made it so when the player dies it decreases in size and also rotates by the dt, times by 400 degrees clockwise. Then the player dies and spawns a blood splat. Whilst the player is rotating I have it so the engine flames follow to look like its a fiery death.
Video 18,
In this video, I moved on to making the next enemy, the maggot launcher. I added two behaviours, Sine and DestroyOutsideLayout I also added one effect called Bulge. The maggot launcher spawns in the same way the first enemy did. The bulge effect is to give it a little bit of movement to be more appealing to the eye.
Video 19,
In this video I made the maggot launcher spawn and also spawn the maggots. TO do this I made it so when the Y coordinate in greater than or equal to -300 pixels to the scroll it spawns. Then I added four Instance Variables; Shoot, CoolDown, FireRate and Ammo. I also added the behaviour Bullet. Then the maggot launcher will spawn the maggots and these maggots will target the player.
Video 20,
The next four screenshots are when I added to my maggot sprite. I added two behaviours DestroyOutsideLayout and Timer, I also added two Instance Varables HP and Damage I added an effect to named Brightness.
Next I did the maggots death and the maggot launcher death. I have it so that when the players bullet hits the maggot and maggot launcher it subtracts 1 HP from it and when they both reach 0 hp they will destroy. I also put the timer behaviour on the maggot so after a while it will destroy itself.
Video 21,
In this video I moved onto the next enemy with this enemy I am having it so it increase in size when it spawns in and it also has a turret which was pinned onto it so it can fire from it.
I added three behaviours to the enemy two sprite, Bullet, Sine and a second Sine. I also added one Instance Variable named MovementMode and set the inital value to 0.
The turret sprite has the turret behaviour and I set the turrets target as the player. Next I set the sine behaviour to active to bo sine 1 and 2 and I set the first Sine magnitude to 40, 60 in a random movement. I also set the second sine magnitude to 40, 80 and this moves randomly as well. The magnitude is basically the setting that makes the sprite move on its own.
Video 23,
Here you can see three instance variables I put onto my sprites, the first two are put onto the enemy sprite and the next one is on the turret. I also put the Brightness effect onto the enemy so I can make it flash when the play hits it like the rest of my enemy's and player.
In the event sheet in this video I made the enemy shoot towards the player. I hace it so when the turret CanShoot it deducts 1 from the ammo variable on the enemy. When the player bullet is in contact with the enemy it subtracts 1 from the HP variable and then it destroys the bullet. When the enemy's HP is less than or equal to 0 the enemy destroys and the turret destroys then it spawn the blood on the the enemys X and Y and it plays the enemy death sound. When the enemy runs out of bullets it sets the MovementMode to 2 which leads to the deactivation of Sine behaviours then the enemy flies of the screen then destroys when outside then layout.
Video 24,
Video 23,
Here you can see three instance variables I put onto my sprites, the first two are put onto the enemy sprite and the next one is on the turret. I also put the Brightness effect onto the enemy so I can make it flash when the play hits it like the rest of my enemy's and player.
In the event sheet in this video I made the enemy shoot towards the player. I hace it so when the turret CanShoot it deducts 1 from the ammo variable on the enemy. When the player bullet is in contact with the enemy it subtracts 1 from the HP variable and then it destroys the bullet. When the enemy's HP is less than or equal to 0 the enemy destroys and the turret destroys then it spawn the blood on the the enemys X and Y and it plays the enemy death sound. When the enemy runs out of bullets it sets the MovementMode to 2 which leads to the deactivation of Sine behaviours then the enemy flies of the screen then destroys when outside then layout.
Video 24,
I didn't do much in this video all I did was create my boss sprite, added the boss shield animation, added a new turret sprite and create my boss bullet which is just a larger arrow. I had to pin the turrets to the boss as well as the shield.
Video 25,
I added the timer behaviour to the boss sprite and added six Instance Variables to the boss which are Mode this is kepted at at 0, CanShoot this is a boolean and set it to false, CoolDown I leave this at 0, Firerate I set this value to 1.7, ArrowAmmo I set the value to 3, HP which I set the value to 1.
When the boss is created, the turret and shield is pinned onto the boss and the shield plays the opening animation and after the animation is done I set it to stop. When the boss is fully spawned it sets the mode to 1 and this triggers the animation to play again then it starts the timer 'shoot' which lasts for 1 second. Then it sets the mode to 2. When the timer is active it sets the boolean called CanShoot to true and when the timer is active it means the player can shoot at the shield which is how you can kill the boss.
Video 26,
When the CoolDown variable equals -1 it sets it back to 0 and subtracts 1 from ArrowAmmo. Then it creates the BossArrow on the shield on the game layer and the BossShield.x and.y randomly at -32 pixels and +32 pixels and I set the bullet angle of motion to loopindex times by 360 divided by 20 which means they spawn all around the shield. When the ArrowAmmo variable is less than or equal to 0 it set the CanShoot boolean to false. I also made the boss arrow shoot and then change angle towards the player. If the boss arrow goes off the screen it destroys.
Video 27,
I added two behaviours to the boss and to the boss turret. I added Sine to the boss and the Turret behaviour to the turret..
When the ArrowAmmo is equal to 0 is then refills the ammo to 3 then it waits three seconds then it plays the close animation. After the animation ahs ended it sets the mode to 3 and set the sine behaviour to active. When the mode equals three it waits two seconds then enables the turret behaviour and sets the target as the player then starts a timer namd 'Reload' for 5 seconds. Then the mode is set to 4. The turret shoots the same bullets as the enemys and these bullets rate of fire is equal to the bosses HP times by 0.2 so as the boss loses health the turret shoots faster. When the Reload timer is active it sets the turret behaviour to disabled and the sine to inactive then sets the mode to 0 which leads to the modes cycling through them all again.
Video 28,
I added one variable anmed HP to the boss which is set to 200. I also added an effect named brightness to make it flash when hit I added this to the shield sprite.
When the shield is hit by the player bullet it subtracts 1 from HP and then the player bullet destroys. When the shields HP is less than or equal too 0 it destroys the shield then it subtracts 1 from the boss and spawns the blood sprite on the shield. When the boss is less than or equal too 0 it destroys the boss and boss turret. After this it spawns both the blood sprites and repeats it 20 times.
Video 29,
I added a timer behaviour to the player and made a timer named 'End of Level' for 4 seconds and made it so when it is active it switchs the layout to Layout 2.
I did the power up and the score counter. I made a global variable named Score and set the variable to 0 at the start of the layout. The power up both spawns when Y was greater than or equal to -357 pixels. When the player is in contact with the health powerup and it sets the player HP to Max_HP then it destroys the powerup. When the player is in contact with the multishot powerup it increases the Weapon_Power and then destroys the powerup. When the maggot launcher is destroyes it adds to 100 to the Score global variable.
Video 31,