top of page

CONSTRUCT PROTOTYPES

Here are the other prototypes I have made to test different mechanics, these ones would count as development as I had started creating my concept, while the first prototype was just testing.

PROTOTYPE 2

p2.1.PNG

This is my second construct prototype developing on the first, testing the rhythm game mechanic without the actual combat. I created a simple game where you had to press the buttons on time with the WASD keys. I used these keys as they are the same as the movement, it is easier for the player to transition between combat and the overworld if using the same keys. The way it works is by having boolean variables for each note that are true if the key is overlapping the trigger. If the player presses the right key when is variable is true then the note goes back to the top and one is added to the score. I had some trouble with the notes going back to the top, I originally had it so the note would turn invisible and reappear when it was next needed. However the note wouldn't reappear. I then realised that I could just have the note teleport outside of the viewport as it had the same effect without this problem. All of the notes have the move-to behaviour which allows it to move.  When the layout stars the first note moves downwards, the system waits a certain amount of time until letting the next note move downwards. 

P2.2.PNG

Link to the prototype

PROTOTYPE 3

For this prototype I greatly expanded on the rhythm game combat; adding music, more notes, an enemy and health bars.

p3.1.PNG

The first thing I did was create 'movetodisable' variables for each note. These variables basically mean that when the variable is true, the note has the move to behaviour enabled and when the variable is false the behaviour is disabled. This means I can control the note so it doesn't start moving when I don't want it to. I put this in as I had a problem where the notes would carry on moving when they were teleported to the top of the screen. This may not be the most elegant solution but it works and means I can control the movement of the notes easier.

p3.8.PNG
p3.5.PNG

To the right is the code for the 'bottom trigger', a sprite below the viewport that controls when the notes should be reset. This code just makes it so when the notes hit this trigger they teleport back to the top and enable the 'movetodisable' variable, stopping them from moving again. It also subtracts one point from the players health as the player would of missed the note. You may also notice that for the blue note, a point is subtracted from the enemies health instead of the player. This is a mistake that I fixed in the next version of this prototype. 

p3.2.PNG
p3.3.PNG

This is an example of the code for the movement of the notes. There is similar code for all of the notes so I will just show this one. Essentially I just make the notes move downwards in time to the music by using the system 'wait x seconds' mechanic. To allow the note to move again after waiting the 'movetodisable' variable is set to false.

This bit of code handles the health bar for both the enemy and the player (seen in screenshot at top). Every tick the progress of the health bar is set to its number variable that is changed by the player or enemy losing health. It also handles the music, it just plays when the layout starts with a slight wait to make it in time. I chose Do I Wanna Know by the Artic Monkeys as a tester song as it has a memorable rhythm which I thought would be ideal for this. I will use my own music later on.

p3.6.PNG
p3.7.PNG

This section of code deals with the enemy health and different sprites for different levels of health. All of the different sprites for the enemy are frames of animation so they can be easily switched between. When the health hits 5 the frame is changed to the enemy struggling. When the enemy health hits zero it changes to a frame where the enemy is 'dead' and the volume is stopped. When the player health hits 0 the enemy is shown to be happy and all of the notes are set back to the top with the 'movetodisable' variable set to true.  

Link to prototype and video of gameplay

PROTOTYPE 4
 

P4.1.PNG

For this prototype I made some sprites and animation to get a better feel of how the game could look and also a better designed overworld to help this also. I made some short songs in BeepBox to go along with the text and give the characters a 'voice' of sorts.

Here is a screenshot of how the overworld looks and a bit of code that makes the player fall from the hole at the top of this world. I made it so the player is not allowed to move until they have hit the ground to give a better illusion of falling. Here is also a small sprite that I made in piksel as a tester for the overworld sprite and 

how the main playable character could look. I want the playable character to have a simple and understandable design to not distract from the rest of the

world and characters and to fit with the pixel art style. Here are also

some sketches I did to get an idea of how this character could look before translating it into pixel art.

