Showing posts with label Task 3. Show all posts
Showing posts with label Task 3. Show all posts

Tuesday, 11 October 2016

Wingman Sam

The next game i made is called Wing Man Sam. This is a multiplayer game, where the player's controls 2 different plains and their objective is to defeat a wave of enemy plains and then eventually the boss.

In the making of this game at the 1st stage  i learnt how the background could make the screen go in a direction that looks like as if the player is moving. This is called the illusion of motion and is know as as a Scrolling Shooter game.I did this in game maker by changing the Vert Speed to a value of 2 in the room properties background tab, next i worked on 3 different island popping up,and going downwards, as if the plains moving forward.  This was easy to do as it only required me to make a create event to move in a direction (downwards relevant to background) and then outside room event to jump to a random location back to the top of the screen.
#In the second stage of making the game i focused making the planes object and most importantly the two-players controls. the controls for the planes where WASD and arrows. I only worked on movement so far in this stage, however i had to make the plane parent and work on the parent later. I did the control in a weird way, but it works. I made it so the player wasn't allowed to leave the room.
In the third stage of making the game i worked on the bullets that plane would shoot to destroy their enemies. This was kinda simple to do as it was only a key-pressed event, which would create an instance in relevant coordinates (0,0) of the plane object, moving in a constant direction upwards on a create event then when its outside the room, the instant would get destroyed, i also had to create a variable called can_shoot, so the game would register the amount of time the plane would shoot, this is also useful when developing the health of the plane and boss object later on in development.
In the next stage i worked on the how the bullet react when it gets in contact with the enemy plain and how the explosion object would show up. I did by making a basic enemy object with a controller object which would count the steps then randomly spawn a wave of enemy plains, which only moved in a direction downwards, and if the object made with contact with a bullet the enemy object would destroy itself and show the explosion animation.The explosion animation is an object itself which would go through all of its sub images of the sprite and when it reaches the end it would destroy its own instants.  If the enemy made contact with the plain object it would restart the game, and when the enemy object is outside the room, the instance would get destroyed. This object is a great parent object, however later in we want the enemy to move in directions other than downwards
After that, i worked on the boss object and how the enemy wave might have spawned and how they would try to defeat the players.. I did the enemy waves and boss spawn as a timeline. After a certain amount of steps waves of enemy would spawn then eventually the boss. i also worked on the health bar as well on player one and 2 a swell as the boss and then lastly i worked on how the boss would die. Unfortunately i ran into a bug where as the boss would crash the game and i haven't been able to fix the problem. This was a really simple game to make as it involved a lot of parenting. When making this game i saved around 7 version where everything was working the only problem i ran into was that the software would crash after the boss was defeated. As i progressed i removed the random enemy spawning as i relied on the timeline to do everything. i also made a lot of different enemy plains using the enemy basic as the parent object and i changed the way it moved and shoot. some plains moved sideways, and some plains had faster bullets. I also added a start for this game, this wasnt in the the tutorial pdf when making wing-man sam, and the game only relied one level as it was a scrolling games. so i couldnt make anymore.

When making this game i learnt a lot of new things on how to make games. The most important thing i learnt was the timeline and the the Vert Speed for the background. I will hopefully use these tools for making my own game, 

Wednesday, 5 October 2016

Lazarus & Super Rainbow Reef

Task 3 - GDD and 2D Games Engine

For the next part of task 3, I learnt the long and short ways of repeating code. I made 2 games.
The 1st from chapter 4 and the 2nd form chapter 6.

The 1st game where i had to alot of repeat code was lazarus. Lazarus is a tetris-like platformer game. The player controls a character which is a purple slime ball. Heavy boxes randomly spawn on top of Lazarus (purple slimeball) and the player has to move Lazarus from left to right to avoid from getting crushed by the box.
lazarus title screen
The player has reach to the end of the level (which is really high up) and the player is able to climb to the end as the boxes would stack on top of each other. Eventually this would lead a path of boxes on-top of each-other for the player to climb.

gameplay of lazarus
When making this game i saved 4 different version, each containing major aspects of the game.
The first version had the basic mainframe of the game. All the sprites, sound and player controls ready to be advance for gameplay to be changed. The last version had everything put together and working.
version 1 of resources
version 4 of resources
Whilst making this game i got confused a lot of time because i had to repeat the code and put slight variation depending on the property of the box.  
repeating code and changing due to the object property
(my struggle/confusion)
The second game i made was Super Rainbow Reef, This is a brick breaker like game and i made it quite quickly. When i was making Super Rainbow Reef, i made it alot faster than i expected, and as a total i made 5 version of the game at key stages of development. This is because the game had a certain structure of making it. A beginning, middle and end. This made me realize that organisation makes the development of a game more efficient.

In version 1 I started by making the beginning and end screen first. The end was easy to do as it only required  sprite to change a room with a single object inside and then it would show the highscore. Also at the end i changed the keybind from exiting game maker to going back to the start screen. The start screen was also kinda easy to do as it only consist of a mouse pressed event, which would lead to different action, like exiting the game or changing the room to start a level.

