Sometimes a mad urge grips me, neccesitating I purge these emotions buried within by laying my madness out in code.

Last week, it was the urge to create a computer role-playing game (CRPG) that hearkens back to the heyday of attributes-driven late 80s gaming.

This mad urge calls itself Darkhaan.

Darkhaan[1] is an open source role-playing game built using the Isfahan Engine. The Isfahan Engine is written entirely in Python and leverages the PyGame SDL2 framework.

Features

  1. Dungeon Crawling Turn-Based Battles
  2. Raycast 3D Rendering
  3. Role-Playing Attributes System
  4. Branching Conversation Trees
  5. Quest-Based Progression

But why?

I have never programmed a game engine from scratch before, and doing so would be a fantastic way to flex my muscles on object-oriented programming. So it came to me in a dream that I must push forward out of pure intellectual curiosity over the endeavour, while embodying an artistic and literary sensibility.

To scope things down to a manageable degree, I will only be using open source artwork, and taking at most a month to complete a barebones skeletal structure to the project. Quick sprints and core mechanics are more interesting than years-long passion projects.

My hope is that my codebase remains relatively lean, runs in an optimised way, is structured cleanly, and is intelligible and invaluable to those starting out in game development as well.

Compiling

In its current early alpha status, simply run main.py from terminal.

git clone https://github.com/sajidsarker/darkhaan.git
cd darkhaan/src
python3 -m pip install --upgrade pip
python3 -m venv env
source env/bin/activate
python3 -m pip install requirements.txt
python3 main.py

References

[1] Darkhaan Open Source on GitHub


<
Previous Post
Stateless Dialogue Tree
>
Blog Archive
Archive of all previous blog posts