MicroGame

Brainstorming ideas.

1.Blowing up balloon till it pops. One button game. Hits one of the goals

2. Dodging projectiles for 20 seconds. 3 second countdown announced fast paced, arrows to warn when they are about to come.

3. Dodging randomly moving laserbeams, 2d, fast paced, random generation

4.Infinite runner style. like subway surfer. you are in a car and you dodge obstacles with a and d for a certain amount of time.

5. catching something in a basket, fruit veg or a robot catching parts. a and d controls. need a certain amount in 20 seconds to pass level.

6- Simple Match Game 2 rows of 3 cards 7 seconds to match them –

6 Rythm Game Someone Singing / Click The Scale At What Pitch She Is Singing Circle To Indicate Where To Click

7 – 8 Bit 2D Platform Run Simple 2D 8bit Parkour Platform With 8bit music to fit the feel

8- Whack a Mole Moles pop up and you have to whack them

9. Singer changes pitch to break glass. could be on button input. quick. music involved

Art direction of the game

With our game being more of a 2d quite basic styled game we were thinking of going in the style of 8 bit. With this project being based off warioware one of our main influences in the art style is the mario franchise.

Super Mario Bros. #8-bit Super Mario retro games video games #4K #wallpaper  #hdwallpaper #desktop | Mario bros, Super mario bros, 8 bit

With the art being quite simply and characters being more pixelated avatars than fully developed characters this is the style we would like to base quit a lot off. One key detail is the floor and how that looks because with our game we wanted to make the walls of the minigame in that style and how that has been made.

Another influence is the game terraria

Terraria on Steam

It technically isn’t an 8 bit game but the art style is something that could work well in our game. For example the way its 2d but you get a sense of 3d through use of the layered floor and then the adaptable background that you cant interact with. This could be quite similar to our game as you are gonna be confined to a room and you cant interact with the background.

In summary these are the 2 games that have kind of influenced the direction of the art in our game. Im gonna use this inspiration and use our own art ideas to try make it work for our game and make our game look good as well as play good.

Assets we are gonna need.

SO for our game there are a few assets we are gonna need. Firstly we are gonna have a prompt pop up at the start of the game so we need some text for that. For the actual game we are gonna need a countdown which we are gonna do in the form of a bar slowly decreasing. Next we are gonna need the walls of the room and the floor so we have our scene made. Then we are gonna need the lasers on the walls and the actual lasers that i can code to make work how we want them. and finally the actual little character/spritr for the game. These are the assets i think we need but we may need more of think of extra additions later.

Brief concept art

So for our project im more of the programmer so im nor doing the art for the game but here is some basic concept art of how the game is goona look and work.

Firstly the lasers this is a basic style of how they could look and how each stage would look and work.

So as you can see the lasers will charge up before they shoot.

Secondly this is a basic way in which the arena / room will work.

As you can see its a basic arena and it will look better in the end but the idea is that the background is quite light and the walls dark so you know you are trapped in a room and the lasers cover every wall so that when the game starts its a random survival where u need to dodge the lasers.

Here is the playboard for our game.

As you can see the art is just simple as the point of this is to get the gameplay elements and point of the game across.

Sound In Imagine worlds

Diegetic sounds are sounds which have a source that you can see or know about for example instruments or footsteps. or maybe if you hit an object. A non diegetic sound is one in which hast got a source you know of which could be mood music or sound effects for dramatic effect.

In our game we will be using both diegetic and non diegetic sounds. For diegetic we are gonna be using footsteps we are gonna have a death sounds and we are also gonna have a sound of a laser firing. For one diegetic we are gonna have music in all the scenes including the first prompt scene the actual gamer and both the win and lose scenes. These are gonna be used to make the game more immersive and add more to it and also to affect the player for example the music during the game might make them try harder and be focused etc. make them wanna win

Agile and SCRUM

A0 WII 5

SCRUM is a managemental framework for incremental product development. It is used within a group of people to be able to organise see progress and set targets for the next meeting. Scrum uses fixed timescales call sprints in which the team targets to get a potentially releasable product at the end of. In game design we would call this the MVP Minimum viable product. This is good for game design as it keeps the team informed of whats going on but also focuses the team to try meet the sprint deadline and get a minimum viable product released before that time.

Agile is about bringing people processes technology etc etc to find the most appropriate and effective way of working or completing a task it is working in guidelines but without boundaries. This is important for game development as it helps get tasks done in an efficient and appropriate way to the best of our abilities and helps focus towards getting a minimum viable product instead of just bits of work. Agile is a lot more frequent than scrum as in agile you can do this for every task whereas scrum is more of a wider thing and is only done at the end of every sprint to check progress then set the next goals,