I also made this small animation in piksel of this character to act as the playable character in the cutscenes. I just made the sprite move up and down to give it some life instead of just being a flat image.

Here are the audio files that make up the 'speech' in the prototype. I made these all in BeepBox, using different instruments that matched with the tone of voice I wanted. For instance the playable character has a happier instrument 

hellobeepeffect
hey..beepeffect
waiting...beepeffect
im ok...beepeffect
weirdbeepeffect

for its voice and the other character a lower pitched instrument for its. This shows different personalities and intentions behind 

words without actually voice acting.  I will use this technique when making my final game as I think it has a good effect and isn't too time consuming to make. In terms of how it works, it simply plays the audio file on the corresponding frame of the cutscene. I had a problem where the audio would keep repeating but this was easily fixed by adding a 'trigger once' in front of the audio playing.

Link to prototype and video of gameplay

DEVELOPMENT LOG 1

1 - CHANGING CONTROLS

After creating these prototypes I did some playtesting to get an idea of what other people thought of my game, especially the combat. I was used to how it controlled so I wanted to check if people found it too easy/difficult. I let people play it and didn't interfere or tell them what to do. I quickly noticed that people found the combat very difficult due to the buttons used, WASD. The buttons in the game were in a line where on the

wasd-keys-_wasdkey.webp
wsad.PNG

keyboard they are in a triangle formation which made it confusing. The fact that I also made it WSAD instead of WASD on screen made it even more confusing. The people playing couldn't 

figure out the controls in time for when the notes started coming, which ruins the flow of 

the game and make it frustrating. I got some feedback after this playtest, with people saying that it would be better if the buttons were in a line on the keyboard like ASDF or HJKL. I think this would make it easier as there is a visual link between the screen and the buttons making it less confusing.

Computer_keyboard_with_'asdf'_highlighted.jpg
asdf.PNG

In response to this I changed the buttons to ASDF. This was simple to do, just changing the code to press different buttons and of course the sprites to match the new buttons. I tried it myself first and found it much easier and more comfortable. I then did some more playtesting with the person who playtested it before to get their opinion, After they playtested I created a survey to get their response.

The first question I asked was their thoughts on the old WASD controls. I knew it would be negative but I wanted to know specifics. 

Next I asked about what they thought about the new controls compared to the old ones. This is definitely a good change based on this feedback as they found it  

much easier. They found it easier to grasp which is what I was going for compared to the other controls where they said they kept messing up.

Lastly I asked if there is anything else they would change about the controls. They suggested using different buttons to the ones used for movement to make it less confusing. I will consider this but it probably wont be necessary 

This playtesting was very useful as it let me see a big flaw in how my game is designed and how to improve it. I will keep doing playtesting throughout development to stop other mistakes like these.

2 - FIXING CUTSCENE

The next thing I did was fix a problem with the cutscene I had created in the prototype. When watching people try and play the cutscene I noticed that people would keep pressing enter on the multiple choice section and it wouldn't allow them to click on an option anymore. The first thing I did when trying to fix this was use a variable that stopped pressing enter from adding to the cutscene variable that moves each scene along. But that was not working so I looked close at the code and noticed that the code for clicking the options was a sub event under 'cutsceneNumber=2". I then took it out and added its own subevent to make sure the player didn't press it when it was invisible. This fixed the problem. Below is a before and after of the code.

connie.PNG

1

2

3 - CAMERA MOVEMENT

Next I created a small section when you begin the game where you encounter a new character and the camera briefly pans towards them and then back to the player. I intend to use this for a character that tells the player about some of the lore and how the combat works. To do this I had a trigger to activate this scene. When it is triggered a sprite teleports to 

the player which acts as the new focal point of the camera. Its scroll to behaviour is activated which means the camera follows it, and then moves back and forth the player and the character. It is then destroyed along with the trigger and the scroll to behaviour is given back to the player. Here is also a video of this happening. 

MUSIC DEVELOPMENT LOG 1

The March of the Black Queen is a song by Queen that I want to use as inspiration for my game's lore and music. Its is about an evil queen of the darkness that controls lots of her followers. While I will talk about the lore later, for the music of my game I wanted to learn some chords from the song and repurpose them into my own songs. 

Queen - The March of The Black Queen (Official Lyric Video)Queen
00:00 / 06:34
music-equipment-headphone-png.webp

Here is the song itself , it has lots of different sections that are vastly different in mood, tempo and lyrics. The sections that I will focus on the most are the dramatic sections 

with the piano that talk about the queen herself and how she is ruling her kingdom. 

As I own a keyboard I wanted to learn some chords from the song to get an idea of how they are played. I followed this tutorial to learn how to play these sections. Specifically I learnt the 4 repeating chords that play at 5:23 and the small section that plays at 1:21 in the video. I definitely had to learn the 4 chords because they are used a lot throughout the song and have a very dramatic sound. The other section I wanted to learn because it had a happier sound and could be repurposed into a lighter bit of music.

Here is a video of me learning and playing the first piano section of the song. I tries a few different ways of playing the chords, pressing the lower notes and the chords at the same time or holding down the lower notes. Here is also the part of the song with these chords clearly heard,

music-equipment-headphone-png.webp
Piano Section
00:00 / 00:17

Here is me learning the other part. This one was a bit more difficult so it took me a little while to get it right by the end of the video. Here is this part in the actual song again.

Second Piano Section
00:00 / 00:05
music-equipment-headphone-png.webp

Next I went into GarageBand and played around with these notes and chords to try and make something of my own. I started with trying to just recreate the song with just piano and a bass guitar to get an idea of how it could work. This can be heard below. 

00:00 / 00:18

Then I made my own small song with the notes from the chords played individually instead of all at once. I used a grand piano, a 'fairy-tale bells' piano and a bass guitar layered over each other. I think this song would be good for a more quiet and serene area. It can be heard below.

00:00 / 00:13

Here is the final song, this little motif looping with it going back and forth between including the grand piano section.

Serene Song
00:00 / 00:31

DEVELOPMENT LOG 2

Now I have made the basic foundation of my game, with the combat, overworld and cutscenes, I wanted to make these into an actual structured game. The start of this is the first character that I want the player to meet, a person dubbed 'the helpful guide' that will tell the player a little about the world and teach them how the combat works. For this I will use the cutscene mechanic that I created from the prototype, and the 'voice' sounds that I experimented with in my research. 

First I made a trigger on the overworld that makes the player to to the cutscene. The cutscene itself works the same as it did in the first prototype so I will not go over it again. But there are a few new mechanics which can be seen here. I wanted the text to scroll one letter at a time, which I previously did manually as an animation. This would take forever to do with all the text so I did some research on how to do this which led me to this forum. There is a function called 'typewriter' which types out all of the text for you which speeds up the process a lot. I also knew that I wanted individual sounds to play with each letter as they scroll from my research, so I found 

another forum which said how to do this. While I couldn't find a way to tie the sounds the the letters themselves, making the sound play every 0.1 seconds while the typewriter is running gave the same effect. As for the sounds that play, I originally intended for there to be a different sound for each letter after doing my research. But I couldn't find a way to tie sounds to individual letters. So instead what I came up with was to have a selection of different sounds that play randomly for each letter. This gave a similar effect but was much less complicated. I then went and recorded some audio for these sounds, in a similar way to what I did in my experimentation, recording me saying a letter and then changing the pitch, speed and distortion. Here are some of the sounds I made.

Obviously these all sound quite different. I think this technique is better than recording the entire alphabet or making the sounds in beepbox as I can quickly made unique voices for different characters consisting of two or three different sounds that I have made. 

00:00 / 00:00
00:00 / 00:00
00:00 / 00:00
music-equipment-headphone-png.webp

Here is the bit of code that makes the sounds play randomly, using the choose() function and writing out all of the sounds that I want it to pick from. I found it in this forum, This is the voice I am going to use for the helpful guide which consists of two of the sounds I made.

