The Kokatrix 2D-singleplayer RPG project

Introduction to Kokatrix project

The goals of the project

The main goal of the project is to make a set of tools that can be used to build simple 2D RPGs. Another goal is to demonstrate the use of OCamlSDL game library for more complex projects.

One important focus is in the world generation. The final goal is to be able to have worlds with 10000 - 100000 NPCs. Each NPC will have generated relationships, professions and perhaps some special attributes.

Description of the project

The project intends to make several tools to help build 2D role-playing games. The most obvious part is the graphics and sound engine. Another part of the game engine is the scripting system for game events and NPCs (computer characters).

Is is possible to make a map editor using the graphics engine. The map editor also supports editing objects that can have different states with different graphics. Animations can also be edited. Sounds can be associated to animations. Good 2D graphics for making games can be found at WorldForge project.

Most difficult part of the world generation is generating the societies and relationships of the persons. This all is be handled by Hissim. Another part of the world generation is handled by Towngen. It determines the places of the buildings in towns and generates roads and objects. Finally the output of the town generator can be converted to a format that the graphics engine understands.

Current status

Currently history simulation and town generation work. There are several features that need to be added to the town generator, like generating better road networks and adding things like rivers and lakes. The graphics engine and map editor also work, but editing animations and states is not easy enough. The generated maps can be converted to the new Atlas map format, but because there is no standard format for 2D graphics yet, the graphics cannot be converted.

The scripting system works, but the game engine only has a few features. Currently it's possible to move around and pickup some items. It's also possible to talk to NPCs, but they can only answer questions about who their relatives are and where they work or live. The questions are parsed using a simple natural language parser.

All the parts of Kokatrix can be configured and used within a graphical user interface. It is, for example, possible to incrementally update a town map between Hissim simulations.

Sami Mäkelä

For more information, visit the Kokatrix SourceForge project page.