Games Development

 


Kyra Binti Rizal Hamzah / 0337085 / Games Development / August-November 2021

Week 1

Introduction to module.

We also were asked to play some of the previous intake's projects from this class on the TDS website.

I tried a few of them but I had difficulty actually playing a lot of them haha. Mr Razif assigned us to write about one game but I could barely get through any of the ones I tried, so here's a brief overview of my whole exploration and experience of not getting to beat any of the games:( so at least I can have an idea of problems that may arise when creating my game later on. 

Conjure: I was attracted to play this cause it was more of  a pure puzzle than a platformer. You have to walk around the level, talk to NPCs, and find objects to progress. The first level (find a key I think) was fine but then once I got to the second level, the text position went off screen (it was kind of cut off at the bottom) so I couldn't read it and therefore couldn't find out what I was meant to search for. 

Sneak Out to Snack: For some reason this game was scaled super large on my computer so I couldn't even start it haha
I could scroll up/down and from side to side but only to some extent and couldn't click on level 1


The Cry from the Classroom: With this one I thought to myself "is the game the problem or am I the problem?'' there was one part where a zombie shoots you with some sort of red orb and I guess you're meant to dodge it then shoot the zombie with the talisman but the timing made it so that the zombie wouldn't start walking onscreen until the orb was shot and I couldn't run back and dodge it without the zombie disappearing, and then couldn't shoot it. but then if I run back to the zombie, it shoots the orb again, so I was kind of just stuck in one spot

Misty Night: This one was fun but I couldn't get very far :( there was a part where you have to wall jump up to get to the top but I couldn't aim my jumps without hitting some spikes that were at the bottom of the wall 

