Monthly Archives: February 2009

Progress Report: Slavesssssssss

Fresh cubes of slaves await!

  • Several barebone cave towns near the brain chamber are awaiting conquest.
  • Towns can be populated by Humans, Elves, Dark Elves, Grimlocks, Gnolls and Orcs, (which can be impregnated), and Halflings, Dwarves, Dark Dwarves, Gnomes, Dark Gnomes, Giants ands Centaurs.
  • Players start with four members of random species, from which /at least/ two allow impregnation. As the plan is to bestow the flayer with its bodies old powers, this will give each play a slightly different experience.
  • When chambers grow too big, they automatically become hallways (the brain chamber started to bleed into every single nook and cranny).

Soon our Flayers can enslave, impregnate, eat, trade, and exterminate, but to get there, the potential slaves need a brain, and a way to fight.

Gameplay Elements: Slavesssss

Besides impregnating the unlucky spelunkers who end up as your first flayers, and digging in dirt, the player does not have a lot to do yet. Not very exciting, so lets spice it up a little.

Some randomly placed nearby villages and an underground cave were travelers pass should provide the basis for entertainment. For this we’re going to add:

  • Some villages.
  • A dozen races, each with their own initial feeling towards Flayers.

After that is in place, we can start add ways to interact with the villages. (Be it enslave, impregnate, eat, trade, or exterminate).

Time to get to work!

Completed: Ceremorphosis

Finished! Just point at the master brain, (S)elect -> (I) Impregnate, hover over a slave in the green sludge, and type enter. This will instantly transform the slave into a Flayer!

Chamber function now functions too, as you can see on the picture to the right. The chamber with the master brain is filled with a green sludge, while all other chambers are flagged as hallways.

There is a lot we can improve here, like balancing the number of flayers, slowing and animating the impregnation (flotch! blood, wheee!), adding some crawling vulnerable Larvae in the chamber, etc, but lets keep that for later and focus on adding some more things to do.

Gameplay Element: Ceremorphosis

Time to get some basic game elements into Elder Brain.

The game starts with Mind Flayer reproduction: Ceremorphosis. Larvae are inserted into the brain of a sapient creature, consume the brain of their host and become sapient on their own.

In effect, the player chooses the bodies of the Flayers, and the powers that come with that body.

To achieve this I’ll add:

  • Brain Chamber, from which the master brain can impregnate slaves or thralls.
  • A couple of potential slaves, that happen to stumble into the Brain Chamber, to start the game.
  • Menu, so the player can tell a being (in this case, the master brain) to perform certain actions.

Time to get to work!

Progress!

To avoid spending time on the supporting logic (mainly, graphics, frameworks, etc), and to go cross-platform from the start, I decided to pick a language where I could focus on the game logic instead; Java. As an added benefit refactoring is a breeze with Eclipse.

Graphics

Coming from a MUD background, and having some experience with the effort that goes into graphics, using ascii appeals immensely. I decided to skip pure terminal output using jcurses, and to go with opengl, using the lwjgl library. Its a lot less work to set up, and allows some nifty tricks we wouldn’t be able to do otherwise.

As a total newbie with graphics under java This tutorial saved me a lot of time setting up lwjgl.

To the right you see the result of this first iteration. I finished locations, combining locations into chambers, queue rooms for digging, and basic A* pathfinding. Four happy dwarf Mind Flayers are digging out my new chamber. Note the Elder Brain sitting in its chamber.

Chamber Algorithm

The Chamber algorithm is interesting. Based on artificial borders (doors, etc) the algorithm assigns newly digged out locations to chambers, creating new chambers as needed. (See picture, each room floor tile appears in a different style). If a location is removed from a chamber, or if two nearby chambers are merged the algorithm disbands the room and reassigns all the rooms within to a new chamber.

Doing this will allow us to divine chamber function depending on its dimensions and the objects within it. It does require a player to properly enclose a room, but that’s a small price to pay.

With the basics in place its time to work on some gameplay elements, next!

Elder Brain

Elder Brain is born!

My main goal is to create a game that explores some ideas that have been swirling around my head while playing Dwarf Fortress. It’ll be the flavor as Dwarf Fortress, but certainly not the scale.

Basic concept: You play Elder Brain, lord of the Mind Flayers. Your loyal Mind Flayers tend to your fragile body, and act as masters to your workforce of slaves. It is your prerogative to grow the colony how you want it. Can you keep your flayers happy? Will you capture dwarfs to build your fortress, and let your flayers feed upon gnomes? Will you torture your slaves to keep them obedient but broken, or will you treat them fairly?

What interests me:

  • The dynamic between the elder brain, flayers the various slave races and monsters. Each has their own needs and quirks. I’m interesting in bringing the Mind Flayer lore to life.
  • Building an underground domain, quickly. Assisting the player with templates to plop down and providing a uniform user interface should help getting it all set up faster.
  • I’m avoiding features that already exist in DF. I’m interested in the digging, logistics, graphical feel, interaction and make your own story aspects of DF.

To address the big giant trashing about the playground: Elder Brain is to Dwarf Fortress what fan art is to Anime; horribly deformed, out of tone with the original, but still fun to make!

Anyway, I’ll post my insights as I go along, I hope someone can benefit from the knowledge.

Dwarf Fortress..?

If you haven’t played this little gem yet, give it a try! This eccentric Dungeon Keeper meets Roguelike has kept me entertained for the last few days. Putting all his weight behind the game mechanics and totally ignoring the graphics (yay to him!), the author of Dwarf fortress has created a compelling place for your little dwarf colony to prosper, and eventually die horrible (but entertaining) deaths.

It’s given me a coding itch I have to scratch. Given that Dwarf Fortress isn’t open source I’ll have to put my effort in a separate creation; Elder Brain. more about it later.