Author Archives: Olof Wallentin

20 hours of prototype game development “John Lake”

At university we recently received the task to quickly develop a game based on the theme “hope is the path to disappointment”. We had a maximum of 25 hours of disposable time for this task.
I was teamed up with Emma Matson who did most of the design and all the art and animation.  Together we developed the following game:

I wrapped together an easy to use engine using SFML and wrote a simple tile/collision-loader for Tiled tmx […]

/ Comments Off on 20 hours of prototype game development “John Lake”
Program: Programming

20 hours of prototype game development “John Lake”

At university we recently received the task to quickly develop a game based on the theme “hope is the path to disappointment”. We had a maximum of 25 hours of disposable time for this task.
I was teamed up with Emma Matson who did most of the design and all the art and animation.  Together we developed the following game:

I wrapped together an easy to use engine using SFML and wrote a simple tile/collision-loader for Tiled tmx […]

/ Comments Off on 20 hours of prototype game development “John Lake”
Program: Programming

How I designed and implemented NPC behaviors and quests in two days

Two days left until the project deadline for Yomi’s Bubble Adventure, four character models are fully textured, animated and ready for implementation. One problem, the system doesn’t work.
In the following post I will explain how we worked with the external editor Artifex Terra 3D which is, except for the loader, closed source. In Artifex Terra you can create terrain, edit terrain and place objects. Artifex Terra 3D have the option to give object-specific properties for […]

/ Comments Off on How I designed and implemented NPC behaviors and quests in two days
Program: Programming

How I designed and implemented NPC behaviors and quests in two days

Two days left until the project deadline for Yomi’s Bubble Adventure, four character models are fully textured, animated and ready for implementation. One problem, the system doesn’t work.
In the following post I will explain how we worked with the external editor Artifex Terra 3D which is, except for the loader, closed source. In Artifex Terra you can create terrain, edit terrain and place objects. Artifex Terra 3D have the option to give object-specific properties for […]

/ Comments Off on How I designed and implemented NPC behaviors and quests in two days
Program: Programming

Object-oriented 3D sound system using FMOD in one day

In this post I will describe how I created an object-oriented 3D sound system using FMOD in the time-span of one day. This 3D sound system was used in our experimental Tower Defense game. It is mostly designed towards our Tower Defense game but many generic-usage functions was kept in mind when designing it. It is therefore free from other libraries except FMOD itself and could be integrated in any project.
The inspirational sources for this […]

/ Comments Off on Object-oriented 3D sound system using FMOD in one day
Program: Programming

Object-oriented 3D sound system using FMOD in one day

In this post I will describe how I created an object-oriented 3D sound system using FMOD in the time-span of one day. This 3D sound system was used in our experimental Tower Defense game. It is mostly designed towards our Tower Defense game but many generic-usage functions was kept in mind when designing it. It is therefore free from other libraries except FMOD itself and could be integrated in any project.
The inspirational sources for this […]

/ Comments Off on Object-oriented 3D sound system using FMOD in one day
Program: Programming

Adventures in multithreading

In our current course “Advanced C++ for games 2″ we have been working on a software rendering engine using windows GDI were no other abstraction layer or libraries are used. The latest feature is to implement and understand multi-threading, so for this we received the following homework:

Move all state data from WinMain into Globals class.

Basically, a lot of initialization and temporary variables are still in the main function which was moved into a Singleton class “Globals”. Simple.

Implement background worker threads […]

/ Comments Off on Adventures in multithreading
Program: Programming

Adventures in multithreading

In our current course “Advanced C++ for games 2″ we have been working on a software rendering engine using windows GDI were no other abstraction layer or libraries are used. The latest feature is to implement and understand multi-threading, so for this we received the following homework:

Move all state data from WinMain into Globals class.

Basically, a lot of initialization and temporary variables are still in the main function which was moved into a Singleton class “Globals”. Simple.

Implement background worker threads […]

/ Comments Off on Adventures in multithreading
Program: Programming

Optimizing Bubbles

Once again we have been asked by our university to display a game (Yomi’s Bubble Adventure) at the annual gamex exhibition at Kista in Stockholm. This is due October the 30th so before that I decided to fix some bugs, minimize memory usage and improve stability. First up is a ninja-fix for the message system used by components which is using more memory then it should. The original system looked like this:
First we had […]

/ Comments Off on Optimizing Bubbles
Program: Programming

Optimizing Bubbles

Once again we have been asked by our university to display a game (Yomi’s Bubble Adventure) at the annual gamex exhibition at Kista in Stockholm. This is due October the 30th so before that I decided to fix some bugs, minimize memory usage and improve stability. First up is a ninja-fix for the message system used by components which is using more memory then it should. The original system looked like this:
First we had […]

/ Comments Off on Optimizing Bubbles
Program: Programming

Multiplication and addition through binary operations

In order to get more comfortable using bitwise operators such as & | ^ ~ in the course Advanced C++ 2 for games, we received our first sub-assignment. Performing multiplication and addition through binary operations only.
For addition we used the follow algorithm:

We have two integers, 39(0010 0111) and 23(0001 0111).
1. Perform XOR on them and store the results in a new integer we call sum. This will compare the bits of the integer and return a value were the […]

/ Comments Off on Multiplication and addition through binary operations
Program: Programming

Multiplication and addition through binary operations

In order to get more comfortable using bitwise operators such as & | ^ ~ in the course Advanced C++ 2 for games, we received our first sub-assignment. Performing multiplication and addition through binary operations only.
For addition we used the follow algorithm:

We have two integers, 39(0010 0111) and 23(0001 0111).
1. Perform XOR on them and store the results in a new integer we call sum. This will compare the bits of the integer and return a value were the […]

/ Comments Off on Multiplication and addition through binary operations
Program: Programming