Saving Pon: This one was playable HAHA each level consists of having to make your way to Pon and rescue her without getting killed by any spinning blades . It was a bit hard to figure out the jumping mechanics (figured you could wall jump up one wall whereas in my head wall jumping in games normally means you jump between two walls? so in this you just spacebar mash till you're at the top) but this game overall had a simple concept, short levels, and a simple goal and was kind of addictive in that sense

Week 3-5

We've been having tutorials on creating the game in Unity but I think I will save posting all of that for showing the progression of my game later on. We also had a lecture on coming up with game ideas in Week 3, so since then I have been slowly brainstorming for ideas for mine, just by jotting down whatever comes to mind first.
Started off by listing a bunch of games that I like, and then 2 rough mindmaps of a couple ideas I had in mind. I wound up going with idea #2 - gameplay between both games would have been pretty similar, but I felt as if #2 would be more fun to conceptualise

The idea for REM waves was essentially Omori meets Super Mario - to start exploring my idea in more depth I used the 3i (Incorporate, Improve, Invert) method based on the game Omori. Then I took that and continued to jot down developments of the idea (and when I got sidetracked I doodled a concept for the game character... sleepy little boy)

Week 6
Ok just for some proof that I have been paying attention to the Unity tutorials. This is a super redundant way to keep up with the lesson (I could just code as the lesson goes but I find that switching between my Zoom and Visual Studio windows too much just throws me off and gets confusing) but I tend to jot down lines of code that I think are important & what they do. It helps me to stay awake since this class is at 8AM, and also having it all here like a sort of cheat sheet can sometimes be a bit easier to refer to than going through recorded videos from sir one by one. (I do look back at the videos as well cause face it I am really bad at remembering how to do things... but at least this helps for me to not need to dig through them to find specific lines of code as often)

Game Idea Proposal: 


The rest of the semester is a bit.. blurry in terms of time. So I'll just categorise the rest of this based on what was done rather than chronologically.

Game Art

Given the story direction I was going with, I decided to try do as much of the art by myself as possible.
For starters I sketched out my ideas on paper. I wanted the game platforms/tiles to be kind of a random, children's building blocks type visuals and build up the tilemap in a fun manner too

 
    

Creating this digitally was a bit tough in terms of doing the leg movements especially, without having jagged lines in this art style. And character art isn't my strongest suit as well haha.



Tiles! I made them in a few various sizes to have a bit more variety in the look. The rainbow arch on the right is intended to be used as a door for level transitions.

The objective of the game is to find the puzzle pieces to open the door/way out of the dream world. I made variations of it to create a transition animation for when the puzzle is complete.  

The door puzzle in it's individual pieces

"Nightmare fuel" obstacles that the player needs to avoid

Juice - the extra life/health material to collect
Greyboxing/level design

Pencil sketch- I seperated it into frames of each part to make it easier to conceptualise cause doing it as one big open one would confuse me 

I put them together digitally then added a few extra parts that I only thought of later on. The whole greyboxing process was a bit confusing for me to think of how to do?  Anyways at this stage I added some level designs that had a bit more narrative to it and to emphasise the process of the player exploring a dream, avoiding the trap of a nightmare (mid-game involves falling through a "smiling" platform and landing on a flight of dark windy stairs, that leads to a maze), and realising it's a dream (wake up!).


So I spent a lot of time just doing the tile mapping and not really adding the enemies and so on for a while cause my original greybox scale was not right with the height of my character.

But by week 10 I had the level design for the first 2 levels including some obstacles to avoid as well as the lives counter (forgot to screenshot the code, I'll add the final scripts for everything at the end of this blogpost) and then had to submit a progress update video  which can be viewed here.

I used a lot of youtube tutorials along the way so here's a list of those before anything else
I know it's more ideal to work by having all the scripting and game mechanics ready and then make all the levels so you can add all the objects and scripts at once rather than keep having to go back and forth but well... I am a very back and forth person (T-T) and especially as I am still learning how to do this sometimes I do not realise that some things are needed until later when I am halfway through making another level and testing the playability of the platforms. 
Script to limit jumps to double jumps rather than unlimited like flappy bird
For level 2 I added 2 different background music as the level map kind of has a shift in theme halfway from a bright colorful landscape to a dark one. To do that I added an empty collider at the midway between those different landscapes that activate/deactivates the sounds.

Level 3 design. I didnt add screenshot of Level 1 & 2 as those are larger and cant be screenshot in play mode so those are visible in the progress video earlier. Anyways this level was meant to be sort of maze-like so you have to run around and find the right path to get the puzzle keys (did not add those in yet at this point)

Ok so adding the puzzle key mechanics was a bit hard cause my game has multiple scenes and I could not really figure out how to make a counter that carries over across all levels, and I realised my inital idea of players being able to go back and forth between every level would be frustrating and not so fun. I also realised there wasn't really any indicator of how many puzzle pieces there are on each level.

So I decided to change some stuff : Rather than have 1 last door on level 1 to go back to and multiple small doors throughout the game,I reused the door asset from this final door on each level but with different pieces highlighted to show what the player is supposed to find. 

I added a puzzle counter on each level, and rearranged it so each level has the same number of pieces to find so that I could reuse the same script everywhere. Anyways with this line of code, a player can progress to the next level once they have found both pieces on the current one.


Scripting compilation :
Finalised and neatened code for the whole puzzle piece collection system


Script for character movement related things. The first if statement for left shift is for player dash movement. The other lines following that prevent player from jumping endlessly, limiting it to a double jump, and also for animation of the jump.

Script for making the camera follow character movement. I initially had the camera object as a child of the player object but after some reading online i found that you don't have as much control by doing it that way.

Making the enemy/obstacles able to move

Lives counting and death logic

    

Door opening that leads to the next level

The doors can only open when the puzzle pieces on each level have been found. Finding the puzzle pieces activates the door mechanism

Script to maintain the game/camera view at 16:9 ratio even if the user window size is scaled differently. This was used on levels that do not have camera movement such as the Level 3 maze.

For the game over screen I decided to make it more interactive and make the player walk through doors to quit or retry the game rather than just click on buttons



Each level has a transition animation that plays first, so I needed to make sure the level background music only plays after the transition ends. This script delays the sound playing





Popular Posts