V1 organised

Start and End screens

In version 2 I worked on player controls. Before i did this i made a test room so i could see if the the player controls worked. This stage was mainly focused on how the objects - which represented the player would interact on the other objects like the wall. The only player interference was Katch. Katch would bounce back the ball like object in brick break - in this case the ball is pop, and pop would bounce of walls. Pop bouncing of brick was in the 3rd stage of making the game (version 3)

player interactions
resources for version 2

In version 3 i worked with a variety of different brick, they all has the same function which was to get destroyed and bounce back. So therefore i made the 1st brick a parent off all the rest. I also worked on the enemy object in this version. Like the blocks there were more then one enemy. So i made one a made the rest as parents. The parent one didn't move and that feature was added to individual enemy. The movement as also a parent for other smaller enemies.
enemy parenting code
similar objects, a lot of parenting
However some blocks had different feature and worked like powerup. Powerups where version 4 of the game and. This included how life's worked and how more then one balls where spawned. This was really easy to do as the life was represented in pop as a draw function and whenever pop left the room and there where no more pops left, a life will be taken away. If the player hit a life block one would be given. For spawning multiple pops (balls in brickbreaker) all that needed to happen was a collision event to create new instances.
power-ups blocks coding and pop interaction with blocks
Version 5 was really about making the levels. so therefor i left the testing level as it was. i can add more if i really wanted to, the only thing important to me if the game is working properly.
level making
gameplay

Monday, 19 September 2016

Evil Clutches & Galactic Mail

Task 3 - GDD and 2D Games Engine

After making catch the clown, mike made us read and do chapter 2 & 3 for the next lesson.
Since then a week has already passed and I completed chapter 2 at home and it was called evil clutches.

Evil clutches is a game where the player controls a dragon that tries to take out the bad dragons and save the baby dragon which all come out of the boss. If a player is able to save a baby dragon they will be rewarded with points, and if they get caught by the bad dragon the game ends. Its literally the "how long you can survive with the most amount of point before you die" type of game.

evil clutches finished

Evil clutches taught me the basic of game maker and I learned to get use the software. I'm probably better at using game maker now then I was when I made catch the clown and when I was making evil clutches the skill I learned in chapter 2 help me in making chapter 3 which is Galactic Mail.

Galactic Mail is a game where the player controls the rocket and tries to deliver mail to moons different moons, when the player delivers mail to the moon they get rewarded however, if they spend too long on a moon their points will get deducted.

 The game is pretty simple and it only took me the first session of mike's lesson to finish. I started making Galactic Mail by adding all the images and sound files that was necessary, then I made objects that were needed as I was reading the chapter editing the object's value as I kept reading through chapter 3.

As I kept reading I was adding more object, editing values as I was reading and I saved the game as different version once key aspects of the game were working properly. I ended up making at least 6 different version of the game. Each version had a major aspect of the game functioning properly, and of course if something went wrong then I was able to roll back before I started working on the aspect of the game again.

I noticed not everything happened 1st try I did get error messages due to small silly mistakes. the 1st one happened when I was trying to config the rocket to land on the moon. It turned out that I didn't type the coordinates of the moon correctly. (Error Messages on Gamemaker are a lifesaver.) As I kept reading through the chapter I finally finished making the game all the images below shows my progression.

Version 1
requirement needed to make the game in version one
the first room of version 1. Soon to be level
Version 3

game requirements updated in version 3
the 1st level of version 3.
Version 6 (final version)
All the game requirements finished in version 6
Galatic Mail Title Screen
last level of Galactic Mail
After making Galactic Mail in advance mode i feel more confident with the software.

Saturday, 10 September 2016

Catch the Clown,

Task 3 - GDD and 2D Games Engine

In this task I used a 2D game engine called Game Maker, to create a game called catch the clown.
later I will rename to find the clown. The game simply goal is simply to catch a clown as it bounces of walls and a score is added once the clown was caught.The game engine required me to use sprites to view objects so players could see them. Most of the sprites and many other useful files were provided on its learning, this was actually helpful as i didn't had to create any sprites myself from scratch.
files on its learning, Hopwood Hall.
However, I had to make 2 of my own sprites so this game was  a bit more challenging and a bit different.

The new sprites was the bad clown and teleporters. i had use photoshop to edit the existing images of the wall and clown and change those images abit so players can see the difference between the original images.
difference between the originals and edits.
I wanted the game to have a timer and high score system, I googled "how to add a timer in game maker" and i followed steps on techwalla, (link here). The tutorial I used made it so when the timer finished the game would close and then show the high score which I did myself.

After getting the game tested from Emily, i got feedback saying its too hard to see stuff as there is too much stuff happening, so i improved the game by decreasing the amount of teleporters and bad clowns and then make the teleporters go in a certain direction, as well as adding a new start screen and levels that show new game features as the player progression.
Now the game is pretty much playable and complete.

1st level of Catch the clown in gamemaker room edit view.