Brynmor Soper GS
Paper 2D
In this project we were asked to create a simple 2D game that we did over the course of 12 weeks.
Before the planning of the 2D game a Gannt chart was created to manage the time.
Now that I had a gannt chart I needed to plan what my game was gonna be like by gathering ideas and also getting inspiration from other games by creating a mood board and designing the level just to get a feel of what the level could be like.
With the pre-production phase-out of the way, it was now all about creating the assets and then creating the level with the planning I had done during the pre-production phase I even added some art that wasn't added to the game yet.
Player
The player Asset was created in Piskel I also have a bunch of animations to go along with the player to make him look like he is moving.
First, the player character was imported into unreal as a texture and a 2d texture was applied to the background so the player could be extracted as a sprite. The animations were done the same but after the sprites are extracted I made them into flipbooks and changed the frames per second so the animations were set up.
Next, I added a blueprint class which I called pixel as my player and chose player idle for the main sprite in the viewport I also added a camera which followed the player using a spring arm. Finally, logic was applied to the asset so the player can move left to right, jump, and all the animations are triggered (for player movement WASD and for player jumping SPACE).
Later on, I will allow the player to Attack the AI monster by clicking a button and receive damage from the AI monster.
Monster
For the monster design, I went with a scary look, I created the monster asset in piskel and then imported it to unreal. Next, I applied the 2d texture background so they could be extracted into sprites and then made into flipbooks by selecting all the assets I also did the same for the walking and attacking animation. Now I had to create logic and because this was AI I had to program what it should do so I started with duplicating the player blueprint and then deleted the camera and spring arm also all of the logic which was added for the player and I made the monster Idle animation the default sprite. Then I did the logic by making the asset move left horizontally and then applied some logic so when the monster AI collided with another asset or an object the monster will turn right. Finally, I applied some logic that allowed the player to be launched when the monster collided with the player and all I did was copy and paste the same logic for the medkit and turned the + into a - decreasing the player's health by 15 every time the monster hits the player. I also copied the logic for the water drown with a branch so if the player's health is below or equal to 0 the game over screen pops up and the game restarts.
EYE monster
A work in progress asset is being created in piskel but will be another monster that can injure the player all it has so far is an IDLE animation but will most likely not require a walking animation as it is hovering but will be an AI asset with an attacking animation later on.
This asset was made using pixels and uses dark grey to light grey, also including red as blood at the top to make it look dangerous. This asset was then uploaded to unreal using the same apply 2D texture settings to the background and then creating it as a sprite. Then I created a blueprint as an actor and then created two components, the spike and the collision box (but I renamed it to KillVolume as I needed an area to damage the player). Lastly, I needed to do some code but the most important part of the code was to take away the health by 15 and if the player went below 0 the game over the screen would pop up.
Unfortunately, this comes with problems as I found out nothing happened when I touched the spike but fortunately this was an easy fix as the collision box was in the way so with some simple re-shaping the player was able to touch the kill volume and the player lost health.
Grass
I created this asset in piskel as well and this is a simple grass object to stand on. This asset was imported into unreal and o course I applied a 2d texture background to extract it as a sprite so I can simply drag the sprite into the level and that is it. Later on, I might improve this asset so there is an animation for the grass moving.
Water
This water asset was also generated in piskel and was also imported into unreal and applied with the 2d texture background but after I extracted them into sprites I selected them and made them into a flipbook so the water actually looked like it was moving. Then I had to create a scene with the water icon and the Water volume I also now needed to add all of the logic so that when the player touches the water the Game Over screen pops up and the level resets. A mistake I made was that when the player fell in the water it destroyed the player causing the camera to view a different perspective, my teacher told me to use disable input so the player controls were disabled and to set the health to zero so the player does not get a view of the outside.
Medkit
The med kit was created in piskel using some red, white and black and then was imported into unreal where I applied a 2D texture background so the med kit could be made into a sprite. As this asset is a pickup and a health kit I had to make a blueprint where I added some logic so when the player collided with the med kit that the med kit instance would destroy itself and I had to make sure that the Health for the player increased but did not go over the max health which was all I needed to do for this asset.
Double Speed
For the double speed asset I had to create two frames in piskel to get the animation and then import these assets into unreal however I did not have to apply a 2D texture background as the asset takes up the entire canvas of 32 by 32 pix. Next, I had select the sprites to make a flipbook for the animation and then apply some logic to allow the player to collide with the pick up with a collision box that should destroy the instance of the asset. This was as far as I got but next, I will allow for the ability to take place and make the player double times faster but this should only last for a limited time.
Double Damage
The double damage asset was created in piskel with 2 frames just to make the asset look important for the player. Next, I imported the asset into unreal and did not need to apply a 2D texture background so I just quickly extracted the textures to make sprites. Finally, I selected the two sprites and made them into a flipbook so there was now an animation. Next, I will apply logic in which when the player collides with this object the object should destroy itself and should double the damage that the player does to the AI.
Lift
This lift was made using piskel and was created by me like all of the assets so far. This lift sprite will be imported into unreal and will also require a 2D texture background in order for it to be made into a sprite. Then some logic must be applied to the lift in order for the lift to work in the game, first the lift must be able to move upwards to a certain height for example up to another platform and then must be back down at a constant speed to a certain level where it will constantly do the same thing over and over again until the level is actually over. What I found is on the X, Y and Z axis if you set Z to 100 the Lift will go up and down at a constant speed and if but if you set X to 100 the Lift will go left and right at a constant speed.
Finish Flag
Lastly, we have the finish flag which was created using black, white and grey to symbolise the end. Next, I imported my finish Flag and of course, applied a 2d texture background in which then I created a sprite. The finish flag is not the finish line without the logic so i created an actor blueprint and actually, all I needed to do was copy and paste the logic from the water drown into the finish flag although there had to create a new widget called you win screen so the player knows he won the game and also add on the quit game so the player can leave the game or move onto the next level.
Level creation
The entire level does not use all of the sprites shown but uses most of them. The level starts with a straight plain in order for the player to get used to the controls however afterwards there is a jump which requires the player to jump to a platform and then onto land with water below, this tells the player that the water is dangerous also teaches the player that they need to jump. Next, the player is introduced to the first med kit as they are about to come face to face with their first enemy which they need to avoid as it can kill them. After this, the player must use skill to jump from platform to platform to get to a lift which takes them up to more land so they can have a brake. Then they must use lifts to get past an enemy in which afterwards they are introduced to the final part where the player must use 2 lifts and a platform to get to the finish line where the level is complete by touching the finish flag.
Evaluation
I am really proud overall of how my game looks, my main character animation is really smooth and my AI monster looks really cool however In the actual game I didn't add more enemies and I just have some art which isn't being used and I am quite proud of my art however I think I might improve the main character while the animation is great the detail and looks are not impressive however it is quite fun to play and once there is added sound it will be better. I also need to create more levels so there is generally more playtime.
This game can be downloaded here