Here is a screenshot of the cutscene and the placeholder sprite I made of the helpful guide. As you can see there is a unique font for each character 

which I learnt how to do through this YouTube tutorial. I downloaded two fonts from dafont.com to use for these characters. I plan to only use pixel art fonts to match with the pixel art style of the game. For the helpful guide I used a bold font to match their sarcastic and flat personality. For the player I just used a generic pixel art font.

21.1.PNG
21.3.PNG

Before finishing the cutscene I fixed an issue where the cutscene would break if you pressed enter on text that spanned two different text boxes. To fix this I made a variable that allows enter to be pressed if it is true. I can set this variable to false on these scenes to stop this from happening.

Next I fished the text of the cutscene and then made an effect where it fades to black before kicking you back into the overworld. I did this to add to game feel and make it flow better between cutscene and gameplay. To do this I followed this tutorial that said how to make a sprite fade. I then created a black sprite which covered the viewpoint and then made it visible when I wanted it to fade. After it fades it reloads a save made when entering the cutscene so the player is back in the same place they started.

21.2.PNG
21.4.PNG

I also did a bit of playtesting with a classmate and they said that the text scrolled too fast and they were unable to read it in time. I think I will get some more feedback from others and see what they think. I will probably adjust the speed of the text to make it slower, or implement a speed setting if I have enough time.

connie1.PNG

Next I created another section where the guide leads you over to an enemy and talks about it before showing you how to fight it. This was surprisingly difficult to create, specifically activating the guide and the player to move after coming back  

to the overworld. I originally tried to make it so a boolean variable is activated at the end of the cutscene which makes them move but that didn't work. I ended up making it so when the save is loaded it activated this. This works but I worry that it may cause issues in the future if i need to load a save again.

Here is a video of how the game plays so far, with the new cutscene and its text. In this cutscene I have started to allude to some of the lore, mentioning the Black Queen, but still keeping it mysterious so there is still more to discover. 

PLOT DEVELOPMENT
 

As previously mentioned, I have and are going to use the song 'The March of the Black Queen' by Queen as an inspiration for my plot and music. Here I will talk about how the plot has developed while using this song as inspiration. 

Queen - The March of The Black Queen (Official Lyric Video)Queen
00:00 / 06:34

Here is the song itself and its lyrics for reference. What drew me to this song was its lyrics that are full of imagery and references to fairytales and mythical creatures, specifically the character of the 'Black Queen' in this song. The album this song comes from, Queen II, is filled with songs which reference myths, legends and fairytales like this one. I think this album and specifically this song are very unique and inspiring for the worlds they create. And so, I wanted to set my game in one of these worlds with my own interpretation of the characters by dissecting the lyrics and using parts of the song in my own music.

Here is my analysis of the lyrics and what I think they mean. I used this when figuring out my actual plot, as writing it all down next to the lyrics made it easier to not forget anything.

Next I brainstormed onto paper all my ideas for the plot and how I could translate the song into a game which you can read here. Essentially I came up with the idea that the Black Queen is conducting all of the music in the realm which explains why the combat is so musical. I got this from a lyric in the song where she is commanding her subjects to keep making noise, like conducting an orchestra.

"Make this, make that, keep making all that noise"

I also drew out a hierarchy of the realm, with the Black Queen at the top, then Fo And Fie (her most trusted subjects) , the royal subjects and then the public. I got the names for Fo and Fie from how the song often references the line "Fie fi fo thum, I smell the blood of an Englishman" from Jack and the Beanstalk. 

"My life is in your hands, I'll fo and I'll fie"

 

Finally I had the idea of the Black 

Queen creating all of the monsters that attack the player, to give a reason for her to be the villain of the story. Some backstory behind this is that the previous Queen that ruled the land was the kind White Queen (the name of another song from the same album) who created all of the monsters to help the people and be part of society. When the evil Black Queen took the throne she turned all of the monsters evil with her music (hence why they use music in their attacks). So the motive of the player will be to go on a journey to defeat the Black Queen and free all of the monsters.

