digital monologue

Posted by Bjorn, February 25th, 2010

While we’re on the topic…

At SouthEnd we use a versioning tool called Subversion. It is just one of many tools doing the same thing – managing versions of files.
I could go on and on about version control and configuration management. But I won’t. At least not this time. Let’s just say it’s a wonderful thing that makes it possible for us to work as a team.

deleted dogz

This time I will bring up the social part of it. Commit comments.
Commit comments are messages that you write when you have made a change to a file in the project. The comment is supposed to briefly explain what you changed (committed). (As we speak, 2642 commits have been made to ilomilo)
These comments, along with a list of the files that were changed, are stored in a log than can be viewed by all members of the project. This log can be compared to a giant chat log of people talking to themselves.

Your average comment might look like this:
“Fixed: Scaled objects not culled properly”

This log, consisting of hundreds of little comments, will of course contain a certain amount of literary gold!
And that’s what this post is really about. I’ve hand picked a few of my favourites, and will present them to you in a series of posts.
(I bet you didn’t expect _this_ to be published, fellow SouthEnders…)

Here we go. Today’s selection is from the early stages of the project:

--------------------------------------------
Revision: 4
Author: eber
Message:
Initial commit
--------------------------------------------
Revision: 32
Author: eber
Message:
wtf etc
--------------------------------------------
Revision: 76
Author: sfle
Message:
animations for milo! :D
--------------------------------------------
Revision: 107
Author: eber
Message:
Added first pass at collision grid IT'S SCREWY I KNOW! the directional mapping is not correct.
--------------------------------------------
Revision: 118
Author: mdah
Message:
Added: Shadows in Ilomilo (Iteration #1, NOT final!)
--------------------------------------------
Revision: 237
Author: eber
Message:
Removed: crap code
--------------------------------------------
Revision: 238
Author: eber
Message:
Added: crap code
--------------------------------------------
Revision: 318
Author: mgar
Message:
- Tears in my eyes...
--------------------------------------------
Revision: 400
Author: eber
Message:
Fixed: materials 'ballon' and 'ballonskirt' didn't exist
--------------------------------------------
Revision: 403
Author: eber
Message:
Added: super secret stuff...SHHHhh..don't tell anyone!
O_o
o_O
O_O
it's the custom bounce cube animation, to allow for unique/totally awesome jumps :D
--------------------------------------------
Revision: 444
Author: eber
Message:
Added: stuff before we get kicked out of the office
--------------------------------------------
Revision: 695
Author: mdah
Message:
Fixed: Children are now put in quarantine when picked up
--------------------------------------------
Revision: 700
Author: mgar
Message:
- GDC Candidate 1 (stand-alone version)
--------------------------------------------

That’s all for now. Stay tuned for the next episode!

best practice cat

code swarm

Posted by Bjorn, February 25th, 2010

filesyumyum

Game development is a very collaborative process. The contributions to a game project like ilomilo come from people with widely varying skills.

Artists build 3D models that are brought to life by animations and textures.
Level designers, well, they design the quirky levels…
Programmers (like me) mess around with the code to make all parts work together.

What if you could visualize this complex process?
Well, we made an attempt, using the sweet tool “code swarm”.

The video clip below shows the history of ilomilo so far, as interpreted by code swarm. The dots represent changes made to the files in the project and the colors show different types of work. Green and yellow dots represent code changes, blue dots are graphics, red are sounds etc… The floating texts represent the people working on the project.

So, here you go!
One year of ilomilo development, compressed to a one minute incomprehensible video.
I don’t expect any of you to make any sense out of it, but it certainly is fun to watch.

To view the movie in all it’s full size glory, click this link (and set it to 480p):
ilomilo swarm

The big explosion at the end shows very accurately how Gordon (mgar) removed all files and then added them again.

Ambient occlusion

Posted by Simon, February 17th, 2010

ao
click pic!

A nice little render effect, called ambient occlusion, recently made it into ilomilo. As mentioned in an earlier post, all textures have occlusion baked into them, but now characters cast nice occlusion shadows on all objects in the level.

Some of you may not know what Ambient occlusion means. Well neither do I, but this is what wikipedia told me:
“Ambient occlusion is a shading method used in 3D computer graphics which helps add realism to local reflection models by taking into account attenuation of light due to occlusion. Ambient occlusion attempts to approximate the way light radiates in real life, especially off what are normally considered non-reflective surfaces.”

So basically it just makes things look nice.

ilomilo begins

Posted by Martin, February 11th, 2010

Alright, so today I’m going to talk a little about the early design phrase of ilomilo and how the game developed from an abstract idea to what we have today.

The concept for ilomilo started back in 2008 when it was time for us to start developing a new game project. The main game element was to let the player cooperate with itself in a 3D-labyrinth by altering between two characters and make them meet up anywhere on the stage, rather than getting to a pre-defined target. We decided that the primary puzzle element would be cubes the player could pick up and place down anywhere to overcome obstacles.

To get a picture of how the puzzles would work we started to create lots of illustrations depicting individual puzzle sections.

earlypuzzledesign01
One of the earliest puzzle designs using cubes and carpets.

earlypuzzledesign02
Another early concept illustrating the need to cooperate with oneself.

earlypuzzledesign03
Later concept with describing text

earlypuzzledesign04
Early concept for special cube

After having nailed the basic game design and visual style we started to ponder on a name for the game. We sent out a mail to everyone at the office requesting name suggestions. “Åril & äril”, “Knak och brak”, “panpan & dandan” were some early propositions, but ultimately we settled for “ilomilo”.

ilomilo cameo in the dream machine

Posted by Simon, February 2nd, 2010

dm_logo

Point and click heroes Cockroach Inc. are busy making their clay and cardboard adventure The Dream Machine. If you haven’t tried out Gateway and Gateway II, head over to the cockroach homepage to play them. Dream Machine looks equally awesome and best of all: it has a funky clay cameo apparence by milo.

dm_cameo.

Try out The Dream Machine demo!

Hmmm, who knows, the dream machine protagonists Victor might just make a cameo in ilomilo?

Inspiration playlist

Posted by Simon, January 26th, 2010

hello?
When the project started, me and Daniel tried to find songs that would serve as inspiration for the music in ilomilo. So we started a collaborative playlist on Spotify.
Here’s a list of the songs on it:

La Veillée – Yann Tiersen
Toy Piano – Pony Up!
Ukulélé Man – Yann Tiersen
Prière N 3 – Yann Tiersen
Us – Regina Spektor
The Ghost Of Corporate Future – Regina Spektor
Rhuubarbidoo – Mum
School Song Misfortune – Mum
Presents – Tom Waits, Crystal Gayle
I Solljuset Fina – Karin Juel, Sune Waldimirs Orkester
Please Wake Me Up – Tom Waits
Wooden Heart – Elvis Presley
Going Up The Country – Canned Heat
Sur le Pont D’avignon – André Claveau and Mathé Altéry
The Swimming Song – Loudon Wainwright III
Delia’s Gone – Eric Bibb
Humoreske – Antonín Dvorák
My Creole Belle – Mississippi John Hurt
Staralfur – Sigur Rós
Teardrop – Massive Attack
Melodia bailable para Ukelele – Nut
See Your Face Again – Uni and Her Ukelele
The Dissappointing Pancake – Lisa Loeb
Innocent When You Dream (78) – Tom Waits
Soldier’s Things – Tom Waits
Time – Tom Waits
Hallway Cruise – Danny Elfman
Ma Maren Ma – Fanfare Ciocarlia
Mr. Kaizer, Hans Constanse Og Meg – Kaizers Orchestra
Bubamara – Dr. Nelle Karajlic, Vojislav Aralica, Dejan Sparavalo
Bardomshemmet – Ernst Rolf
The Part You Throw Away – Tom Waits
The Last Rose Of Summer – Tom Waits
Lost In The Harbour – Tom Waits
Watch Her Disappear – Tom Waits
Fawn – Tom Waits
Om Du Möter Varg – Detektivbyrån
Hus Vid Havet – Detektivbyrån

If you have Spotify, just click here to listen to the playlist.

iloscrumilo

Posted by Fredrik, January 22nd, 2010

Hi everyone! My name is Fredrik, and I’m the producer of ilomilo. As a producer, I’m responsible for the overall quality of the game, to keep track of the production schedule and to make sure everyone on the team is happy and have what they need to make a good game! Today, I would like to tell you a little about how the team works and how we decide what to do next in the project.

For the development of ilomilo, we use a project management method called “scrum”, which is quite common in the games and software industry. It basically means that instead of planning the entire project in detail from start, we work in iterations that we call “sprints”, and once we have completed a sprint, we plan the next and so on. This means that we can easily change direction in the middle of the project, without losing too much time.

scrum

Every morning, we have a scrum meeting with the entire team in our cozy scrum corner. As you can see on the picture above, everyone is really happy =). Each member of the team gets to tell the others what they have done since the last meeting, what they will do today and if they are having any problems. That way, everyone gets a daily update of what is going on in the project, and any problems can be quickly solved. The whole meeting usually takes around 10 minutes.

