Tarnasa
Programmer, hacker, homestuck
News
Projects
Gallery
About
Posts
Catplanet
Starbound Diggles Mod
Attack And Defense
Terath
Hardware Keyboard Remapping
Reviving my first laptop - Part 2
Zero-K
Vimperator
The End of Homestuck
Cleaning up viruses remotely
Reviving my first laptop
Gallery now open!

Starbound Diggles Mod




Let me introduce you to a terrible game which consumed at least a full year of my childhood. Diggles: The Myth of Fenris is a game about micro-managing a clan of dwarves with the goal of digging down to reach Odin's pet Fenris. The game has extremely slow pacing, terrible ai, and humorously bad translations (translated from German). Despite that, as a ~10 year old kid, I absolutely loved the game, and it left a big impression on me.

Fast-forward a decade or two, I'm playing Starbound, a space-themed sandbox which allows you to dig underground. The cartoonish graphics remind me of Diggles, however nothing comes of it immediately. It isn't until a few months ago, after playing some with my friends, and experimenting with making my own custom dungeons that I start learning about how to mod Starbound.

I quickly find that Starbound is an incredibly good game to mod, all the game's asset files are fairly straight-forward to understand, and use industry standard formats and tooling. For example, most starbound dungeons are created using Tiled. Configuration files are just json, and scripting is done in lua.

So I set out to recreate my childhood favorite as a mod in Starbound.

Current features:

  1. World-generated tunnels with wooden posts and barrels
  2. Clansman can be given weapons
  3. Clansman fight, and automatically sleep to heal themselves
  4. Clansman automatically dig painted blocks
  5. Clansman get hungry over time, and automatically eat from nearby barrels
  6. Clansman breed with each other, producing babies which grow up into new clansman

Additionally I created a python-to-json-behavior-tree converter so that I didn't have to work with the absolutely atrocious json behavior tree files.

More details can be found in the project page