Intro: Creating a 2D Puzzle Geometric Game
For our project, we decided to do a 2D puzzle video game in the style of the hardest game ever made. The concept was to make an even better and more addictive game than our previous one (Wild wild man) that you can play on your computer and maybe one day on your smartphone. The whole team enjoyed creating and developing the previous game and with the knowledge we acquired by making the Wild wild man, we thought it would be fun to make an improved game. During the course of the project, we decided to focus more on a game concept that would be more appealing for the general public. We wanted to create a hit game such as 2048 or flappy bird that is simple and could be sold easily to gamers all over the world. We were able to experience this process by testing various games and concepts to understand what made them so fun and addictive to play and tried to integrate those elements into our game. To create our game we went through many conception of ideas, various types of designs of sprites, programming of the mechanics and several music productions. The conception of our new game made us realise the value of creativity in video games and the elaborate coding that makes a game good.
The idea for the conception of our game stemmed from the fact that we received a lot of feedback from our previous game encouraging us to create something even more fun and addictive to play as there was a key element that was missing from our old game, the wild wild man. We therefore set out to get inspired by various hit games and decided to create a fast paced puzzle game that is hard enough to make the gamer want to complete the game but yet amusing enough not to make the person rage quit. Therefore came the creation of the Death-o-meter. Originally we wanted to continue our old game by creating a story mode and improving the survival mode but we decided to scrap that and make a whole new game. The goal of the game is very simple; try to complete the game with the least death’s possible! You have to evade moving blocks and if you touch them you die and you have to restart the level you were on. It is a rinse repeat process until you are capable to complete all the levels. The game has a bit of a sci-fi style music (electronic) with a geometric theme such as geometry dash. The game is very easy to play. You just open up the menu and select the PLAY button to start. The game involves basic controls of up-down and side-to-side movements using the arrow keys. You must complete the various challenging levels by passing through each level but beware of the moving blocks! If you are not able to evade these “enemies” during a level you will automatically be respawned at the start of that level and a counter indicating the amounts of death you accumulate will go up by one. The goal is to complete the game with the least amount of death’s possible. The purpose of this game is entertainment. It is there to keep you occupied when you need to pass time or when you are on the subway going back home. The game is easy to play and it is accessible for any age group. It was a lot of fun to make and we hope you enjoy it as much as we did making it. For this project, we were a team of 3 people: Yael Demers, Kevin Teo-Fortin and Cédric Barré. During the project, Yael designed some of the sprites and took care of most of the programing in the MMF2.5 software to build the game. Kevin created the levels and helped with the programming in the MMF2.5 software and did the Instructable. Cédric designed most of the sprites and created the music for the game with an app called Figure.
Step 1: Materials
- A computer
- A smartphone
- Music Instrument (If you plan to use them to record your audio files)
- MMF2.5 (multimedia fusion 2.5)
- Gimp 2 : https://www.gimp.org/downloads/
Step 2: Sources of Inspiration
Before we decided on an idea of a game concept, we had to test several games to figure out what kind of style we found was the most addictive and which one suited our style the most.
Here is a list of games that we tested to determine what type of game we wanted to create:
- Raft wars (https://www.miniclip.com/games/raft-wars/en/)
- Commando (https://www.miniclip.com/games/commando/en/)
- World’s hardest game (https://www.coolmath-games.com/0-worlds-hardest-game)
- Geometric dash (http://geometrydash.co)
- Geometric wars (xbox)
- 2048 (iOS)
Step 3: Choosing a Theme and Concept for Your Game
After having looked through and analyzed various types of games you should settle on an idea and them to elaborate on and create your game. In our case, we wanted to create something with an arcade feeling therefore we thought of using bright color and electronic music.
Step 4: Making a Blueprint for Your Game
Before you start programming and creating any sprites you have to make sure that your game makes sense. To do so, you have to make a blueprint of your game with all the rules, controls and conditions that makes your game playable and fun. In our case we created several levels with the mechanism of passing from one side to another without touching objects. That is what composed our game, and the blueprint helped us to see if it was fluid with the mechanism of passing from one side to another without touching any objects.
Step 5: Starting the Programming of Your Game
Now that you know exactly what your game will look like and how the game will work you can start developing your game. To do so you will have to download a software that permits you to create a game. In our case we used MMF2.5. You can download this software on this link: http://www.clickteam.com/multimedia-fusion-2
Step 6: Creating the First Levels
First, when you are using a software such as MMF2.5, you need to create an active (actives are object that will be able to perform certain task depending on the programmation you made) to do so, look at the top toolbar and click on import and choose active. Then if you right click on it, you can access to its propriety and therefore to its movements. You have plenty of possibility such as a platform type, random, bouncy movement, following a certain path, etc. Then, you’ll need to add some boundaries just so your active (in our case it was our player) does get out of the frame once we start the game. Afterwards, import as many active or element find in the “import” tab to be able to finish your level. Once it is done, go to the event tab : That’s where you’ll really start creating your game. On this page, you first need to set a condition, let’s say : When Player collides with Active 1.
Then, you click bellow the object that will be affected on the same line as the conditions and you choose the answer to the condition. There are many possibilities there, you can set scores, life counters, make object appear and disappear, set objectives, etc. Once all your elements are sets and the programmation is complete, it is time to try this level, to do so, you’ll need to click onto the “run” tab and choose “frame”. It will run your application and you will be able to try your newly developped game.
Once it is done, you can start working on other levels. To do so, use the storyboard editor and add a frame. There you’ll start the level the same way as you did when you started the first one. If you ever want to link those levels, you can do it easily. To do so, go into the event tab and set a certain conditions (what’s needed to change frame, as examples, you reached the end of a race or you have simply lose the game). Then, Using the storyboard control (in the choice of responses for the set condition) and choose jump to X frame. For further information on the creation of levels and games using MMF2.5 follow those tutorials :
Step 7: Music Production
To add a certain vibe to our game, we decided to add music. Since it is a fast-paced game about avoiding dots to get to the end of the brightly colored levels, we thought that an electronic type of music would fit well with our game. To produce the music, we found an Iphone application that allowed us to create a loop of electronic music. The name of the application is Figure that can be found on the app store. The application itself is very easy to use. First, you choose the musical key of the loop and the tempo. From there, you can lay down a percussion beat by choosing which of the percussions you want and their rhythms. Next, you can add a bass riff to your loop with a piano-like feature. The various keys of the piano correspond to the notes of the scale taken from the musical key chosen. Therefore, any notes from the piano will sound good together. After this, a layer of lead riff can be added with the same piano-like feature of the bass. Now at this point, the loop created should have a percussion part, a bass part and a lead part. Finally, the tone of each parts can be adjusted in the “tweaks” section. When you are pleased with the result of your loop, it is possible to export your loop to Itunes to listen to them outside of the application. For our game, we created loops with a fast tempo and a prominent percussion. This stimulates the player’s concentration.
Step 8: Implementing Music in Your Game
In order to add another dimension to your game, you will want to import the audio files that you either downloaded or created. To do so, put all of your files in a single folder (it will be easier to locate them if there is any problem) then go to the programmation tab of the software. Once you are there, select a condition (as an example : At the beginning of the frame…) then, click on the audio tab and select how you want it to be played (sample, loop, music, etc.).
For further information on how to import audio files into your application/game see :
Step 9: Graphic Design
For the visual art of the game, we wanted to have colorful levels that are attractive to the player’s eyes. Moreover, the overall theme of our game is geometrical shapes. Therefore, we decided that the in game shape of the player and the shapes he needed to avoid would be circular and that the background would consist of angular shapes. This contrast makes it feel smoother for the player’s eyes. Furthermore, the software used for the creation of the graphs is Gimp. With its wide variety of colors and tools, Gimp allows you to paint anything you have in mind on your computer. To create a background, simply choose the size of your image by going into Files and New Image. Then, select the pencil icon on the rectangular floating tab on the left. From there you can manage the size of the pencil ink and its opacity. Moreover, the color of the ink can be chosen by clicking on one of the overlapping rectangles in the left tab under all of the tool icons. With your pencil set, the background can be drawn from your imagination. Finally, with the background ready, the image can be exported as a .png and put into the game. The same can be done for the dots but the size of the image chosen at the beginning has to be smaller.
Step 10: Implementing Graphics in Your Game
To implement the graphics in the game, first click on the object that you wish to import the graphics on. It can either be background, backdrop, active, etc. Then you have two choice, you can either use the icon import to modify the sprite, add an animation, etc, or directly modify the sprite and the graphics onto Clickteam using its editor.
For more complete information, see this tutorial :
Step 11: Finishing Your Game
Once you finished designing your levels, you need to make a menu, credits and/or a restart/exit page. To do so, you need to make a new frame and then using the import tab add buttons or any controls to perfectly set your game up, using the techniques learned through the last steps. Adding animations, music and/or visual effect can increase the quality of your menu while making the game look attractive. If you do not want to use the pre-made buttons offered by the software (since they are not really customisable) you can design some using the graphic editor of MMF2.5 or any softwares such as GIMP or Photoshop.
For more information or different type of menu/credits follow those tutorials :
Step 12: Troubleshoot and Testing
Now that your game is programmed, the music and visuals are implemented, etc. You need to test it to see if there is any kind of problems or things that feels odd. Once you manage to fix everything you found, ask other people to test it, not only your relatives or your friends, try to have multiple point of view to be sure that your game works correctly and please your targeted audience.
Step 13: Conclusion
For this final project, we encountered again a couple of problems. These problems were all related to programing. In fact, although we have already created a game, we still do not have much experience with creating commands and such programmations. Since we are using the free version of MMF2.5, we were restrained with certain actions such as exporting the files and including more than 3 frames into the game.
The first problem that we had with our game was the spawning of our character. In fact once we transitioned from level to level the character would sometimes be invisible until it died or took a couple of seconds before appearing. This problem was solved by increasing the amount of time between spawn times which permitted the software to recognize that there was an object in the game space.
Secondly, we were not sure about the difficulty setting of our game. At first, the first sketches of our game seemed quite easy to complete but once we implemented them in the game we realised that they were quite challenging. We therefore decided to tweak the settings of the speed of the moving objects and add various types of increasingly difficult levels to adapt the user to the fast paced and frequent deaths that he/she will experience. This is to maximize the appreciation of the game and make it addictive.
We also tried to implement a leaderboard where the scores would go from smallest to the highest but we were not able to find a tutorial or a system inside MMF2 that could permit us to do so. We thought of putting negative values but this was visually unappealing. We therefore settled on a congratulatory note and a note with your final score.
Finally, another problem that we encountered was that the text that we wrote as the amount of deaths rack up was behind the background. Therefore sometimes we could not see the text on certain levels as certain obstacles blocked the text. This problem could not be solved sadly...
There are many ways we could improve our game. For example, we could have done a system in which the game loops once you’ve completed all the levels but this time with an added difficulty such as increasing the speed of the objects or even having to control two objects simultaneously at the same time. Also, a moving background could have been more interesting visually. We could have also added a survival game in the game where the purpose would have been to survive as long as possible with added objects that want to collide with you. All in all, we could have added more aspects to the game to increase the different gameplays to appeal to a bigger public. We did not want to implement the loop process as we thought that it would be more fun for a gamer to complete a game than to play it infinitely and lose interest in it. However this aspect should have been more explored by doing a survey with a public to understand the general opinion. Plus if we had more time we could have programmed the game so that once you’ve completed it, you unlock the ability to loop back at the beginning and then play it infinitely. In this situation, the purpose of the game would be to do the most loops possible with the least death. We would’ve also liked to put a leaderboard in the game to add more competitiveness in the game.