Stage Offer – Software development

Hello world of learning developers!

We are currently looking for a stagiaire interested in game programming (C++), hardware programming (C), as well as basic PHP. Stage should be 5 months starting in September. We are particularly looking for a MediaCollege Amsterdam student, but obviously anyone with the skills and drive is welcome.

We don’t pay, the work hours are insane, and for some reason stagiaires actually come to work during the holidays, and for as many stages as they can. Go figure. I guess people enjoy the company.

What do we have? Beanbags, tosti maker, coffee, tea, lots of interesting work to be done, and the coolest monkeys west of the Ij.

If you want to apply, please use the form.

My experience with Core Data and iCloud

I have been working with coredata and icloud and it’s very interesting because each instance of your app, on each device connected to an iCloud account, maintains its own local core data store file. when data changes locally, Core Data writes change log files to you app’s default ubiquity container.
the log files that have been changed are uploaded to icloud and downloaded to each of a users’s other devices
when you use icloud you must take care when designing the app launch order because there are many thing you must consider for example
1. The user may not have iCloud available on his device
2. The user might switch to another account
3. You might want to use a fallback store as “iCloudstore” to store the data when iCloud is turned of
With core data you can manage your data with the Core Data Model Editor, it provides graphical and table-based tools to edit your data and also the relationships with each other.
The editor is made up of two components
1. The components area (left side)
2. The detail area (right side)
The information on the left side is are the components for example entities, fetch requests and configurations.
also the configurations are important to use so you can decide which data goes in each store, if you don’t give it a name you wil have to use “PF_DEFAULT_CONFIGURATION_NAME” when creating a persistentStore. the problem i had was that i used “Default” as name, because in the editor it is shows default as name.
on the right side you have the details where you can determine which type you want for each entity, for example if you have a Person entity with a name as attribute you can give it a String as type.



Using the Adobe Flash sprite sheet generator for .plist files

I have worked a lot with Adobe Flash during my internship at Astute Monkey Studio so far. But since we are making the games for iPhone and iPad we need .plist files for the animation sprite sheets.

How to do this:

Generating the sprite sheet

A way to create a sprite sheet is to right-click over the (movie clip) symbol listed in the Library panel and select Generate Sprite Sheet from the pop-up menu.

Where to click to generate a sprite sheet.

The Generate Sprite Sheet will open in its own panel­.

Generate sprite sheet window

Incorporating the sprite sheet dynamically in a game

To prepare the sprite sheet for incorporation in a game, select the appropriate data format (see pictures below). The data format describes the xy, width, height and other info for each frame of animation in the sprite sheet. The developer uses this data to produce an animation from the sprite sheet for whatever framework they are using. (we use cocos2D v3)

cocos2D v3

If you click Export now you will get 2 files. The .PNG of the animation and the .plist file.


Ad Astra

Well, it’s this time of year again! Trees are in bloom, rabbits seem to multiply everytime you check, and actually they do. Cute rabbits everywhere…. they remind me of bugs, and tasks, and issues. For every one of them you find two others come out. BZZZZTscrrBZZZZT

Ahemf. Looks like our programmer suffered a temporary breakdown, probably due to abuse of coffee. Please allow me to stand in his place and introduce you to our new game, Ad Astra.
First, we have to define a style. To this end, we create several “style concepts” and compare them before deciding on a style.

We’ve for example tried a style with very blocky elements, where edges are very present, and a style with very colourful bits and pieces, almost candy-ish.

This picture shows a possible style for the Ad Astra game

Ad Astra concept art

concept art for Ad Astra

A shiny style for this version

In the end we are going for a cartoony style, which the team liked more, and fits better with the idea of cooperating with other players to achieve your objectives.


There is free coffee here..

Hi everyone! I’m Dustin Agerbeek and I am an artist intern at Astute Monkey. I have been here six weeks now.

The company is overall not that big. I find that pretty pleasant, because now I feel how it is to be this responsible for certain parts when speaking of art. ­­What is most important is of course the people you will be working with. Luckily I have colleagues who I can get along with very well.

For the first weeks of my internship I spent my time on several things for different games. We do almost every day different art for different games. For example ‘concept-art Thursday’. Co­ncept art is actually new to me. Well not totally, I have of course done concept art before but not concept art that we will actually be using for a game that will be sold, you know.

‘’Concept art is an important aspect.’’