Going forward I will try to implement this plot into my game, through dialogue of different characters and things like plaques and statues which explain some history of the world. I also want to create some concept or pixel art of the Black Queen as she is obviously a very important character to the plot, and I would like to get across the image of her I have in my head.

MUSIC DEVELOPMENT LOG 2

Today I made a song for the battle sequences with enemies, once again based of the chords from The March of the Black Queen that I learnt in the last music development log. The melody I made is similar to the last, with the notes played in the opposite direction. I did this to have some synergy between the overworld song and the battle song so it all flows quite nicely together. The actual song itself though is very different, more creepy and with a beat this time

This is the first iteration of the song. It consists of a synth piano that plays the melody, then an electronic drum beat underneath. I used the GarageBand loops to make this beat as I wasn't too confident in making it myself. As a sort of bass I added another more deep synth that plays the chords instead of the individual notes. I did this to fill out the song more and bring it together. Here is a video of how it looks in GarageBand and the song itself.

00:00 / 00:09
IMG_7464.png
Fight Song Final
00:00 / 00:26
Fight song (isolated beat)
00:00 / 00:09

I thought this first version was good, but there wasn't enough bass and I wanted another synth to try and create this. The other synth gave this effect but it didn't sustain for long enough, making the song sound empty. And so I found a deeper synth bass and played the same notes with it as the other synth. I kept the other one to add some layering.

Also, here is the drum beat isolated so you can hear it. I chose this beat because it almost sounded like a stuttering heartbeat which added to the creepiness and maybe also instil some fear in the player when fighting the enemies.

OGRE ENEMY SPRITE DEVELOPMENT

"Ogre Battle" is another Queen song from the Queen II album, the same album The March of the Black Queen came from, a big inspiration for my game. This song focuses on a battle with an ogre and is filled with fantasy references. I knew I also wanted to use this song as inspiration, and so I am going to create

the ogre as one of the boss battles in my game. Here is the song for reference

(skipping the intro)

Ogre BattleQueen
00:00 / 03:39

"One great big eye - has it's focus in your direction,

Now the battle is on"

00:00 / 00:11

These lyrics specifically were the biggest inspiration for the enemy (this section of the song can be heard here too). It made me imagine that the player walks into a room and ogre is in the darkness and all you can see is it's one eye opening before it fights you, which I wanted to recreate in my game.

ball_edited.png

So I went into piksel and created an animation of the Ogre's eye opening. I started by looking at some references which can be seen here, the Eye of Cthulhu from Terraria for its creepy design and a pixel art sphere for an idea of how to shade the eye.  I then created this short animation of the eyelid opening as a starter. I made the pupil this shade of yellow to make the ogre look more disgusting and monstrous.

This is the final result of the animation and it on a black background to get an idea of how it will look in the game. The first thing I did after creating the first animation was make the eye bop up and down to give the look that the ogre is breathing, making the animation much more lively. Next I drew the veins on the eye, inspired by the references. I added these to make the eye look more scary. You may also notice that I 

redrew the veins and pupil on each frame. While this took longer it adds more life to the animation instead of just copy and pasting these elements for each frame. The last thing I did was draw the pupil. I originally wanted to make it red but then made it green so it didn't look too similar to the red of the veins. I added a bit of shading and highlight to the pupil to give it more dimension. I also added some highlight to the eyelid to make it look more 3D. Next I want to create another animation using this same sprite of the pupil moving around with the eye open for the combat. in the battle the player will only be able to see the eye hence why I am doing this.

Opening
ogreeyemoving.gif
New Piskel.gif
Moving
Full Animation

Here is the animation of the eye moving around and the full animation of what these two look like together. This was pretty simple to make, reworking the frames from the previous animation and adjusting where the pupil is each frame

Overall I am really happy with how this animation came out as they give a lot of life to the character. Next I will need to actually make the battle where these sprites will be used, and the music for this battle.

