Sintel The Game

WebsiteFacebookTwitter

My Role

Timeline

Team Size

Manager, Design, Programming 2009 – Present ~3

sintel_title

About The Project

Sintel The Game is an Open Source Blender game project created to bring the world of Sintel (a Blender Foundation Film) to the realm of video games. I started the project back in 2009 with a few friends. Since then I have been organizing production of the project while building a foundation for the Open Source community to build upon. It’s been an invaluable learning experience for me thus far.

The goal of the project was to create a foundation for fans of Sintel to expand upon the world and create their own experiences in the Sintel universe. The game has been built to foster user generated content such as new levels, quests and characters.


Game Architecture

When building the game’s architecture, it was important to allow for users to create their own levels and expand upon the game. Here is a diagram showing the game’s process of loading content.

game architecture

It’s important for our project to allow for full modification so the game also provides the capability and tools to construct levels and quests from scratch. With this architecture, we allow for these possibilities:

– Each level can foster many quests. – Anyone can modify existing quests.
– Anyone can create their own quest without creating new assets. – A completely new quest or level can be created without modifying system code.
– A user can create a quest for another user’s level. – Quest files can be easily translated to other languages.

Level Design

Given the project’s goal of custom quests, each level needs to be designed in a way that allows the level to be re-used. Each level is designed as an open area with a handful of smaller key points scattered throughout the level. Each level goes through a process of planning, white-boxing, asset placement, additional content creation, scripting, and polish. Quests are then built once the level has reached an acceptable state. Quests make use of the different key points in the level. Additionally, each quest uses an XML document for dialog. This allows easy editing of quest dialog without having to alter any game code.

docks_level

The graphic above represents the different key points of the docks level. As of right now, three very different levels have been constructed and filled with content.

desert_revamp

campfire

docks_revamp

When planning out the game environment, we aimed for levels that varied in setting (tundra, woodland, desert) to keep the levels unique and interesting. Each level goes through constant iteration based on the feedback from players. The game will ship with a few pre-made quests using the main levels in the game. Additional levels and quests can be created by using or modding existing assets.


Modular AI

Since our resources are very limited when working in Blender, it is crucial to be as efficient as possible. I built the AI system from scratch using a modular method of AI. Each AI unit runs the same core code, while extra scripts or modules, give that AI unit it’s unique abilities. This system was also built to work with the many different animations that each character has.

wing_nips_focused

On the left are Wing-Nips. These are a type of enemy in the game that will swarm and surround the player to make up for their weak strength. The video on the right shows Snail Biters. Snail Biters are slow moving but can spray the player with poisonous ooze from afar. Snail Biters will also burrow underground when low on health. Below is a diagram demonstrating the modular AI system.

AI system - wing nipAI system - snail biter

While the two enemy units have very different behaviors, they run the same core code. These behaviors are organized in modules that expand upon the core code. Currently in the game, there are two basic enemy types and two larger “boss” type of enemies. They all utilize this modular AI system.


Postmortem

Sintel The Game was my first real experience in game development. In my previous projects I had merely been a contributor, or I was working by myself. Before Sintel I never had to manage and organize a team of developers. This is why I believe the development of Sintel has been extremely slow. I was not familiar with development methods such as scrum, or agile. The fact that our team was located all around the world did not help this situation either. It became extremely difficult to manage meeting and check-ins with each member residing in a different time zone.

After a while we realized the current method of development wasn’t working. We decided that in order to keep an interest in the project and get player feedback, we would release incremental updates or Alphas. Our end-goal for the game also switched gears. We scrapped the idea of creating a 2-3 hour story with multiple characters and instead focused on creating a platform for content creation. I believe this new direction has been successful so far. Each Alpha update is a step closer to our final goal.

Created With

Blender 3D

Python