Computer software development in general and games development in particular are turbulent and changeable processes. Technical complexity combined with creativity means that you constantly need to create new technical inventions and design solutions. In fact, the only thing you can rely on is that things are going to change! That is why scrum is such a good method for game development.

Naturally, scrum does not magically solve everything. We still need to have a rough plan of the entire project, and a detailed design document. The important thing is to know that they are going to change. Planning ahead is important, planning to much is a waste of time.

That’s all for now!

Two new characters

Posted by Simon, January 15th, 2010

tubadrum

These two characters decided to join the ilomilo universe this week.
I guess I could tell you what purpose they serve, but wouldn’t it be more fun to find out for yourself when you can play the game?

Something about cubes…

Posted by Martin, January 12th, 2010

Alright, since you have probably already seen some of the basic cubes in the screenshots, let’s talk a little about some of them and how they work. You will discover a lot of different cubes throughout the game, each of them with their own distinct behaviour. These are just some of them:

Dog cube… Boxer?
cubes01
This is the most basic cube. You can pick this fellow up and place it in small gaps and use it as a bridge to get past them. If you need a small hole filled, this cube will get the job done!

Stretch, Fido Stretch
cubes02
This cube is like the stretchy cousin of the one mentioned earlier. When you place it down on the ground or in a large gap, it will extend and become up to three times as long. Place it in a gap to create a bridge across larger gaps, or place it directly on the ground to make it extend upwards.

Take the plunge(r)
cubes03
Plungers can do more than breaking a clog. If you see a plunger cube you know there’s a button to be found somewhere on the level. Step on the button and the plungercube will reach out for the nearest cube in the direction its facing. It will then pull that cube towards it so that the cube ends up next to the plungercube.With clever cooperation you can use one character to press the button while the other character rides on the cube.

Grasshopper and ilomilo

Posted by Simon, January 7th, 2010

Last year the friendly people of Grasshopper (Killer 7, No More Heroes) came by to play some ilomilo.
Goichi Suda playing ilomilo
Suda 51 enjoying ilomilo, despite the lack of boss battles and blood.