Through the Playground

Recently I’ve participated in a game jam for the very first time. The jam was about adventures ( http://jams.gamejolt.io/adventurejam2016 ) and our team decided to make a classic point’n’click game, here’s what came out of it (playable in browser): http://gamejolt.com/games/through-the-playground/143451.

I would like to write a small post-mortem to share some thougts and maybe inspire someone to take part in similar activity.

Cocos2d-JS was chosen as an engine. For jams it is critical to make your game as available as possible. There are thousands of other entries and less actions you need to take in order to play the game means more people will play and rate it. Noone wants to download and install builds. Uploading the game turned out to be quite easy: сосоs compile -p web -m release, archive, upload and that’s all. After the build is processed you need to specify window size for you game, this allows you to avoid headaches with screen resolution.

JavaScript seems to be created for a “code like hell” mode, at least it’s my impression after two weeks. Development speed is 3-4 times higher compared to C++. And it’s pretty easy, one blog post (https://developer.mozilla.org/en-US/docs/Web/JavaScript/A_re-introduction_to_JavaScript) and some code samples from the engine were enough to get going. Lambda captures are trickier than in C++, but not by much.

WebStorm was used as an IDE, autocompletion and error detection works like a charm. I used a native build for debug, you cannot set breakpoints as in Web-version, but it’s possible to reload the game much faster. I’ve binded R button to cc.game.restart(); and specified full paths to source files, this allowed reloading all the scripts from disk in an instant. So the workflow was as follows: write code, tab to application, press R, check the changes, tab back to IDE, write code. Iteration speed was fantastic.

Python helped a lot. There is a module called psd_tools that allows exporting layers from PSD file as separate images and accessing their metainfo like coordinates, z-order, etc. The whole process of building a scene from a PSD took seconds, no positioning was done by hand.

One thing I wished for was SWF support, so one can import them as sprites. I’ve succesfully used SuperAnim for Lua game, but unfortunately there are no HTML5-version of this tool. All animations were exported as image sequences and the build size grew quite fast. For a desktop app it’s not that critical, but you will have some problems porting such a game to mobile.

It’s crucial to have some boilerplate code for the chosen game type before the jam starts. I spent a significant amount of time implementing some basic things for a point and click quest in the beginning and this made the last two days before the deadline very intense. Another good thing to have before the start is a thought-out core mechanic and a plot. You need to spend as much time as possible doing things, not thinking about what to do.

And the main thing: I got extremely lucky with my team. Artist ( http://dropr.com/ryzhov ), animator ( http://brainbox-art.ru ) and sound designer ( http://www.mushroomer.net ) are true professionals and it was a pleasure working with them. The overall experience is strictly positive and I recommend fellow developers to participate in jams to sharpen skills, get new connections and have fun. Here’s a good list to start with: http://www.indiegamejams.com.

You can vote for “Through the Playground” here (and it’s much appreciated): http://jams.gamejolt.io/adventurejam2016/games/through-the-playground/143451

4 Likes

I like the art. Congrats.

1 Like

Thanks :smile: