Promotional Video

Happy New Year everyone!

We’ve started the first season of 2015 with our best mood, things are going great, and after a few minutes remembering where we left off before the holiday, the team was hard at work.

It’s always so enjoyable when a team sees their game starting to grow, people bringing great ideas to fruition… We’re polishing off a level and starting work on another level, which is very important to us, because we hope to be able to use it for our promotional video. The script is written, the rough storyboard is drawn, and now the basic tridimensional scene is laid out. We’re discussing details, such as “should you have an elephant painted on your couch’s pillows?”, “is purple a color our characters appreciate?”, “why would anyone ever want an infinite mirror as their floor?” or “are girls in the far future likely to live in a clean room or a messy place?”.

If you have anything to bring to the table on these important and critical questions, don’t hesitate to chime in. Also, is a pig form factor a nice idea for a robotic, moody alarm-clock?

In any case, we want to show the game’s characters in their daily life. What do they like? What do they dream of? What annoyances do they have to put up with in their quest to subjugate and dominate the universe with their armies of evil minions (no, sorry… wrong game… ) ah yes, in their quest to go through to the next work day with minimal mental trauma? There will be supercomputers, lasers, nuclear reactors, rockstars and bacon. Maybe even superheroes, space operas and ground-breaking science!


We hope you’ll be as excited as we are when you see the final result. For now, we’re going to work and refine, polish and shine, until it is perfect (or at least, until our favorite accountants warn us we’ve grossly overrun our polishing budget).

Christmas in the company!

Merry Christmas everyone!

This year, we’ve decided to celebrate Christmas by creating a little postcard, and we made a nice Christmas texture for Lucia, one of the main characters of the upcoming adventure game.

The plan is to have her be dressed in Christmas clothing if the game is played during Christmas time ^^


lucia (2)


New Internships for 2015

From February, the Studio will welcome several new interns in the Art and Development departments, which currently consist of one room each. Good news: both rooms are allowed access to the coffee reserve!

We’re currently looking for those lucky interns who’ll get to work on our not-so-top-secret adventure game, using the Unreal Engine, Blender, C++, Motion Capture, and lots of other fun things: they might get to do pixel art, vector art, iPhone development, concept art…

If you’re interested, and you think you have what it takes, contact us here.

Blender proportion editing issues with UV editing

I am using Blender to create the assets for the demo for DARK.

I had some issues with unwrapping the models, I accidentally changed a setting which caused strange options so I couldn’t drag points or edges separate in my unwrap, Blender kept taking the whole UV which was annoying and unpractical.


Where to disable the specific proportion editing.

Go to UV Editing on the top of your screen

1 - Copy

The UV Editing mode will show 2 screens which look something like this:

2 - Copy

On the bottom of the screen you see a drop down button with a dot in it.

3 - Copy

Finally you can Disable Proportional Editing here to unwrap your models by hand.

Concept art for Dark

This blogpost will be about the concept art in our new project “dark”. I’ll be explaining how and why I make the steps I make. Dark will be a Sci-fi so everything needs to be high-tech and futuristic, not only does it have to look like it but also should work like a futuristic product which is hard because I’m basically making inventions for a game.

When I make sci-fi art I like to get a focus on details and functionality, functionality is the key to creating things players will believe in. The starting technique I use is either a thumbnail or making silhouettes, sketch really fast a lot of different silhouettes till the silhouette gives the feeling you want (evil, scary, good). For example a bad guy needs to look intimidating, if the silhouette looks intimidating you’re on the right track, since a silhouette is a very abstract shape your creative mind starts imagining things like shapes and objects and will help you being more creative! But this mainly works with characters.

I like to put on some music that is related to the universe of the game, like a soundtrack from Star-wars, 2001: a space odyssey or Dune to get in the mood.

So here are some thumbnails I made:

Once you believe you have enough sketches, pick the one you like most and see if you can change things, here is the one that I picked:
And then, improvise !

and that’s how I make my concept art.

Spaceships and meatballs

Dear Monkeys,

we’re currently putting the final touches to the art of Ad Astra, our upcoming iPad release. We then will have to fix all the nasty bugs that always hide in code before we bring our shiny new game to the Apple review team. It’s turning out beautiful, as it’s been crafted out of bananas, love and effort (with more effort than bananas).


As soon as Ad Astra is on its way to Apple, we’ll pour all our heart into DARK, a game about teenagers in a space station who build robots, cook food and serve coffee. We’ll have space police ships, space pasta, space trains, and a huge hangar to have even more spacious space. We’ll also have some evil pirates parking in there!

Efficiently saving animating time

I am working on the credits for Ad-Astra which includes animations, since the credits screen is interactive. I am using Adobe Flash CS6. As a general rule,  you want to animate the fastest and most efficient way possible.

The animations include spaceship that expand if you click on them. We wanted to make them look like the angle of the ship changes, so I used a way of making it easier to create this effect.

ship1 ship2

As you can see there are missing frames between those two pictures. I decided not to make all the frames by hand but instead using smoke/clouds to create the effect of a space ship that opens itself, as you can see here:


frame 3frame4



Unit Testing and us

What is Unit Testing?

Unit Testing is a practice that allows the programmers to test part of the software separately, as “units”. For example, it’s common to consider a class as a valid unit, where the methods will have to pass several tests to consider the class “correct”.

It is a kind of black box testing, as it doesn’t give you information on how the programming is done inside, but  about the behaviour of the programming. It is particularly useful on the long term, since it allows you to automatically verify that, weeks or months after you initially defined a part of the software, it still behaves as it initially was supposed to, even if multiple persons have modified parts of the code inside the unit.

Unit Testing’s benefits come at an initial cost, since instead of a loose definition and “let’s find the requirements as we go” approach, you need to think and build the requirements before you even start building the units themselves. However, as time passes, the amount of test code that exists to check the logic of the program increases, ensuring greater confidence in the value of the code base.

How does it work at Astute Monkey?

The tools

Astute Monkey Studio currently makes use of XCTest and OCMock, the latter installed manually, since all our games are pure Objective-C. In the future, since we are moving towards Unreal Engine, we intend to use Automation, unless another tool seems more appropriate by the time our next project gets in full swing.

The situation

Let’s take an example to put things in situation. Let’s say you have a model for an creature that can alternate between five states (asleep, woken, agressive, afraid and dying) depending on two factors, its  internal health and the proximity of the player character.

Unit Testing should verify that those behaviours are consistent with the internal state of the object. For example, the creature should not be able to fall asleep if it’s dying or afraid. It cannot attack even if the player is close if it is afraid, or dying, as it should whimper and try to hide. It might fall asleep if it’s agressive if the player throws a sleep bomb, or if it’s just woken.

If a programmer later on decides to add a new state, “eating coconuts”, in which situation the creature is so absorbed that it cannot notice the player character, and while copy-pasting code accidentally  turns the creature into a bloodthirsty monster that always attacks, even when dying, the unit tests will detect the problem at the next run. Therefore, the bug will not even make it past the next day!

A blogpost by Jason Pengel

Proofreading and corrections by GEM

Internship Offer – Software development

EDIT: Position filled.

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.