I recently decided to give game development a try with Construct 2. It turned out as a small RPG prototype, named Dan the Rabbit. In this article, I’ll share a couple of lessons I have learned working on this little project. And if you like what I'm doing, you can follow me on twitter and on facebook!
A bit of backstory
Dan the Rabbit is a short game meant to showcase my artwork to potential clients and other people working in the gaming industry (after all, I make a living mainly as a freelance 2d artist). Thus, the target for this little game was to give all it had in less than 30 seconds. I thus put an emphasis on the visuals: a detailed background and two cute characters. This also gave me an opportunity to try creating an rpg battle system with Construct 2.
Lesson 1: code it twice
Coding a full battle system requires quite a bit of upfront work. I only had a week to get a working demo for an exhibition, thus I used a lot of placeholder code. At first, the whole code was anything but smart: there were quite a few duplicated events to make everything work visually, out of the box. This gave me a solid proof of concept in less than a day of work, despite my small programming experience. I then have had plenty of time to focus on the visuals and music to showcase the week after. I got quite a bit of positive feedback, which led me to push the prototype further.
Lesson 2: keep the visuals rough
Being a visual artist, I’ve made a typical artist’s mistake: focusing on the visuals first. I had an unused character designed from a cancelled project already, so I let it set the mood for the whole game. I knew it would work from prior professional experience. But still, this was a risky choice, as the challenge in creating Dan the Rabbit was on the programming side: a turn-based RPG isn’t the simplest thing to code and organize in Construct 2.
As far as game design is concerned, it’s only necessary to roughly find the right scale for the various visual elements of your game: knowing how far your camera is from the characters, how big their bounding or collision boxes are… thus initial sketches are sufficient to build up whole prototypes. Any polished asset made before a working proof of concept will most likely end up in the dustbin. Thus, keep the visuals rough! Here’s example of prototype graphics I’ve prepared for my latest project, The Little Arena.
Lesson 3: animation is a key game design element
Dan currently features a basic game system: the player can attack and dynamically hit a combo. As far as gameplay is concerned, that’s about it. Yet, I’ve received really positive feedback on it, despite the lack of content. People like control. They like the feedback they get. Well, to me, this is mostly about animation and timing: I’ve tweaked tween durations and animation timings in order to get a fluid gameplay. The buttons pop up fast, the attacks snap, yet there is still a bit of subtlety in the selected timings. The player doesn’t have to wait to take actions, but the game waits for the slower players.
A quick trick for you guys: you can use the new slider bar object to tweak durations and animation speeds at runtime (or every other variable in your project). This object works pretty much by itself: you need a single line of code in order to feed its value into a variable of your choice:
I then reuse this animDuration or tweenDuration value to tween an object’s position and scale. For tweening operations, I use the exceptional liteTween behavior from lunarray, as well as the Spriter plugin and animation software for characters. Check both out, they are my two preferred third-party Construct 2 plugins!
Lesson 4: KISS – Keep it simple, stupid!
This is an animator’s mantra. As far as design is concerned, the idea is to focus only on what’s essential, on what works. This general concept aims at aiding us to focus on the end user’s need for simple, accessible controls. There’s no need to complicate a game design for originality’s sake. In practice, we can pick a single core mechanism, a unique character, a unique environment for the game and dedicate ourselves to it; spend the necessary time to make it feel polished and compelling.
In Dan’s case, the core element that structures the gameplay is the attack mechanism: the user has to give an input for every hit. It’s very simple, and it appeals to a variety of players! The animation is a bit bouncy and punchy, but never complicated!
Do you want a specific tutorial? More information on Dan the Rabbit or specific techniques I used during its development? Drop me a message! You can follow me and ask me questions directly on twitter, facebook and google plus.
You can find all of my articles and tutorials about game design directly on my website: GDquest.com/ !
You can find all of my Construct 2 tutorials on this forum post.
I'll be releasing two tutorials until next Tuesday, and those will wrap up the current series on general Construct 2 techniques. I'll then start writing about the main request I got a few times already: AI.