DEVELOPMENT LOG 3

Today I carried on developing the cutscenes and implemented the combat from the prototype into the game.

In the last prototype I spoke about how I used 'on load complete' to carry on the game after the cutscene, and as I expected it caused an issue when I had load another save. So here is the fix I created for this, having it so every time a save is loaded it adds 1 to a variable. This makes it so I can control what happens based on what save has been loaded. The code can be seen here.

The next thing I did was finish the cutscene I started in the last development log after saying a bit about the lore, the guide just tells you that they are going to show you how to fight an enemy.

Next I changed the music on the combat itself to the song I made in the last music development log. I also adjusted the notes to fit with the new song, this was simple enough, just testing and watching back footage of the combat and adjusting as necessary.  I also created a small cutscene box in the corner where the helpful guide speaks to the player about how to defeat the enemy. I had a small problem with this cutscene where pressing enter wasn't moving the cutscene along, but I then realised that the variable that allows the player to press enter was not set to true.  

Another problem I had was where after returning to the gameplay it would send you right back to the cutscene. This was because of an issue you can see here, I put the save before where it takes you to the cutscene, meaning every time this save would be loaded it runs the code that takes you to the cutscene. Moving the save to the bottom fixed this.

Before
 
2.PNG
1.PNG
After
 

Next I went back to the combat and added another mechanic, making it so the player takes damage if they hit a note before its needed. DJ Hero, one of the games I researched, had this feature so I thought it would be good to implement it into my game.

noverlap.PNG

Here is the code that enables this to work. I essentially just reworked some of the code from the prototype to make it so when the notes are not overlapping the buttons and the player presses ASDF it subtracts one from the players health. I had to add the 'trigger once' after having a problem where it would register as multiple presses after pressing it once. However a bigger problem I had was where it would take away points from the enemy health and the players health when hitting a note

correctly. I tried lots of different ways to fix this, like variables that register if the notes id being hit correctly and then disabling this code, but nothing was working. The solution I found in the end was to make it add 1 to the players health when hitting a note correctly, to counteract it being taken away. This works fine but is not the most elegant solution, as you can see the health bar flicker when this happens. If i have time I will try and find a better way around this issue.

Next I wrote some code that makes it so you cannot take damage by pressing ASDF while the guide is talking. I found out how to do this with this forum, that 

allow asdf.PNG

said the easiest way to do this was to just put all of the code you want deactivated into its own group, then you can change whether or not it is deactivated using a variable, which can be seen here. I just made it so the variable is set to false when the guide starts talking and then to true when the combat starts.

Next I added more notes to finish the combat section. I originally wanted to just make the combat loop until the enemy dies, but after struggling with the complicated timing of the notes i decided just to do it manually. This doesn't take as long as it sounds, as you can mostly just time the notes to go anywhere and the adjust it afterwards to fit the song perfectly. Here is an example of how the code for timing the notes look.

Lastly I created a small game over screen for if the player dies during the combat. There is some text from the guide saying "What? They died? Already...?" in this screen. This is inspired from the Undertale game over screen where one of the characters speaks to you to not give up hope. But this time, with the guides sarcasm.

DEVELOPMENT LOG 4
 

In this log I finished the first section of the game, and then implemented the battle with the ogre using the animation I made.

To finish off the section with the helpful guide I implemented a small optional cutscene after the fight with the enemy. If the player chooses to go back to the guide the cutscene will play where the guide sends you on your way and wishes you a good journey. During this I found out that you can use the same text box for each line of the cutscene instead of creating a new one for each line. This sped up the process a lot.

Next I created the section where you come across the ogre enemy, using the sprite that I made previously. I made a new layout which looks like this, it is completely black so the animation blends into the background. The players sprite blends into the background but I feel like this is good as it shows how dark the room is. I made some text that scrolls along the top of the screen introducing the ogre and warning the player. The 'voice' I used for this text is another sound I made with my voice, this time very deep so the text is more menacing.

Next I put the animation into the game, using a trigger that plays the animation. 