Programming Technical Considerations

  1. We are using unity engine and we are using the c# programming language we are doing this because it is very inclusive and unity has lots of features which is useful for our project.
  2. We are using unity 2018.2.2f1 and we are using Visual studio 2017.
  3. We have our files backed up to our repository and the files are named in folders matching to what they are. For example a texture folder and a scenes folder
  4. We do not have multiple coders it is just me so i am doing all of the coding work and explaining to my team what each code means and does so we are all in the loop and working well together a s a team
  5. Our game is a very simple 2d game so we are using quite low res simple textures and graphics and that’s what our artist is making for us https://bitbucket.org/Connor-T/warioware-laser-dodge.git

Sound in an imagined world

Diegetic sounds are sounds which have a source that you can see or know about for example instruments or footsteps. or maybe if you hit an object. A non diegetic sound is one in which hast got a source you know of which could be mood music or sound effects for dramatic effect.

In our game we will be using both diegetic and non diegetic sounds. For diegetic we are gonna be using footsteps we are gonna have a death sounds and we are also gonna have a sound of a laser firing. For one diegetic we are gonna have music in all the scenes including the first prompt scene the actual gamer and both the win and lose scenes. These are gonna be used to make the game more immersive and add more to it and also to affect the player for example the music during the game might make them try harder and be focused etc. make them wanna win

Here is our groups trello page for the game

https://trello.com/b/9oW2Bq6L/laser-dodging

And here is my personal Trello page so i could keep track of what I needed to do

https://trello.com/b/AdPhWgly/laser-dodging-personal

We are using trello pages for a few reasons. firstly its great management tool to see who is working on what and see the progress that’s being made on the game. Secondly the group trello allows us to have that focus and know what we need to do and thirdly the personal trello lets me set dates so im focused on meeting dead lines so the game can work on release

So for our game I was the programmer and also the game designer. I had control of the project and lead my team in the direction we needed to get our game done. So we had Cameron doing mainly the art for the game we had Lewis making the music and the sounds along with some of the art for our animation and me doing all of the doing and making the game mechanics for our game to work.

So for my job i simply started by making a box with a simple background and started work on making the 2d character controller. This was a simple task and all I had to do was make a simple script and make sure my sprite had a box collider and so did the walls so that the character couldn’t go through walls. I tested this and it worked. I also had to make sure everything had colliders and the player had a 2d rigid body This is the script that i used and this is it in action.

now that i had this working i wanted to get the countdowns for the game working. SO what i needed was a 3 second timer for the prompt screen and then a 15-20 second timer for the actual game. What i needed to do was make it so after this timer had finished it changed to the appropriate scene. Also at this point we now had our textures implemented and had a basic character that we would animate later. So here is the code i used for the scene changers and here you can see the code in action along with our new textures and basic character in game

Here is an example of how the scene change works and its the same with the win scene just the timer is longer. and here is the code that makes it work.

So now that we had a moveable character and the countdown timers working now what i wanted to was create a lose scene. this means that i would have all my scenes made and working. So just to explain how the game works and loops. SO you start on the start scene which lasts 3 seconds it then automatically loads the game scene for 15 seconds if you survive the whole time you go to the win scene and if you touch a laser in that time you go to the lose scene.

So now im going to create the lose scene for when someone loses. SO what im going to do is implement the texture of the lose screen and then create a replay button which loops it back to the start.

Firstly i created the scene and this is what it looks like.

i then used the unity ui system to create a button and make it a replay button. This is very simple to use in unity and only requires a little code to work. So this is what the button looks like i just made it simple and used the font we have used throughout.

So now i just had to make it work and link it up. SO this is the code used to make the button work and this is it working in game to bring me back to the prompt screen

As you can see its the simplest code ever and uses the unity engine scene manager and just moves scene when the button is clicked. Here is the button working.

So now we are nearly at the point in which all the scenes are set up and working as they should. All i had to do now was make a laser that ‘kills’ the player and moves him to the lose screen. SO to do this was very simple and only required a little bit of code to be attached to the laser.

firstly this is the simple sprite i was going to use for the laser beam so all i ahd to do was add a collider to it and add some script so that when the character touches the beam it changes the scene t the lose screen.

This is the code thats on the laser. How it works is the laser is simply looking for an object with the tag player and if this object interacts with the laser. it changes the scene to lose. So basically in our game if the character touches the laser it will change to the lose scene. And here is it working in action.

