September 28, 2015

Monkeyrama Development Cycle

After 1 month and 1 week of development, the level-based physics puzzle game, Monkeyrama, is finally ready! It is currently waiting for review on the AppStore.

It took about 1,5 weeks to build the core game features such as throwing, monkey-switching, camera movement, level flow, etc. The menus are rather simple, so they took only half a week to create, where the hardest part for me was unlocking the levels in order, since I'm still a shitty programmer.

The next 2 weeks then went by creating levels and two new themes, of which the levels took about 95% of the time.

Finally the last week has been about listening to TestFlight testers' feedback, polishing, and creating marketing materials.


The game will be a premium game ($0.99) and iOS only for an undetermined period of time. Partly because of the obvious reason, featuring chances, and partly because I still haven't decided what monetization methods I should use on Android.

Next up is creating more levels and another theme as the first update for the game.

I sure won't develop such heavily level-based games as my next titles, as it quickly becomes a time-eater and a rather boring task, to be honest. :)

September 7, 2015

Monkey Madness

Here's what I'll do after Tim - the Unsatisfied Artist.

It's a simple crossing of Boom Bloxx and Angry Birds, I'd say.

You got 4 types of Monkeys which have their own quirks, and each are pre-determined within a level. Your target is to reach the target score by bombarding the shit out of the constructions.

Web version can be played here (no longer available)

The current version has the first episode levels in it. Gameplay-wise it's close to final but I'll do a bunch of other obvious things (visual themes, more levels, better menus, re-order levels, tutorials, etc.) before I consider it as a publishable product.

I will also create a feature that lets a player continue a level with 3 extra bomb monkeys. The feature can be used every 60 minutes or so, and is fully free, as the game will be premium.

I'm also considering to record a walk-through video of each level to which I could link to when a player fails a level.

Both above features are on my list because many of the levels are quite difficult. I wanted to make them hard to have it feel more puzzly/challenge-like, and partly to have more gameplay time.

As of now I've used a bit more than 2 weeks developing it, and am estimating that it takes about 2 more to finish. The most time consuming task is to create the levels, which has taken ~half of the dev time. But that's what you get when you go develop a level-based game.

I also consider doing a turn-based multiplayer on a single device, where the players would try to destroy each others' block piles. Not really sure if it'd be worth the trouble, though.

General feedback is very welcome, but here's a few things I'd especially like feedback on:

  • Going premium: Would it make sense to go premium on iOS and free ad-based on Android? Do iOS players feel cheated when devs do that? 
  • Difficulty level: If you played the prototype, let me know if any of the levels just feel way too hard.
  • YouTube walk-throughs: Is the idea good, or just unnecessary as the players might not find them useful?
  • Any name ideas for the game? "Pomperion" is obviously a working title. :)

Bug reports are also welcome!

September 6, 2015

Simple level editing tools

Here are three (3) super simple scripts to help out when doing level editing in Unity. One of them is snagged from the Unity forums, and has the developers' credits in them. The other two I created as I felt that they'd be very useful when handling multiple game objects within the scene hierarchy. Code-wise they're no magic, but in level design they're very useful, so I figured someone else might've been looking for something like this, too.

They're called Replace, Group and Ungroup. Basically they just create or remove game objects to match your commands. 

The Group function (Ctrl+Shift+G) creates a new game object called "Group" and puts the currently selected objects under it.

The Ungroup function (Ctrl+Shift+D) removes a selected object and puts its children objects into the same place in hierarchy, where the selected object was.

The Replace function (Ctrl+Shift+R) has a separate window for it in which you have to set up what objects you want to replace and with what prefab. The objects you had selected when you hit Ctrl+Shift+R will be pre-set as the objects you want to replace.

Download them here.

Just place them in a folder called "Editor" in Unity and they should appear in the top tool bar.


September 4, 2015

First steps


The first goal I have is to get something published on the App Store and Google Play. This means setting up the developer accounts, getting the right equipment and going through the full process on my own for the first time.

I'm not anticipating to get loads of users or moneys with this game, as its pure intention is to get familiar with the process so I can better adjust myself in the upcoming projects.

But still, I don't want to publish just pure shit.

So I've developed a game called Tim - the Unsatisfied Artist. It's about Tim not diggin' the current pieces of art he's seen and has set sail on a journey to find the best piece of art there is. He does his journey by flying through an art gallery browsing the paintings on the wall, while avoiding the spike fences built in front of him (for some reason).

The controls are a slight variation of Flappy Bird - instead of just taps you hold your finger on the screen to gain upwards force. Previously I had an Angry Birds-like control scheme but had to drop it due to the first non-me user playing the game had no idea how to control the character.

The game includes hats because all games need hats and that's just an universal rule. You get a new hat by playing 50 rounds, or by sitting through an ad. I wanted to get my first touch with ads too, so that it wouldn't remain a black box to me. I chose Unity Ads, which was super easy to implement; altogether ~10-20 lines of code to fully implement incentivized video ads.

I also wanted to try something totally different with the topic of art. In the game I suggest people to send their own art to me which I'd then expose as paintings on the wall in upcoming versions. Sharing can be done via email, FB or Twitter. Twitter-sharing then "ends the loop" where players can share a screenshot of the game - maybe at some point with their own art shown in the background.

I think it's a long shot to combine a game and an art gallery but it sounded fun so why not!

The development from start to finish took me about 1,5 weeks. Most time (~70%) was spent to meta-game stuff such as Twitter-share, hat-reward system, save states, etc. where as the core game design & programming took less than 10% of the time.


Becoming an indie

I've recently parted ways with Boomlagoon and have now become an indie developer.

As a developer I enjoy most when I get my hands dirty on many subjects of the production, I get to create games in as short cycles as possible, and get to try different design quirks in each game. As a (mobile) gamer I've always been a casual player by heart.

Putting the above facts together, I've formed my own business called Part Time Monkey - me being the Monkey.

My idea is to be open about my goals, process and ideas in order to get the purest feedback possible. This will include public data of my products (good or bad), web versions of the prototypes I'm working on, blog posts about the ideas I have, and any other way of getting that feedback. I also try not to be too serious about this stuff, rather just enjoy creating what's cool at the moment.

If there are any experienced indies reading, let me know if  you know of any obvious pitfalls I should avoid while taking the first steps. :)