I used the same camera moving technique as I did at the start of the game to pan the camera up to the ogre. It was too big to fit on the screen without doing this. I felt the animation looked good after putting it in, but the moment could be much more impactful. So I took a sample from the song 'ogre battle' that the ogre enemy is inspired by, a short clip that is very dramatic and perfect for a scene like this. It can

be heard here. I added some reverb so the clip and a fade in and out so

it blended in better. I added some screen shake which I learnt to

do using this forum, this really added to the drama of the scene and made it much more impactful. Lastly I added                                                                          

Ogre Battle Sample
00:00 / 00:04
Wind sounds
00:00 / 00:29

some wind sounds to the whole layout to make it more creepy and create the illusion that the player is in a huge cave or room. The song 'ogre battle' uses wind sounds at the start of the song which is what this is inspired by.

Here is the final result of this scene. I am really happy with how it came out and it is pretty much what I imagined. Next I will make the actual battle with the ogre, maybe extending the animation slightly so it blends into the battle better.

DEVELOPMENT LOG 5
 

Today I created some sprites for the player and other characters, including animations.

Here to the right are the animations I made for the overworld player sprite, one for idle, one for walking left or right and one for walking up. I simply took the sprite I had made previously and then created some frames for the character bopping up and down.

Here is the code for how I implemented the animations into the game, changing the animation based on what direction the character is facing. I also created a variable that allows the animations to play. This is so I can toggle whether the animations play or not, in a cutscene for example.

Here is a time-lapse of me creating and implementing some of the sprites, and doing the code. Construct crashed at the start of the recording so I had to re-do the code and one of the sprites.

imp 2.gif
imp 3.gif
imp 1.gif

Next I created a sprite for the first enemy that the player fights, which I wanted to create as an imp. Here are some inspirations I used for this, some imp pixel art, the imp enemy from the game Miitopia, and the imp/devil skin for the character Mercy from Overwatch.

imp 4.webp

Here is the final result and alternate versions of my sprite, with a time-lapse of me creating it. I tried to make the sprite look cutesy to fit in with the rest of the art style, hence the clothes. I made the eyes white to still add a little creepiness. In terms of the animation, I simply made the imp bop up and down and made the wings 

move to give the illusion of it flying. I did this by roughly tracing the previous frame and then moving it up slightly. The other facial expressions are used for when the enemy loses health in battle, the angry looking one being for when it gets to half health and the other for when it dies. I did this to add a bit more character to the enemy and to give the player feedback that they are actually doing something to the enemy.

DEVELOPMENT LOG 6
 

Today I updated and improved a lot of the visuals and sprites in the game, and added some animations and effects. Before I did this I fixed the combat which had become out of sync with the music. I did this by watching back a video of the broken combat and fixing the notes as necessary. 

Firstly I updated the sprites for the buttons and notes during the combat, since they looked unprofessional and didn't fit with the art style of the game. Here are the new ones. I added some highlights and shadows to add more of a 3D effect and changed the pink button to red as it matched better with the other colours.

Next I updated some of the visuals for the overworld. I changed the plain grey wall behind the player with this simple grey brick sprite I created. I also made this small animation of some grass blowing in the wind that is randomly placed on the floor of this overworld to add some life to the area. I got this idea from my research into game feel. I added a beam of light coming down from the hole the player falls down. I did this by just having a white sprite on its own layer and then decreasing the opacity of the layer. Lastly I added a small shadow on the back brick wall               to make it seem less flat.

com.PNG

Next I updated the look of the combat, putting in the new sprites for the notes, the new enemy sprite, a new background for the buttons, and a border on the edge of the screen to fill some of the empty space. 

Here are the effects I made for the combat, this is inspired by the research I did on rhythm games. Most rhythm games have effects when you hit the notes to give feedback to the player, so I wanted to add this in my game. Each note has their own differently coloured effect, the circular ones on the notes themselves and the stars flashing up around the screen when hitting the notes. Below is a video of how this actually looks in the game. I think this looks really effective and adds a lot of life and action to the combat.