Now we had the basic scenes and things working now it was time to create the laser system. So the idea was simple all i had to do was make a list of lasers and make the game pick one laser every second to turn on and then turn off. So it was simply turning a random laser on and off every second. To make this we would need to make 2 scripts. one for every laser which tells it what to do when its been selected and one which stores all the lasers and picks one. So firstly i had put the lasers into a parent and then put all those into another parent. This is what it looks like in the hierarchy to explain.

and this is what it looks like in the scene as i have positioned the lasers where i want them.

All of these have the script ive done prior that kills the character and now i created 2 scripts. One called lasers and one called laser commander. As i said the laser code would tell the laser what to do if its selected and contains timers of how long it should stay on and the commander will make a list of lasers and select a random one to spawn.

Here are the 2 scripts i have created firstly the commander

and secondly the lasers script

So as i said i have attached the alser script to every laser and the commander to the parent that holds them all. So to sum up this code. It simply turns every laser off at the start and all of these lasers are in a list. It will select one laser to turn on and it will stay on for one second and turn off. I have made the commander so i can choose the time in between lasers to make the game work better or worse. This is the system working in game

So as you can see it chooses a random laser every second and i can alter these values if i want.

Ok so next i basically had to duplicate the code and make a new set of lasers for the top. But instead of having them all in the same list and there being a random laser chose from either top or bottom. I wanted to make it choose one from the side and one from the top so that there would be 2 different random lasers each second. and simply to do this i just had to alter some of the script and make the new commander create a new script instead of using the old one. so as you can see here i changed the name to laser 2.

SO now i had lasers randomly firing from both directions each second.

So as you can see we now had the main part of our game working as we had the lasers and all the scenes working. SO now we had another scrum meeting to confer and see where everyone was and what we had to do going forward

Here is our second scrum sheet of how we are doing and how the game is going.

Polishing the game

So to make our game better and more refined there were some things i wanted to polish and make better. The only thing we mainly need to do was the character movement adn adding an animation sound and truting mechanics. i want to do this to make the game look better and the character look more alive

So now it was mainly some finishing touches and polishing the game so some things i needed to do was implement al the music and sound effects made by Lewis. So firstly i simply made game objects and applied the background music for each scene to them. You will hear these in the build of the game. We also had laser and footstep sounds. But i would do the footsteps later. So i then implemented the laser sounds every second so that they were in sync with the lasers shooting and it sounded clean as if the lasers were making the sound. And just to reiterate u will be able to see this in the build of the game.

Next i wanted to improve the character movement system. I wanted to add footsteps an animation and also i wanted the character to flip when you move the other direction to make it look smoother and more realistic. SO firstly I set off with the animation. I got Lewis to create the frames for the animation and then I imported them into unity and with help with the animator and animation tabs I made the running animation. To make this work when the character moved i needed a bit of code and i needed 2 animation clips. AN idle and a running. What the code would do is make the animation trigger when the character is moving and stop when he isnt. This is what the code looked like that made this work.

It is very simple as it references the bool i made in the animator and just turns it on and off depending if im moving. Here is it in game

Now that was one out of three of the tasks i wanted to do completed. Now for the footsteps sound i used a similar code here is the code

So made a variable called is moving. and set it so if the speed changed it was true and if not false . Which is basically saying if the character moves its on and if not its off. I then made this affect the audio source. SO when the character moves the sound plays and when he stops it stops. Which in favor creates this cool footstep effect. You will be able to her this in the build of the game.

Now i had done 2 out of 3 of the tasks I wanted to complete for the character. ow i wanted to make it so he changed direction when he turned and to do this it was very simple all i had to do was make an if statement where if the right arrow was pressed down it transformed the rotation 180degrees and when the left was pressed it went back to 0 degrees which is the right way. Here is the code

So as you can see its very simple to understand as all it is doing is flipping the character. Here is the movement system.

#

So at this point our game was basically done we built the game and came across a massive problem as the aspect ratio was on free so when the game build everything was out of scale. This set me back a little as i had to resize and try fix the scale of everything but I think I did it quite well and made it the best i could and after that our game was basically done. Here is a build of the game so you can play.

https://connort.itch.io/laser-dodge

Post Mortems

Post Mortems are a form of document which is done at the end of a project and goes over what went well in a project and also what went wrong or not so well and can give a summary of the project and maybe what can be done better next time and what should stay the same and we are happy with.

Here is an example of a post mortem from resident evil 4

https://gamasutra.com/view/feature/195143/postmortem_resident_evil_4.php

This is a good example of a post mortem for a game and there are a lot more out there

Design a site like this with WordPress.com
Get started