Introduction
Video-games offer the ultimate multimedia experience : sounds, musics, drawing, animation, video, stories.. all of this can be mixed together to create a fun and interactive activity, based on computer code and game design rules. And you know, multimedia… fun… code… challenge… that is the kind of things I like!
Few friends of mine already proved me that video game creation was accessible for non-professionals : RavaTroll, 10 years ago when we was in high school (that was quite avant-gardist at this time and for our age !) with his funny SFR Wars RPG, Skydromakk in 2009 with his simple Computer Chucks Escape one touch side scrolling Flash game, and William last year, with HeartBreak, a beautiful dark platformer game. This was inspiring!
I personally already made a text-adventure with Twine, La Revanche du Gobelin. But it didn’t provide the same experience. You don’t have embodiment and fancy controls, so the fun part of it is not accessible to everyone.
Recently, I tried level design for BadLand smartphone game, with a level called Aggression (you can find it under the user created worlds), and I have to admit it was quite fun.
I wanted to do more, to be able to really play with multimedia elements, and to tell my own stories. I had to create a whole game, mix all elements together, with the freedom of adjusting all parameters. How hard could it be?
I had the minimal background knowledge in game design. I just needed to choose the right tools.
Research
In order to make video game creation more accessible, a lot of developers created softwares dedicated to this task. According to what you want to achieve and how, there is some basic criteria you can check:
- Business Model : is it free open source, free demo with limitations, affordable or pricey).
- Platform output : for which platform is the game created, does it create an installer or is it playable online…)
- Type of Game : is it specialized for certain type of game precisely (RPG, platformers…), a certain aesthetic (2d, 3d…), or can you build all the things you want (2d, 3d, VR…).
- Difficulty : how quickly can you create something playable, how much background knowledge is involved, how good are the resources you can find to learn it…
So, I watched demos about different game makers (GameMaker, Unity, Superpowers, Godot Engine…) to be sure to make a good decision.
I end up with Scirra Construct 2. It is a paid software (one time payment, 99$), a bit expensive for what I wanted to do, but it has a free limited demo. It is designed for all kind of 2d games (platformers, side-scrollers, top shooters etc…) so it is quite flexible. You can output the game to all platforms with the paid version, but you are limited to HTML 5 / JavaScript for the demo : which is in fact exactly what I wanted, as the players would be able to play without installing anything. The complete manual is online, there is hundreds of articles written by users, and a lot of video series about how to make a full game with it… Finding how to learn Construct is not a problem.
But what seduced me the most with Construct 2 was that creating a playable platformer (a character controlled by the user and who can jump from platform to platforms) is possible in few minutes ! Construct 2 has a Behaviors system, were you can say that “this element will behave like a platform” for example, and all the common settings of what a platform is usually in a 2d game will be set to that object — of course, you can customize the values. There is also a visual scripting system where you can create events without writing a single line of code. Writing with code was not exactly a problem for me but the efficiency and ergonomics of the Construct 2 events system is really seductive for someone who don’t pretend to be a professional game designer.
I then watch several hours of tutorials, especially the recent How to make a Floofs Adventure 2D platform game using Construct 2 official Scirra Videos , and made a lot of research to see if this or that was possible, and I was pretty amazed to almost always find answer to my questions. Yes, Path Finding is possible. Yes, you can have Touch Screen Compatibility. Yes there is Particle systems etc… I share all these interesting stuffs on my Game Making Papaly board.
Experimentation
Before jumping right into a project, I needed to get familiar with the software, to test concepts, get used to the interface etc…
To memorize the basis of Construct 2 by practicing, and because I knew they could like it, I decided to teach what I have learned to my 14 and 16 years old brothers. They get familiar with Construct 2 quite easily, but they needed help for some game design ideas : “How can I make this object fall when the player walks below it?”, “How can I create a secret level accessible to whose who find the secret entry?”… these are the kind of questions for which I had to find or elaborate the optimum solutions. Teaching is a great way to learn.
After few days, they had playable small plaftormer levels, basic but fun, built with free assets found on the web.
I was ready to elaborate my own project.
Creation
Story
I was quite inspired by independent platformer games like Super Meat Boy or Thomas was Alone, and by retro ones like Sonic. I also just played Rayman Origins and Rayman Legends so I have a lot of ideas in mind.
But I needed my own story.
Simple idea, the player would be a “robot”. So that the animation could stay minimal without causing problems. Same things for the different enemies. Why the “player” would have to jump from platform to platform?
Robot with Robots… Sounds like a Robot factory. Well, the player will not have any weapon so maybe he is the victim, the one that should escape. Tada, I had the story: a robot that need to escape from a robot factory. Convenient!
Ok but why it is hard? Enemies, traps, platforms, I created a mind map of all things that I would like to see in the game.
Graphic Design
Then I started looking for free visual assets on the web. Some of them didn’t get any modifications apart from their size; I created the others based on free vectorial drawings that needed to be customized to fit my needs (I wanted to do vector drawing for the ease of customization). Modifying an existing asset (even intensively) is more easy that starting from a blank page, IMHO. This is how I designed the hero and the enemies for example.
During this research, I also find a very nice free Illustrator plugin called Subscribe, that offers a very handy tool to rotate a shape so that the chosen side become perpendicular or parallel to the layout, among other nice features. A must have for all Illustrator users!
Then, I started to design the basics controls and physics of the player object: how high is his jump and wall jumps, how slow is his wall glide, how quick are his acceleration and deceleration, how gravity affects him, what keyboard keys are used to control him etc… Designing how the main character would answer to user input is a key element for level design, this is why it has to be done as soon as possible. And because the player “is” the player object, it deserves a particular attention: the character should be enjoyable and fun to play.
After two days of tweaking, I had to do the same things but for all the other elements. Enemies, crushing walls, turret… All the behavior were created and adjusted before any real level, so I could focus on pure level design later. I had to elaborate some tricks to be able to do what I wanted, some required a certain amount of research and testing but I finally ended to succeed pretty much all I wanted. I was able to start the level design.
Level Design
Creating a level was really fun. It took few days to put all elements on this huge map (the player is 128px high, the map is 6144 x 3456!), it was a bit like painting a large canvas, by putting elements here and there in a logical manner.
For example: starting the level with the player falling was a way to show to the player how tall the map is. Then he found screws on it’s way telling him that is good to collect them (even if he didn’t know why at this time). Then he falls on a moving platform which moves away from danger (the acid and the falling blocks) and stops, leaving all the time necessary to the player to jump on the enemies below him.
Teaching the player the game mechanics by the play itself is the kind of thing I had to consider for the level design.
Also, there is a balance notion that is important : balancing moments of rush and rest in the level, balancing the award/risk of certain bonus in traps area, balancing the number of bonus available etc…
The more I went far in level design, the more I wanted to put traps or difficult action sequences, but all these traps were designed to be possibly done without losing any life point. So theoretically, it is possible to make the whole game without losing any single point. You will see that it is not that easy! 😛
Sound Design
Finally, after the level design of the level 1, I crafted the sounds by adjusting and modifying royalty free assets on REAPER, with some custom scripts I made, and I composed the end of level music.
Because of the 100 events limitations of free Construct, adding sounds was a bit tricky. Most of the sounds need their own events, and I didn’t have enough events available to put all of them in the game. That is also why there is just one music.
With more events I would have created a lot more things I guess, but it is interesting to see what is possible with free version of Construct 2.
The Results
The game is finished now. Cool!
I have to admit it is quite a difficult game, but not impossible.
Here is a quick list of what I succeeded to do in this project:
- Platforms
- fixed
- stable
- temp
- at touch
- mobile
- horizontal
- horizontally
- vertically
- vertical
- vertically
- horizontal
- Behaviors
- Solid
- Jump-Through
- Down-Through
- fixed
- Enemies
- patrol
- bump when killed
- random loot
- static turret
- Back to init angle when player is far
- patrol
- Interactions
- bumper
- switch
- Traps
- acid
- pics
- crushing block
- horizontal
- down
- up
- vertical
- to right
- to left
- horizontal
- falling box
- fall when the player pass below
- shake when the player is near
- Items
- nut
- Player
- Wall Jumping
- Wall Sliding
- Double Jumping
- Different Height Jumping
- Destroy Outside Layout
- Flash when Hit
- Slow Walking
- Life System
- Camera
- Look Ahead
- Smooth
- Height Offset
- Change focus at certain event
- Shake
- Menus
- Open URL
- Flashing Text
- Layers
- Parallax
- Fix HUD
I think that it is not bad considering that I had no idea about how to do that 3 weeks ago! 🙂
The whole game is about 4.5 Mo (2.7 Mo for the music), so it should be fine with most Internet connections.
The Game
Enough speaking, time to have fun!
Click on the link below and you will be able to play right in your browser!
Download “XTRM Robot Escape” index.html – Downloaded 932 times – 345.00 BI hope you will enjoy the game!
If you like it don’t hesitate to share it, and to leave a comment below! Thanks!
Credits
I use a lot of already existing assets for this project. The purpose was not to do a full game from scratch, but a simple game, focused on game design elements rather than aesthetics. That said, they almost all have been modified to fit the game (especially sounds).
Anyway, a big thanks to all people who share free assets online and who made this game more easier to do!
Platformer Assets : Kenney, pzUH,
Vector Illustrations : 123freevectors.com, freepik.com, flaticon,
Sounds : 8Dio, 99 sounds, Affordable Audio 4 everyone, Bronto Scorpio Sound, jev, Mischjok, HissandaROAR, ToneScape, Soniss, Mattia Celloto, ShapingWaves, Coll Anderson, Mechanical Wave, SoundMorph, fcw, Vocal Hazard
Instruments : NoizeField, Manda Audio, ChipTone
Music : Need For Adrenaline by Gregoire Lourme
Next Step
What could make XTRM Robot Escape more interesting?
- Checkpoints
- Password or save system
- More sounds events and musics
- More original assets
- More decorations
- More enemies types
- Temporary Bonus items
- More Levels
- Boss
- More Text events
- Cinematics
- Innovative gameplay elements
- Etc…
As you can see, ideas are not missing. Such things would require a Construct 2 License, with more events support… and a lot of time. Nothing impossible, but I may experiment different things with free Construct 2 first. A top view type of game could be interesting…
Conclusion
Creating a platformer was a stimulating experience, and I am quite satisfied with the result. It is always interesting to see how people take control of the player object and how they react. Some are completely crazies and try to beat the game by running in all traps. Some succeed to lose the game after few seconds of play. And some succeed to do impressive movements combo without loosing any points. But the more satisfying thing is to actually see people laugh and be involved while playing.
I learned a lot by doing this game, and it despite all the efforts it required, it was easier that I thought (that’s why it only took 2-3 weeks). I may continue my game creation journey by pushing Construct 2 further, or by choosing another software, maybe more open. That said, there is a promising v3 of Construct that is coming (it would finally be cross-platform, perfect for collaboration!)… We’ll see!
Did you enjoy the game? Did you find it funny? Difficult? Let me know by leaving a comment below! Thanks for your support! 🙂