DEVELOPMENT LOG 7
 

Today I created some new sprites, fixed some issues in the code and added some more effects to the combat.

During playtesting I found that the text noises would keep on playing when you skipped past the text. This is the 

type.PNG

solution I found, putting 'finish typewriter' to stop the sounds from playing when the cutscene moves on.

Next I created some new sprites for the 'helpful guide' character, going off the design of the placeholder. I made them look more sarcastic and cold to reflect the same personality which comes across in the text.

I made these 3 different facial expressions to use in the cutscenes to add more personality to the character and show the intentions behind the text.

Here is a video of how this looks in-game.

Next I wanted to add a red effect on the screen when the player gets hit. I did this by just having a red sprite on its own layer, and then fading it quickly when it is signalled. I wanted to do this to make it clearer that the layer has been hit and to give them feedback. During this process I found a fix to a problem I had during a previous development log, where pressing the note correctly still damaged the

player. The fix to this was very simple, just changing the code where it checks if a key is being pressed from 'key is down' to 'key pressed'. Above is a video of how the effect looks in the game.

MUSIC DEVELOPMENT LOG 3

Today I created the song for the fight with the ogre in Garage band, and a video showing how I made it with voiceover.

Before I did that I decided to edit the fight song, removing the second synth as it sounded almost out of tune. Here is the updated version.

Fight song (ver 2)
00:00 / 00:26
Ogre
00:00 / 02:29

Here is the video showing how I made this song, with some of my reasoning and explanation in the voiceover. Overall I am happy with how this song came out, as I feel like it will fit well with the battle and make a good conclusion to the game I planned to make. 

DEVELOPMENT LOG 8
 

In this log I created the combat with the ogre, using the ogre eye animation and the music I made in the last music development log.

Firstly I made a new layout with the new sprites, copying over most of the code and changing the variables where necessary. The text at the bottom of the screen next of the notes is for counting when a note is pressed so I know what note to edit if there is a problem. This makes it much easier to go in and change the notes without having to count myself. below is the code for it.

Here is a video to get an idea of how the battle looks, I used a lot of recordings like this to see what notes may need adjusting. In the video you can see that I added a small screen shake effect when hitting a note correctly to give some feedback that the player has 

pressed a note correctly and to make it seem like the music is influencing the world. Actually making the combat is surprisingly difficult and time consuming, since every note needs to be perfectly timed to the 0.1 of a second. Since I am using a longer song this means the battle needs to be longer, which takes more time. Sometimes the timing changes when playing the game on less/more powerful computers, so while I can try to make it perfectly in time, it never will be perfect. Here is also a link to the combat in its current state of development (about halfway through).

Next I created a feature where by pressing a button it sped up both the game and the music, making testing the game much faster as I could just skip through most of the song to get to the part I wanted.

Next I made a small cutscene when you kill the ogre of its eye slowly closing, just by reversing the animation of the eye opening. I did this to add some sort of conclusion to the battle instead of it just ending suddenly like the last one. 

Untitled video - Made with Clipchamp.gif

Finally I finished the combat which can be seen here. I am mostly happy, some notes are out of time which is mostly out of my control, but for the most part it is and is fun to play. I might do some play testing for this combat to see if it needs tweaking at all.

Final 

I made a new sprite for the helpful guide in the overworld. I had a few different iterations of this, trying to make it match the players sprite. Eventually I ended up just editing the overworld sprite to fit the guides design.

HelpfulGuideidle (1).gif
end.PNG
tryagain.PNG

Finally to finish off the game I added an end screen that shows after the battle with the ogre, just to show that it is actually the end of the game. Also I added a button on the game over screen that send the player 

back to the start of whatever battle they died on. This is just so the player doesn't have to play through the whole game again if they die on the combat.

Here is a video of me playing the whole game and a link to it so you can play it yourself,

Final Major Project

©2023 by Final Major Project. Proudly created with Wix.com

bottom of page