ID:93860
 
Keywords: design
I sit here in this Saturday afternoon tired, but not merely from lack of exercise, rather I'm drained from excessive laughter, as I read in one sitting the entirety of Boatmurdered, a tale of a so-named settlement in Dwarf Fortress brought to us by the kind of absurdist exhibitionism to be expected from a hotseat game involving several SomethingAwful Goons.



Crawling Through Cave Crawlers

BYOND has its Dwarf Fortress knock off, you know? It's sort of what Ginseng had in mind with Dungeon Master.

In some ways, it wasn't quite as well realized as it never did get around to having any of that all-too-necessary Dwarf Fortress AI that made the game work - that's my constructive critique to it - and it looks like it will stay that way because Ginseng apparently has moved on to brighter pastures. However, if you love something, you set it free, and Ginseng has set free the game's source code. I'm tempted to go in there and meddle.

In fact, I did thumb through it a bit. Though I've written code more elegant (although elegant code is actually a bit of liability in that it will paint you into corners and is harder to maintain) there's a wealth I can learn from Ginseng's code. For example, he has 736 KB of mob and 444kb of turf code. That code is magical, as he essentially just poured sheer world detail into every crack and crevice.

// A very tiny sample of which looks like this.
HunterSpider
icon = 'SpiderHunterYoung.dmi'
icon_state = "Normal"
density = 1
weightmax = 100
Spider = 1
IsYoungWarrior = 1
Humanoid = 1
AM = 1
Carn = 1
WoodCraftingSkill = 25
FishingSkill = 10
Intelligent = 1
HP = 200
MAXHP = 200
HoldingWeapon = "Sword"
SneakingSkill = 60
WearingChest = 1
WearingLeftArm = 1
WearingRightArm = 1
ArmourSkill = 20
BloodContent = 300
MaxBloodContent = 300
WearingBack = 1
WearingLegs = 1
WearingHelmet = 1
Delay = 3
HumanParts = 1
HoldingWeapon = 1
WearingShield = 1
Gender = "Male"
User = 0
ImmunePosion = 1
PosionSkill = 50
ButcherySkill = 10
WebContent = 0
MaxWebContent = 0
UnArmedSkill = 30
HasLeftEye = 1

I've never been that confident to just forge ahead and create that much inheritance! To see it done like that, and function well, it makes me wonder why I have not. Ginseng's code has told me that I'm an insecure little twit in some ways. I should really shake that habit.

Thoughts on Project Shock

Dwarf Fortress gives you colonists. They can be dwarfted drafted to be members of the military. These colonists encounter hardship of all kinds. There's also an adventure mode where you can go and explore old ruins or just wander the world as an adventure.

At the risk of potentially announcing I'd going to do something, then losing all motivation, I'd like to do this. In space. With space colonists. Who can become space marines. From the perspective of a player who is an adventurer and leader among them.

However, if it's my baby, there's some changes to do. I think the developers of Dwarf Fortress have undergone a little bit too much attention to detail. While it's good from a simulation standpoint, it's not so good in a game detail perspective.

It's a bit of a Derek Smart approach to game design - Battlecruiser is absolutely loved by the players who have spared the prerequisite of several weeks to learn the idiosyncrasies of the engine, like navigating an obtuse interface, and recognizing where it's likely to crash from sheer unrealized ambition.

So I would change a few things, for example:
  • You really don't need to (for example) model every single body part a creature has. All you'd really need to do is roll on a critical hit table and add injured body part to a list of conditions. Much more elegant, more or less the same result.
  • Production is really a lot more awkward than it's worth.

    Are your dwarves having personal hygiene problems? They will need some soap. To get soap, you will need a Soap Maker's Shop. The Soap Maker's Shop will require Tallow and Lye. Tallow is produced in Kitchens when rendered from Animal's Fat when it's slaughtered at a Butcher Shop. Lye requires an Ashery to produce. The Ashery will require Ash. Ash can be made by burning wood in a wood furnace.

    Good God - that's obvious to no one but the developers, for everybody else, hit up the Wiki.

    You want to know one of the reasons why I'm making Project Shock Sci-Fi? So I can create a replicator that just creates soap out of accumulated Energy and Mass. Alternately, we could just have the dwarves figure out all these little details on their own without having to manually run down 4 production queues and mark a cat for butchering.
With these kinds of thoughts towards refinement, I could make a very good little game. I might as well. I sure don't give a damn about school right now, as stupid as that may be.

For the time being, however, I'm going to do something that vastly improves my odds of getting anything done ever. I'm going to go take a little jog on my treadmill.
I see that massive list of variables being better represented by a list of sorts. Perhaps associated list for the common ones (eyes, body parts, etc).

Good luck on the project though, it sounds interesting (I've downloaded DF, played it a bit, didn't get much into it), so maybe you can make it a bit easier to understand for those of us who are less hardcore.
I love DF but i often die a lot due to its steep learning curve.
I loved reading about Boatmurdered back when I stumbled across it months ago. The little pictures people drew tied up the experience perfectly.
Accidentally imbibed caffeine and ended up staying up late in to the night heavily revising (ripping out most of the guts from) Vehicle Wars to bring things in my new Dwarf-Fortress-like direction. I still have a while to go, though.

I'm also going to try to avoid tipping my hand about what I've developed until I have something released. However, I do have a few things to say about the development process itself.

As mentioned here, I'm forsaking a complete design document for fear of stifling my muse and painting myself into corners.

Fortunately, I have a pretty good idea how this game plays in my head. I've also been able to import a lot of old code. My pathing library, the aliens you can see way back here, and I'm planning on bringing in some of the best parts from Project Shock.

It is interesting how going from point a to point c can trip me up, though. I get to a certain point and ask myself, "okay, everything I've coded works, now what?" I look at the design document, see there's several features to add, but find myself stumped as to where to start.

Taking some inspiration from Ginseng's code, maybe the solution for that mental block is just to start adding stuff, and worrying about making it work later.

The Dwarf Fortress methodology towards development is good, really. What they've essentially done is get the engine up and playable, and just keep tacking on more and more details as their imagination delivers them.

So, if I can get some little colonists on land and building for me, I'll be in good shape, I think. At that point, there's nothing to do but add more toys, I think.
When I saw DF 2010 had been released on Thursday I was thrilled, but I'm gonna wait and see what people learn about the new version and also wait out the first few rounds of bug fixes. I like to go into things more prepared.