Game – Edudrive

Software: XNA, Visual Studio
Platform: Windows 7, XBox, Windows 8 (incl tablet)
Date: 2012
Type: Offline Singleplayer, 3D racer



Poverty is a big issue in the developing world and education is perhaps the best solution. Unfortunately, education is still a distant dream for many. There are many foundations who try to help the children by investing into new schools. The biggest problem is getting the children to attend the newly build schools. The situation is so desperate that the children need all the support they can get to get to school. But that’s where you, the player comes into scene. You are an independent volunteer bus driver who wants to help and motivate these children to keep going back to the schools.

TeamFries Boury (programmer), Marin Brouwers (Artist), Simon Cornelis (Artist) and me (Technical Artist)

More info on IndieDB or you can play our demo

Download for windows 8: download

My job

I am the technical artist of our team (2 Artists and 1 developer). I am the in between person in our team. I have set up workflow of our game. We make everything in 3ds Max (from models to gameplay). This is exported with script to a couple of xml’s. Xml files are imported into XNA. I also made a editor for easily place props on the houses. Let me illustrate the workflow:

We make our level in 3ds Max. The houses where first dropped automaticaly. The script drops a specified number of houses on a plane with raycast ( random position, random scale, random rotation). It also takes collision into account. We have 8 different houses, so everything is instanced. At export time, the script write an xml file with all houses (position, scale, rotation). It also exports the models (just unique one’s).

Spawnregions, defining collision, start point of player, …

Select everything that needs to be exported.

Exportscript creates xml file

Not only the objects are exported from Max. We can also set the spawn regions of pickable items and spawn regins of kids that you have to pick up.

Spawn regions are also exported

This goes even further. At the end of this project I have started the implementation of gameplay at this way. We have implemented scripted gameplay to make it more challenging.

Scripted events

So this exportscript can assign and read custom properties of kids. For example you can set this property to a spawnregion:

“spawn 3 bad kids in this region.
Condition to become active:  20 seconds after you have picked up 4 kids and already dropped 2 at school
or if you enter a certain region” 

Scripted events in 3ds Max

I have tried to set up a pipeline that’s as flexible as possible. So everyone of our team can change easily positions, collision meshes, gameplay elements, etc…


I have made a editor to ease the work. The main reason for this script was placing props on the houses. If we had to place all these props manually on the roofs it would have token a couple of days. The script works like this:

– press on the prop you want to place.
– the model is automatic instanciated (or imported if it doenst exists already).
– the model follows your mouse and orientates allong the surfaces.
– click to place, drag hirozontal to rotate around its local z-axis and drag vertical to scale.

I found this way of placing objects very interesting so I have made a seperate script for it. You can find it here.

Editor in 3ds Max