The game I am making concept art for today  is called ‘Dark’. Dark is going to be a point and click game with 3D characters/effects. I took a picture of the train station Haarlem Centraal and used that to start one of my environment concept art for Dark (Space ship hangar).

Before I started concept art I made several things for the other games as Sanctuary, Flickerty Flick, Accel Chaser and Sky Dragon. For example the icon of Sanctuary, it needed to be perfect. It has to tell the buyer what he or she is buying. So we make hundreds of Icons until we have the perfect one. I find this not annoying at all, it is fun to hear what other people thing and to see the progress I just one small icon.

The start of making the icon

My first 2 weeks working with Spritekit

I spent the last two weeks working in Apple’s SpriteKit.
The first thing I learnt was working with the different Nodes for example SkSpriteNode. It is really useful to work with these nodes because you can use them to distinguish objects from each other using the name property.

You also save time, since  you don’t have to code some of the things yourself. For example, there is already  a mechanism for animation, so you don’t require your own animate class. To add an animation in your node, it’s as easy as :

SKAction *animate = [SKAction animateWithTextures:self.playerAnimation timePerFrame:0.05];

[playerNode runAction:animate];

It comes for free with SpriteKit ;)

Also working with the OOP/MVC in Objective-C was new for me, but after seeing some examples from the book “iOS7 App Development Essentials” by Neil Smyth,  I learnt how it works. It is really useful because your code will look much easier to understand and also will be easy to read and edit for other people.
A technique I learnt which I recommend for working with iOS is using a PList(property list). It is a list where you can easily add data like pictures as a key and add a value to it so u can get it and use it in your code. this way u can easily replace pictures by changing the value in the plist and then you don’t have to change the code, this is very handy when working with game artists so they can also add and replace art in a simple list instead of u changing the script.

Starting with Objective-C for iPad/iPhone in Xcode.

For the last three weeks, I have been working with Objective-C for iPhone – iPad. I started from scratch, with experience from other programming languages. I’ve come to the conclusion, that it is not hard to understand if you set your mind to it.

I’ve been from the basic difficulties (e.g. Objective-C formulation of calling a method) to relatively difficult matters (e.g. maintaining an OOP style in the MVC design pattern). It took me about 1 week to understand the formulation of Objective-C. The hardest part so far was (and still kind of is) figuring out where the pivot/anchorpoint is on certain objects. Often it looks random, but usually it’s in the lower-left corner of your object. This causes problems with scaling or retrieving the correct size to check if the object made contact with others.

By the way, I will keep this blog updated somewhat weekly, so if you’re new to Objective-C or making games for mobile devices, then make sure to check here regularly, since I will discuss the problems which I’ve encountered on my way to creating iPad games.

OOP: Objective Oriented Programming


Dear Monkeys,

for the last month, several of us have been growing a November moustache.
The #Movember cause, which tries to raise awareness for the evil cancers that plague men, consists in growing a moustache (which is, quite honestly, very unpleasant to wear).
People ask you why, and you get to speak about cancer research! Donations to cancer-research institutes help find cures for this terrible disease, so donate and speak of #Movember.
Astute «Mo»-nkeys indeed!
Maybe, next year, we’ll push a virtual moustache app!


Ocean Wrecker

Dear monkeys!

We have created a small game during a 24h game jam with our Android team. This game is about industrial fishing, which destroys the oceans, and particularly fish and coral populations.
In this game, you impersonate a greedy “Ocean Wrecker” who destroys coral reefs (worth 5 points), fish banks (worn 1 point), and powers the fishing boat with nasty, leaking oil.
In order to power the boat, the Ocean Wrecker needs to turn simple oil fields into oil rigs, but rigs cost points, which are earned… by fishing!
The game is won when the fishing (and oil-rig-building) ship reaches the top.

To turn an oil field into a rig, it’s pretty easy: press it once you have earned more than 10 points! But beware of the green activists’ ships, which will bump back your last environmental damage!

The game is available on Play

Oil rigs and ships

Oil rigs and ships

Once you have played the game, do have a look at Greenpeace’s site, or if you’re French at Alter Avel,and learn about non-destructive fishing alternatives!

Krankenhaus: The Hospital

Shambling hordes of monkeys haunting the e-jungle,
since Halloween is upon us, as you maybe have noticed from the liters of pumpkin-flavored coffee pouring at astronomical prices, or from our games themselves!

Well, we have started working on a new type of game for us, a horror game. We hope the development process will be a dream, for we have a dream team!

Krankenhaus teaser

We expect to release the game around the end of February, so stay tuned for more news!