DWARF FORTRESS CLASSIC 0.47.04 (February 29, 2020)
Here’s an audio interview I did with BLindiRL.
Tomorrow at noon US Pacific time, and 9pm in Austria, I’ll be having a conversation with Johanna Pirker at Game Dev Days Graz 2020. It’ll be streamed here on Twitch. They’re also on Discord.
Most lately we’ve experimented a bit with material recolors for items. These are done in code based on the RGB color provided in the raws for the metals so they should work with metal mods etc. Here’s the Debug Creature we’ve been using for creatures without tiles, after having arranged some swords of various materials in the arena.
Here are some more underground creatures and weapon/tool items made from different materials.
We’re still having some trouble getting the Dwarf Fortress File Depot to come up consistently after the site move. We’ve tried three options and are continuing discussions with support. We’ll figure something out! Sorry for the ongoing irritation there.
Here’s an interview with Noclip we did back at GDC last year when people could sit down in person for interviews and such things. Has some Kruggsmash bits and other production bits, so not strictly an interview. Interview+.
There’s a brook. I didn’t anticipate back when we started that we’d have a sixteen frame animation cycle in the game, but we have one now! We might revisit flow direction indications a bit with this, and make some additional tweaks, but the rocks and refraction effects are really cool as it stands. It’s going to be exciting to see how floodgate systems and other fluid systems look as they all come online.
Still Water (WIP)
We also have an early image here of the more opaque pools. Otherwise, I’ve continued catching up with identifiers. Toys, shields, trap components, prepared food, various constructed floors, and all manner of other tiles up and running, and we should have some additional presentable images soon.
Here’s the monthly report, and the Future of the Fortress. Sorry for the outages over the last few days. Our site and the Dwarf Fortress File Depot may still be on and offline a bit while we migrate to a new hosting company.
While the protests against the murder of George Floyd and police brutality, and the ensuing police riot, continue in this country, we don’t want to be silent, nor do we want to make a generic brand statement. So, specifically, we support efforts to defund the police, as well as those to minimize and abolish incarceration. No amount of protection afforded to white people is worth the horror we continue to perpetuate in this country against millions in marginalized communities. Black lives matter.
It’s likely those of you that want to contribute to relevant funds have located some already. We’ve given to Rebuild Lake Street, the BLM Seattle Freedom Fund, and Reclaim the Block. Minnesota Freedom Fund will be linking additional organizations as well.
Ah, sorry for the gap there. I didn’t have a scene to show, so I was just pottering away on code bits in a sleep-deprived pandemic haze and lost track (I’ve remained healthy, but the sleep schedule has become unmoored.) The main project for the artists is the rivers and brooks, and that’s going well. In the meantime, I’ve been handling various bits, like support for pet/vermin display and getting adventure mode showing the basic tile view (still quite rough). We do have a few things we can show this week:
Here are the larger workshops, the siege workshop and the kennels.
And here are the minecart tracks. There are carved tracks from the top, transitioning into some wooden ones, and finally some stone ones heading up from the southwest. We also have images for track stops and rollers that aren’t coded up yet. I’m always several identifiers behind, ha ha, and the work continues!
We’ve mentioned trees a few times here and showed a few foliage shadows back in April. Starting with that, this is what the lowest level of a lightly forested area looks like currently:
There are saplings and shrubs there as well – we have some specific shrub tiles now, but these species are still generic. As I mentioned before, the initial challenge was to distinguish trees from stumps, and this was accomplished with the shadow and some general liveliness. Of course, as you know if you’ve played the game, what lies above presents entirely new challenges!
That gif has the view going up above a tree and then back down the branching trunk, showing each of the thickness levels a basic 1×1 DF tree can present – trunk, thick branch, thin branches, and twigs/leaves. In ASCII, the thin branches use the 1/4 symbol, but here they indicate which direction their parent branch/trunk is. Thick branches can be walked upon, so they have to be reasonably wide, whereas thin branches do not support a walker, and so are much more fragile looking. On top of that, trunks can grow sideways but are not walkable, so needed to be distinguished from thick branches. This is accomplished by use of a trunk pillar in each of the trunk tiles, while the trunk tile still indicates its possible horizontal parent and children.
Forest and crown shyness
In ASCII, you can sometimes tell adjacent trees apart based on flowers etc. but more often it is just endless touching leaves. Here we have several leaf tiles depending on adjacency, which allowed the artists to attain the phenomenon of crown shyness. Not all species do this in real life, but in the game, it allows players to more easily distinguish which tree they are looking at, so we’re using it everywhere.
We’re still in various states of handling thicker trunks (highwoods can get up to 3×3!), trees without leaves, growths on trees (fruits etc.), other species of trees, and the more exotic cases of underground mushrooms and evil/good trees and so forth.
Here’s where the work on the world map stands:
ASCII Medium World -> Same Medium World with Tiles.
This is still in progress, and we have a lot of planned improvements around mountain peaks, river mouths, oceans, and just about everything else, ha ha, but it’s definitely come into its own as an image of the world that will work for fort mode, adventure mode, and legends mode alike. This was well over a thousand images, especially to smooth out the blocky boundaries. It’s still a grid map, and it’s not easy to get away from that fully, but the artwork has gone a long way toward making it look more natural.
Here is the month’s report, and also the Future of the Fortress. A few more days of tinkering and we should have some more images to show, and more on through May!
This week, we’ve started in on the world map. There are a ton of tiles to reference, and the edges and layering are a little tricky, but hopefully we’ll have some images soon.
First look at machines
I can’t show a useful machine yet, but here is a windmill turning some axles and gear assemblies. Off to the right you can see a hint of a tree shadow. Here’s a fuller picture of where we are with that: tree shadows. DF’s multitile trees are a challenge to draw – even indicating that they are a living tree and not a stump down at the base level takes some work. The artists went with foliage shadows, and it does the job!
Happy birthday to me! And appropriately enough, here are our first procedural creature pictures.
As you can see here, they reflect a lot of what’s going on in the descriptions (horn character and number, tail character and number, hairiness, skinlessness), but because we glue them together from parts that need to be reused, they don’t reflect absolutely everything (joints, howling.) With their much greater diversity, depicting forgotten beasts and demons will require more forms and effort, but similar principles should work out.
Here’s some additional detail for creatures – differentiation based on ‘caste’ information. Now more domestic animals can be distinguished by their images.
And finally, the next iteration on stockpiles. We’re still working with these, and signage etc. for custom stockpiles in particular. As usual, we worked on some other things that aren’t quite ready (more with trees, wagons, and so forth.)
As many of you know (and often already sort out with mods and so forth), the hills in DF can be confusing, especially when they are steep. Not just because of the ramps, which we showed you with the last set of pictures, but just wrapping your head around the three-dimensional map can be a bit much when it only shows you a cross-section at a time.
Here’s a lot of what we’ve been working on recently. There have been additional attempts to sort out a few of the minor issues you see there with soil-edge-shading and so forth, and work is ongoing, but this helps a lot already!
Ha ha, here’s a dev log foray into animated media, scrolling down a few levels.
Those images take place in deserts since our work on vegetation is in flux. We’ll be able to show some pictures there later when it is ready.
Finished Placement vs. Planned Furniture
We’re experimenting with transparency for planned furniture. Here are two similar bedrooms.
Blind Cave Ogre and Gorlak
Even in the new display, as some people noted last time with the domestic animals, we can’t show the exact size of creatures – there’s just not enough room in the tiles. However, we can bend the constraints of tiles a bit, as we did with workshops. Our currently specifications allow creatures like dragons to visually occupy most of six tiles (three wide, two tall), though the game logic is still the same (creatures are in one tile, sometimes many creatures.)
More great work from our artists! More to see next week! I hope all is well.
Starting the month off with a report, and the Future of the Fortress. I also did an interview with Literate Gamer last month that goes into the graphical release and what comes afterward.
A lot of this week’s work was about making the ramps and their shadows better, since it’ll be important for people to understand what has been traditionally a very confusing part of the game.
Here’s an example of a more gnarly ramp situation (which would of course be a ton of upward triangles in Classic DF.) We’re still working on shadows and transitions, but it’s going pretty well, I think.
Here’s another one that also has some hematite (at the north side) and some brown jasper (at the south side). We’re hoping to shade the stone around the jasper like the sort of stone it is in, rather than the current lighter color.
Additionally, we’ve continued along with workshops and walls. All of the standard 3×3 workshops are displaying in the game now.
Here’s a small fort with a carpenter, mason and metalsmith (under construction, with a little bit sticking up above the wall). The smoothed walls use the proper picture now (though the color still needs to match the rough stone), and you can also see a constructed wall made from blocks on the top right. Since many people like to patch up their forts perfectly, and others want constructions to be distinct, the current thinking is to go ahead and allow constructed walls to be smoothed and engraved like regular walls. Engraving constructions is a long-standing request, so even better.
Many domestic animals
Finally, in Critter News, we have domestic creatures displaying. I sold all the material in my starting wagon except for a pick and bought up a barnyard full and set them by the water.
We’ve been continuing on with the artwork and graphics code. I realized late that the last dev log was a bit confusing, and that despite how things have worked here for many years, there should probably be some pictures, ha ha. Please remember that these are all works in progress, and absolutely everything about them is subject to change.
This is what I mean by different grid sizes. The visible fort area is made up of 32×32 tiles, while the old interface (which we haven’t touched yet) is 8×12 tiles. You can see some of the week’s work in this shot as well. We’re experimenting with ramp shadows (there are a few cases there were the shades don’t match up), as well as ramp shapes. You can see to the left and right of the door how some of the recessed ramps don’t match up with the others. There are a lot of different ramp configurations, so this is an ongoing process! You can see here the stockpile and some log items, as well as a placed door and a carpenter’s workshop. These are mostly soil walls which will likely be reddish brown later, instead of gray – the game is pulling from the RGB values of the material definitions, and the soil materials don’t have corrected colors yet.
In this image, you can see some small rooms underground, where I’ve smoothed the top portion of the largest room as well as the first small room to the right. Here you can see the wall shadow effect, as well as the variations in rough stone floor texture and the gem walls where the miners uncovered some rubicelle.
I’ve mostly been working with these shadow and floor textures, but we also got a preliminary dwarf displaying as well! They are built from several pieces (twelve layers currently), and we’ll be able to show a picture of that once it is further along. Mike and Patrick have also done hundreds of creatures, items, workshop, plants and more, and I just have to keep working to catch up with them, ha ha ha.
Hmm, interesting month so far, especially today, and I presume tomorrow and the rest of the days for a while. But work continues! The basic support for multiple differently-sized grids is done. I haven’t added much tile support yet, so what I saw was just a grass-and-stone field with the menus printed above it, but on the other hand, that was the first major hurdle. Now I’m just slogging through a list of identifiers and draw commands so the artists can put all of their various art into the game and tweak their existing pictures and so forth. So far, so good.
A report for the month, and the Future of the Fortress: Part 1, Part 2.
Our second leap day release! Fixes old and new this time. From the new category, aside from crashes, marriages were being dissolved frequently and friendly visiting experiments were breaking too much furniture. Among the older bugs fixed, we’ve got the one where people could teleport through walls while fighting or sparring, a loyalty cascade civil war issue, and a creature/item duplication bugs that was corrupting saves.
Barring sudden issues, this will be the final bug-fix release before we get the code work started on the graphical version. There’s a lot left to fix before that version is ready to be released, and we’ll be doing parallel bug fix releases as the graphics stuff progresses.
Major bug fixes
- Fixed w.g. crash related to society infiltration
- Fixed w.g. crash related to variable position creation
- Fixed crash involving misbehaving roads
- Fixed loyalty cascade due to death of questers etc. that had positive relationships with fort dwarves
- Stopped charge collisions from teleporting people through walls
- Fixed save corruption/duplication related to fort/adv retirement
- Stopped dwarves from silently dissolving their marriages when they make a close friend
- Stopped large visitors and residents from seeking and destroying buildings even if they do so as invaders
- Stopped overwide shrines in npc forts from flooding the underground
- Fixed issue causing broken castle maps
Other bug fixes/tweaks
- Stopped pantheons of mortal races from frequently having very high numbers of deities
- Fixed summon effects for small-sized creatures
- Removed building destroyer/trample/trapavoid from smaller procedural creatures
- Made divorce thought appear properly
- Added stone altar building job
- Fixed broken reunion historical entry
- Removed various forgotten beast traits from experiments
- Corrected issue with rumor system
- Made item creation interactions work harder to select a material if none is provided
Released Dwarf Fortress 0.47.04
A reminder that crayon and story rewards are ending this month! If you’ve already contributed and have been waiting, now is the time to reply to the email I sent, or feel free to email me at [email protected] if you didn’t receive or can’t find the information. We won’t be able to take new requests starting March 1, and we’ll have to be firm about that in order to stop the process from continuing forever, so please don’t delay.
The next fix release should be coming by the end of the month. GDC is rolling around again in March, and the graphical code work will also begin, so it should be a hectic and interesting time.
Here’s another bug-fix release, ranging into some older issues as well. There’s been some work on the raid crash/corruption problem, though I suspect that is ongoing – hopefully the frequency is lessened. I’ve also done a few quick changes to socializing and stress, but that’s a longer project as well. Dwarves clump now in zones and taverns, which should help with the friendship rate, and I’ve made the most stressable dwarves a little more fixable. One of the major causes of loyalty spirals/civil wars has been handled, and I did some work with hospital rest and diagnosis problems.
Reminder: We’ll start coding on the graphical version in a few weeks. We’ll still have these bug-fix releases periodically, though there will be an initial gap of some time while I get the core framework done to the point where the artists can use it. But there should be at least one more bug-fix release around the change of the month before that work begins.
Major bug fixes
- Cleaned up equipment tracking issue for returning fort-mode raiders
- Made historical spies drop possibly divisive cover identities when arriving as regular fort citizens
- Stopped patients that have been in traction for a week from requiring diagnosis repeatedly
- Made dwarves inside hospitals return to rest if rest is cancelled
- Supported doctor’s guildhall to fix broken petitions
- Fixed freeze related to forbidding doors/hatches
- Fixed crash related to starting modded fort mode critters with natural skills
- Stopped crash related to artifacts/books placed on adv pack animals
- Fixed crash related to deleting zones in adv mode site planning
- Fixed unretirement crash in adv mode
- Fixed bug causing you to become a different historical figure when unretiring
- Fixed w.g. crash related to imprisonment by civilizations that have lost their capitals
Other bug fixes/tweaks
- Allowed placement of altars in fort mode (they have no specific function yet)
- Added person-seeking behavior to socialize activity and to jobless milling about in zones
- Changed stress calculation for high vulnerability personalities
- Made mummies control tombs more fully so allies couldn’t call on zombies to fight themselves
- Stopped mercenaries from being hired to attack their own forts
- Fixed problem causing w.g. people to falsely befriend themselves for information
- Fixed xml log for entities acquiring buildings
- Fixed xml log for entities breaching the underworld
Released Dwarf Fortress 0.47.03
Bit of a slow start this week, as my apartment complex is unexpectedly on the market after 13 years. There were sudden inspections and other such to deal with. Hopefully I won’t have to move soon, but we’ll see!
I did get some stuff done the last few days as we now head toward the next fix release. Another world gen crash fixed. Hopefully took a chunk out of the raid crashes (there was a large problem with the post-raid equipment manifests), but there are definitely still other issues there. A few quirky issues like mercenaries attacking themselves, and tomb builders being able to control mummy zombies indirectly and even make them siege themselves. Crash related to pack animals, and an unretirement crash. Fixed a fort loyalty cascade from historical spy identities – loyal dwarven spies that had infiltrated the goblins historically would arrive during play, still claiming to be members of the goblin civ (as grown-up or second generation abductions), and fort dwarves would believe them. Now they sensibly drop those identities and become regular citizens or visitors of the fort, preventing any free-for-all violence from starting.
This is the first bug-fix release, focusing on newly introduced problems. Most notably, world gen crashes should happen less often, having babies should cause less trouble, and some adventure mode problems with quests and mounts should be fixed. We’ll continue on with this process, working in some older bugs for next time as well.
Major bug fixes
- Fixed crash from starting in adventure mode as an outsider
- Fixed world gen crash involving civs attacking ruins that still had livestock
- Fixed world gen crash involving criminals and arrest
- Fixed crash from certain description strings
- Fixed crash involving stressed out wilderness creatures wanting to complain to priests
- Stopped carried newborns from setting their mothers’ paths like riders
- Stopped flying mount from taking control when it is airborne
- Fixed broken hearthperson links for adventurers
- Made animals follow the follow command instead of waiting forever
- Fixed issues with mount movement after fast travel
Other bug fixes/tweaks
- Made undead riled up by dwarf raids as with normal civs
- Starting dwarves pulled from underground cultures no longer start with cave adaptation
- Stopped non-dwarves from doing w.g. underworld disasters
- Increased werebeast triggers further to match semi-megabeasts
- Took quantity into consideration in chargen equipment value
- Fixed item quality interaction effect range setting
- Fixed masterpiece quality error in chargen equipment value
- Allowed legless animal people to pet animals
- Stopped pets from dropping all packed luggage when they attack
- Stopped some cases of animals being called recruits after travelling
- Fixed broken scroll/expand commands in adventurer intrigue log
- Stopped chargen beliefs from persisting incorrectly when certain options are selected
- Fixed villain network export from legends (only works for living – no snapshots)
- Changed Create New World civ number distribution (new numbers suggested by Talvieno)
- Changed human ‘fortress’ to ‘castle’ to avoid confusing with dwarf fortresses
- Fixed inconsistency in kill name changes
- Fixed interrogator/conspirator xml
- Fixed some busted world gen param newlines
Released Dwarf Fortress 0.47.02
Here’s the monthly report, and here’s Future of the Fortress: Part 1, Part 2.
Most importantly, we will need to stop accepting reward requests after February. Anybody can still get one this month. We’d been fortunate to be able to keep up with them since 2015 and all the new Patreon people (that wasn’t a sure thing at all, as we all discussed at the time), and we’ve finally reached a tipping point where it’s starting to detract from development and something needs to change. Here’s a Patreon post with some additional details.
We’ve clean up some of the worldgen crashes and other issues and will do just a bit more before getting the first fixer-upper release posted.
Here is the villains release! There are various bits we’re going to have to loop back around to after the graphics work is complete (see previous lengthy dev log), so perhaps this should be called the first villains release, or more “the guilds and temples and adventurer parties and pets release which also has artifact heists and extensive historical villainy, with lots of new mostly evil magical stuff”, ha ha. We will get to the fortress plots beyond artifact heists when we return, as well as the ability for the adventurer to be a villain and to investigate them more effectively.
The features are listed below. For fortress mode, the most important new elements that will be commonly encountered are petitions for guildhalls and temples. When enough believers or laboring dwarves are in the fort, you’ll receive a petition, and it’s up to you if you want to try to build the location for them or not. To satisfy the temple petitions, you must assign a priest (the game will remind you with an announcement when your temple is ready for one, after a certain value threshold is crossed.) The main benefits of guildhalls and priests currently is the ability of guild members to share knowledge, and of priests to give inspiring sermons and comfort stressed-out dwarves.
Less commonly, but also important, a villain may target your fortress, especially when you get up to having artifacts they might covet. If you notice an artifact has been stolen in a non-kobold way (the announcements will be different, make sure you have a sheriff to receive the reports), you will be able to interrogate anybody about the crime – witness reports might be useful with a name, or they might just indicate the artifact is missing. Interrogation leads to a report indicator on the left, which you can read in the usual way (with ‘r’.) This also opens up the counterintelligence screen, which will keep track of information for you. If you manage to interrogate the handler of any treacherous dwarf, generally on a return visit, you might even get the name of their master, if they have one, or get details of other plots throughout the world, though most of them cannot impact your fort directly (yet.)
Dwarves have some more general relationship types now (especially the historical ones, who can arrive as war buddies or athletic rivals), and they can also have multiple lovers or get divorced or have children before they are married.
Most aquifers in the fort are now slower filling. You still have to act pretty quickly (this makes them remain useful for wells and other liquid matter), but it is very possible to just wall them off or otherwise deal with the water if you are ready. You can still place a wall on top of shallow water. If you want an old-style aquifer, just embark where there’s a “heavy aquifer.”
Your fort may also be invaded by horrible things if the necromancers or demons have been entertaining themselves.
The main new bit in adventure mode is right in the beginning – well, not quite. Don’t be fooled by the first character creation screen (which is unchanged), you’ll get to the good stuff right after. There are a lot of new options there (starting background, religion, starting site selection, equipment including quality, mounts/pets), including the option to make party members, who can be from different civilization. Mounts greatly speed up travel if everybody has one (make sure the mount is their pet.) If you forget a mount or meet with tragedy, you can claim a new mount generally from the pastures of human cities, or wherever tame animals can be found. You do not have to purchase them currently. Just press ‘h’ near one (the same key you use to mount and lead animals.) If the wrong party member claims it, that party member can give it to the right one as a gift (a new conversation option which can be applied to anybody.) Pack animals (including many mounts) can also carry items. Press ‘p’ to place an item on a creature. This can greatly increase your capacity to carry food or treasure. If you claim a pet that is unnamed, you can name them as a conversation option (with the pet.)
In adventure mode, if you have judge of intent, you’ll be able to see the new readout of your conversation partner’s mood/relationship with you (without that skill, you still get some basic info.) You have the ability to interrogate people, using the persuade and intimidate skills, though this is limited now because we didn’t get to most evidence. People can confess to schemes, and sometimes that’ll even be meaningful, but it’s mostly a giant mush of data until we add more structure. But it shouldn’t be hard to find some even without proper story/evidence hooks – just go to a nearby castle in a human town, and some portion of the nobles and administrators there will be up to something. But it’ll be ultimately unsatisfying until we get to more. As a small note, only confessions of schemes will show up in the new adv mode intrigue view currently (confessions of masters/handlers don’t have a proper evidence link yet.) Finally, there were a ton of existing conversation options and most are not linked to the new conversation variables (like confidence and agitation and how much they want to leave.) But you should see them in action if you interrogate, argue about values, flatter, tell jokes or pacify. Additionally, depending on personality, most people slowly loses patience with a conversation no matter what the subject is, unless they are kept entertained. These ephemeral conversation values are reset every two hours, so don’t worry if you lose a chance to speak to somebody at a given time.
If you want to play with divination dice, you’ll need to find a pedestal with some at a shrine. About half of the shrines should have them, though a lot of the smaller road and intersection shrines won’t have room and will just have statues. Shrines labeled in text on the travel map have the best chance, since they are large. Temples can also have them in the basement with the relics. To roll dice, make sure they are in your hand and ‘I’nteract with them. Rolling should be an option there. Once you do that, the roll announcement has a lot of information. Statues generally give some idea as to whose shrine you are at. Shrines can be both for organized religions or generally to a deity, and both types can have divination traditions.
- Guilds organize and petition for guildhalls, guild members can do skill demonstrations
- Members of organized religions can petition for temples and priesthood recognition, priests give sermons and comfort stressed dwarves
- Traitor dwarves, artifact heists, interrogation for crime from the justice screen, counterintelligence readout with organization charts
- Most aquifers are much slower filling
- Can start with a party in adventure mode
- Specify background and starting location and beliefs in adventure mode (most labor skills still meaningless)
- Can start with specified equipment and pets in adventure mode
- Tactical combat mode for adventurer party
- Adventurer can ride mounts, place items on pack animals, lead animals, claim pets, gift pets, and name pets (rider skill matters for melee/ranged rolls currently)
- Can pet animals in adventure mode
- Addition mood information in adventure mode conversations, (simple) interrogation options, flattery, joke-telling, calming remarks, (very simple) sermons
- Simple intrigue display with actors and charts discovered in interrogation in adventure mode (in ‘Q’)
- Divination shrines with dice and various effects
- Lots of new intermediate positions (mostly without new mechanics) in entities (chamberlains etc.)
- Alliances against world-ending threats in world generation
- Various villainous activity in world generation, in play off-site, and (more limited) in fort mode, world generation surveillance, interrogation and punishment. Historical plots include theft, sabotage, abduction, assassination, coups, corrupt advancement promises, embezzlement, starting wars, and framing enemies.
- Romantic relationship changes (multiple lovers, affairs, children outside marriage, divorces, etc.) as well as other relationship changes and details (friendship/rival types, variables like trust, respect and loyalty)
- Merchant companies, military orders and mercenary companies, craft guilds in world generation
- Individual mercenaries and companies can upgrade their equipment, and richer world gen people can purchase houses and build up their own city towers
- Various religious interactions (shrine building, sermons, persecution) in world generation, lots of religious demographics tracking which influences shrine creation, religious sites and sermons influencing membership numbers, holy cities and a few levels of priest
- Various horrifying new necromancer/mummy/demon/vampire etc. matter – snow-balling zombie invasions, multiple experiment types, intelligent undead lieutenants with new powers, nightmarish summons, spreading evil zones, promises of immortality in villainous plots
- Dwarves can trigger dig-deep disasters in world generation, with repercussions coming to other sites, including fort mode
- Some new locations, some map details still in-progress, monasteries, private city towers, guildhalls, merchant counting houses, forts (bandits and mercenaries), castles have returned (basically unchanged), better necromancer towers and simple outlying buildings
Major bug fixes
- Fixed visitor crash related to broken meetings
- Fixed crash related to broken crimes and travelers/sent-away dwarves
Other bug fixes/tweaks
- Changed werecreature trigger condition
- Bogeyman limited to a few regions and given new powers
- Fixed error where bandit groups would be deleted prematurely in worldgen
- Fixed size issue with certain werecreatures
- Fixed bug where only last half of performance sentence was shown
- Fixed problem where biome and landmass names were sometimes split on the same biome/landmass
Released Dwarf Fortress 0.47.01
All continues toward a release, in the next some days. Since the last log, amid the testing and cleaning, one of the more interesting bits is that we’ve got sermons in, as well as priests being able to comfort people. Sermons can be on a variety of topics, related to the deity or values, and their main purpose is to give positive feelings to sympathetic people, while only minorly inconveniencing anybody who happens to be in the room that disagrees. Adventurers can also give sermons if they like, though there isn’t a tremendous point to it yet – you can’t build a flock, for example, though we’d like to meander in that direction over time.
Got the dwarf mode counterintelligence screen working with organizational chart display, and interrogation reports are cleaned up and displayed over with the other reports (on the left indicator bar.) In the test heist, the visiting infiltrator that flipped the dwarf traitor gave up their master, who was a war buddy that turned them using a shared belief in Omrak (whomever that is!), and it was all displayed in the report. So even with the feature delays, there should be the occasional wholesome set of details in fort-mode play (on top of all the detail in legends mode). Amusingly, instead of mentioning Omrak, a bug at first gave the report as the top villain having “played for sympathy using a shared belief in an unidentified creature”, since the deity Omrak did not have an official file over at dwarf counterintel HQ. They’ve since been read in on the world’s cultures, although this does raise the question about how much they should know and when, for a later time.
Ack, disappeared into the cleanup grind a little too long there. I was going to try to avoid this fairly typical occurrence by mixing cleaning and the final features, but as described in the last log, several features have been delayed which now leaves us with a relative bucket full of cleaning. Halfway done with the total list remaining in the month, so we’re just ahead of schedule to get to the January release. Most notable bit that slipped in is skill demonstrations in craft guildhalls, which work just like the military ones, but impart one of the skills which falls under the umbrella of the guild to any attending member, and which also satisfies some needs. But mostly just fixing uninteresting problems (why is this temple 100x more valuable than it should be? where is my pet alpaca? why was this army created two hundred times in a year? etc.)
There will probably be one more log before the release. Then we should be ready to go!
Here’s the monthly report. Here is the Future of the Fortress. Happy New Year! 2020 should be a very exciting one for Dwarf Fortress. Sometime later today on the 1st, in fact, we should be appearing on a new episode of Dwarf Fortress Roundtable. Check back there for a new episode soon.
So yes, we’re planning for a release this month! Notably, we are pushing things up a bit so that I can get started on the graphical version and get the artists squared away, the artists who have been very patiently waiting for me for about a year now! Then we’ll be working with them on an ongoing basis and get the Steam/itch release done. This leaves a few questions regarding the villain release: what about any serious issues that arise, and which features have been delayed in order to get the release up?
For bug-fixing and stabilization, we’re going to do some initial work after the villain release happens – there are plenty of serious issues on the tracker, the villain release will doubtless have issues, and we can afford to do some of them now — we’d like the new version to be playable and the Steam/itch version will need those bugs fixed anyway. However, we also need to get the graphical code rolling so the artists can work more easily, and this needs to happen soon. Therefore the plan is to spend some time with the worst bugs at first, and then, as the Steam work progresses, we’ll do additional stabilization releases on the existing branch as well. It’s hard to say what the frequency of these fixer-upper releases will be before starting in on the graphical work, but the goal is not to sit on anything nasty like the old weapon trap crash or the existing military equipment/raid crash for extended periods of time anymore. This also includes the stress issues that we’ve been collecting over at the stress thread, and other related issues like socialization problems – they need to be fixed for the Steam/itch release, and it would be nice to fix them sooner. But the Steam/itch work must begin.
Thus, some feature delays! We have delayed things before (tavern games! caravan arc! army arc!) But this is a bit different and hopefully a unique event for us, which seems likely given the situation — a few things we definitely thought we’d make it to are going to have to wait until after Steam/itch, sometimes just on account of testing time. I should emphasize that these are being moved to just after the graphical release, and *beforethe Big Wait, in with the army/adv mode medical/etc. improvements, not to tavern game limbo. We should get to everything, over several shorter releases, before the map rewrite and myth/magic stuff takes us back to at least one extended cycle (as there’s no other way to do the map rewrite, though stabilization releases can happen even then.)
The main wholesale delay is adventurers being villains. We didn’t get to any of that, and now it’ll have to wait a bit, including guard systems and access stuff we wanted to do. I still think the main thrust of giving villainous orders is pretty straightforward, but it takes time to add conversation and interface options for the different missions (along the lines of the dwarf mode ‘c’ screen). The adv investigations also aren’t going to lead to anything chaining or complicated yet – we didn’t get to any of our more interesting evidence ideas. The system for yelling combat orders at people isn’t done (the tactical control system is in, though.) Adventure mode will have to lean on parties and mounts and tactical mode and the shrines and new buildings and new necro stuff. Which is okay! And we’ll get to the rest later.
Over in fort mode, the infiltrators and traitors don’t yet chain up to a full takeover the way we would have liked. We didn’t get to any of the new household positions (like the chamberlains and so forth which pop up in adventure mode now). Merchants and mercenary companies don’t come up. We’re continue some dwarf villain/justice work this month, before the release, so we should see a bit more here for this time.
In necro land, the old vampire cults were left hanging, though with new ability to pass immortality to subordinates these cults somewhat exist in the villain networks – the new system is more interesting in a few ways, but incorporation of bits of the old system will add some coherence when we get to it. Also, while intelligent undead lieutenants are in, *ghostlyundead lieutenants need more testing (there are way too many weird duel bugs etc. with their non-corporeal selves), so they’ll come in later.
Several of the more involved villainous plots didn’t make it out of world generation, and hostages and artifacts don’t always have proper places to be stored tile-wise in adv mode. We were planning a few more dungeon maps and didn’t get to them.
Those are the ones, as far as I can tell from the notes. There should still be quite a bit to play with. We’ll get to the rest after our Steam/itch excursion, which will itself bring a lot of useful and welcome changes beyond the graphics and audio. So, a little out of order maybe, but things will be well.
Holidays were intense, with various moving about and other activity, so there’s not much to report before we move on to the month+year change and FotF and such. If I do give a work report, it would be along these lines: It does appear that the limb regrow effect responds to tissue-layer settings, so if you want to mod in just the skin growing back, instead of the entire limb with all of its tissues, you can go ahead and have an unusable sort of fleshy sleeve grow out, and then force your players to go find the muscle and bone effects separately. The vanilla DF gods are kind and, when they do heal, provide all tissues at once.
Life is back to normal in time for the end of the year, and the slowly approaching lutefisk, on its little soapy fish-jello fins. It got to the point where Zach could start running test forts, so we’ve been cleaning various crashes and issues. The test fort has a few guilds (farmers and fisherdwarves, unsurprisingly – we’ll see if that’s adjusted) and is on the verge of its first temple petition, and it hasn’t been too troublesome. Adv mounts have been been quite aggressive, though, and Zach was pitched on the ground by his horse several times for unknown reasons. But it’s shaping up, and riding down bandits and zombies and worse is entertaining.
On the programming side, the justice screen is next, but I had to go back and clean up relationship variables and several ties in agreements that weren’t strong enough for the interrogations to feed the counter-intelligence screen the necessary information. In the process I got to about a third of the miscelleneous hanging notes. Hopefully we’ll have the counter-intelligence dev log next, and then we’ll see when the year changes how the final push is going to go. The Steam work has been put off for a long while, and we have obligations to meet there, and artists and others to coordinate with, so some bits may have to be placed with the post-Steam army work; it’ll all depend on how the next few weeks go.
One more day to see if I’m actually called up, but so far, no actual on-site real-life jury duty. But the way it breaks up the week (you have to check the evening before each day to see if you need to be in court the next morning), I didn’t attempt the next major feature push (the justice stuff.) This is fine, since the release also needs the usual and various testing and tweaks. This involved a lot of undead invasions of a fort, finally, for instance. A collection of scaly horned failed-experimental maggots accompanied the usual zombies, which was cheerful, and a pale ghoul lieutenant managed to repeatedly cast a pain spell on my horse before killing several of my test dwarves with a crossbow. This is good. Back next week with actual progress assuming I’m not suddenly called into a trial that lasts past Friday.
Artifact theft investigations in fort mode are nearly complete, including all of the witness reports, and the ability to interrogate anybody (first brought to the sheriff/guard captain’s office, if you have one.) Witnesses can spot artifacts when they are missing, or notice when an artifact isn’t where they think it should be. If this happens, people will also report those last seen admiring the artifact, which can lead to false positives, but is also useful, since an artifact thief will often spend time near a pedestal or display case waiting for an opportunity to snatch the object when there are no witnesses. The admiration noted by a passerby might be all you get. Finally, there are witness reports for the actual theft, and the handoff, if those are seen.
As interrogation can lead to further information about any traitors, we’re now moving over to the new justice counter-intelligence information display and the specific display for the interrogations. There’s a lot to clean up, as the justice screen was not written with visitors in mind all those years ago, but that should be ready to go for next week, if I’m not empaneled on a jury in real life!
December! And jury duty, possibly, but we’ll see in a few weeks. A report for the month. Also a Future of the Fortress: Part 1, Part 2.
We decided to bring back craft guilds as a nice way to wind up the work before Thanksgiving, though we did not yet have time to bring back organized work slowdowns, ha ha. Right now, you can create a guildhall for most of the jobs (a few like merchants and administrators and the military jobs are excluded), and the relevant workers can meet up there. Once the job gets up to a certain threshold of workers (currently 10), they will formalize their guild by name and petition for a guild hall. They can do this once more if you get up to very large number (currently 25), they will ask for a more opulent space. Workers switch guilds if their skill-based type changes, and migrants will join a guild once they worked in your fortress enough to gain a bit of skill (even if they were already qualified) in order to avoid a spontaneous guild if a new uniform wave comes in. Guild membership does not depend on player labor settings, unless they work enough to actually change their skillset.
There are a number of directions we could take this: bring in the organizational structures from world gen and allow stuff like labor demands etc. to come back, setting up pedestals/display cases in the guildhalls to let workers show off a masterpiece as part of their guild induction, or perhaps most practically, using the guildhalls to allow them to hold skill demonstrations and educate each other as the military squads do. There are also some socialization impacts here – people will be more likely to chat up their labor-mates and have repeated interactions, but the increased number of meeting places also segment the space and perhaps cause more lonely times without some added structure (such as the skill demonstrations.) We’ll be considering this as go.
Here’s a link to the talk I gave to the generative design class at UCSC: Emergent Narrative Building Blocks.
We’ve had our first artifact heist pulled off in a fort now! Twenty years earlier, a child named Ishas had undergone religious persecution at the hands of the goblins. A religion of seasons had made some inroads as far as the pits, and his mother was a priest there, but an upstart group worshipping the same god using different practices held sway with the goblin lord in power. The shrines were destroyed and Ishas held an abiding hatred of the lord Ngokang. He eventually moved away to human lands, and became a monk to a third religion ordered around the same god, but the grudge was not forgotten.
Unfortunately, a senior monk in the order, Vuli, was a former embezzling doctor who had been incarcerated twice and had not reformed after joining the sect. She offered Ishas revenge on Ngokang if Ishas would just do favors for her from time to time and perhaps catch the ear of the local lord in the hamlet. That was two years before I started playing.
Word soon reached Vuli of a rich group of foolhardy dwarves carving a settlement in the hills to the southeast. (rich because I had generated two artifact picks in my wagon for the test and set the appropriate wealth numbers.) Change of plans! Vuli went to Ishas and suggested he make his way to the settlement to see if he could get his hands on something valuable. Surely his promised revenge would be next on her list of tasks, but first things first. Ishas came to the fort, masquerading as a poet. He came to my little tavern and intimidated one of my more feckless dwarves, telling them that he’d return later and that the pick must be brought to him at that time. (we’ve inserted some delay and intervening steps here to give you more time to investigate.) The next Spring, Ishas reappeared, using the same assumed name, and my little dwarf stole the pick and brought it to him, at which point Ishas fled the map. (well, the first time, Ishas strapped the pick on his back and went to enjoy himself at the tavern, which I then changed.)
Everybody saw this happening, but nobody did anything, because the improved justice system is coming soon! Next up we’ll be doing that or craft guilds, depending on which seems more convenient in the coming days.
Now as they arrive at the fortress, the infiltrators assume appropriate secret identities, chosen plausibly from a civilization matching their creature type that would typically send visitors to the fortress. Their faked profession depends on the sorts of locations you have available, meaning that the tavern-heroes, scholars and pilgrims are used. They go about the typical business of these visitors, and any dwarves they encounter are subject to attempts to sway their loyalties, using the techniques from world generation (flattery, intimidation, promise of revenge against a grudge, promise of immortality, etc.) As in world generation, the more skilled villains will approach targets that they have a better chance of swaying, while others will blunder into repeated rebuffs and likely face witness reports. Next up we’ll see what any traitors get up to, and then set up the justice system to tackle the new threat.
The last trip of the year is here – going to give the FDG talk down at UC Santa Cruz. This time, though, it should be recorded, so we’ll get to post it here at some point. The material overlaps with the NYU and Northwestern talks from a few years ago, but there are plenty of new bits. I don’t think there’ll be another trip until March, so we should be heading toward the villain release and then work on the Steam stuff with fewer interruptions now.
We finished priest appointment and the associated petitions. When reaching a sufficient number of worshippers (going with 10 and 25 to start), a petition will be made to establish a temple location and priesthood, and then to establish a temple complex with a high priest. You can fill these jobs yourself with any worshipper you like – we thought it would be too cruel to randomly take one of your best dwarves away. Depending on the religious makeup of the civilization’s dwarves, you could reach the 10 threshold pretty early, or it might take a while. It isn’t too difficult to get a shrine up to temple status, especially because displayed items count toward the value.
There are various new thoughts; in one test, I intentionally accepted a petition to establish a temple for the ten worshippers from the Cult of Cats, and then ignored it for an entire year. The game announced that the agreement had been abandoned, and one of my fisherdwarves that belonged to the religion cancelled their job in dismay. In this “cool fort stuff” line of work, next up will likely be the initial steps with craft guilds. Some fort villain work first.
Here are the report and the Future of the Fortress: Part 1, Part 2.
This week I worked toward getting an infiltrator into the fortress, a possibility once a villain turns their attention toward you. Getting the ball rolling is more complicated than the current vampire or artifact quest infiltrators, but the new gears are all working to the point that they arrive properly. This’ll lead to our first fortress traitors, which should mark the beginning of the entertainments.
I’ve also updated the fortress mode temples to allow for organized religions, and the starting dwarves now match the historical (and generated) migrants in all having a possibility to belong to the appropriate organized religions for that point in their civilization’s history. The value of furniture/engravings/etc. in temples is now calculated and displayed, and a level name (shrine vs. temple etc.) is assigned to the temple roughly in line with what we have determining behavior in world generation. Next up here will be the appointment of priests, often following petitions from (a sufficient number of) worshippers.
In the third line of work, we’ve begun the more methodical testing of all the bits and pieces, so we can hopefully have fewer of those ‘just cleaning up’ logs as we slowly approach the release.
Zach and I will be away over the next few days, so the report and monthly Q&A will be Nov 2 or 3.
Speaking of moving on to the fort, we’ve just gone ahead with that, ha ha ha. The release is feeling long, and we need to draw some circles around a few things, so we’re going to start doing the modes more in tandem now — adventure mode work is not done.
First, I’ve just been getting a villain-hires-thief artifact heist to work. The update adding more coordination with regular criminal groups has increased the number of moving parts, and sometimes four or more messages need to be sent. But it’s mostly functioning! At some point, the villains really do need to invent scheduled conspiracy meetings of the higherups, to clear out all of their business at once, but for now, they just do one-on-ones.
Simple artifact thefts aren’t very interesting from a fort investigation perspective, though. Certainly, it could be a villainous network several layers deep, with the thief near the bottom, but almost all the investigation would happen outside the fort. So we’d like to move directly from having those thefts work to getting infiltrators inside the fort, and traitors turned from among your population. Then we can allow artifact thefts to involve an insider, which will make the investigation more internal at first, and involve more of the justice abilities we’re planning to add.
At some point early on, perhaps before traitors, we’ll also have to bring the fort in line with the new relationship model. This will expand what grudges and friendships mean, and it will also allow the new w.g. features like divorce and multiple lovers to happen in fort mode.
Once there’s enough action in the fort, we can move to improving the justice system. The interrogation and organization display work we’ve done to this point in adventure mode will guide the fort mode justice investigation/counter-intelligence displays and options. You’ll likely have the ability to arrest anybody in the fortress, presumably based on the evidence you find, though we’ll likely just let you bring in people to talk to the sheriff or guard captain, with morale consequences based on how capricious or ill-directed your actions are.
Foiling plots and gathering information will allow you to track down the villains outside the fort, if you want to send somebody after them, but it’ll also give them a reason to escalate and take revenge upon you, using the other major plots they have available (sabotage, assassination, and kidnapping.) They’ll do this while they continue to infiltrate your fort. We’ll have to handle the case where they’ll flipped enough of your main positions to have ‘won’, though we’re going to try to do this without just ending the game — staging a revolt within the fort using your loyal dwarves is on the table, but we’ll see what kinds of cases we actually need to handle as the infiltration work proceeds.
Finally, on the “hoping to get to *something*” side, we have the various new systems that have come to world generation: organized religions, craft guilds, merchant companies, mercenary companies, etc. We can’t promise anything specific here, but we’ll see what happens. We’ll also have to see what all the new undead lieutenants and critters and so forth are like when they attack the fortress — having just returned to fort mode, we haven’t seen this yet!
The above is a rough outline of what there is to be done in fort mode. We’ll move back to adventure mode throughout, as it’s still best when the pertinent details are handled there first.
Interrogation work has continued as promised with some additions to the conversation system. The first part was to add some new per-character variables to every conversation – how much a person wants to stay, whether they are pleased with things, and how confident/dominant/composed they are feeling, basically (this is more or less experimenting with valence/arousal/dominance emotional theory stuff, to see how it complements the myriad circumstance-based emotions we use already.) The second was to add tones/tactics attached to utterances, so that a skill like ‘intimidate’ and a skill roll can piggyback from the menu selection to the character’s ‘move’ through to their utterance in the conversation and finally to a reaction in the listener.
Those two additions allow us to set up an interrogation game that’s vaguely analogous to existing aimed attacks. The subject’s relationship with you and their personality (and their skills, etc.) determine how their transient conversation attitudes are affected (successful intimidation breaks their composure, for example), and this state determines whether they answer your question. Each utterance gives some feedback on how it all went, on top of the responses themselves, and you don’t need to use tactics on people that are already predisposed to reply. The game has a little preview window now that’ll tell you about what to expect from a given question+tactic pair, based on how good you are at judging character (which relies on empathy, social awareness and intuition), similar to how aimed attacks show chances. In this way, characters balanced toward these skills and attributes can have a significant advantage in this area.
(Incidentally, most of this took place with dingo people that had moved into a test village, rather than the Manifestation, for reasons of convenience.)
There’s more to do, as usual, but there’s some hope it seems of having something that feels like an investigation in opposition to the villains, and we’ll be expanding this out now until we nab enough of our goals to move on to the fort.
As mentioned last time, we went down to the Roguelike Celebration! We didn’t have a talk this year, but there were plenty of speakers that will be of interested to our players. This year’s talks are available here, and here’s a schedule you can use to navigate a day’s video.
There wasn’t much time left over, but in Dwarf land, we worked on the new interrogation conversations a bit. We should have something to report on our conversation experiments for next time.
Okay, we’ve started interviews and interrogation! It seemed like a fair entry point to investigations, since you’ll be confronting villains, and the conversations here need to work, regardless of other evidence. Naturally, our debugging friend, the Manifestation, made a return, wandering towns and taverns, clotheslessly peppering the criminal underworld with various queries. They don’t currently push back or refuse to answer questions, but that’s up next.
We’re going to experiment with some new conversation modifiers, like the ability to ask a question while also using ‘intimidation’ or ‘persuasion’ or ‘flattery’ as the principle conversation skill. We’ll also be using the new relationship variables (‘loyalty’, ‘trust/distrust’, ‘fear’, ‘love/hate’, and ‘respect’) as well as the existing reputation and personality information. Hopefully we can at least get a basic feel of a back-and-forth going during these important moments in the adventure. The ability to get somebody to yield through the combat system is always available to such characters, and somebody in such a scary situation is likely to balance that fear vs. their fear of and loyalty to their master, and this will go in your favor oftentimes, but it’ll also lead to quicker retaliation from the villain or organization at large. Using other conversation styles beyond intimidation and violence should present a viable safer option in many cases – at least this is what the plan is!
The Roguelike Celebration is this weekend, so this coming week’s work might be a little light, but it is always wholesome to meet with the Roguelike people, and some DF players should be there as well! Zach and I will both be attending.
To start this month, we have the report as well as the Future of the Fortress.
Alright, I did the last two things I wanted to do in this network rewrite: having plots that last longer (using the existing civ-based spies as a model), and allowing plots to pass even further down the criminal organization networks (so that more evidence will be created while making the leaves of the org chart more active.) This has been good, and I think we’re ready for investigation now! Hopefully! I also discovered a few problems with my org chart displayer, which is another way to make the networks look even more rich, ha ha (it wasn’t printing certain assets.) This has been a long detour, but we should be to the heart of the adventure mode update now. Once that all works, fun for forts.
This week I mostly pushed forward the ideas from last time. Plots can propagate out into dedicated criminal organizations from the non-criminal position holders (often through intermediaries), and criminal organizations can also expand out into other cities, forming branches much as the merchant companies do, where they then try to muscle out and subordinate local groups. These together have led to even more pleasantly rich and geographically-varied networks. We’ll take a few more steps along these lines before trying to implement player-led investigations, but we’re almost ready to give them a shot.
I am mostly recovered from the traveling and am back to work. As mentioned in the log before the travels, it turned out that we needed more work to link up networks and to make sure every link was generating some evidence. As stated there, we decided to focus on criminal organizations, and the linkages are much better now! For villains without brighter ideas, doing some petty crime with a few like-minded individuals is a start, and then these groups can fuse and otherwise associate, with various skimming and tribute and so forth as some of them grow more powerful. This allows the standard anti-bandit/criminal quests to lead into evidence network crawling, as the most successful groups can draw back to a more villainous status (ie they need discovering rather than generating direct quests.) The next steps will include linking the more important, position-holding villains to these groups in a few ways, and also bringing in the bandits and perhaps certain hearth lords into the mix as criminal organization analogues. I’m much happier with how the network graphs look now, but we’ll need to see an actual investigation to know if it’s sufficient.
The individual network links will also need to be strengthened by adding more long-term jobs for the important villains; the big assassination/etc. plots resolve too quickly, and so feel a bit like old news when you start adventuring. This can be solved by treating them a little bit more like the existing civ-based agents, with some work to be done over some in-game months before any job can be pulled off, and by making position-holder corruption being easier to accomplish when some relationship groundwork has been laid. After this tweaking, we should have an evidence-rich environment that doesn’t feel as artificially urgent.
Here’s a recording of the live play of DF at PAX with Nate Crowley of RockPaperShotgun and Victoria Tran of Kitfox, along with Zach and I. And for people that haven’t seen the systems panel at PAX, here’s a recording on Twitch.
And here’s the delayed Future of the Fortress: part 1, part 2. I’m almost back together and will be programming again starting tomorrow.
Here’s the report. PAX is underway. We’ve met a bunch of people at the Kitfox booth so far, and we’ll also be there tomorrow from 3-6 (#6120). People that haven’t seen the original Steam trailer (the ten second transformation from ASCII to graphics, as well as some screenshots) can be quite surprised by it! After five days of what turned out to be a very intense academic conference (I must have seen 40-50 paper presentations), Future of the Fortress will be delayed a few days, as expected. I feel like I could sleep for many years currently, but one more day of PAX first, then some sleep, and I should be back to adventure mode investigations!
We started by writing up the adventure log ‘intrigue’ tab where most evidence will be stored. This is divided into actors, organizations and plots. The organization view comes complete with graph visualizations showing names and roles and associations, like those string conspiracy boards, and you’ll be able to watch your view of a given organization fill in over time as you collect information, interview witnesses, and interrogate suspects.
The new info screen has highlighted several defects in the plots and villainous behavior. We’ll have to do some additional work to get more organizations merged or at least linked (there are too many isolated failed organizations with one person bossing one other person around for decades), and to make sure that more of the lower level members have their fingers in some evidence-creating cookie jar. Currently, too many of the low-level people try one gig and otherwise sit quiet for years. Our planned solution is to use the existing criminal organizations and bandit gangs; we put that off previously, but it’ll have to be done now in some abridged fashion that addresses these issues. At the same time, it was really cool to see a 25 member gang all laid out, from the leader hidden in an abandoned monastery, to their lieutenant goblin childhood friend that actually did all the organizing, to the low-level members, to various thieves and snatchers they’d hired for jobs down at the leaves, along with one embezzler and a highly-placed asset connected to the tree through their handler.
I realized after the last dev log that I should probably clarify what I meant by FDG-PAX extravaganza. People found some intriguing acronyms. For us, this means the Foundations of Digital Games conference down in San Luis Obispo at the end of the month, and the Penny Arcade Expo in Seattle overlapping with it. I’ll be giving a keynote down at FDG, and generally talking to the academic people about systems and emergent narrative and whatever else. At PAX, I’ll be on a systems panel (which should be livestreamed), doing a Rockpapershotgun stream with a live DF game, and Zach and I will also be there bravely staffing our own tiny DF section of the Kitfox booth on Sunday and Monday.
So yeah, no dev log next week, as there won’t be any DF work until the month changes. Hopefully I can get the Future of the Fortress up on time between the events. It’ll be exciting to get the first evidence-investigation conversations in the game soon.
Ha, the prediction we’d be easing into adventure mode villainy was correct. Work was mostly on paper this week, as we reconciled various knowledge and investigatory/evidence data structures with what we want them to be able to accomplish. Knowledge was already stored in partial fragments due to how interrogation works in world generation, but we need to tease apart every little piece even more finely if we want you to be able to feel like you’re actually piecing clues together (whether that’s in adventure mode, or in the fort mode justice system.) Real-life family stuff came up as well (everything’s fine, now.) But we should have some more tangible action to report next week before the whole FDG-PAX extravaganza begins.
The necessary map work I was set to do this week is now mostly completed. That included bandit and mercenary forts, merchant company counting houses, guildhalls, monasteries, and improved necromancer towers. The necros still need a bit of work, but overall it’s in good shape. As usual, actually creating the maps and populating them brought various bugs and nonsense to the surface, some of it very old. I fixed the problems that I found, with the occasional collapsed roof and infinite pit to the underworld along the way.
We’ve also been convinced by this process that doing the map rewrite as part of the Big Wait is necessary. For instance, I was able to get guildhalls and counting houses to appear in non-player dwarf forts, but it was an iffy thing, and there are bandaids all over the place. The inability to extend map code smoothly is going to inhibit a lot of what we want to do with magic and beyond, so we’ll definitely be tackling that. We were leaning that way anyway, since planes and portals and multiple cameras (e.g. seeing off-site dwarf battles while running your fort) are all pretty cool, but now it feels compelled. There are a ton of benefits to this, but the Big Wait will indeed be Big, even if the map rewrite is most of what we do at first.
(As a reminder, the Big Wait is the development time for the first myth/magic release. This will happen after the Steam/itch release, and after any immediate improvements that follow Steam/itch – candidates are listed on dev, like improved sieges, adventurer mode medical improvements, etc. The length is unavoidable due to the interlinking of systems, but we’ll try to make it as short as we can.)
We’ll be easing into adventure mode villainy now! Then to adv investigations, and fort mode. How we handle evidence and interrogation and so forth in adventure mode will directly inform how the player deals with villains in fort mode.
August’s report. The Future of the Fortress: part 1, part 2.
As we finished off the month, which is mostly an administrative period, there was also a last bit of tangentry and excitement over in necro and demon land. Summons were expanded to include larger nightmarish beings. They last for a short time and can’t be called often, but they are trouble. Raising intelligent undead was expanded to include ghosts. These can act as plotters and agents (you can put them down with their names, and likely that’ll also come up when we get to interrogating them about their role in plots.) Both of these should also contribute to fun in the fort when we arrive at that part.
Finally, certain necromancers and certain demons can also magically experiment on or otherwise corruptly transform the citizens and livestock of cities that they capture. This leads to a variety of humanoids and quadrupeds and others (like little failed experiment winged blobs), some of which can escape into the wilderness and perhaps even rarely reintegrate into society (and thereby possibly become playable in adv mode and available as fort travelers and migrants.) Collections of citizens can also be amalgamated into monstrous giants.
The creature description includes the conditions under which the creature first appeared, and their creature name often includes the name of the necromancer or demon (e.g. humanoids called Tura’s hands), and they are uncommon enough that I think it’s a relatively safe step in terms of exposition and potential confusion. That is, while elves, goblins, animal people, etc. are easy enough for most players to parse, along with the occasional forgotten beast, we were worried about throwing tons of procedural beings in before myth generation can cohere them. With the experiments though, despite being random, they still occupy a controlled position that seems to work in the contexts where they appear.
I think the tangents are finally out of my system now, for the time being, and we can get these maps done at long last. These new additions have been very good for the villain theme, though, and it’ll be wholesome to see them out in the worlds.
I began work on the in-play maps of new locations, the last major bit to do before all the villainy comes to play. The new evil regions were first, making sure the ones that spread out from necromantic activity properly killed plants and so forth. Working on this led to a number of changes. Evil that spread now fades away over many years if there’s no new activity in the region. The primordial evil areas don’t fade. Certain demons can now spread evil from their towers (or disaster forts), and the properties of the evil areas are related to the spheres of the demon. That is, a blight demon might kill vegetation, while a deformity demon can spread evil creature populations and wormy eyeball grass and so forth. This was a natural segue into restricting bogeymen to certain primordial evil regions and to nightmare demons, which puts an end to that little years-long experiment in annoying people. To compensate, bogeymen have been given some new powers, but they are way more rare overall.
These considerations led (there is a lot of leading this time) to undead lieutenants being given a variety of new powers. Many of them are based on existing syndromes, like the ability to temporarily blind and so forth, but I added some new effects as well. For instance, some of these undead can raise a heavy fog (when outdoors), and others can propel people away from them. I also added a summon power, and new tags to make polymorph-type abilities more versatile. Demons with the knowledge of life and death (that is, death demons, mainly) will now use their lieutenant raising property. They don’t animate zombies because animated zombies aren’t friendly to their goblin and other buddies, but the lieutenants fit in just fine. I made sure the goblins don’t chase them away for being unnaturally immortal, he he he.
Having escaped from all these tangents, I dutifully went to work on shrine maps. They are now distributed throughout sites based on their historical prevalence, with the dominant religions claiming e.g. large plots, while the minor religions might just have a single altar on a single curbside. Being full of tangents this week, that of course meant adding dice, for divination. With face sets (images, words, numerals or dots) and sides according to their shape (platonic or ‘long die’ prisms), and certain divination practices working with combinations of dice, and the ability to roll either one die or all the dice you are holding (which matters if the divination practice requires two dice, say.) And, um, the divinations doing things sometimes. I went to a shrine, rolled a tin icosahedral die and it was a bad roll and I was cursed to be a snowy owl for a week. So I flew up to a nearby rooftop and pondered tangents. But I will relax and finish my maps now. Working on worldgen villain plot details for months made an unwind like this overdue, I think. At least when I finally do get to tavern games and gambling, dice will be ready.
I started with some character sheet issues this time around. To keep up with some promises from old Future of the Fortresses for the new adventurers, I allowed the purchase of item quality in chargen, and the selection of religion, including the organized ones, depending on what town you start in and its history. I also changed the ‘hearthperson or not’ choice to allow for a variety of regular professional backgrounds, which mostly don’t do anything in adv mode yet, but they give free skills which’ll allow you to have some useful skills if you decide to retire in or move to a fort. At some point we’ll get to wider skill use in adventure mode, but not yet!
I also finished the tactical mode for parties of adventurers. Once you enter tactical mode, you can either control all of your characters manually, or designate a subset you want to control and let the rest be controlled like regular companions. You can change how each individual is controlled on the fly, which can be convenient if there’s, for instance, a straggler you don’t want to manually walk into the fray while everybody else is already in action, or an archer you don’t want to keep popping back to (or vice versa with a frontline fighter.) If all of your manually-controlled characters are incapacitated, it’ll give you a little announcement and pop you over to one of your automated ones. Now that the basic implementation is finished, there are a lot of different ways to add to it, naturally, but I’ll wait for some feedback on this new system before going too far with it now.
Finally this week, I made a change to aquifers. Most of them will now run about 1/500th as slow as they used to, allowing you time to come up with a strategy to wall or channel or pump or whatever you like, while remaining a fairly immediate flooding danger. The old-style near-artesian aquifers are still in the game, but they make up about 5% of the total and are clearly marked on embark and in the site finder, so people can play around with the aquifer-busting methods that have been invented or just have an easy flowing water supply. The new slower aquifers can still be used for wells, but if overused, there is more danger now that they won’t fill fast enough, in which case you just need to make an additional well or make the well excavation larger. All old forts loaded into the new version will have the old type of aquifer to avoid breaking existing fluid-mechanical setups, but the old worlds will have the new aquifer distribution for any future embarks.
I finished up the basic features with pets and mounts. You can set the mount speed (which lets you see their gaits, like gallop, canter, trot, etc.), and party members will speed up to try to catch up with you. Of course, that doesn’t mean anything if they don’t use their own mounts, so they do that now. They will move to mount their own mountable pets after you do, and they will dismount when you dismount, if there isn’t an ongoing combat or something like that drawing their immediate attention.
I also made sure that necromancer adventurers can ride undead mounts that they raise. This was flumoxed at first since the undead creatures don’t have souls and so weren’t taking the commands properly, but that’s fixed now, though the nature of undead animation magic is still not pinned down (and won’t be until much later.)
You can pet animals now. Necromancers can pet their zombie animals too, and the living can try too if they are foolish. Hmm, I think a necromancer might also be able to pet their zombie humanoids, due to how it does the detection.
Next up is the tactical party combat and other party issues for next week. Then either map updates or adventurer mode investigations and villainy.
As a quick start for this month, I finished the other major plots with hireable moving pieces (sabotage, abduction, and artifact theft), up to their world generation level – sabotage, for instance, still just affects an abstract economic number, since there’s nothing else for it to do until we get to fort mode, where it’ll likely have a starring role which you’ll all enjoy very much.
I’m finding the work a tad too abstract now that we’re out of world gen, so I’m going to bring adventure mode into the mix now. This will start with completing mounts and tactical party combat to clear the plate, and perhaps the necessary map updates, and then we’ll finally be ready to attach all of this plotting to an actual played game.
Here’s the report to start off July. And a short Future of the Fortress as well. I think the transition from world gen to detailing the same matter for post world gen has sparked less questions, but that’s to be expected. Things should pick up again when we get to the actual play changes.
This week I continued on with the in-play plot updates. The first thing I did was to get cutouts/handlers to work with assassins. Just as in world generation, the villains no longer need to hire assassins and other agents themselves. In the case where a villain or a handler is duty-bound and important, where a journey that might take several days would seem inappropriate, I’ve allowed them to send messages more abstractly, over the same period of time. These will still form the basis of evidence etc. during the investigation period. For villains and handlers that aren’t so fortunate, they actually have to make the relevant journey. This will be particularly important once we get to fort mode, since this is where they’ll be sneaking into your tavern and so forth. I also spent a bit of time with the other (non-assassination) plots, though the transfer there is not yet complete.
The supporting features from world generation have also needed to make the transition to play. In particular, I spent some time moving over the new cultural/population religious information that was stored in a more expedient form for world generation. I’ll also have to do this with some of the new relationship data.
Finally, I took a first look back at the unfinished adventure mode stuff I’d left behind last year with parties and mounts, and fixed up some movement and announcement issues there to refresh my memory.
I went to the Interplanetary Festival in Santa Fe, where I was part of a game design panel. They’ve already posted a video (should start around 4: 40: 15). The audience was seated out in the grass and there were many dogs (and a wolf from a wolf sanctuary!), so it was much more relaxed than the background would have you believe, which is why I perhaps do even more odd dancing than usual. Should have more normal sorts of news for next week.
We now have our first complete plot pulled off in play, after world generation is complete. The lucky (and one unlucky) actors were a dwarven necromancer named Ustuth, the dwarf Count Limul Treatyvessels, and Jonu the human assassin. Ustuth had quite a run through world generation. Before becoming immortal, he was the Sacred Night of the dream religion, the Veiled Fellowship, but was too proud to give in to death and sought to extend his life. A necromancer was all too happy to arrange this, and Ustuth joined as a lieutenant of a small zombie horde which had rampaged through a few villages. The dwarves led an alliance with the humans and elves to put an end to this after a decade or so, and Ustuth was taken prisoner.
Normally these stories have ended with some giant monster just killing everybody, but Ustuth had another 80 years to go. Ustuth escaped from prison after a few years and settled in a town which was captured by goblins, and he was reimprisoned in a goblin tower. Freed during a dwarven invasion, Ustuth settled in a dwarf fortress and became an engineer while running a highly-successful criminal operation. I’m not actually sure why he didn’t try to start a zombie horde of his own instead, but this is okay. After another few decades, he moved to the center of scholarship of the dwarves, Roomlantern, and began working more seriously, inventing valves and writing a few books about how they work. Even among dwarves though, agelessness is noticed, and Ustuth had to flee for his life, to the hillocks of Questrelic, where he blended in as a miner. Then, love! He married Urdim Craftdells and moved back to the original fortress where he had settled after goblin prison, Basementcave. He joined the bonecarvers guild, the Prime Guild, and became their recordkeeper.
This didn’t last long, though, as he was already known at Basementcave and the suspicions arose again. Ustoth fled again to hillocks where he was not known. It was at this point that he had had just about enough, and grew to hate the ruler of Basementcave, Count Limul, very deeply. From the hillocks, Ustoth took up the traveling life and became a bard, studying under an elf who immediately joined Ustuth’s criminal network, which had been operating all this time.
When the game started, Ustoth was hanging out with several criminal musician elves in a human village. From the world debugger, I watched him travel to the mercenary fort where the Blockades of Chaos made their base, worshipping the god of strength. Some of them were still freelancing though, and Jonu was one of these. Excellently equipped by her group, and highly experienced, sneaking into Basementcave still wasn’t going to be easy, but it wasn’t beyond her. After she successfully slipped past the guards, Count Limul didn’t stand a chance.
Several of the other plots will come mostly for free with this, and handling the infrastructure for this has solidified the idea that adventurer villains that can give similar orders are going to work. There are going to be some near misses, as people can move around at times, but enough people stay in place for long enough that it hopefully won’t be too frustrating to have your companions and fellow plotters come back empty-handed too often. Before testing any of that, though, I need to finish up the plot conversions.
Ah, the month slipped by on the dev log here. This is the monthly report, and here is the Future of the Fortress: Part 1, Part 2. Also, a Gamasutra interview with John Harris that goes into some technical details.
For most of the days since the last log, I’ve been doing month changeover work with emails and rewards etc. I did manage to find some time to start the post world-gen villain work, and it looks like everything will transfer over about as incompletely as I could have hoped. There is a lot to do with meetings, and travel, and infiltration-style actions at sites, etc., but it can all use roughly the same basic data structures and framework as we have from world generation. That’s the hope. We’ll see how that goes!
A dry but productive week of historical data structures and text. They don’t read as well as the stories from the dev logs, but the information is there now, and in the XML export. And that marks the end of the world generation work! Finally, we’ll be moving on to everything else. Since it has been a while, a reminder of what that looks like in recent years, roughly speaking. First, we bring over the core of the world generation mechanics that’ll be needed in both modes of the game, with finer detail since the map is more detailed and time is more granular. This time, that mostly means getting the villainous agents to actually move on the map, continuing the plots from world gen. Then, we work on adventure mode, since it’s easier to see things up close there and do necessary tweaks and patch up flaws. Here, we’ll be doing adventure mode investigations and adventurers-as-villains, as well as finishing some items we left for parties and realizing some maps and things from world generation. Finally, with all the core mechanics and tweaks in place, we hit the fortress mode changes: relationship improvements sparked by the villain upgrade, villains against the fort, any plotting that you yourself can do as a fort (either as counter-espionage or more actively), and any other bits from religions, mercenaries, etc. that make it over, though these last are undecided.
Here are some items I forgot to link from earlier in the month:
Discussing Steam/itch release and more on Kake Bytes, with Scamps. This doesn’t have the video, but the very good cat was crawling all over me intermittently.
And here’s a 27 minute video interview with IndieHangover, during which Scamps is almost always on screen.
And finally, my list of stuffs on Uses This.
Fortunately, the bug from last week lasted only one more work day. The divergent butchered meats were tied to different livestock populations, which came back to differently initialized labor pools due to the game being confused about zombie work forces. It was particularly bad since the seeds of the two worlds diverged but then realigned before things got too bad (and then diverged again for keeps ~38 weeks later). This happens sometimes, since the number of dice rolls can resync, with just a slight change that doesn’t become apparent until it blows things up later. So, in any case, I was able to get back on top of things.
First, alliances. When civilizations are feeling set upon by the more evil threats (any group that requires the killing of neutrals, like gobs and the undead), they can join up now, for as long as feels necessary, and beyond, if they get along. This has had the desired effect of keeping the necromancers in line. A typical scenario is that the necromancer will bide their time, raise many zombies, and attack a small market to attempt to get a snowball going. This sets an alliance to be formed, and the necromancer is subsequently be defeated. In one such case, the necromancer Morul Searedgorge did exactly that to a coastal town of humans, and the next year found himself captured by an alliance of humans, elves and dwarves in roughly equal numbers. He was imprisoned in a dwarf fortress for 20 years. He might have escaped, but a hydra came and ate him and everybody else. I did have to fix a bug where the human and dwarven allies also ate the dead if the elves led the attack.
There are all sorts of variations on the general pattern. In one world, a militia commander obsessed with their own mortality defected to the necromancers, was killed, raised, and imprisoned for decades (and still in prison at game start.) In the same world, the main necromancer was also killed, but was brought back by an apprentice who had assumed control, who was later killed, and the now truly undead main necromancer became the leader again, until the alliance was finally fully successful. I only had one small world where the wind just blew the wrong way for everybody and the necromancer completely won, after 700 years of tracking down the last villages. In the end, heroic animal people were the last resistance, settling in the final holdout locations, slaying multiple forlorn butcher lieutenants as they inevitable fell to the army of 10000+ zombies and became forlorn butcher animal people themselves. By the year 834, every settlement was destroyed, and history effectively stopped, aside from chronic book writing and some animal heroes that still arose and wandered the regions (they found nowhere to settle and died of old age peacefully.) The necromancers don’t yet attack the wilderness.
I was able to finish a few more supernatural events as well. World gen dwarves can break into the underworld now. It gives them a chance to fight off the demons, but this generally goes poorly, as they aren’t as clever as you all, making theme parks down there, heh. Some goblins are thrown into the mix, and this becomes a new civilization in the mountains. Artifacts can now be stored in tombs, and if thieves go for them, this can cause disturbances, as in adventure mode currently. The resulting mummies form a grudge against the thieves, but also generally take up necromantic and villainous ways. Here is one coast that went sour after the mummy decided to attack the nearby city that had built the tomb. They executed and raised everybody there as zombies. The mummy never managed to recover the iron ring that was stolen from the tomb, and the thief died in an unrelated combat a few years after the theft (before the tomb eruption even happened.) The mummy also raised his own mother from the tomb as an ‘interred ghoul’, along with every other notable personage buried there. I’ve given the intelligent undead raised by mummied more ‘crypty’ adjectives to distinguish them. We’ll probably have to wait for the magic stuff before a more natural system can be used.
I also finished the villainous/merc/etc. XML exporting I needed to do, and have started on the remaining historical event writeups.
In preparation for alliances, I searched for a world with a formidable necromancer. I didn’t find one initially, as it took quite a bit of tweaking to get them to take off properly. During this process, I found a random intelligent undead, a gorlak night shade, that was taken captive during a human counterattack, enslaved, and made to milk cows for some years. The citizens eventually became bothered that the creature did not age, then suspicious, then hostile… I suppose that’s fair, as the curse doesn’t currently change their appearance from the one they had in life, but still, it was leading a zombie army. In any case, the night shade escaped their wrath, and returned to its tower, where it died (again) defending against another necromancer’s attack.
Eventually, as I made changes, the necromancers started conquering larger swaths of land more often, as intended (pre-alliance.) The elves had to conquer an entire mountain range filled with zombies that used to be a dwarven civilization of thirty or so sites. Their first attack on a zombie fort failed, but most of the zombies were put down then, and the elves eventually cleared out the halls. In other cases, the initial counter-attack started trouble for the world. The dwarves took a necromancer tower that had attacked their hillocks, and they took the necromancer’s forbidden death-god slab as a prize to one of their fortresses, where the local historians started reading it and corrupting themselves. I also gave necromancers and vampires the ability to use their secrets and their blood respectively to entice people to join their villainous schemes. Grateful and dutiful villains actually carry through and share their power when an asset proves themselves useful, but others never fulfill their promise.
At last, I found a great world for testing alliances. A necromancer took over an entire elf civilization, choosing their battles well enough that the elves never mounted an effective counter-attack (though there was a bit of luck involved there too, I’m sure), after which they were pretty much unstoppable. The whole time, the neighboring humans and dwarves stood by, because there are no alliances yet, but they could have easily stopped the undead. This, of course, was the perfect time for another world gen non-reproducibility bug, which I’ve been working on for two full days. I’ve traced it from the main necromancer being assassinated (or not) in the year 205, to a migration happening (or not) in year 183 week 40, to a debt being to one city or another in week 38, to whether or not a site wanted stone cabinets, to the size of their meat stockpile in 183 week 2, to ten particular stacks of meat which have random amounts even when the world seed is the same. I’ll get it eventually, but I have to generate the medium island world out to year 183 at least twice every time I want to log, usually more, so that’s fun, ha ha ha. I was planning to wrap up the supernatural changes this week, and now may end up just doing alliances, but we’ll see how the bug chasing concludes.
Necromancers are having fun. I’ve added a bit more information to the necromancer towers, allowing the zombies to build them up a bit to increase a site zombie cap. If the necromancer is at their zombie cap, they can still raise more zombies, but they are added to a wilderness population instead. The wilderness population can still be used for invasions, but they are also able to roam on to player forts in the region and also encounter adventurers. Such regions become evil slowly, emanating outward visibly from the tower tile by tile. Necromancers can infiltrate site graves and catacombs to sneak out some zombies, before they are ready to attack (in the currently released version, they only raid old battlefields.) Necromancers captured during such risky infiltrations are generally executed.
Once the necromancer is feeling powerful enough, they attack the outlying villages of a market town and if the snowball gets big enough, the market town as well, all in the same invasion during a given year. So far, this has caused some minor pain, but hasn’t ever turned into a world-ending cascade, as history is usually too messy for that (sudden dragon attacks, opportunistic goblin attacks, etc.) But I’m still planning on adding alliances, as the necromancers will only get better at seeing through their new ambitions as I do a few tweaks to make them more effective.
For instance, in order to handle some of the logistics of taking over the world, necromancers can now raise a new type of intelligent undead from historical graves and battlefields. These currently have silly names like hollow haunt and doomed zombie and so forth. They are under the control of the necromancer, but can retain much of their old identity. (There are bugs to wrangle – sometimes they take off and join performance troupes.) I’m also currently letting the necromancer use them as assets during villainous schemes, though I should grapple a bit with what that means in terms of, like, their intimidation rolls and how they get reported to the authorities.
The report to start May: Bay 12 Report. And here’s the monthly Q&A, Future of the Fortress: Part 1, Part 2. Now to begin supernatural villains and perhaps our first end of the world.
The civilizations in world generation now have some basic counter-intelligence abilities, and though it’s abstract like the rest of world generation, the spy masters and law enforcement position holders, like the villains, have to work in a more-or-less fair fashion to earn their victories. The game keeps track of the evidence they’ve collected from witnesses, interrogation and surveillance, and this gives them leads on further steps to take, in terms of who to surveil and who to interrogate. They don’t take any complicated steps, forming plots against villains etc., as there simply wasn’t time. But they can defend themselves adequately and stop the world from falling into compromised ruin. Hopefully that’ll be enough for now. We’ll come back and adjust after we see how fort mode plays if necessary.
But first, we need to finish world generation, and that means it’s time for the supernatural critters and persons to have their shot at earning proper villainous credentials. We spent some time this week narrowing down a very long list of possibilities. Most matter to do with the supernatural is best saved for the magic release, but since there will be a Big Wait for that, adding as well the work on the graphical release, we’ve been planning to add a certain amount of Fun elements to help tide everybody over. I previewed one of these at my talk at the last Roguelike Celebration, which was a plot for a necromancer to take over the world with an army of undead soldiers raised from the chaos of plot-caused wars. Conveniently, we have almost all of the tools necessary to do that now. This’ll also very likely lead to a non-villainous addition – alliances. At least, our suspicion is that in some worlds, those will be very necessary for survival. But it’s not all undead armies in the notes. We’ll see what we get to in the time we’ve set aside for this.
I’ve finished the final non-supernatural plots for villains to employ now. As stated last month just before all the excitement, these are corrupt imprisonment, framing, snatching, sabotage and directing wars to their enemies. They also include intentionally corrupting the government of an enemy (rather than targeting based on location or current assets.) The most complicated plot here was snatching, as it involves the new hideouts and also the disposition of the hostage afterward. They can obtain a ransom (depending on the position and family of the hostage), imprison the hostage for a period, or just murder them if they run out of ideas. If the villain holds a particularly strong grudge and is vengeful and cruel, they might torture and/or sell the hostage (depending on their values and which civilizations are around). So, that’s kind of bleak. One bright side is that personal prisoners have a chance to escape now (it is harder to escape from towers, especially those with dungeons), including those taken by night trolls.
Most of it is bleak, though. Corrupt imprisonment and framing are similar to each other, but the first requires the villain to either personally hold or have influence over the leader or law enforcement of a civilization, while the latter involves excellent intrigue skill use against those same position holders as well as the target. If successful, the target (either a grudge or somebody else to be neutralized) will be charged with a crime and receive whatever punishment is due for it, from exile to imprisonment or execution. The villains make sure to check the laws first before they attempt to use either of these techniques.
Starting wars, also bleak, involves corrupt leaders, advisors and generals associated to civilizations with which the target civilization is currently at peace. Skilled intrigue here can disturb diplomatic relations, though I didn’t set aside a lot of time to get into specifics there (we need to finish sometime!) Similarly, sabotage is a bit thin, but if successful, the agent harms the abstract ‘account’ of either a grudge or the company/guild they are a part of, which does have an effect on them (I didn’t yet do actual building destruction.) Now we can move on to our criminal organization tweaks and counter-intelligence.
Here is Annie and Kate’s second The Fortress is for Everyone post.
I finally pulled together all of the corruption techniques and goals into a single place along with skills, personality, and the relationship variables (love-hate + trust + loyalty + fear + respect), and… it seems to be working out. It was spread out and disjointed before, so I wasn’t able to get the villain’s decision-making to consider every factor reliably. Now it’s much more compact. The current set of corruption techniques, which is looking more final as we slowly wrap world-gen up: intimidation, asserting rank, blackmail, flattery, exploiting religious sympathies, promising to take revenge on an enemy, and direct bribery. These are used to corrupt position holders variously and to gain new agents.
The villain or their agent chooses a technique based on whichever one they think will provide the best outcome, but if an organization has not been penetrated or the agent isn’t good at their job (intrigue, judging intent, etc.), their assessment of which technique will work can be incorrect (by design.) For instance, they might think a bribe is a good idea, but if they are a terrible judge of character and have nobody inside the target’s organization, they might not realize that the target is not greedy and not in debt. But if the target were greedy, or in debt, and the agent has an insider and a good judge-intent roll, they will correctly assess bribery as a useful possibility. It’d be nice to remove more of the rolls from the system, but we don’t have enough data and getting there might be hard, especially in world generation where so many parts need to move quickly. It is good enough for this venue; there might be a few additions for the fort or adventurer villains if it starts to feel too rough.
Generally, the moments of intimidation, flattery and bribery from the previous blogs, now have cleaner and more unified modifiers based on skill, personality, and the relationship variables (e.g. intimidation is more successful if the target fears the villain already, and flattery works better if the target trusts them) and can be selected more intelligently, with the ability (upcoming in a bit) to expose most of the factors in the decision-making to legends mode. A wholesome rewrite, and we can check off that bit and move to finish the final mundane plots and do some necessary tweaks to criminal organizations.
Life is beginning to settle down again, though we have quite a few rewards to work on, so there’ll be intermittent delays – we’ll eventually get them all sent out! My internet computer died a few days ago, but I managed to salvage the hard drive, so aside from a lost day, no serious damage there. I’m back working on schemers and should have another log on Wednesday or Thursday about the week’s work (that time of the week works best with the rhythm of the week’s work, as it stands.) To get out of world generation, I still need to finish the plots I mentioned just before the big announcement, do some more work with compromise methods and the intrigue skill, mess a bit with criminal organizations, handle counterintelligence, handle supernatural villains, and tie up some expository loose ends (mostly around historical event text, xml, etc etc.) That’s not *thatmuch, given all that we’ve handled to this point. We’ll see how far I get this month!
Here are all the parts of the PC Gamer interview I did at GDC (I posted the first one last week): Part 1, Part 2, Part 3, Part 4.
A Bay 12 Report to start the month. And the Future of the Fortress in two parts: Part 1, Part 2.
Following the announcement, Zach’s wife Annie and cousin Dr. Kate Ringland began a series of posts about Dwarf Fortress, healthcare, and some of what’s been going on.
Here are some of the recent articles (ones for which we were interviewed): Motherboard, Kotaku (1), Kotaku (2),
PC Gamer, PCGamesN, Polygon, and Waypoint.
It’s announcement day! Dwarf Fortress is coming to Steam and itch.io with a new tile set and enhanced graphics support and audio. We’ll continue updating the free ASCII version on the Bay 12 web page as Dwarf Fortress Classic. We posted a longer message to our Patreon supporters (anybody can read) with more information.
I’ll be in the Kitfox Discord all day today. I’m also doing two Reddit AMAs on Thursday the 14th: one at /r/dwarfortress at noon US Pacific and one at /r/gamedev at 2PM US Pacific.
Hmm, matters have still been hectic, so I don’t have enough for a story. I’ve been working on several final plots for villains in order to round things out and make use of the new dungeons and so forth, as I mentioned earlier. These include corrupt imprisonment, framing, snatching, sabotage and trying to ignite warfare involving their enemies. This work will continue until and then after GDC, which happens from the 18th to the 22nd, though we’re going to have that DF announcement on the 13th to keep matters interesting! In much smaller announcement news, Threetoe now keeps four threetoes. From the left: Harry, Ramone, Sid and Bowie.
As foretold: Part 1, Part 2.
Here is the Bay 12 Report for this month. Stuff still a little busy, so I should have the Future of the Fortress tomorrow! Then we’ll be back to villains.
Nothing villainous to report on the dev log this week, as the bulk of my work time was spent preparing material for an upcoming Dwarf Fortress announcement. That’ll happen in a few weeks! GDC is also coming up in the second half of March, so we’ll be entering what will prove to be an unusual month, but we should still make some decent progress toward the villain release.
Some time frustratingly burned on another butterfly-effect style world generation bug, where the same seed would occasionally produce different results. I had to trace it through different temples being built in year 100, to different lovers being selected in year 60, to different shrines being constructed in year 35 (a RNG state alteration which caused somebody’s gender to change on the other side of the world at birth, hence the lover difference), to the actual mistake in the code where leaders selected which shrines to encourage. That took a few days of diligent logging and world regeneration. But it’s fixed now. I’ve been adding stuff to world generation for some months, so it was inevitable this sort of thing would happen from time to time.
I did make progress on hideouts. Plotters can use their organization and leadership locations, whether that’s a monastery or a mercenary compound or their own castle. But we needed a few options for people without those social structures, for artifact storage among other things, so now anybody with a sufficient account can grab a house or have a tower built in a city. (Given how dwarf maps and fort mode room assignments work, I don’t have options for fortresses yet.) The buildings pass on to family members currently, and buildings that don’t pass to anybody can be obtained by somebody (instead of having them build a new one, sometimes.) Merchants and wealthy officials have generally been the tower-builders in my first passes, as they are very expensive. There’s a cap on the amount of towers based on city size to prevent a Towers of Bologna situation from being too common, but there can still be a number of them. Towers can also be reconstructed and extended – feast halls, added fortifications and gated yards are common, but plotters can also add a dungeon, the purpose of which is shortly to arrive, heh.
The previous owners of towers and houses are referenced in the histories, so we can follow their passage reasonably easily. I found one named the Luxurious Bejeweled Executions first built by a corrupt official who had tremendous luck gambling. When he died, his wealthy merchant ex-lover purchased the tower. She died shortly thereafter, and the Executions was purchased by another official, who died and left it to his son Gal. That happened over the course of a hundred year, so we should see some wholesome layers of history develop on these structures.
For instance, if a villain, say, passes on in an unfortunate way and has no family in the area to inherit their artifacts or house, the artifacts will simply be in that house, hidden and lost. In the very likely event that the house is purchased later, the artifacts will be unknown to the homebuyer (at first), but they will nevertheless possibly have a problem on their hands, depending on who might be searching for the treasures. I haven’t actually seen this yet, with random homebuyers. The world I checked had the orderly passage of eight hidden artifacts to heirs of houses and towers that contained them, but they could easily have gone on the market instead, and even in my case, the heirs weren’t all told about the hidden treasures, as they weren’t all family heirlooms.
In fact, Bax Doomedwane was a descendent of kidnapped dwarves who grew up in a goblin tower, but she left to become a dancer in a human city. That didn’t last long, but she was out of the goblin civilization and somewhat integrated in her new home, and became the chief executioner in town after a few years. Being raised a goblin, Bax was a natural for villainy, and soon had the harvest administrator embezzling money for her. She soon corrupted the local magistrate and turned her eyes to thievery, having her gang steal two artifacts in particular, an alder figurine of an ant and a pig leather quiver, both rightfully claimed by the dwarf fortresses where they were made. These were quite coveted objects, but in the year 183, when Bax died, she had them both, squirreled away in the house she bought with her ill-gotten gains.
Bax had six children still living at the time of her passing, and the house went to Usbu Menaceflew. He had a goblin name, and grew up in a tower, but like his mother, his art took him outside its bounds, and he became a bard, a lasting career for him. For almost 120 years he’d been composing, his latest being “And He Sang ‘Toasts!'” and “We See Depression.” Usbu never committed a villainous act of any sort. Married three times, he moved around the world, and was living in a forest retreat named Entrancedsparkled when news came that he’d come into some property. World generation ended at the time when he moved to the human city, to his newly-inherited house, which contained the two hidden dwarven artifacts. Nobody aside from the dwarves had an outstanding claim on the quiver, but the alder figurine was also sought by Lema Furnaceteach and Ngoso Dreaddirge, two goblin bandit lords as old as the world. They’d each stolen it from Bax before, and their minds would still often turn to the treasure.
I decided to do the religious work I mentioned for worldgen last time, in the form of persecution and riots, religious grievances and personal grudges against abusive rulers, as well as allowing priests to reduce (or further inflame) tensions, according to their character.
Stodir Valeinked was a dwarf born deep underground in what was becoming a heavily religious community. His father had joined the Crystalline Denomination four years before Stodir was born, and would later become a priest of Limul, the dwarven goddess of metals. Stodir followed the family religion ardently, but a love of history took him to the human town of Combatfoot, on the east coast not far from the mountains. The first and greatest library of the world was there, the Bastion of Poets, and Stodir studied diligently for many years. For reasons unclear, Stodir was elevated to be the baron of the town when the former ruler died… this did not suit Stodir well, as he was greedy and somewhat cruel. It wasn’t long before he began accepting bribes from a goblin criminal. (Unrelatedly, a fell mood dwarf in the town also gifted him a human bone floodgate which he made the symbol of his rule.)
Over the years, his eye was drawn several times to the Occult Coven. This religion of fate was older than the Crystalline Denomination, and in Combatfoot stood their temple, the Church of Veils. The first high priestess, Exalted God Ongu Furnacecloaks, died peacefully in 75, leaving the Heavenly Wonders, a perfect wax opal, in the Church. The next high priest was Nani Lushslops. Worship of the Tenebrous Aura continued in the Church, until, overcome by a decade’s weight of greed and driven by fervency, Stodir made his move in the year 88.
The Church of Veils was the only temple destroyed in the first 125 years of history. Many minor shrines to the Coven in Combatfoot were also razed during the persecution. The possessions of followers were confiscated, and they were expelled from Combatfoot. Overall, eleven historical figures and seventy others made the journey south to the peninsula town of Northpranks, still in the same human empire, but outside of Stodir’s domain. The Occult Coven had a priest there, but their one great house of worship was gone. The Heavenly Wonders was destroyed with the temple, fervency having outmatched greed in the end.
In Northpranks, tensions were high. The Crystalline Denomination didn’t have a temple in town, but there was a simple dwarven shrine and a few worshippers that had trickled in from the mountains over the last fifty years. The Occult Coven’s local priest, Sacred Dawn Gasem, preached on the subject of love and tolerance toward the Crystalline Denomination specifically, that tensions might abate, but a year later the wound was still remembered and a riot broke out. Including the eighty or so recent arrivals, just over 200 of the town’s 300 citizens were Occult, and they rose up together and destroyed the shrine. Nobody was hurt among the eighteen followers of Limul, but that was by no means a sure thing. The shrine, the reminder of their suffering and exile, having been destroyed, the riot ended and they pondered no further violence. The local Denomination believers nursed a grievance of their own, but didn’t try anything. Tensions abated over the next thirty years. When the displaced high priest Nani passed away in 127, he left a lump of clay in the new Occult Coven temple in Northpranks, constructed in 120.
I found one historical instance of the story going the other direction. The humans conquered a forest retreat and placed an administrator in charge, who was an ardent Occult Coven follower. She was greedy, but not particularly harsh, and confiscated some goods from the few Crystalline Denomination worshippers that were there, without expelling them or destroying the shrines. This created some tension, but their local priest managed to talk them out of doing anything. Oddly enough, this priest, Libash, was also a historian who had studied in Combatfoots, twenty years after the Church of Veils had been torn down. Before joining the priesthood, he had discovered the technique of comparative biography, which is more than Stodir even managed.
Incidentally, priests do not always take the high road when preaching to their flock. There were three other human religions inciting violence against each other repeatedly as they took turns abusing the power of petty lordships, leading to various riots and trouble. These were more deadly… at one point, a few people were fed to beasts to honor the nature god.
Various consolidation and small moves to start the month. I traced accounts for embezzlement networks and smoothed out some rough edges there, and made sure the mercenary groups based on organized religions (as opposed to generic worship) functioned correctly. I also fixed some frequency issues with religions and updated the November update to temple profaning to make it compatible with upcoming religious strife. Ruining random temples no longer matters to the deity. In order to be cursed, the act must be against a god the offender worships, for some specific reason (how this manifests in post-worldgen is TBD, but at a minimum it can just check the worship of, say, a tantrumer — curse one way, religious tension the other.) In order to avoid werebeasts and vampire curses exploding like popcorn during religious riots, something had to give, and in general, making the curse stories a little more personal seemed appropriate now. I still have to do religious tension etc. of course; something will be added for this time, even if it ends up kinda basic.
I now have punishment in terms of sentences of a number of years understood by worldgen, vaguely aligned to dwarf mode and the (wholly-inadequate-but-good-enough-for-now) ethics definitions. Before, prisoners were just prisoners, for as long as it lasted (escape/conquest/etc.) Now an embezzler might spend five years in the dungeon, not try to escape, and then go on to do something else, which is important as we move toward non-assassination problem-solving by villains. They should have the option soon to engineer false charges or otherwise corrupt imprisonment.
A Bay 12 Report to start the month. A Future of the Fortress too: Part 1, Part 2.
Worldgen mercenaries now participate in battles. If they do well, and survive for a time, they can pull together some of the other mercenaries participating, as well as some of the other non-historical people participating, and create a mercenary company. These can be quite different from each other.
The last one I looked at was founded by Oddom Weatherbrass, whose great grandmother was a bookkeeper who feel in love with a necromancer, became obsessed with her own mortality a few years later (unrelatedly, somehow), and began worshipping the skeletal death god Rakust. Kadol received Necroskull, a slab with the secrets of life and death, from the god and became a necromancer herslf. She was murdered decades later by a criminal assassin and so forth, but the important point for this log is that she had a large family and they were all death god worshippers. Not necromancers, but Kadol’s non-traditional religious beliefs passed down. Oddom was devout, and after a few battles, she founded a mercenary order devoted to the worship of Rakust and dedicated to the mastery of the mace and the battle axe, the mace being her favorite weapon. Oddom’s daughter was also a mercenary by that time, and being a death-worshipper, she joined the order when it was founded. Over several battles of recruitment, they came to have over sixty soldiers (non-historical converts, as it was hard for them to find co-religious historical people), created a treasurer position to manage the income (taken by daughter Inod), founded a fort which they inventively named Necrodie, and there constructed the Chapel of Oblivion for the worship of Rakust. Pilgrims, often from their extended family, but sometimes from other necromancer families, often visited the Chapel to pray, and sometimes became prophets and formed their own religions and temples in other parts of the world. (Military orders can also be founded aligned with specific organized religions, but that wasn’t the case here.)
As a mercenary order dedicated to a few weapons (Oddom valued skill, like many dwarves), they had honors which they bestowed at various skill levels and other milestones (battles, kills, years of service.) Oddom was exempt from the general rank system as overlord, but Inod was made a ‘Soldier’ after her first battle. She didn’t manage to become a Mace Adept like her mother, as she died in the goblin wars. Her mother died a few years later fighting in a battle, opposed by the Oily Spikes, a militant religious order devoted to the wolverine mountain goddess of the dwarves. The death mercenaries fared poorly overall here… they all died. This happens sometimes. The group was officially disbanded at that point (this can also happen after heavy but not total losses.)
“Soldier” and “Mace Adept” aren’t creative names, and the death mercenaries only had three or four general and skill-based ranks, but even more skill-oriented groups with orderly founders can have rank systems with 15 flowerly-named levels for each type of weapon they utilize, and they refine their skills more on their off time. Other mercenary groups focus on military tactics, leadership and organization, and others rely on stealth, and can contract out their members individually for thefts and assassinations. These shadowy groups focus on scouting when they take company-level battle contracts, staying away from most of the danger and offering a tactical bonus to their side’s commander. The most versatile companies can do all of the above.
Aside from forts and temples, mercenary groups can also spend money to upgrade the average quality of their equipment; this impacts their performance in battles but also increases upkeep costs. A group that runs into a long dry patch can go broke and disband, though this doesn’t happen often (heavy losses/group wipes are more common.) When groups disband, the survivors can rejoin other groups, though they often take some time off (when the Oily Spikes ran into trouble and disbanded after 20 years in action, their founder went off to have a peaceful life as a butcher in a nearby city.) Individual mercenaries can also use their money to upgrade their own equipment. This typically happens before their company (if any) steps up, but a wealthy company can pay to equip joining members if they are behind.
I’ve mainly been ‘consolidating gains’ this week (that is, finding horrible bugs and wondering how anything worked in the first place.) After cleaning up after myself, I started in on bandit forts as a preliminary to villain hideouts. The bandits were also horribly bugged, but now the largest groups can make forts out in the wilderness somewhat near to the civilizations they are associated with. Along with the new monasteries and the return of castles and the old tombs and necromancer towers, it’s starting to look more interesting away from the cities, and we aren’t quite done with new site placement yet. More next week.
Zach’s final surgery went great! Hopefully life here will be calm for a time.
I ran a medium world out 100 years, and it’s getting a little hard to decide which stories to write up, which is a good sign. I was just looking at the ruler of one of the goblin sites, Nguslu, notable for being a war buddy of the demon lord (to the extent demon lords respect the buddy notion), who hammered out a villainous life (like many goblins) for 68 years before being assassinated by a dwarven mercenary Dodok Ochrevises. Dodok was hired by Erush Castlegild, a snatched dwarf that became a goblin-style bandit and was sick of Nguslu’s stymieing authority over the fortress of Evilchant. Dodok failed to get the drop on Nguslu, and they were evenly matched, but after two failed assassination attempts, Nguslu’s luck finally ran out.
But perhaps we should talk about the king of the dwarves, Aslot Sinentered, a goblin, ruling for the last 55 years. Back in the year 24, 21 years before his reign began, Aslot was a bandit, like Erush or any of dozens of others. Styled ‘overlord’, but ruling nothing. He operated near the dwarven capital of Targetroad, and his first attempt at villainy was to try to extort money from the broker Nish. He failed. The manager Adil? Failed. The bookkeeper Dakost? Nope. The chief medical dwarf, Erith? No again. (I’m chuckling to myself reading the events, as I know that Aslot becomes king, but this is new to me and not looking promising so far.)
Over the next ten years, Aslot only managed to subordinate Reg Figuresavior, the tavern keeper of the Chestnut of Spices, and Reg went on to do absolutely nothing of value for him. Finally, in 39, six years before his ascension, Aslot managed to get the outpost liaison Alath Whippedlances; Aslot was a world-class flatterer by this time and was bound to be successful (since there’s not enough cost for repeated failure, yet, in terms of punishment.) Aslot set the liaison to work immediately, using the new access to attempt to turn the until-then unapproachable General Mafol. Mafol was incorruptible. Alath’s ex-wife, the diplomat Dumat, however, was another story, and Alath managed to pull her into Aslot’s web.
It was at this point that Aslot first thought about seizing the throne, but it seemed hopeless. A few insiders had less than a fifth of the pull necessary to orchestrate something that grand. So what happened? (I don’t know yet, he he, reading…) Using Dumat’s access, Aslot turned one of the many landholders in the year 43; Baroness Besmar enjoyed the cloak-and-dagger games so much she took the name “Sikel the Foggy.” The coup soon followed, but it only worked because in the year 45, Besmar went from being “one of the many landholders” to being “one of the two landholders.” A war with the elves had begun. General Mafol was killed by an elven grizzly bear in 45 leading the defence of the fortress Shipskunk. The dwarves won the battle, but several barons were killed. That year, the power equation having swung just barely in Aslot’s favor, he pounced, using Besmar, Alath and Dumat to seize power from the Queen Ducim Windfang. The deposed queen was imprisoned in Targetroad, though the gracious King Aslot later gave her a minor barony where she lived out her days until a quiet death in 82. Besmar became a countess, then a duchess. She married Alath, but they divorced after thirty years. He remained outpost liaison under Aslot until his death in 84. Dumat remains the diplomat, where she regular competes in battle axe throwing competition with Duchess Besmar.
Over those forty years, King Aslot fiddled with his network and attempted to control his subordinates with varying success. Several coups were idly plotted against him, but nobody managed to turn more than one of his now numerous landholders. The one major villainous event Aslot pulled off during his kingship was in the year 86, when the king hatched an assassination plot on a different Alath, Alath Glovedbrass, his own guard captain, after tavern keeper Reg failed to loop him in on some low-grade scheming (the rulers don’t yet have other tools in their box, like simply firing the guard captain, he he.) Aslot used new asset Id Steelarmors to send a message to famed assassin Nushrat Exitrulers to set up the job. Nushrat performed the job flawlessly, her fifth kill earning her the name “Nushrat Exitrulers the Sacrificial Gaze.”
It wasn’t always that easy. Nushrat was a human criminal born in the town of Focusesteem, where she learned to skulk about well enough doing petty crimes, though her most notable achievement by then was being boxed in the face by a cyclops and losing some teeth. Nushrat’s first real job was in the year 55, when a bandit hired her to kill a baronness who refused to take a bribe to ignore his operation. Unsurprisingly, she failed, but somehow survived, and continued learning. In 61, she was approached by Jal Mirrotboots, the master of beasts of the Curious Realm, who wanted her to kill the Realm’s justiciar. (Nushrat never knew that Jal had been sent by Dang Strokedhorrors, the only other goblin in history that managed to overthrow a civilization, becoming law-giver of the Curious Realm 24 years later after turning both the chancellor and the previous law-giver’s advisor.) This time, Nushrat was successful. Next, the harrowing job of killing a goblin lord for a goblin bandit in a dark fortress, but Nushrat was getting good and pulled it off. She did her fourth job for a necromancer’s apprentice. The master necromancer had it out for the Justice who had rebuffed the apprentice’s attempt to bribe him. In 80, it was the captain of the guard of a dwarf fortress, marked for death by his own mayor for refusing to ignore the embezzlement of the chief medical dwarf (of which the mayor was taking a cut.) The mayor was a goofus styling himself “Azmol the Lone”, but Nushrat never met him, just his messenger, a local mercenary who the mayor later appointed the broker.
In 81, five years before the job for Aslot, Nushrat put her stealth to use on a side job for the bandit Snang Beardplague. The Contemptible Straps was a famous copper short sword, made in a strange mood by dwarven weaponsmith Onul Playedcrafted sixty years before. Onul offered it to the Queen (not Queen Ducim, we are with other dwarves not far away.) It was only a few years before the greedy and villainous hammerer got his mind to working and had the corrupt bookkeeper steal it for him (when we add hideouts, he’ll hide it somewhere sensible instead of carrying it around, he he.) When the hammerer died in 81, and the Contemptible Straps was found and restored to the fortress, our bandit Snang, who had been pining after the sword for years, wasted no time and hired Nushrat to swipe it for him. She did this easily. Snang still carries it.
Nushrat carried out three more assassinations after her work for Aslot in 86. Then she stole three more artifacts. And assassinated two more people. And lives happily at age 97, never married, with her seven remaining children, waiting to take a job to come to your fort and take your things or deal with your pesky sheriff. Or somebody like her.
Interestingly, none of the major historical events described were precipitated by large villainous networks, just the networks that were well-placed or lucky. Osnun Enddungeons and Atera Ivoryowl were both running ten people and I have no idea what they were up to. Ah, Atera was a druid! But I should stop now.
First, a Zach update: he’s going in for followup surgery tomorrow. The initial procedure went pretty deep so there needs to be some reconstruction and moving about of bits, but we’re hopeful he’s cancer-free at this point.
I’m underway on additional worldgen villain mechanics, continuing into schemes to acquire artifacts (and then keep, sell or pass them along) and then on to shenanigans involving positions beyond embezzlement, up to and including coups. Then we’ll need to cover at least assassinations and hideouts, perhaps more if we feel like there’s time, but that’ll be enough to make dwarf mode interesting when we get there. I’ll have another villain story when I finish this set.
Here’s the first Bay 12 Report of 2019! Here’s the Future of the Fortress: Part 1, Part 2.
This story only uses what we have finished so far: network building, corrupting officials, and some light law enforcement. There’s a bit more to do before we move on from world generation, in order to make things more properly villainous.
In the year 100, the most extensive network was run by a secretive figure known only as Earthhells the Bewildering. They have members working in several towns and fortresses (purple is the leader, red is a member, yellow indicates a corrupt official. As usual, the fortresses are just a few pixels; there are three colored here.) To see how this came to pass, we’ll start with Lomoth Hummedage, a bandit causing minor trouble around the human town of Bucklejacks.
After amounting to nothing as a bandit for some time, in the year 43 at the age of 29, Lomoth, fond of scheming and idly wishing to become wealthy and powerful, struck up a conversation with the dwarven butcher Aban Paintedbites, on one of the human’s visits to the fortress of Sensedtraded. Aban was similarly constituted, and an intimidating figure, though she hadn’t committed a crime in her life, and Lomoth managed to talk her into scaring the poor noseless bookkeeper (cougar at age 5) into giving Aban some extra supplies for the pair of ne’er-do-wells to share. Lomoth encouraged Aban to look around for other opportunities while continuing to skim supplies from the bookkeeper. (The human didn’t accomplish much else, but Aban was always grateful for the push into her new and exciting lifestyle, and kicked some money Lomoth’s way over the years.)
Aban was an extravagant sort, and given to flights of fancy, so she took on the name Earthhells the Bewildering, even if all she’d done was strong-arm some supplies and fail to convince Captain Momuz to look the other way. In fact, Ducim the bookkeeper got fired (no hammering yet!) after a few years, but was too scared to identify Earthhells, went off and became a fish cleaner instead. Earthhells, in the meantime, took the brazen move of looping her own father into criminal schemes, got him to talk Manager Uzol into skimming some money from his position. Her father was a priest of the goddess of jewels, but not a stranger to crime, as Earthhell’s aunt had become a notorious goblin gangster after the abduction, and Earthhells was able to play on her father’s bond of love as well as his greed. As before, Captain Momuz found out Manager Uzol before long, and he scampered off to become a tavern keeper in some distant fortress.
Earthhells and her dad weren’t done with Sensedtraded, though. The priest involved three more locals, and Earthhells convinced a ranger, Dastot, son of the bookkeeper, to get involved (before the firing.) This ended up being quite a catch, as Dastot became an agent for the dwarven civilization not long after. Before leaving on his first mission, Dastot failed to corrupt the broker, but got the chief medical dwarf, earning enough trust with Earthhells to get the go-ahead to try to run his own network. Unsurprisingly, the dwarven spy proved talented, getting Captain Momuz to accept a bribe while flipping Uzol’s replacement, Manager Besmar. There would be no more firings of corrupt officials. Sensedtraded was lost to criminality, at least while Momuz was around, but there were still a lot of honest dwarves. At one point, Earthhells tried to get her mother the militia commander to join up, but she was having none of it and never trusted her wayward daughter again. Afterward, Earthhells moved to the nearby fortress of Netpleat. Captain Deduk was never known to turn down a bribe and would be even less trouble than Momuz had been.
In 59, Dastot received his first assignment from Queen Erush, to infiltrate the human town of Bunnyvise on the goblin border. Dastot took on the identity of a monster slayer and went to work, doing Earthhells business on the side, acquiring a cut of embezzled funds from the Chief Chamberlain in 62. He acquired a few new members for the organization, the most notable being the goblin Ber Larvalmenace. Ber was unusual as the child of a goblin spy posing as a merchant and her local goblin lover; Ber stuck with his mother Azstrog while she was on assignment, so never acquired citizenship, and just sort of hung around town without a job when he became an adult. At the time, Dastot and Azstrog were using each other for information as part of their agent duties, and Dastot eventually recruited Ber for the gang in the year 69, when Ber was 21. He was terrible at the job, making three failed approaches on Bunnyvise officials; when he finally turned the Chief Cup-Bearer Shorast, in the year 95, it was short-lived, as a cyclops killed the official in 97.
While all that was going on, Earthhells was growing the network in Netpleat. Her most notable new lieutenants were the historian Urdim Mountainwarded, who brought no fewer than eight new members into the organization, and Thikut Relievedattics, Earthhells’s ex-husband, a convicted embezzler and leatherworker. Earthhells was still a butcher, and then a tanner, and eventually became the alderperson of the tanners guild. The reliable Captain Deduk died in 91. His replacement was an elf, Ima Coastalpleats, an ex-poet who got flipped by Earthhells’s network within a few years on the job. In year 99, when we were winding up, Earthhells even decided to get her hands dirty, and started embezzling money directly from the guild. As an alderperson, she won’t be migrating any time soon, but several of the organization’s members are dwarves, not bogged down with duties, and free to travel to the first new fortress that becomes available. That should be fun.
Queen Erush also became a villain, and was killed by a zombie roc, but that’s another story.
There is always more to do, but we’re at a good stopping point for world gen religions. Prophets now arise in cities and villages associated to their particular gods through the new more granular belief tracking (rather than at random), and the named organized religions are associated to them and can start anywhere, whether that’s a village or a capital. Prophets could already do this with monastic orders, and that has been improved by giving these orders the ability to find sponsors for the construction of a monastery, whether the sponsor is a religiously-aligned government or a merchant company or craft guild with aligned leadership.
The prophets can also convert portions of the population to non-monastic religions as well now. These are similar to the current version’s temple religions with some new properties. Priesthoods come into being before large temples are built, once the prophet’s teachings have taken hold in a community, and these priests further convert populations in the village or city where they are working. This leads to small-scale infrastructure production, as in the last devlog. Once the feedback loop has created enough infrastructure in a market-sized town, a temple can be built, and a high priest is elevated. Additionally, priests can convert people along trade routes and local market connections, leading to additional priests and temples springing into being over time. Once two temples have been built, a holy city is designated and a third level of priest arises there, above the high priests. We should add many variation to this process and its structures later, but it’s fine for now.
Even as it stands, there’s quite a bit going on. In my first test, a war-and-fortresses religion sprang up in a dwarven hillocks, and the prophet managed to get it adopted by quite a few people in the associated fortress. From there, the second quite-adventurous priest managed to get it passed along the trade/smuggling route to the dark tower, risking murder to establish a temple in what was later declared the holy city of what became the largest world religion. It’s quite a fortress, the dark tower, and wholly appropriate for the war-fortress deity for that reason, but pilgrimages are notably awkward. Though I suspect that under the hood, the dark tower was a hit because there wasn’t as much competition for the faithful. The demon rulers do not currently care about religions cropping up in their environs, and the goblins don’t form them themselves, so the first outsiders that don’t get murdered tend to do well. This might be changed in the demon’s favor; similar problems with the elves are curtailed somewhat by the druid (who gets an extra state turn as a religious position holder). Prophets only attach to deities (since they are given a belief system concerning the deity’s will/future actions), giving them an advantage, so more robust religions using other/similar methods for the non-deities (demon/forest spirit) seem necessary at some point to counteract this and leave those cultures intact for longer.
For some broad examples, I ran out a medium-sized map 150 years. At the end of worldgen, there were 90 non-monastic religions as well as 39 monastic orders. 11 of the monastic orders had found sponsors for monasteries, which exist as separate sites (much like the castles, which are also back in the game.) Seven of the religions had risen to the point of having full three-level priesthoods with multiple temples and a holy city; the largest of these was either the Rainy Sect with 10 temples and 147 priests, or the Cult of Pages with 7 temples and 162 priests, depending on how you count, noting that the many priests are each in different sites and are historical figures drawn from the proper religious segment of the population or from believing historical figures, with all that entails in terms of individual interlocking storylines, though their personal conversion stories could certainly use some (any) details.
Here’s the trade map of the world, of the kind you can currently export from Legends mode. And here are the major religions (purple = holy city, red = temple, orange = priest, yellow = believers): the Rainy Sect (deity: sky, priest: Sacred Flier, high priest: High Cloud, holy city priest: Most Holy Sky), the Cult of Pages, the Fenced Faith, the Creed of Blossoms, the Foggy Communion, the Mauve Cult (deity: jewels, priest: Holy Cave, high priest: Exalted Rock, holy city priest: Absolute Lilac), and the Sect of Controlling. One other religion, the Granite Order is in a transitional state with a single temple and 35 priests, but they haven’t broken through to a second market-size town yet.
The other 82 religions aren’t all insignificant though. Take these two religions, the Romantic Faith and the Adorable Creed, founded within five years of each other a century ago in the same dwarven fortress by two different prophets of the birth god Zefon. Each has only a single priest, the aged dwarf prophets preaching their own version of Zefon, but they’ve had impact throughout the area. They just haven’t managed to break through significantly across trade barriers, or make enough of a local impact to get another priest set up in an attached village, hillocks or mountain hall. But there are many adherents to either faith. The largest templeless minor religion is the Armored Fellowship, a three priest dwarven fortress god religion with two fortress branches, a hillocks branch, as well as believers in four human market towns and an elven market town they picked up on the trade routes. There would be a small chance for these to spread out to the human and elf villages from those markets, but priests on-site would really have helped speed that along. The major faiths managed that transition.
The first part of the w.g. religion rewrite is to update population demographics and site infrastructure in order to support more diversity, which will in turn lead to more interesting links and possibilities. The current setup that the big market cities have (usually) one large temple and nothing else, religiously, and that smaller sites have nothing has been changed. All sites now keep track of small religious structural/sculpture additions they’ve had over the years, in terms of every worshipped deity and every named religion.
As an example, I ran a small island, where we have the towns of Bunnygears and Wiltconfuse. These towns both started human, and are both located in the north of the island, surrounded by dwarven hillocks and fortresses. So it came to pass that by the year 50, the population of each town was roughly 25% dwarven. This is reflected in the new infrastructure accounting, with each town having a substantial minority of its shrines and statues depicting dwarven deities. In Bunnygears, however, more than half of the religious art/shrines/etc. are dedicated to the human god of beauty. This happened because the ruler of Bunnygears for the last 47 years has been Baroness Erab, an ardent worshipper of Ashi Mirthumber, the aforementioned god. Bunnygears also features many small religious structures specifically related to the Fellowship of Sheens, an Ashi-focused religion that coalesced about halfway through the fifty year period we are considering.
Technically, the game allows devout state actors, populations, and the infrastructure itself to each perform ‘actions’ over the years. The state historical figures and populations can build new infrastructure, and the infrastructure sways the demographics of the populations slightly. In the case of Bunnygears, this leads to any historical figures that come from the dwarven populations to have a decent chance of being at least casual Ashi worshippers, perhaps even Fellowship of Sheens members, on top of having their traditional beliefs in the dwarven pantheons. The dwarven shrines etc. also have an effect on the human populations, though it is less pronounced numerically. Overall, we’re just getting started on these kind of cultural feedback mechanisms, but it seems very promising so far. For now, we’ll be moving on to more individual-focused religious interactions in preparation for the villain work. Even as it stands, the fact that historical figures are much more religiously distinct makes the potential plots more interesting.
Incidentally, Ashi’s only involvement with Bunnygears was unleashing a werezebra on it, the current price of having a temple to profane. We’ll improve this at a later date, he he he.
I don’t want to alarm anyone, but the cancer on my nose has returned and they’re going to have to do surgery to cut it out. The procedure is covered by my wife’s health insurance so I don’t need any help in the form of money. But I do want to say that a whole lot of people are not in my position, where insurance will cover part of the cost.
Once again, I don’t need any more money than you would normally give to Bay 12 Games. I just want you to think about all the people left out in the cold during the holidays.
Thanks for supporting us, and Congratulations to the generous!
A Bay 12 Report to begin the end of the year, and also here is the Future of the Fortress for the month.
Worldgen corruption is underway. It seems pretty clear it’ll fulfill its function in preparing a fertile ground for villainous network building, as the various petty actions are tracked and ongoing. Dwarves and others are variously tempted by e.g. the opportunity to embezzle or accept bribes using the power of their positions. If their personality and values aren’t up to the challenge, they may eventually fall to temptation and undertake corrupt activities in an ongoing fashion, which will make them a target for both law enforcement and blackmail. (It needs more work to be a good-enough model for crime, but it works for now.)
For the record, the first corrupt person in Dwarf Fortress was Irne Locksnarl, a human from Postrushed. He was a miner, then a bard, but when the opportunity to become the chief chef of the entire kingdom opened up, he took it. After being tempted several times over the years, finally, after fifteen years in the job, Irne began scheming a bit extra out of the kitchen budget. One can imagine a few things a villain could do with that information. At least, that’ll be our job next month, heh.
We’ve also moved profaning temples under this framework (up to this point it has been completely random), and we’ve also added business rivalries leading to sabotage, gambling problems, and related w.g. activity. That’s almost all we need! Another look at religion, and we’re ready to revisit villains.
What do you get when you cross True Crime with Dwarf Fortress? A new Threetoe story! (link, forum)
Ack, sorry for the delay! I have returned from Switzerland, but I fell ill there and was slow to recover from the jet lag / sickness combo. But I am back, bearing worldgen civic positions and craft guilds and guildhalls. There won’t be a video of the talk, but it’s covered reasonable well by this live-tweeting.
So, yeah, as I wrote last month, this won’t necessarily mean full guilds are returning to dwarf mode, but we take our steps on the journey as they come. There’s a new craft guild entity type with generated positions and so forth, favored by cultures that are into craftsman/dwarfship, so the framework is being constructed, anyway, as usual. I also did the market-town nobles and did the court positions for them. So we just have religion and corruption to go before returning to villains.
Here’s the Bay 12 Report for the month, along with Future of the Fortress Part 1 and Future of the Fortress Part 2. Got most of the way through the castles and nobility changes and will be turning toward some link-building additions for the town government and industry.
This week involved a lot of bug-fixing from last week, so there’s not as much concrete progress to report. For instance, a human trading company called the Present Hall was wildly successful trading various leathers and bones for crafting, and eventually had enough clout to open a branch warehouse inside a dwarf fortress for the first time. Can’t resist that draltha leather. This turned out to be a strategic error, as two short years later, a forgotten beast obliterated the fortress, the warehouse, and killed everyone inside. So, what’s the correct response? Close the destroyed branch? No, no, you stimulate the (non-existent) economy by hiring local. Forgotten beast, you’re the new (ruined) warehouse administrator, congratulations! Those sorts of fixes were straightforward, but more time was burned with screwed-up resource lists, naming problems and some stability issues.
After muddling through that, we were going to move to some basic religious organization and link formation, as mentioned last time, but we instead decided to pause and nail down the boundaries for this pre-villain spree and reassess the proper order of implementation. The plan now is to do the intermediate market-town/castle/fort nobles for humans first (this has been in the cards to secure some solid villain hideouts/strongholds), get those integrated with the new court/household positions, consider a few higher households when enough territory has accrued (similar to the dwarf county/duchy system, with the new subordinate positions), and handle some basic movement and link formation there. Respect the large market towns a bit with some civilian bureaucracy and industry representation; it’s not the scheduled return of the guilds, as that requires certain code infrastructure, but a counterbalance to now-rampant nobles feels necessary. Then religion. Then we’ll be ready for the simple non-villainous crimes and corruption that live on top of these systems and are also important for blackmail etc.
So. Once that’s done, we should have more than enough material for villains to feel robust in their scheming. Don’t let me say otherwise, he he he. In some sense, we’ve been a bit silly with the additions, as usual, but this is fine. The demands of a proper-feeling feature lead us on such journeys from time to time.
As promised… a bit more toying around with villain-tangential world generation. With the Big Wait slowly approaching, there’s a sense of wanting to put in place some interesting new broad dynamics, and that’s causing this slight wander through feature land, I think, but we will get back to the villains-and-release before too much longer.
This time, we added traveling merchants and companies piggy-backing on the more abstract industry/trade sim that already exists, so you’ll get a small window into that (which has been almost entirely invisible, but there, for years.) At their peak, the companies will form multiple trade outposts in other civs along the trade routes to facilitate more cross-civ link formation. Going to do the same thing with religion as well, so everything isn’t just isolated market-site temples, but more connected setups, sometimes with a larger organization that can also facilitate link formation, across civs if I can manage it.
DFFD individual file size limit is now 500MB, up from 300MB.
The YouTube link to my specific talk at the Roguelike Celebration has been posted.
I’ve returned from the Roguelike Celebration! Thanks to Noah and the team for setting up an amazing event and allowing me to go on about vaguely relevant topics.
My talk will be posted at their YouTube channel in the coming days. For now it can also be found on Twitch. Due to the nature of the event, it focuses more on adventure mode, but of course much of the material applies to fortress mode as well.
Back to work!
A Bay 12 Report appears. A Future of the Fortress Part 1 drinks the magenta potion. A Future of the Fortress Part 2 sits on the throne and vanishes.
More link forming the last some days: rulers attending lectures and bonding over scholarly interests, people bonding over art at performances, people becoming friends at athletic competitions, or not necessarily friendly as rivalries are formed. Athletic competitions were limited to intra-civilization participation, which wasn’t great for forming links, so I looked at the trade routes and diplomatic state. Now a competition which occurs in a city linked to another peaceful civilization by trade can accept competitors from that civilization. After that was implemented, we even had a dwarf and elf become friends, before the war started. Of course, they bonded over a foot race, which the elf won, which didn’t seem entirely fair in retrospect.
I also allowed the variable-position cultures (humans and goblins) to form many more administrative positions to give them layers for the intrigue to operate over (the dwarves already have many layers, from the bookkeepers over to the landed nobles and monarch.) Now they can end up with a keeper of the seal, a royal justiciar, a chief housekeeper, a master of beasts, and many other randomized possibilities, depending on the values of the culture, its permitted professions and other traits. The positions overlap with the current dwarven responsibilities, though there are a few new ones. This doesn’t mean much yet, specifically, but there will be some practical considerations implemented before we’re through.
In particular, I’m almost feeling ready for Villain Conspiracy Attempt #2, but I’ll likely toy around a bit more with crime and garden-variety corruption to make the situation even more amenable to larger-scale bad deeds and blackmail.
Relationships are quite a bit more fluid now, and I managed to scrunch the data down so that the historical figure legends display shows all of their various dalliances, which was a concern for a bit, as there is a lot of activity. I also made every battle a historical figure participates in, even as a regular soldier, part of the figure’s chronology now, which helps reconstruct narratives such as the one to follow.
In a smaller island I ran for 150 years, I picked out the first human I found with a second marriage to start digging. This was Zicab, a ranger in her youth who quickly decided to pursue a life of poetry. Her first relationship, with a fishery worker named Innah, lasted for three years. They didn’t get married, but Zicab had a daughter, Nulce, before they broke it off. Right after the breakup, Zicab became involved with Innah’s childhood friend, Rabin the monster slayer, and after four years they got married.
During the marriage, Zicab began a poetry apprenticeship under Kifino the elf, a member of the Maligned Whispers, a performance troupe which operated out of goblin territory. This didn’t stop Zicab, and she moved off to the pits to study, leaving Rabin back in town. They’d periodically see each other at the big annual foot race for the Celebration of Purifying (everybody in this story seems to compete in the foot race and spear throwing competition), but it wasn’t meant to last – Rabin was killed by Shedim Murkyurns the hag of twilight, a constant menace, often attacking the children of the city (Zicab and Innah included), leaving Zicab a widow. The next year, Zicab met the high priest Rozmo of the Pungent Coven, worshipper of Pastro, goddess of misery and torture, and they were married before long. After producing three notable poems, Zicab was murdered by a goblin armorer in the pits (who was later devoured by a giant lion, so that has a happy ending.)
Zicab’s daughter Nulce also had a rough time of it. After the apparent rite of passage of being attacked by Shedim as a toddler, Nulce joined the Pungent Coven and became a farmer. The elves were often attacking these communities, and Nulce proved herself in the Clash of Growling, becoming the General of the human civilization, the Union of Creatures, a few years later. The elves attacked again, lead by the immortal tactician and notorious tamer of giant mosquitos Princess Salo Larkfires, and during the defense of the outlying town of Goodbinds, Nulce was struck down by an elven elephant, and later put to rest in the Tomb of Shields.
Before the tumult, Nulce had been involved with a poet and local lord named Uthal, and together they had two sons, Urwa and Kammat, and a daughter Artuk. Uthal died alongside Nulce in the defense of Goodbinds, but the children survived, the oldest seven years old at the time, safe for the time at the Pungent Coven’s town of Snugglemerged. (and, yes, Shedim tried to kill both Urwa and Kammat as children.) Urwa became a bandit after being played by a goblin spy, and Kammat also took up a life of crime, but Artuk became a farmer and Pungent Coven member like her mother, and also fought in the elf wars, where she formed a close friendship with a woman Athrab, who would later marry her widower step-father Rozmo the priest. Artuk soon gave up on fighting, and became a poet like her father and grandmother, moving again to the goblin pits, where apparently all poetry in this world is written.
Artuk’s life of poetry went on for a decade, which saw the writing of ‘The Sun Sets on Devourers’ and her superstitous worship of a rampaging swamp titan. Then Salo Larkfires and the elves came again, in 105, this time attacking the goblin cities with giant great horned owls and badger people. As a performer, Artuk didn’t participate in the defense, but she ended up being pressed into elven service for the next attack, fighting in several assaults on goblin pits, even striking up a war buddy relationship with an elf, Ditari (notable for multiple simultaneous lovers and affairs, which isn’t all that common right now.) Under elven rule in the pits, the threat of being murdered like her grandmother passed, and Artuk died of old age around the end of world gen in 144. She left behind her long-time lover Ip and their four surviving children (the two youngest being swamp titan worshippers with elven childhood friends), as well as an elven apprentice of her own.
As for the child-hunting hag Shedim, after turning the tables on seven monster slayers, she finally met her match in the slayer elf Nemile Shellsfair, a veteran of every battle of the elf wars, who was only outdone herself when she challenged the bronze colossus (joining 209 other notables, and two cities.) The elf warleader Salo Larkfires, born a few years after the world was created, is still alive. She never had a romantic relationship, but had three close childhood friends: Yonali Cobrasalve, slayer, killed by a giantess in 43, Ameli Glenpicks, veteran and tavern keeper (survived), and Yawo, who died as a teenager fighting in the Attack of Claws in 17, where Salo’s predecessor Cimathi Wasprifts was also shot and killed, paving the way for Salo’s rise and her eventual conquest of the known world over the following century.
All right, the weather has returned to normal, and I am also somewhat but not entirely restored. The first of the new worldgen links to come in was childhood friendships. This performed its function of connecting people up admirably; after 100 years in a small world, one third of the 4600 historical figures had at least one childhood friend. Then came the war buddies. War is sadly common in the game, so this also worked pretty well, and unlike childhood friends, these relationships are more likely to cross site boundaries. Along with family, this was almost enough to tie members of a civilization together.
After that came the worldgen romantic relationship rewrite. Worldgen marriage is no longer instant. There was a lot of data sorting and accounting to do here to keep things processing quickly, since most of the thousands of figures are involved in these calculations, so we haven’t gotten to the triangles, infidelity, rejection and jealousy yet. But that will be a subject of the next log, he he he.
The above would be sufficient for the villainous plots to function, but we’ll likely do a few of the other bits we alluded to last month so that the details will be more varied, and so that the initial interactions of the villains and their agents with people in the target communities are more plausible. Specifics are still cooking.
The promised Future of the Fortress: Part 1, Part 2. And here is an episode of KakeBytes where I ramble on about Dwarf Fortress.
Here’s the Bay 12 Report for this month. I have the first FotF post done and am working on the second half, but couldn’t quite finish tonight. Should be up tomorrow.
Around this time last year, on the August 10th dev log from 2017, I mentioned seeing the weather report with the Smoke icon, instead of Sunny or Partially Cloudy or whatever we’d expect this time of year. Up until a few days ago, we had that for an entire week, and it was awful. Hauling more furniture, then laying down for hours with an acrid tongue short of breath, unable to open windows to cool the room down. Visiting Grandma in the temporary care facility for her 95th birthday; she broke her hip picking blackberries last week but should make a full recovery. So, I wasn’t prepared for this and didn’t get a lot of work done; I delayed the dev log in hopes of having one good day, but it didn’t happen. The efforts will continue, and I shall endeavor to toughen up for what is apparently our new August reality for next year, though I’m not sure how to practice for this one.
After setting up several interconnected intrigue data structures and running some test plots, we concluded we need a bit more meat in world gen for the networks to transfer seamlessly over to fort mode without every starting situation feeling too similar once it gets outside your play area; for instance, there are no friendships in world generation, among many other things, so villain friendship exploits which will be used on your fort aren’t available earlier. In order to make the networks which exist when worldgen ends rich and diverse, we have to bring a bit of parity in. So that’ll be the next push. Nothing too drastic, but some interpersonal drama and some new positions, stuff that forms links. Links, links, links. For humans especially, the villains in criminal organizations would often be faced with a single town leader as the entire ‘organization’ they were targeting, in a city with thousands of people and dozens of disconnected historical figures, which is not just silly but fundamentally at odds with what we need to pull this off.
Lots on the table, even touches of crime, religion and industry — we’re definitely not jumping into the realm of the future property/status/law push, but there are some easy power structure linkages and flavor which should be compatible with future additions without consuming time we don’t have. It’s unclear what will be new to fort mode; friendship obviously isn’t new for fort mode (once it is fixed, anyway), but e.g. romantic rejection and jealousy are quick-to-do villain-ready vectors, and that would work out in the fort in a straightforward fashion. That said, since only some of these will be done, it’s important not to dump an idea list here. I will report back with implemented specifics from the grab bag next log! This’ll be fun.
Sorry for the slight delay here. The 90+F temps have returned, and Zach is also moving, so there was and will be dwarfy furniture hauling and other non-temperature compatible activities that make the whole enterprise slow and broken down. Everything will be fine. There was even dwarfy animal hauling today, involving Tuklus and Evie the cats, the guinea pigs Bowie and Sid, and Salvadora the iguana (who was moved in a cat carrier separate from her cage.)
Despite all the minor adversity, the world gen villains are chugging along. We decided to let them use the identity system to give themselves mysterious aliases if they feel so inclined (most of them don’t, but the worlds will always have a few takers.) In my last test world, a human high priest who valued cunning and decided to hatch a villainous scheme was also taken by a flight of fancy and called himself ‘Kashi the Secretive’; his name was not Kashi, but he wasn’t creative enough to go outside of his own language either, so the human-language name itself is a first clue (‘kashi’ means subtle …) A human necromancer called herself ‘the Urn of Phantoms.’ That one is also sort of a giveaway, at least narrowing it down to a necromancer or a vampire, but they are all a bit on the nose right now. Moreover, that necromancer was motivated purely by her zany sense of humor, which somehow survived the transition to ageless and evil immortality. The vampire general, on the other hand, decided upon an alias out of a need for extravagance and privacy, on top of feelings of distrust, choosing to go by ‘the Sense of Starvation’, which seems fitting enough (the other vampire I saw was ‘the Scratch of Proliferating,’ which I guess also works!) The world also had a dwarven mayor going by Bandmist the Evil, unusually obsessed with intrigue. You never know when these tacky schemers will strike, but you’ll come to fear their very scary names.
(For old hands that noticed: yeah, “ the ” names are possible now. It’s not a language rewrite, but I decided to support that form, which was already possible in the existing structure.)
This link goes to the monthly report. This is Future of the Fortress 1. This is Future of the Fortress 2.
Riding the ‘H’ horsies around is fun. Mount the horse, dismount the horse or jump from the horse, lead the horse like a merchant (through doors so it doesn’t get trapped on one side, because the horse can’t open doors on its own.) Use horses and other pack animals to carry the extra weight, packing items on to the animals, friendly and functional critters. All of that seems to be working correctly.
There isn’t much to add as I’ve just been cleaning this stuff up and going through the heat wave with everybody else in the world. For controlling mount movement, I went with a command system that transfers your intention into the mount’s head when you press a movement key. So if the mount is having an important issue of some kind, like being terrified, it won’t necessarily follow your command, though they are pretty good about obeying. If the mount hasn’t received a command for some time, it can start ambling around a bit. These same command structures will be usable for giving short local orders to your party members and other companions when I get to that, conveniently. Though it is odd that that makes them all like little horses and horses made it there first. I haven’t yet tested velocity transfers and so forth, but if it’s working as intended, riding by somebody on your mount and attacking them will transfer velocity to swings and so forth.
Continuing to mess around with the new party-pet-equipment stuff. The plans for villains as they stand now (destined to change and otherwise run into obstacles):
We already have all of the characters we need: demons, necromancers, vampires, bandits, criminals, as well as potentially ambitious and cruel people of all kinds (civilization leaders, site leaders, priests, position holders like bookkeepers, all the way down to the occasional craftsperson or wandering musician, if their personality is right.) As usual these days, we’ll start in world generation to get the basics in, then move those mechanics to play and on into both modes. In world generation and out of the play area, certain parts of schemes have to be abstracted, so we’ll likely have a new skill along the lines of ‘intrigue’ which will determine certain success rates and so on, and we might find some use for it in play as well. The ambitious and/or cruel people with a knack for intrigue will be the successful villains, along with those that have game-systemic advantages (like a demon or necromancer, or a monarch.) The system should be working when the nexus of the world’s villainous activity is occasionally off in a village somewhere, while other times it’s the well-known monster at the heart of the goblin wasteland. Most likely, there will be many networks operating at once.
It’s the network part that’s important; none of our in-play ideas for investigation and infiltration will work if there isn’t a web of activity. So our first major goal will be to make villains enthusiastic network builders. If they don’t have a specific artifact to steal or revenge to plot, they’ll still be seeking to ensnare the powerful and influential in their web. This will require us to understand loyalty and trust in-game a bit better than we do now, but a lot of the existing reputation and relationship systems will help when it comes to other important factors like love, fear and respect.
Since a villain won’t always be a position-holder in a civilization or other entity, and we don’t want the full weight of the entity object clogging up the gears, we’ll be handling a lot of this activity via the more streamlined agreement system, which is currently used for adventuring companions, fortress petitions, and a few other matters. The agreements we’ll use here will be specific plots, and include at least two parties to the conspiracy, whether that’s the original villain and their agent, or a handler lower down the chain and their agent, or an agent and somebody who has been compromised. Due to the structure of these links, the web will always connect back toward the villains, at least while one actor is alive in each link. Each plot will have a specific goal, as well as relevant locations, objects, and so forth, all there to be recounted by a captured agent, or used to taunt you when you fail to stop them.
Individual plot goals might involve the villain’s core objectives: acquire artifacts, positions, and pets, and punishing their enemies through assassination, imprisonment, kidnapping, theft, insurrection, or invasion. But plots can also be aimed toward adding another layer to the network. If a visiting agent has turned a fortress bookkeeper, the bookkeeper can attempt to compromise their friends, family and other position holders. If your mayor, nobility, sheriff or guard captain is compromised, we won’t end the game, but we’ll make it increasingly interesting for you.
Naturally, we need to prevent high-level position holders from being flipped by the first agent that enters the capital, especially in world generation where everything is more abstract. Our plan here is to have a reasonably basic form of counter-intelligence; at the minimum, the supporting characters associated to a target will be able to use their intrigue skill, along with the target’s, to root out spies and otherwise prevent infiltration. These safeguards won’t be as strong around lower position holders and regular civilians, which will lead to the sort of nesting we’re looking for as the plots advance. Of course, there will be occasions where agents simply get lucky, for as long as it lasts.
We have plenty of levers available to compromise targets in the game as it is now, though some of them will have to be somewhat abstracted. Promises of rewards for greedy and ambitious targets, especially if the villain or intermediate agent has such things to offer (artifacts, positions, or more abstractly, a portion of a site’s available tribute for that year), fear (for their life, or a family member; more interesting blackmail isn’t as easy with what we have though we might attempt something), ideological alignment (easy to check with the value system, though factors like loyalty will need to be accounted for), and revenge (can we blame the player for the death of a family member? what if the player removes a dwarf from a long-held position? or evicts them to the broader world, where the agents roam freely…) are all possibilities. It would be highly, highly suspicious if one of your dwarves suddenly had an artifact, but if we have the agent pass them some valuable non-artifact jewelry, would you notice? We’ll be searching for gray areas like this for your entertainment, heh.
Fortunately, due to the work we did with vampires years back among other things, it should be pretty straightforward to give you means to defend yourself. Witnesses will be able to report suspicious activities; the agent will need to meet with a compromised dwarf, after all, and your helpful dwarves might on occasion notice the gifts you overlooked. You might also suspect something yourself if you see the two of them talking too often in a crowded tavern (or are they just buddies?) Once you’re sure, you’ll be able to arrest a dwarf (any dwarf.) However, you must present evidence. For our purposes in the game for this time, that just means guessing right, as with the regular convictions: you’ll need to accuse the correct dwarf of a conspiracy with the correct agent. Failure will upset everybody in the fortress, as with the current wrongful convictions. Arrests that don’t lead to accusations will also lead to negative thoughts for everybody.
In the interest of exposition (as the game is confusing enough), a correct accusation will lead to information about the plot, as far as that dwarf is involved. If you manage to arrest the agent, and have properly identified a conspiracy, they’ll also give you a hint one step farther up the chain (or you’d never be able to figure it out, most likely.) Then you can send out your own agents to pick up leads on the handler, who will provide more information if captured. Of course, disrupting a plot might make you a target of the villain’s complete power set, and defeating their assassins and invaders will sometimes bring you closer to their identity (especially in the case of a non-obvious villain.)
Adventure mode accusations can work similarly, though you’ll have to be much more specific than the current “hey, you’re a night creature!” blanket accusation you can currently level. We’re still working out where adventure mode investigations are more likely to start, as you’ll need some hook like the current quest rumors to get you into a position where you can ask anybody anything. If you’re a big enough hero, you might simply be targeted, and that will set you on the track.
On the other hand, given that it wouldn’t be too difficult a change to give you the ability to hand one of your companions a task in a fort-style map interface, and we’ll have a lot of new tasks available, we’re also thinking about trying our hand at adventurer villainy as well. If somebody off in a village can topple the world, it might as well be you. The main obstacle would just be getting the conversations with your agents to work correctly, on top of the general work we’ll be doing above. The same applies to fort mode to an extent, once you can send your agents out.
Now it just remains to be seen what we can get done! He he he.
Here’s an interview I did with Crit Hit over on their YouTube channel. I also finally updated the media stuff on the links page, including the link to the myth generator talk from GDC 2016 which was apparently missing!
On Dwarf Fortress, the villain planning has continued; we should be starting coding there soon, but for this week, we started adventure mode parties, equipment and mounts as a more straightforward item. You can now create as many characters as you want when you start adventure mode, and they’ll start together as a party. There are new equipment and mount/pet pages, as with skills and attributes, where you customize your character(s) from an additional point pool. If a character is in your official starting party, you can swap control between them freely when you are playing, vaguely similar to traditional party-based RPGs where you designate a party leader, though your other party members act with more autonomy when you aren’t controlling them. Though we are planning on adding full turn-based control mode for combat purposes, which you can turn on and off, perhaps for this release as well depending on how smoothly villains go. So. Start with two people. Start with a few friendly dogs. Start with a horse. Start with a giant elephant. Start with three or more named shoulder-riding hamsters… or more… I suspect there might be some point-pool abuse here if we don’t set sensible limits.
Just some cleaning before we embark on the villain changes. There’s a new offloading popup that can come up on the season change if you have enough activity in your world; it can take a little time in larger worlds, but that’s all time that is no longer intermittent lag and it’s also less time overall due to reduced redundancies. If you have an autosave, the offload will be incorporated into that, so autosaves might seem slightly longer (if so, you are also getting the same lag reduction.)
Major bug fixes
- Fixed crash from corrupted units
- Made baron elevate to count properly
- Removed intermittent lag from off-site conceptions and births (added seasonal unit offloading)
- Made squad orders respect successful site conquest (so new members don’t try to reconquer)
Other bug fixes/tweaks
- Fixed broken display for multiple adventurer agreements
- Show proper mission text for messengers instead of No Job
- Made tantruming dwarves cancel activities
- Controlled how market links are formed somewhat
Released Dwarf Fortress 0.44.12
Here’s the report for the month. And here are part one and part two of the monthly Future of the Fortress Q&A.
There are now peaceful and not-so-peaceful ways of expanding your influence in the world. Once a site becomes linked to you (through prosperity or by conquest; you’ll see a message), you can send a messenger there to request workers, or send dwarves from the fort out to such sites (from v-p). This only works on historical figures, so you might find you don’t have off-site workers available at first, though some sites do have them. This release should also improve the issues dwarves were having with negative thoughts, and they can also now experience permanent changes in their personalities and intellectual values due to events in their lives.
Note: Insurrections were such a problem in sites that I had to turn them off for your fortress’s holdings; we’ll get back to that later. It wasn’t even the insurrections, really; the dwarves were bailing on the occupation immediately because they were afraid of insurrections.
- Your civilization will send out groups to found sites near prosperous fortresses
- Existing sites near prosperous fortresses will associate themselves to those fortresses
- Added ability to take over sites and install administrators
- Can view your new holdings from the ‘c’ screen
- Can send workers off-site and send out messengers to request their return
- Mulling over long-term memories can lead to shifts in intellectual values and personality changes
Major bug fixes
- Fixed hauling route crash
- Fixed problem causing county stage to be skipped in noble elevation
- Stopped all visiting barons from being elevated along with your baron
- Changed horror calculation from seeing a dead body
- Stopped similar memories close in time from taking all the memory space
- Stopped stuttering lag from repeated vegetation connectivity checks
Other bug fixes/tweaks
- Camping refugees will be awake during the day now
Released Dwarf Fortress 0.44.11
Two in progress: the ability to ask anybody to leave your fortress, for one of your hill settlements or otherwise. People will get upset if you kick out their relatives and will leave with their immediate relatives, and so forth, so it isn’t an unlimited power. If you have outside settlements, people will go there, and you can choose a specific one, but they might not remain there forever; at the same time, they will not return in subsequent immigration waves. You can’t ask nobles or elected officials to leave, as (presumably) they are the ones exercising this power.
The second addition is messengers. These are a new occupation that are only used now to request people from the hills, but they’ll likely have other functions later (including a few of the missions currently done only by squads, like demands for surrender and tribute.) You can request that a specifically chosen group of non-position-holding same-civilization historical figure from one of your associated outlying settlements (e.g. regular civilians at the site) come to the fortress; they’ll return with the messenger and be given the same privileges as the usual immigrants (that is, immediate fort citizenship rather than the residency petition process.) You can recover occupation soldiers in this fashion.
Other work this week included ironing out issues with the peaceful realignment of existing nearby same-civ settlements to your fort as your economy grows (forts that you place in the thick of your own civilization won’t need new settlements founded), making refugees stop sleeping forever in adventure mode, and another bucket full of conquest errors. Later, the peaceful realignments might include other civilizations as well, so you could become the focal point of some human villages, for example. The outside interactions will continue to become more interesting as we go.
Release is likely ~this time next week, finally.
After several annoying bugs, including every noble in my civilization showing up in my fort at once, and much real-life tumult, I finally had a well-behaved, seemingly not buggy, peaceful hill dwarf settlement appear outside my fortress! It was very satisfying to see it colored in on the new world map overlay, as an indication that the game overall is entering an entirely new realm of story potential, as sparse as they’ll be at first. Around 50 dwarves moved in to the new site, and they named it Reignseals. Their newly elected mayor was Lokum Bridgedrove, a historical dwarf that had ten years earlier fought a harrowing battle with a werewombat. My fortress was on a one-tile mountain in the middle of a swamp; my new neighbors sensibly founded their site eight tiles away in the nearby grassland. The sites don’t send emissaries yet, so for now it just pops up a little announcement box with the name and direction so you can find it easily on your map.
This should complement the new conquest mechanics nicely for people that want to grow some sprawl around their fortress without using armies. The land-holding conditions used previously to elevate the fort to a barony/county etc. have been repurposed for attracting off-fort migrants, historical and non-historical populations pulled from actual sites in your larger civilization (so they need land access, as well as correct biome squares nearby.) As your economy improves, the number of sites founded on the outskirts of your fort will increase as well. Being elevated now depends on the number of sites attached to your fortress, whether occupied or peacefully founded, rather than the economic trigger numbers directly.
I should be able to get to the civilian exchange with off-fort settlements now, which’ll put us close to a release, finally.
Future of the Fortress this month was another two-parter (missed the single post byte cutoff by a few hundred!): Part 1, Part 2. And here’s the report to start off June.
You can now give your squad dwarves orders to stay at sites they’ve conquered, or to demand a site’s capitulation if you’d like to avoid a fight and still occupy it. Dwarves sent on these missions will form a new site government with an administrator, just as has happened previously in the non-player battles, and the site will become part of your unofficial holdings, sending tribute. You can view all of your categorized holdings with a new map overlay that also shows the diplomacy state with other civilizations. I haven’t seen one, but I imagine they are vulnerable to insurrections, like all occupations.
Now, the measly annual tribute isn’t really compensation for losing a squad or more of dwarves, especially since you can extract tribute without leaving anybody on site already. So we’re going to press on to peaceful hill dwarves and then incorporate your occupied holdings into whatever mechanics we get to there. In particular, being able to recall your soldiers and send your civilians out to the hills is in the works, though we’re also trying to get the next release together as soon as we can, so it will be a bit thin until a followup release. At the very least, we’ll have hillocks around your fortress and some kind of interaction with them in place for next time.
I’ve updated the memory system for next time. Horror thoughts for strangers’ bodies have been downgraded quite a bit, and all memories have been grouped into categories now, so that memories from one category can’t snatch up all the brain real estate (so they’ll only remember the worst violent happening in a given stretch of time, rather than eight of them; this isn’t ideal, but I’ll save better memory clustering for when I have more time.)
Memories will also change in nature after a year or two; the associated emotion will change to something less extreme, and as this happens, dwarves can undergo permanent changes to their personality facets and intellectual values. When this happens, it’ll be indicated in the personality readout with a bright magenta clause that doesn’t go away when the thought goes away, so you’ll be able to catalog what has happened easily. It’ll tell you which way the facet/value changed, as well as the event that caused the change and the year. For instance, a dwarf that was mortified after their clothes rotted off their body might later reflect on this incident with amusement and become slightly less interested in decorum and less bashful, while a different dwarf might react with unease remembering a similar event for the rest of their life, but also develop some empathy. Overall, that means there are now little character arcs for the dwarves, which should be pretty fun, though there’s a lot more to do there.
I also fixed the vegetation lag; if your fort was having a little hiccup every, say, five seconds, it’ll possibly be cleaned up for next time.
Started off with a few bug fixes for next time. Most notably, the elevation of dwarves from baron to higher noble levels was skipping count and also elevating every baron it could find on site, including those that were nobles attached to other places. Also fixed a hauling route crash. Diagnosed a major source of periodic stuttering lag as being related to vegetation, but I haven’t fixed it yet. I’m also planning on toning down the memories from seeing little corpse bits like teeth which can now traumatize people for the rest of their lives, and making other related changes. Then we can get into dwarf site administration and your fort’s hill dwarves, as well as whatever we decide for adventure mode, and probably fix some more bugs. That should form the next release.
Here’s our next effort, which should change the general situation regarding the (often inebriated) fortress dwarves and their lack of apparent stress. Part of this involves a new system of memories, which we’ll be improving as we go now. You’ll be able to see these in thought paragraphs as they are remembered, so don’t worry if they aren’t apparent at first. There were also other problems with inebriation and overall stress balance; some of the latter will be ongoing, if we’ve overcorrected, as varied long-term forts are difficult to test, but we’ll continue working with it.
I’ve updated how the adventurer information log works. It’s hopefully a bit more useful for navigation now, when it comes to adventuring and reporting back what has happened. Old saves might not have everything linked up at first. Hearing rumors again and so forth should make the log start to work better for them. You can also cross narrow rivers in travel now (the ones that are jumpable or near jumpable at a sprint.) Uncrossable rivers will display with double lines in the travel view.
- Made short and long term memories of emotions and their circumstances
Major bug fixes
- Fixed crash relating to religion trying to store holy relic without a temple
- Stopped inebriation personality alterations from being permanent
Other bug fixes/tweaks
- Balanced stress effects
- Allowed nicknaming of all buildings/zones/stockpiles
- Can now zoom to item and unit for item inaccessible announcements
- Added dwarf-style personality and other information in adventurer description from status screen
- Updated adventurer log screen
- Allowed adventurer to cross over narrow rivers in travel map
- Shows status of single assigned workers in q/t workshop menus
- Separated thoughts for seeing somebody die and finding the body
- Changed how drunken fistfights work
- Side-stepped unit load failure, creating substitute unit upon irreversible corruption
- Added check for duplicate items from returning squads and others to avoid crashes/corruption
Released Dwarf Fortress 0.44.10
The month’s Bay 12 Report is here. And here is the Future of the Fortress: Part 1, Part 2.
I’ve mainly been looking at the adventure information screen, trying to make it somewhat usable, more than just giant alphabetical lists that don’t relay much pertinent information. You can now have it only show entries that are personally related to you, sorted by priority, for example, and zoom to the location where you last spoke to somebody, including your commander and other such bits of information that might slip through the cracks, especially if you haven’t played a save for a bit and become confused about your place in the world. It needs more, but I’m going to move on for now. Next up I’ll be cleaning up some more bugs. Then this release should be ready to go.
The changes to stress are in. There are three main elements (paired with several small fixes that came up along the way): all of the numbers have been rebalanced, the overbearing effect of alcohol has been diminished, and there’s a new memory system that emphasizes the ongoing effects of important events over lots of small day-to-day pleasant/bad feelings.
The numbers might change, but the current system allows for eight short-term memories, which are the emotion+event combinations that have had the highest positive or negative impact on the dwarf over the last year (on a rolling basis). Every so often a dwarf can “remember/relive/dwell upon” the memory, if their personality leans toward the given emotion (positive or negative), and receive an additional stress change. Once a year passes, a short-term memory can be saved to one of eight long-term memory slots (if it is stronger than the current memories), or else it is forgotten. Long-term memories periodically return to affect the dwarf forever, until they are overwritten.
Later, we might group the long-term memories according to stage of life, keeping more of them but changing their impact values over the years and also use grappling with long-term memories as a way to provide permanent personality/value changes and new life goals and so forth. For now, the existence of long-term memories will suffice as a form of personality change/character arc on its own.
It’ll take some player testing in longer, real forts to see if various parameters need to be adjusted, but initial testing showed differences from the previous behavior. Dropping a boulder on somebody and then leaving my dwarves unattended outside with nothing to do for a year resulted in tantrums, depression and oblivious wandering, so it seems to be working. When the first long-term memories were stored for one dwarf, it was horror at seeing their lover die, grief at their lover being dead, and fright at being haunted by their dead lover, with proper impact values not likely to be overwritten any time soon, certainly not by the old culprits of seeing nice furniture and completing jobs, though those still decrease stress a little bit day-to-day when experienced and are thus good to have in a dwarf’s life. (I wasn’t aware of their relationship status when the boulder fell; that’s just how it turned out, sadly.)
Here’s a half-hour video interview with Zach and I, which includes various childhood pictures and other bits. Bonus footage here and here. This was for the the On Doubt channel, where other such videos can be found.
For the next version, so far I’ve fixed a worldgen crash, changed the handling for the nemesis unit load error (it tries to patch the corrupted world now), allowed recentering on the item in “item inaccessible” announcements, added a worker status line in the view for workshops that have one worker assigned, and added the ability to give nicknames to all buildings, zones and stockpiles.
And the linux freeze fix process broke projectiles. So that’s hopefully all working all around now. The Bay 12 Report is up. Here’s the Future of the Fortress Q&A for the month: Part 1, Part 2.
Major bug fixes
- Made projectiles and weapon traps work again
Other bug fixes/tweaks
- Changed w.g. population calculation for conflicts
Released Dwarf Fortress 0.44.09
This should stop Linux from freezing. It also includes some other bug fixes that could be quickly incorporated.
Major bug fixes
- Stopped linux from freezing
- Fixed crash from demanding tribute from parentless site entities
- Stopped artifacts from moving out of backpack and similar when at old forts or lairs
- Properly stopped imprisoned dwarves from claiming positions in fort
Other bug fixes/tweaks
- Made dwarves visit museums properly
- Stopped every tribute rejection from being attached to your fort’s history
- Cleaned tribute/spoil reports between forts properly
- Added military tactics and leaderships as relevant skills for squad-leading nobles/appointments
- Made uniform settings copy properly when pasting schedule orders
Released Dwarf Fortress 0.44.08
Off to GDC this upcoming week. The plan is to try to get a version up fixing a Linux freeze and other issues as soon as possible upon my return, and assuming that leaves us in good-enough shape, to start in on the recently updated dev list in early April.
This is a stability patch for the last release. A few raid-related crashes are fixed, as well as some strange behavior related to stolen livestock. To get the full fix for stolen livestock, old saves will need to add [PET] to beak dogs and unicorns. This isn’t crucial; if it isn’t done, those animals will no longer be stolen in that save. But if you were experiencing the bug, the existing animals will be broken until the tag is added.
Major bug fixes
- Fixed crash from returning certain kinds of contained loot
- Fixed crash from exploring entity-free site
- Stopped certain failed tribute raids from staying out forever
- Stopped certain stolen livestock from being treated like half-citizens
Other bug fixes/tweaks
- Fixed sieger behavior that caused them to mill around outside for too long
- Stopped stolen livestock from being attacked after they are named
- Fixed failure to give half of the one-time tribute items
- Allowed military tactics as starting skill choice on embark
- Corrected one-time tribute text
- Made it produce a proper spoils report if only livestock are stolen
Released Dwarf Fortress 0.44.07
Here’s the first substantial update to the fortress’s world map screen. New raid options are available, and it shouldn’t be hard for you to antagonize your neighbors now if that’s what you want to do. Use the ‘d’etails option when preparing the raid to set what sorts of actions you’d like your raiders to perform. Skills and equipment matter, and skills can be improved during missions. The skill of your best tactician is important (you’ll see feedback in the mission report.) If you demand tribute on an ongoing basis and the target site agrees to your demands, you’ll receive something like a merchant caravan on an annual basis a few seasons after the initial demand. They’ll drop goods off at your depot and depart. These goods can be carried off immediately for storage, but there’s a new report so you can look at a complete list of what was delivered; the same is true of spoils from raids.
A few notes on the bug fixes below: the identity fixes won’t stop bad feelings from existing conflicts in old saves. Also in old saves, distracted animals might still appear to be broken at first, but they should sort themselves out after a bit.
- Can pillage and raze and demand tribute from other sites
- Dwarves on missions can now can gain skills
- Military tactics skill is now gained and matters in off-site battles
Major bug fixes
- Fixed several problems causing the meeting queue to get gummed up
- Made monster-type critters and non-monster-type critters have proper hostile again
- Allowed people in the same squad to know each other’s identities
- Made scribe copy job cancel properly to free up materials
- Fixed calculation of available writing materials in library
Other bug fixes/tweaks
- Various speed tweaks
- Made clean job work inside and on outdoor constructions
- Made clean jobs continue to nearby tiles
- Made drunkenness make you less private instead of more private and fixed a typo there
- Made dwarven adventurers experience trances properly
- Made non-historical populations defend sites post w.g.
- Made off-site raid stealth success depend on site
- Fixed broken flags on merchant historical event
- Stopped dwarves being dragged to cages/chains from trying to clean the floor
- Stopped live generals from being elevated from zombie populations
- Stopped animals from developing need for alcohol after experiencing trauma
- Stopped unintelligent creatures associated to civilizations, like domestic animals, from worshipping gods when given historical status
- Stopped animals from revealing the location of artifacts to questers
- Stopped animals from forming grudges and other chat-based relationships
- Sped up legends loading in high-artifact worlds
- Stopped rooting around in the dirt from resetting path
- Fixed issue causing certain older army units from not appearing
- Fixed a few errors with abstract skill calculation for armies
- Reconciled bandit’s map and in-play valuations of opponent strength to stop aborted ambushes
- Disallowed certain flying/swimming/visual/projectile/attack moves involving half-stairways
- Made branches/twigs burning over walls leave behind a floor properly
Released Dwarf Fortress 0.44.06
Here’s the Bay 12 Report, and here’s this month’s Future of the Fortress reply. We’ve updated the development page as we steer the DF ship through bug-fix and small change waters as they mix with an upwelling of Fun, ultimately arriving at Mythical Magic Harbor, where the vessel will be in dry dock for some time. With the new dev page comes a new Future of the Fortress thread.
The next version itself is almost ready; hopefully it won’t be much longer.
Razing is now complete. If you manage to drive off the inhabitants (whether you destroy all the structures or not), the site will become uninhabited and switch symbols on the map. Damage should be reflected in human towns if viewed later in adventure mode, but in sites without damageable structures, the inhabitants can still be evicted. An entire civilization you are at war with can theoretically be reduced to migrating refugee groups, but I have no idea if that can be achieved with a fort’s worth of dwarves in practice. Skill and equipment matter and have a large effect on individual skirmishes, so it might be possible if you train and outfit squads very well. We’ll get to combining your forces with other, larger forces off-site later.
Skills can now be improved by off-site dwarves, and they’ll learn the appropriate combat skills as well as be rewarded for stealth. I’ve also implemented the military tactics skill, and, along with leadership and organization, it skews rolls in battles in opposition to the opponent’s tactician skills (they gain skill as well.) You are also assessed the terrain penalties for attacking certain sites. All of what’s happening here is reflected in the mission report.
Non-historical figures will also defend their sites (in particular, vaults are no longer automatically robbed when you send one dwarf to them.) This leads to your dwarves facing large numbers at times, but I made it a little less abstract than the world generation method, so the results should be somewhat less silly (which generally isn’t good for your dwarves, as world gen fights sometimes have a single historical figure slay hundreds at a time, but the dwarves’ full squads are also respected, so the new worse odds are mitigated.)
I’ve decided to go ahead with allowing you to demand tribute from sites, and that’ll be the last thing before the release. Others demanding tribute from you and the ability to place administrators over conquered sites will happen with a future release, but this is a start.
Pillaging and razing are now options from the fort mode ‘c’ screen. You can bring back one piece of loot or one livestock critter per dwarf that returns from the raid (you can decide to turn either option off before they go.) Since we don’t have actual production to replenish site stockpiles yet, we’re handling it with a simple placeholder variable. The size of the raiding party vs. the current population of the site determines the depletion percentage, and the percentage repairs itself 1% per day if the site is inhabited. The percentage is the chance that an individual dwarf’s loot action fails. So a ten dwarf attack on a small village can cause future pillaging to reduce returns or fail outright for months, while a 150 dwarf raid on a capital might cause a ~10% dip in returns for a few weeks. In the (distant) future, this can be replaced by numeric resource piles. Livestock, on the other hand, is actually taken from the site’s animal population pools, regardless of the percentages.
On my first attack on a human village, the dwarves returned with a yak, a goose, and an alpaca, as well as a nicely decorated yak waterskin… and somebody’s oaken crutch. When I sent a single dwarf to sneak into a goblin tower, she came back with a pair of silk goblin shoes. We might end up weighing them against picking up a bunch of junk after I try some larger raids, if the results are always that disappointing, he he he.
I still need to clean up a few issues with the razing code and make non-historical figures defend their sites. We’re also considering throwing in an ongoing tribute option if the winds are favorable.
Scamps turned nine today!
We’re starting in on the first changes to the world map ‘c’ screen in dwarf mode, allowing dwarves to openly attack sites rather than always trying to stealthily raid them, in case you are trying to start some trouble. We’ll also likely address the larger populations not being involved in these conflicts (currently you instantly win if there are no historical figures on site), as well as adding the option to bring some loot back, but we’ll see what happens as we test it out, as there could be unforeseen issues. Today I handled some problems with the razing code that made it unready for fort-mode-level scrutiny.
This week I fixed various bugs. There was an issue causing questers to yet again not leave the fortress, this time because drunkenness was causing your dwarves to become more private instead of less private, leading to questers never being able to get rumors from people. I’ve also removed that strict requirement from them, so questers’ll leave after a while regardless of what they learn or how much they socialize.
Adventurer dwarf trances work again. Animals no longer become distracted from being unable to drink if they’ve experienced trauma, or from being unable to worship gods they shouldn’t have been worshiping in the first place… and they don’t reveal secrets in the tavern, or form improve grudge/acquaintance social relationships. Also fixed a siege issue where live generals were being elevated from zombie populations.
It’s time for a monthly report! And the Future of the Fortress reply.
We started this week looking at libraries, and eventually fixed a few issues causing scribes to eventually stop copying written material. The plan was to visit a few of the new bugs from there, but one of the library saves had 200 dwarves and 60000 items, so I took a look at it. It started at 13-17 FPS, and now, some days and a few dozen tweaks later, it’s running at 22-26 FPS. Some of the gains are universal, some depend on, say, how many chickens are in play. It also had a very barfy above-ground tavern, so I took the opportunity to alter the cleaning code so that they’ll clean inside non-subterranean areas, as well as outside areas on constructions and buildings; they’ll also chain cleanings so they at least get a good swath of a giant green smear before moving on. More needs to be done with cleaning, but this should help.
The fixing continues. An old bug gumming up the mayor’s meeting queue is fixed, and I made the queue slightly more robust in general. The megabeasts and other style monsters had entered another period of non-hostility in adventure mode; this is repaired. Bandits ambushers had a similar problem due to broken skill assessments, as they were calculating their odds incorrectly. A few little bits: critters should no longer be able to make illegal flying moves through half-completed downward stairways, and there was an issue with tree fires corrupting certain floor tiles.
One fix on top of the last release, for visitors that had become broken, acting like partial residents. Any broken visitors themselves are unpatchable in affected saves, so it was important to get this one up quickly. Old saves are compatible as usual, and should not get new broken visitors, but visitors that are currently acting strange will still be acting strange, and likely will not depart.
Major bug fixes
- Stopped certain visitors from being treated like (buggy) residents
Released Dwarf Fortress 0.44.05
This is another bug fix release to start the new year. A few of the bad five-second freeze/lag problems caused by the new release have been fixed, and large beasts should move off the edge of the map again. Over in adventure mode, inappropriate creatures shouldn’t yell ‘identify yourself’ and companions should participate in conflicts as they used to, and some other issues of reputation should be solved, especially among citizens of the starting town.
Major bug fixes
- Stopped displayed artifacts from duplicating on retirement/offloading of site
- Made attacking giant monsters path to targets properly again
- Stopped extraneous dwarf mode conversation text generation (freezes)
- Stopped negative artifact location rumors from passing around so much (freezes)
- Made removing first stop of hauling route w/ assigned vehicle not cause issues/crashes
- Stopped crash caused by yielding to muggers
- Stopped creatures from asking for identity when they shouldn’t be able to speak
- Fixed problem with companions and other close people not always recognizing your relationship to them
Other bug fixes/tweaks
- Made returning mercenaries stop petitioning for sanctuary (existing petitions will still be there)
- Prevented unirrigated etc. top-left corners etc. from stopping planting in farms
- Stopped inaccessible pile tiles from stopping bin/barrel placement throughout pile
- Allowed stairs to be carved in ice that is one tile above stone properly
- Added building item TSK indicator to ground items as well
- Stopped designations for removal of ramps/constructions from working on hidden tiles
- Removed incorrect back instruction from burrow naming
- Properly saved freeing hf in relevant historical event (Quietust)
- Fixed a few cases of historical event for identities reporting wrong historical figure
- Fixed kitchen job hotkeys
Released Dwarf Fortress 0.44.04
I’ve been working on bugs, of course! Highlights include fixing two separate causes of stuttering lag, making beast invaders move properly again, a couple crashes, and an artifact duplication bug. You can check up on the complete progress here at the tracker. That link will continue to be a comprehensive list for this upcoming release, but as we transition into bugs + small usability tweaks + little features, note that only the bugs fixed appear there.
Happy New Year! Here’s the year end report. And here’s the Future of the Fortress reply.
Here are some bug fixes to close out the year. Notably, visitors shouldn’t arrive in such large numbers so early on, and fewer of them should overstay their welcome (in old saves, people already in transit will arrive, but it should taper off.) Adventure mode commanders etc. should recognize more of your accomplishments properly and not talk about unknown creatures so much, but identities have introduced some non-trivial issues there that we’ll have to build through more carefully, and there’ll be some ongoing silliness.
Major bug fixes
- Fixed crash from guide agreements
- Fixed crash related to off-loaded items coming into play
- Made agents and roaming questers respect visitor cap
- Fixed problem causing agents not to check fort for tavern
- Made fort-visiting questers leave properly
- Made fort claim certain looted artifacts properly instead of leaving them on edge of map
- Fixed several cases of “unknown creature” utterances
- Fixed problem with neighbors not recognizing you, including commander and other quest givers
- Stopped undisplayed items from lingering on display furniture
- Made dwarven off-site squads stranded during preparation return to the fort
- Made 32-bit Mac version recognize new keys
Other bug fixes/tweaks
- Fixed broken plant indicator on food stockpile
- Made opinion monologues on performances etc. show text properly
- Made log show completed kill orders properly
Released Dwarf Fortress 0.44.03
I’ve fixed a few crash bugs, stopped the main overpopulation-by-visitors issues, and a few smaller issues. There are a few more issues I want to look at before I put the next version up (display cancellation spam, issues with cancelled raids, etc.), and I’ll continue working from there.
All right, I’ve returned from Montreal, so we can finally start moving toward the second bug-fix release of this delayed cycle. As usual, I’m going to be starting with the worst new issues on the tracker before we get to old bugs and small suggestions/features, but once we get there, we are planning to take advantage of the new world map screen in fortress mode, and to clean up the basic adventure experience, and much more, before the myth/magic development finally begins.
I’m sorry about what many of you, both supporters and other creators, had to go through over the Patreon fee changes recently, and we of course understand people that decided to pull their support over the increase. Their planned changes now seem to be shelved for the moment, though it’s a bit disconcerting to enter a period of more financial uncertainty.
Here’s the report for the beginning of the month. Future of the Fortress has many characters, so it is broken into two parts: Part 1, Part 2.
Hopefully this’ll stop the problems we’ve been having in world generation!
Linux Update: I should be able to test the Linux drive on Saturday once I get the hard drive enclosure, and we’ll go from there. Apologies for the continuing delay.
Major bug fixes
- Fixed world gen crash associated to agents checking on site government after it collapses
Other bug fixes/tweaks
- Stopped returning pet dogs from petitioning for sanctuary like rescued prisoners
- Stopped uncontested raids reports from starting at year 0
Released Dwarf Fortress 0.44.02
This is the artifact release, featuring the ability to send your dwarves off to cause trouble in the world, improved kobold sites, cover identities, artifact questers, and a bit of artifact diplomacy.
In fort mode, the ‘c’ screen which used to list civilizations still does that as a suboption, but its main purpose now is to show the world map and allow you to interact with it. You can either raid a neighbor generally, or send off squads to recover specific artifacts or rescue particular people (in which case, the squads will still bring back other artifacts and prisoners, but focus on the goal.) A squad questing after an artifact will seek out information if the first site doesn’t work out, and this might take several months, so be prepared. Squads can also be captured during raids, though typically someone will return to tell the tale. When squads return, a report will become available; a yellow ‘R’ will appear over on the left margin, and pressing ‘r’ will let you see it. Sometimes reports are quite lengthy as squads stumble from tavern to tavern; you can press enter to skip to the end of the path animation.
There are some rough edges here! Be sure not to send off your commander if you are planning to reorganize your military, as they are the only one with the power to assign new squads and cannot do so while off the map. There was a last-minute hiccup with artifacts known to be held by people (rather than stored on sites); these fort-mode missions will be fruitless for the moment; the most common instance here is books authored by people that then hang on to them, so don’t try to steal their books! It says on the map screen when an artifact is held by somebody, so it should be easy to avoid. Raids do not bring back non-artifacts or build skills; these issues may or may not be addressed in the short-term depending on difficulties that arise.
The interactions with heroes and invading armies are more straightforward. There will either be ‘P’etitions or a diplomacy popup to handle.
In adventure mode, you can assume a cover identity. You do this from the ‘k’ conversation menu (if you are already talking to somebody, it’ll be hidden in “start new conversation”.) If you choose to link your identity to a civilization, you’ll be carrying that baggage with you, especially when you are being interrogated by goblin guards, so one should be prudent. To turn off the identity, go back to the “assume an identity” menu and choose the ‘x’ “no identity” option. You can also reuse existing identities from this menu.
People in adventure mode that are seeking an artifact will list “missing treasure” among their troubles, and you can then inquire further.
In order to name an object, use ‘I’ to interact with it, and it’ll be one of the options for appropriate objects. For example, you can give a name to your spear or waterskin, but not to the water or food you start with.
There are also various adventure rough edges. For instance, if you pick up and then immediately replace a museum piece in adventure mode, and then tell somebody about it, you’ll get credit as a Treasure Hunter. It’ll be difficult to fix that without additional property information, etc. It’s also generally hard right now to find artifact quests, as most things are in their proper place and/or not subject to an outside claim. We’ll be working with this a bit as we generally work on stabilizing the release.
Overall, many of the changes occurred under the hood, in preparation for the myth and magic release, but now the magic release will be able to incorporate artifacts of all kinds without additional delay, so hopefully it was time well spent.
As usual, your old saves should work, but please back them up before diving into the new release! It is quite likely that forts will fall into technical ruin as bugs come up and are handled at this early stage. Old forts won’t have object additions like the pedestals and display cases, but they should be able to send out raids from the ‘c’ screen.
We will be focusing on the worst bugs (crashes etc.) at first, and then we’ll broaden out into other bugs, old and new, and minor suggestions/usability improvements, as well as a general smoothing out of the new features. We’re still working on the design side of the first magic release, so we anticipate we’ll be doing smaller releases for a while.
ADDENDUM: My Linux computer died during the release process, so the Linux version will have to be delayed until we figure that out.
- Ability to send out squads to raid sites, rescuing prisoners and recovering artifacts
- Display cases and pedestals, museum zones, both in forts and other sites
- Can view the world map w/ rumors from fort mode
- Artifacts created during worldgen: dwarf moods, named heroic objects, holy relics, heirlooms
- New artifact events in play and worldgen: questers seek artifacts and ask for or steal them, invaders demand artifacts
- New historical events associated to the creation of artifacts (used in fort and worldgen)
- Agents used by civilizations to gather information, can assume cover identities
- Improved kobold site maps
- Goblin site denizens demand an identity instead of immediately attacking every stranger
- More modding control over pets and other animals
- Adventurer can assume a cover identity at will
- Adventurer can name their possessions
- New adventurer reputations related to artifacts
- New religious activity: monks, pilgrims and prophets
- Museums and other room types can be added to fort locations like taverns and libraries
- Various additional data in the XML export
Major bug fixes
- Fixed weapon trap crash vs. item breakage
- Fixed bug preventing monster slayers from visiting those forts with monsters to slay
- Made animated skulls, hair and other bits easier to pulp
- Made idle and vermin-hunting dwarves come down from trees more successfully
- Made thirst/hunger and being pushed out of the way less likely to terminate dances
Other bug fixes/tweaks
- Alphabetized broad stock screen categories
- Fixed problem with historical bodies not respecting wounds/processing
- Fixed bug causing religions to worship too many gods, with duplicates
- Made simple burrow beasts start in caves as possible
- Fixed broken historical collection linkage with beast attacks during festivals
- Fixed one instance of broken animal person greetings
- Stopped natural animals from w.g. rampaging through sites owned by entities at peace with wildlife
- Took age into account for w.g. fights vs. body size (e.g. proper dragon size)
- Stopped people from being enough to satisfy a need to see great beasts
- Made visitors less nervous about going to neutral locations
That took a while, and there were many deaths, but it seems the infiltrating companions are sorted out now… I manifested with a party of bound companions this time, named “Buddy A”, “Buddy B” and “Buddy C”. All the same, when confronted by a goblin glassmaker near a watch tower, Buddy A quick-wittedly shouted out “My name is Tode. I’m a human beast hunter from .” And for now, that works. Buddy A held this identity until we made our way out of the site. Your buddies don’t yet screw up for any reason. You can screw up, if your identity is chosen very poorly.
Some bugs next!
Down to two now! The various remaining artifact issues were uneventful. Now the main thing left to do is handling all this companions-during-infiltration business, the issue being that a goblin might address one of your companions instead of you, due to line-of-sight, etc., and your buddy needs to be able to pipe up intelligently to save all your lives. Might take some days due to the various various ways it can All Go Wrong.
Then finally some bugs I promised to do before the release. Normally, we do bug-fixing for a while afterward (and of course we’ll still do that), but e.g. dwarves being stuck in trees and broken undead tissues managed to get to the pre-release promise list, in some discussion or other. So we’ll see how that goes after the companion identity stuff is handled. Then we should be ready!
Here’s the Future of the Fortress for the month, which also has a report.
Where are we at… I made sure rulers could form new artifact claims post w.g., to keep the world interesting, and made sure adventurer-named artifacts were indeed generally uninteresting to people, despite technically being artifacts. We’d hoped to set up more subtle town-level identity tracking, by alias and appearance, but I ran into trouble there, so it still has to track identity by actual incidents and rumors, rather than just your greetings, community-wise. That is, an individual will track your aliases when you introduce yourself, but they won’t pass that information around in a way accessible to the broader community unless there’s also a barfight or artifact involved or something, at which point the information will be pooled by any survivors a few hours after the incident area is offloaded.
There are four things left to do. Handling artifact questers in the case that site building maps are realized at the mid level, handling some issues with goblin artifact recovery squads, handling a promise to manage player adventurer party infiltration of goblin sites using identities w/ companions, and doing a few promised bugs. Ha ha, probably another Deadline Disaster from Team Great Predictions over here, but at least the last things are becoming done around the right time.
Two main things this week were testing encountering an artifact quester in the woods while holding their artifact, and some quibbling with fort-mode artifact questers. The woodland artifact quester didn’t go so well at first. I used my debug power to manifest as the Manifestation, holding the quest crossbow, which I immediately handed over. When I asked the quester about it, he said “An unknown creature has given an unknown creature . I don’t care one way or another.” There was an obscure bug causing his inability to reflect on the situation properly; visual IDs required some third party to have seen the handover, and I’d done all the testing up until this point in crowded mead halls. So I sorted it out and got a happy reply about turning over the crossbow properly. Reloaded, tested out various personality combinations, got mugged, etc.
Still racing against the clock! What have we got, ten days left in October? Hmm…
Back in May, I mentioned invader demands for artifacts, and the petition system there, where you can choose to send a dwarf out to negotiate. You can then bring the siegers the artifact they are demanding (if you have it and choose to do so), and I mentioned then that there were a few bits to finish. So those bits are done now, and the testing as well… and did it need testing! Ha ha ha. So many deaths, so many misunderstandings. Human soldiers spooked by a barn owl and then blasting everything that moves, diplomats shot in the back on their walk out, satisfied invaders leaving stragglers lingering forever on the map, and on and on.
Okay, everything has been handled — here’s a recording of the relevant part of the stream from the Experimental AI in Games workshop. Tanya X. Short from Kitfox Games kicks the day off, then I appear at 36: 18. You can find the other talks on their channel. It was much earlier than I’m used to getting up!
Also, here’s the Future of the Fortress for the month. Now for our yummy yummy dev nuggets.
Here’s the report! The Future of the Fortress will be a little late, but should be along soon. Let’s see if we can’t take care of it all this month!
Mostly been playing around with post-world-generation secret agents lately, since most of the testing I’d done up to this point had been on their world generation histories. And there were lots of tells… still are many, but it is better. Elves showing up as peddlars, but the game giving them away as “Warrior” in their travel logs, their printed color being according to their soldier type instead of their cover, and that sort of thing. The old vampire secret identity code wasn’t helping since vampires didn’t try to hide these types of professions. But I’ve confirmed that they try to collect the correct type of rumors from your dwarves and can successfully bring them out of your fortress and back home, as well as being able to successfully target the other sites they visit throughout the world once world generation is over. Hopefully that’s the last we’ll hear about agents as we check these last things off.
Sorry about the delay — as mentioned in the B12 report, I was at the Progression Mechanics conference at Northwestern, but I was unexpectedly unable to get a post up here. Work continues and I should have another entry up before too long about how that’s all going. For now, here’s a video of my emergent narrative talk. The entire conference is here: Day 1, Day 2 part 1 (same link as my talk), and Day 2 part 2.
I set a lone dwarf to travel over to a dragon cave to recover a cotton chausse. The treasure had belonged to the humans, a favorite piece of clothing and now holy relic of their first nature priest, but the dragon had taken it almost a century earlier. So, hey, why not bring it to the fortress? Maybe give it back to the humans to improve relations, or failing a visit from them, keep it in a little museum in a display case for the dwarves to admire. Uzol, my questing dwarf, managed to sneak by the dragon, but found no chausse. So he decided to go barhopping to the east to see if he could pick up any signs — that’s all I was testing, the barhopping code. I didn’t expect him to actually find a rumor, but he did. Apparently, a mercenary had gotten to the dragon cave two seasons earlier, and brought the chausse back to the human temple, to its rightful place.
Uzol had orders, though, and he followed them to the letter. He broke into the temple and brought me back the relic… now I guess I have a save if I want to test being invaded by angry humans.
This is the report, and this is the Future of the Fortress reply.
There had been a promise to get pet war dogs to travel with squads that you send on raids, rather than having them stay home waiting for their masters. So that’s now properly completed. If your vision of dwarves is less about crafting in the mountains, and more about a lone dwarf descending from the hills to attack a village with a pack of a dozen hounds, your vision is now a reality. That’s how I tested it, anyway. Five of the dogs were struck down, but the humans will now think twice about whatever it was they were thinking about, that’s for sure.
Along with this, the game now more properly handles babies that are carried off on site raids. There are still a few issues (which I’m not going to handle for the first release). For instance, if a baby is the lone survivor of a failed raid, they will unerringly crawl back to your fortress all on their own. At least they are no longer active combatants. Also fixed various issues with cancelling squad orders.
Made your off-site raids a bit more interesting — if you lose, sometimes a part of your surviving force can be imprisoned, and you can go rescue them if you’d like to try. The prisoners caused various problems with position selection. My imprisoned expedition leader just walked home while still considered a prisoner due to some erroneous travel code exclusive to position holders. The game would also select imprisoned dwarves to be position holders which stopped the fortress from working properly (since they couldn’t be replaced or do their jobs or make appointments). I fixed every one of these problems I could find, but I’m sure there will be some ongoing issues with that. Various other fixes to squad reports, their injuries, etc.
Last month around this time, there were about 20 nuggets left. That number went up and down as work happened and crap popped up — now there are about a dozen. So progress! Not as much progress as I had hoped, as usual, but not so bad either. I’ll keep plugging away at it.
Main thing this week was replacing the giant unintelligible news/rumor dump from the outpost liaison with a display on the world map, over in the new mission map screen. So you can see where the wars are being fought and where the sites are being founded/reclaimed, rather than just hearing the names and not having any idea what’s going on. The replacement isn’t great, but it’s better than the less-than-worthless confusion we used to have.
I also fixed some problems where artifact reputation from rumors was getting confused as the state of the world changed (that is, artifact rumors needed to carry a bit more data with them to remain understandable as sites changed hands etc.), and a few other issues.
The various fixes have continued. There was a hot potato artifact bug during world gen sometimes during events like forgotten beast attacks — an entire extended family would die but still manage to meticulously pass off the artifact as the beast tromped around, sometimes 20+ times. This can happen in the upcoming release, but far less often. I did a bit with the adventure artifact log, prophecies, and finally got some good tests in on destroying artifacts in fort mode vs. rumors for people looking for them. Poked around and fixed a bug causing divergent world gen results.
The weather report said “Smoke” instead of “Clear” or “Partially Cloudy”, with a little wavy smoke icon I’d never seen before instead of a sun. Can’t see across the little inlet here, and the moon has been red. Has been the case for the last few days, but the icon was new.
Here’s the Future of the Fortress reply. I posted it a few days ago but in my traditional August heat-addlement forgot to link it here. We don’t have AC, so Scamps’s freezer packs have been deployed! They are placed in a bag he likes, and he hangs out there.
Here’s the report for the month. I should have the Future of the Fortress post ready around tomorrow.
Latest is tracking how the now-tradeable artifacts are handled by wagons, pack mules, and animal thieves, since the non-historical critters and vehicles aren’t supported by the rumor/claim framework, but they still carry artifacts off the fort map. In order to set up the historical events and inventory transfers, I ended up making the historically-relevant merchants abstractly swipe the artifacts from their wagons and mules the moment they leave the map. It’ll be easier to handle properly when we handle traded objects more generally, though there’s still the issue of who “holds” the artifact when it is sitting in a wagon which is owned by somebody. The current structures don’t admit much vagueness. For animal thieves, they get to become historical themselves, and roam the world map with their treasures.
The list is down to about twenty nuggets like this, which take a day or two each. Not that I’d extrapolate a release date from that… it never works that way. But we’re getting there.
We’ve (almost) recovered and are back at work on the release. Today I did a hundred conversation changes where identities were being given away by old forms of incident, rumor and circumstance utterances… I’d been putting it off for a while since it was pretty mind-numbing. We’re a bit behind on rewards and other correspondence, but we’ll try to catch up by the end of the month.
I have great news! A marriage ceremony is taking place this Saturday at a dwarf fortress in the Pacific Northwest. It will be just about as dwarfy as possible. I, Threetoe, am finally getting hitched to a princess from a royal bloodline. Thank you for all of your support, without which none of this would be possible. As veteran players well know, the dwarves will have to take a few days off to “attend party.” After we get back we will hustle to get out Art Rewards and continue toward the imminent Artifact Release.
Highlight this week was making sure other dwarven civilizations can in fact retaliate if you decide to bother them. So I sent my expedition leader by himself across the plains to the next mountain range to raid a mountain home. He did not survive. The next season, eight well-armed dwarves and two of their goblin buddies attacked my remaining six dwarves by the wagon. So one needs to be careful!
Current project is turning all of my dwarves into children, letting them be kidnapped by goblins, and then growing them back up so I can send them off on rescue squads.
Here’s a Future of the Fortress reply, starring Llurbin the giant cave spider and the monthly report.
Fixed up several issues causing artifacts to not appear where they belong. They’d often be lost on sites and never found, even after routine situations where you’d expect the artifact to be passed on. For instance, a bronze helmet that was the symbol of the dwarven duchess was lost on site after the duchess passed on from natural causes, and it took several years for another dwarf to find it and give it to the next duke — the handover process is now more routine. Kobolds are also no longer allowed to make claims on artifacts (they still steal them, of course). They always store them in the trophy room now — finding a single artifact held by a kobold somewhere in the living area was too difficult. Artifacts were disappearing out of my backpack, and that’s sorted out.
The more generic fixing process has begun, where I come to terms with various problems, mistakes and promises made throughout the last year! Arranged some display furniture, did more xml, cleaned some teleporting artifact issues, and got halfway through a promise about how library quests would work regarding copied books. It’ll be more random than usual like this for a while, but I’m making forward progress. Nothing funny to report… just a lot of me grumbling “I brought *yourhammer back from the giant’s cave. What do you mean you don’t care?!”
The procedural generation book I co-edited with Tanya X. Short is out! It’s called Procedural Generation in Game Design. To celebrate, we did a Roguelike Radio episode with a few of the author-hosts. Earlier, Zach and I also contributed some recollections to an article in Polygon about games developed in childhood.
Things are still a little rough and square-ish in parts, but we’re calling it for kobold caves. The new entity animal framework is set up, though I’ve only used it for kobolds. It’s pretty basic — you can compel an entity to use creatures that either belong to a list of classes (classes can also be excluded), or by their token, and you can set them to either use matching animals from the environment or to get a free environment-independent starting population as with the current domestic creatures. You can optionally override the mount/wagon puller/etc. roles defined in the creature definition, setting them to always or never be used for those roles. Kobolds use their new entity animal definition to keep as pets any creatures in the surrounding environment that are in the new poisonous class which do not have the new mammal class. In my test cave, this led to a scary pit room filled with giant cave spiders and rattlesnakes.
Kobold caves are well underway. Suffocated due to a weapon trap coated with giant cave spider venom. The site layouts are a little more involved now than the up-down natural caves, spreading out over a few z levels with some traps, guard posts, living chambers, animals, eggs and stolen objects. I’ve been working with the old entity animal code, but the next step is to update that to allow more control over entities and their animals. For vanilla DF now, that’ll be so kobolds can focus on poisonous creatures, but hopefully it’ll be a bit more flexible for everybody, probably focusing on creature classes and tokens. The old tags will still work as usual.
Here’s the report and a Future of the Fortress reply. Off to kobold caves!
Just some grinding away this week, including the weapon trap crash that has been around since the last release. The last major step is to get the kobold cave maps up to a point where they are suitable for retrieving artifacts from. I started refamiliarizing myself with the relevant cave/site code today. Aside from that, it’s a bunch more random tweaking and cleaning and promises to keep, but at least the end is in sight out there.
Invader demands went more or less as planned, though I have bits to finish. If a sieging army wants to talk, there’s an initial petition to arrange a parley, which is not delivered physically — they hang back outside in relative safety, since you people have a tendency to drop magma on things. If you ignore the petition, they’ll attack eventually, otherwise, a dwarf will go out and negotiate. To make it fair, the invaders will never attack your dwarf until they have time to get back inside, even if negotiations go poorly — ideally there’d be some sort of middle ground where the meeting occurs, but we don’t have time to get through the complications of that now.
In any case, if you have the requested artifact, you can bring it to the enemy commander, or you can refuse. If you don’t have it, you can pass along what you know, or you can refuse. An agreement acts as a peace deal which will last as long as those things normally last (it has a positive effect on relations for years which may or may not overcome existing hostile attitudes, and the effect is especially strong in the first few years).
The more straightforward and well-informed questers can now demand/request artifacts directly. For single heroes or small groups, it works by the petition system (meeting with the proper dwarf first), to avoid pause/diplomacy spam when multiple groups arrive over some hot tip. This will also allow you to wait for a few petitions if you want to play favorites. For invader demands, which are next, we’ll go to the full diplomacy screen for added drama.
Accepting a request to transfer/surrender an artifact just triggers a simple task to deliver it to the waiting representative. Similar to last week’s tavern inquiries, rejecting a direct request currently leads to three options — immediate conflict, leaving and sneaking back in, or slinking off and possibly reporting back to whatever artifact-interested party they were working for (which could lead to an escalation to invasion).
So this month, the idea is to switch over from your fort sending out squads of dwarves on various missions to the fort being the recipient of artifact-related questers and larger groups representing artifact claims (such as an army seeking to recover or seize an artifact). The easy starting point was questers that attempt thefts. Questers so inclined can now sneak in from the edge and try to take their target artifact, either running away or fighting if they are caught, depending on their temperament.
We also allowed questers that are uncertain of the artifact’s location to visit your tavern if you have one. Dwarves that are unable to hold their tongues can confirm the presence of artifacts, and then the quester can decide if they want to leave and sneak back in, or if they’ll simply request/demand the artifact. Which is the next thing I’m going to add — there’s a bit of choreography there if you comply (since the artifact will need to be retrieved and handed over), but whatever I do should also work for the army requests/demands which’ll come after that.
If you don’t have a tavern, questers will simply attempt a theft or make a demand without confirmation. If they demand an artifact that you don’t have, you can tell them you don’t have it, or you can pick a fight if you want. Also in this vein, we’ve had several questers come in succession for the same artifact — this generally happens if a populous town/hangout has a “message board” quest for one of your artifacts and several heroes are already in transit before any change is obtained. Even if you give an artifact away, or don’t have it, you might have to tell a few people off before the information spreads around. I haven’t done it yet, but hopefully you’ll have the option to tell second questers the specifics about whom you gave an artifact to so they can go chase after that person if they want.
We have Future of the Fortress reply and the report to start off May.
The main highlight this week is the post-mission report screen. When your dwarves come back, they give you a new sort of report that you can view at your leisure from the ‘r’eport list. We based the report viewer more or less on the flight/sub sims we played a long time ago, where you get the exact path of your dwarves unfolding on the world map as time advances uniformly, and it gives you historical events as they come on the side, including who they are tangling with during site raids and what happened. The dwarves do seem to be engaged in some buggy jumps on to islands as short cuts, and we’ll try to sort as much of that out as we can, but I’m sure this new level of visibility is going to be a cornucopia of bug-fun after the release. In any case, we’re ready now to switch over to fort mode diplomacy for next month!
It was a hectic-not-DF-wise week with city trips and family visitors, so there’s not much to report. Continuing to handle fort expedition problems, and started a bit on the random promises list, with some XML additions as well as making the next release a little easier on utility makers in terms of finding global variable addresses. There are still four unresolved expedition issues, but then hopefully we can get started on fort artifact diplomacy!
Chris Bratt of Eurogamer made a video regarding the cat tavern bug. That page also includes the longer audio interview. Dan Pearson of Eurogamer (who interviewed me last year) also posted a DF article.
Now, on top of the rescued prisoners, we’ve finally got our first artifact “retrieval”, though it wasn’t mine. So I guess it was stealing. Bad dwarves! I sent three of them to sneak into a human town, and they brought back the sanctified skull of the first priest from the moon temple as well as a perfect gemstone from the lord’s castle… when my heroic soldiers got back they just pitched the skull on the ground (ongoing issues!). I also cleaned up additional new problems with the noble/military screens, and an issue that came up with assigning museums as sub-rooms of taverns/temples, etc.
We rescued our first child! The seven dwarves are now caring for Obol, a four year old human they found in the goblin pits. An impressionable child, she inherited the goblin ethics of valuing power over others and her personal dream is to take over the world. I’m sure it’ll be fine.
I’m balancing out abstract equipment strength numbers and working more with the post-worldgen raid/battle code, since it wasn’t really geared toward smaller numbers of well-equipped player dwarves fighting at sites. That’ll merge in with the reports they give when they return, which is the next project.
It’s that time again: here are this month’s Future of the Fortress reply and the report.
Here are the additional parts of the PC Gamer interview: part 2 and part 3.
Working out the various raid issues. We anticipated there’d be lots of problems with suddenly sending a bunch of fort-involved citizens off the map, and there have been. Dwarves electing new expedition leaders when you send your current one away for a few days, lots of that sort of thing. I’ve successfully started a war with a nearby human civilization, so that’s definitely in for next time, if you want to be unneighborly. I have yet to recover an artifact or a kidnapped child, but we should be there soon!
I did a PC Gamer interview with Wes Fenlon at GDC this year. There should be additional part(s) that I’ll link to as they are posted.
Here’s the panel I was on at GDC.
We have little missions for groups of squads, and they can leave the map now. The current possibilities are rescue missions for kidnap victims, artifact recovery missions, and generic raids if you just want to start trouble. There are myriad issues to sort out, as expected. I’ll let you know if anything amusing happens!
Here’s an interview I did with the Literate Gamer.
So we have a map up! The borderline useless ‘c’ivilization screen has been replaced by a world map you can scroll around (the old civ/treaty information will still be available in there). You can get site information, travel times, approximate populations, diplomacy states and so forth.
The odd time differences continue to cause trouble as usual — on a medium map, going from tip to tip on a world-spanning crescent shaped continent takes ~18 days. So if there aren’t weird interruptions (like your dwarf squad stopping for a bender at a human tavern), you can expect even the longest journies to be over in a month or so, which passes relatively quickly in fort mode. We might adjust the times a bit if it’s too strange, but we’d like to keep everything as consistent as possible (since there are lots of non-player armies moving around the map at these speeds).
Next up, we should be sending our first squad out of the fort and into the world! This will bring up all sorts of issues (what happens to the squad/military interface when half of a squad has walked off while the rest are dawdling, does an off-site squad try to return through an active fort siege?, etc), and we’ll tackle them as we go.
And here’s the promised Future of the Fortress reply. Fort mode work begins tomorrow!
I’ve returned from San Francisco and GDC! The talk seemed to go well, I met a lot of people… and was recognized on both of my flights, which is a new one. The burnout is real, though. I should be back together in a day or two. We’ll have Future of the Fortress up tomorrowish — here’s the Bay 12 Report. Then we can get started on fort mode!
Alright, I’m ready to move to dwarf mode for this release! The main features will be the ability to send dwarf squads off the map, artifact-based diplomacy with sieging forces and others, and artifact-interested questers and critters coming to the fort.
That’ll have to start next month — in a few days I’ll be leaving for GDC. It was healthy for Bay 12 when I went there for the first time last year, so I figured I give it another go. I’ll be back on the 4th, so there will be a delay on the monthly report and the Future of the Fortress reply.
More progress… the artifact encounter problems I’m aware of are fixed, and NPC questers can go on near-fruitless quests in play to find artifacts known to be lost in the wilds (and find them if they happen upon the exact spot). You can sometimes find these ill-fated heroes wandering around out there, but there isn’t currently a way for them to get more refined information.
Your adventurer can now name any of their legally-nameable objects (so e.g. no arrow stacks, but you can name individual arrows). This elevates the items to historical status, so you’ll get events recorded about them. That doesn’t mean other people will care about them. There’s still a bit to do, and GDC is creeping up at the end of the month (I have a short talk again), but we’ll hopefully be through the boring cleanup part soon and get to dwarf mode off-map squads.
The adventure mode cleaning continues. The logs will be a bit dull while I test and correct, unless something amusing happens. The guards have moved on from interrogating me over delivered artifacts to instead interrogating their own master. I returned an artifact, and the lord took the figurine over to an empty pedestal in the hall and stood there making cheerful remarks. A guard, confused again, ran over and demanded the location of the figurine. The lord was like, “Over my dead body!” They would have started fighting if I didn’t break out to debug. I think in this case the guard didn’t understand furniture, and also didn’t think about their loyalties in the context of item encounters, and so flipped out when the item became “invisible”. I’ll keep smoothing it out! I’ve also cleaned up some other random issues.
Here’s a Future of the Fortress reply and this month’s report.
All right, so we’re looking at four chunks left for this release, which’ll take some time yet. We have to polish off adventure mode, which involves a lot of testing and tweaking. Today I added some more popups to the trade screen so you’d know your artifact gifts have been properly recognized and continued to fix up artifact transfer problems. There are still all sorts of strange things going on. For instance, when I returned a figurine to a lord, he stuffed it into a personal pouch where his guards couldn’t see it, so some of them started interrogating me since they thought I’d hidden it and didn’t actually see the hand-off. Lots of permutations to work through.
Second of the chunks, there’s fort mode! We need to handle artifact diplomacy and the sending of recovery squads off the map, which should be entertaining. Third, we need to finish the map changes I put off (e.g. kobold caves). Last, there are some random requests and promises that have accumulated (some memory address help for modders, a little bit of XML, a few priority bug fixes).
I went ahead and added the ability for player adventurers to assume identities today. You can’t pretend to be specific historical figures or deities, but you can be pick a name, profession, origin civilization and object of worship. All positive and negative reputations will be associated to that identity for as long as you assume it, unless you screw up. You can have multiple identities and flip between them (or return to your true identity). I’m still patching up some weird behaviors, but we’re almost out of this specific identity grind now.
Ha ha, this rabbit hole is pretty deep! There was a cascading split of various reputation data objects according to true, visual, historical and false identities, and lots of tracing up and down partial data to see where a new bit of information should be stored or what it implies. It is taking a while to sort it out. My brain broke a few days ago, but I feel more like we’re coasting downhill on it now. Some problems we had of rumors revealing the identities of people they shouldn’t have (especially as the rumors aged) have been patched up — it can keep track of information about false identities indefinitely, and it can also keep track of independent reputations for the same person between several identities, even for old data where that distinction used to improperly collapse.
I’m having fun chasing down issues with agent identities and rumors and so forth. A lot of the conversation/reputation code wasn’t able to cope with the change, and we’ve needed to differentiate more between visual identification or whether an incident just involves the real and fake historical identities of people in the abstract, especially when you ask a person their opinion about somebody but only know an alias (which you don’t know is an alias). People now think more carefully about where their information came from when they decide what they think of people, and do some cross-referencing of known identities and so forth, but they also have to skip certain rumors in their heads that pertain to a person where they can’t make the connection (because they don’t know a given alias or true identity). So if you ask after a goblin agent using their true name or an identity used in a previous town, people in the current town the agent is infiltrating will properly say that they don’t know who you are talking about, even if they have a lot of information about the agent under their current alias — or they might have an opinion about the old identity if they heard a rumor about it. Where the game previously formed a single set of reputations for one historical figure, people can now give different answers for the true historical figure and each identity, as well as what they think on sight (which may or may not involve any names — they keep track of which identities they associate with the physical appearance).
We’re also trying to keep more identity information intact as rumors fade out over time, to stop covers from being blown by the passage of time, and we also want a bit more realism in terms of linking witnesses that know the physical appearance to somebody else in town that got to know a name/alias of the people and their appearance, but didn’t see the incident. For example, if the player robs somebody without saying their name, a problem with the new system was that only the people that witnessed the event thought ill of the player even after a few days, since other townspeople could no longer make the link between the player and the event. However, if the player talks to enough people in a small enough town either before or after the robbery, then whatever name/alias they used should become linked to the incident after a bit of time (the normal rumor spread time). It’s difficult to get it right, and it’s not going to be quite up to the level where it’ll need to be for the justice/crime features later on, but we’re trying to keep everything pointed in the right direction.
Happy new year! A Future of the Fortress reply and the 2016 report.
Here’s a new Threetoe story (link, forum).
Here’s an interview with This Exists (Soundcloud, iTunes).
We finished up the monks and other new critters, and today was the first real day engaging with agents enjoying their new covers. The last agent I looked at involved a human town on the border of two separate evil lands that was itself half-goblin by year 50. The demons could send in goblin agents to collect information that arrived there without much suspicion (they’d use humans for the towns farther from the border).
Kutsmob Dentblack decided to assume the identity of a prophet of Oled the Gleeful Healing, the god of justice, and wandered around town shouting about the impending doom of the world. Over the years, he befriended a human priest as well as the gangster boss that hung out at the Fragrant Brunch tavern. The friendships are stored asymmetrically — they thought of the ‘prophet’ as a buddy, while Kutsmob considered them information sources.
At the same time, a human from a civilization to the south had infiltrated the town pretending to be a petty criminal, and a goblin from the other evil civilization, pretending to be a bard, had made it in as well. Kutsmob’s tradecraft was lacking, and he was ‘befriended’ by both of these agents, though neither of them knew that Kutsmob was also an agent — they just thought he was a good information source — and Kutsmob himself simply thought he had a few buddies to help him pass time during his assignment. It was fun to load up the world and see them all talking together with the ganglord at the Fragrant Brunch.
It wasn’t strictly necessary, as usual, but we’re adding a few more cover identities to be used by agents sneaking into towns to collect information (they can also use the existing artist, scholar and warrior professions as cover). In order for the agents not to stick out for the player, their cover professions need to be held by real counterparts. So there’ll be prophets, pilgrims, monks, peddlers and petty criminals. They won’t get many mechanics, but they’ll be around. The stuff we do add for them have a secondary purpose to set the stage for the myth release — the prophecies are stored in a way which aligns with the myth generator we wrote (though that’s not coming in yet), and it also relates to an expanded language framework (that’s not coming in yet either). It should be good to toy around with those ideas a bit first before we get to the full implementation.
I started the month by doing a survey of rumors and artifacts in several worlds to see how well agents sent out from goblin civilizations will fit into the world. Mostly, they had artifact conflicts with other goblins, so I tweaked some things — even then, there still aren’t an incredible number of agent-relevant situations at first. For instance, a goblin civilization sought two items stolen by kobolds and one held by a dragon. If however, say, the player were to bring one of those back to a human leader, the goblins wouldn’t have any way to know without having an agent in place, so it should still be worthwhile. And there are occasional world-gen situations where the idea works.
Working a bit on the criminals in town in preparation for the even more ill-natured agents to come and associate with them. Pulling many criminals out of the sewers and catacombs and into some of the taverns and out on the streets and so on, provided they vaguely fit in to the larger community.
Here’s a Future of the Fortress reply and the month’s report.
All right, the new encounters are done. If a situation goes particularly badly, an artifact seeker can kill an artifact holder and then actually remember to pick up the artifact to bring it back to wherever they are going, which is unusual since adventure mode characters are generally so oblivious to ground objects. Or it can be more happy. I suspect that next month will start with work on the agents and ne’er-do-wells we promised back in the Sept 26 log.
The current project is handling ‘encounters’ of people that have an interest in an artifact with people that are holding the same artifact. So if you are a questing adventurer bringing an artifact back to a location, for instance, you might run into other questers, guards, or entity representatives before or during your return, and they should react in some way or another without waiting for you to initiate everything. This might be as simple as you riding a wave of praise back to wherever the artifact needs to go, or it might turn out quite differently if you aren’t trusted. The wave of praise should also turn sour if you turn out not to be taking the artifact where they think you are — but it’ll have to give you some wiggle room as well… so we’re trying to sort that kind of thing out.
Here’s our Creator of the Week interview with Patreon.
Been working through various cases of fading information now that we have loads of data being generated for artifact locations as they move about the world, especially locally. There are six levels of knowing the location of a held artifact as it stands: having it yourself, seeing somebody else holding it at a location with your own eyes, hearing from somebody that somebody was holding it at a location recently, hearing from somebody that somebody has it (but not where), generally knowing in some legendsy fashion that it is said to be held by somebody, and not having any idea. The knowledge fades over a course of weeks and years while maintaining longer-term reputation effects, and it also has to constantly work in any new information and so forth according to their time stamps (at the individual, site gov, site culture and civ levels). But it seems to be working so far! It’s very fiddly, but this should take us a long way as artifacts get more interesting (during the magic and economic releases, etc).
I’m back from the Practice conference at the NYU Game Center in Brooklyn — the talk was recorded, and quite different from other talks I’ve given, so I’ll be sure to post a link when it is available. Apologies for the lack of logs these last two weeks. We should be able to refocus on the artifact release now.
Here’s a Future of the Fortress reply from the beginning of the month.
A new month, and a new Bay 12 Report!
I’ve updated the dev page colorations to indicate where we’re at so far. It has been a slog, getting through the knowledge/rumors/incident/witness reports/historical events, since items can be moved in all sorts of ways and we haven’t really been concerned about anybody remembering anything about artifact positions before this point in the game. There have been all sorts of conundrums and edge cases. Now everybody’s eyes light up when a bard strolls into a room holding Classic Hamlet (which was a book about his home village, I guess), and if your adventurer walks up and wrestles the book away and stores it on a bookshelf in a distant library, witnesses at each stage will understand the who and what and where in case some Hamlet quester comes calling later on. I’m slowly starting to emerge from this sort of work, though there are still several conversation utterances and reputation effects that need to be finished.
Continuing the player adventurer artifact rumors/witnesses/conversations etc. The game needs to understand what’s going on when you, say, bring an artifact into view, place it on a pedestal, pick it back up, and then hand it to somebody. If there are people around, they’ll create witness reports (which later turn into rumors) for each of those, but the final artifact location is the most important, so I have to make sure the right old reports get cancelled and so forth, even if some of the events last longer or are missed by certain people and not others, and so on. For instance, if one of the witnesses only sees the part in that sequence where you pick the artifact up, they might think you are stealing it, which is sort of reasonable, but not if you just brought it back yourself moments earlier — they could afford to be a bit more circumspect, maybe just say something and you can be like, “nah, it’s cool, I just brought this back and want to give it to somebody”. But that’s hard to get working, especially as the overall situation becomes murky and complicated. We’ll do what we can!
I’ve done lots of tests of slightly different situations in the same room over and over. I have a little teleporter debug command that causes the last artifact mentioned in a conversation to appear in my hands, which really speeds things up.
It has been a slowish DF week with not much exciting and new to report. Between election distractions, unexpected Seattle trips and non-player rumors being a bit messier than expected, we’re only now getting to player adventurers participating in artifact quests tomorrow, assuming the windstorm power outages aren’t bad.
The non-player hero-type characters are moving around the map, collecting artifacts and taking them to people that request them during regular play now. They can join up in parties temporarily if there are other like-minded people in their journey’s starting town. We still need to handle the details of their site infiltrations and reputations, but it’s good to have artifacts moving around. I think the trickiest part will probably be getting them to handle artifacts held by people, especially moving ones (including your adventurers), and that should be coming up after I handle the new rumors and some other issues. There are lots of conversation elements to handle too. So, tons of work to do, but we’re moving forward.
Here’s a Future of the Fortress reply and the month’s report.
Sites can now post invisible messages about artifacts to mimic the game’s conversation system for your adventurer. There are various sorts — families seeking heirlooms, scholars seeking books from ruined libraries, and so on. The next step is to get the non-player characters to respond to the messages and get the artifacts moved around by them. Then we can move to player involvement.
The main map work left to do for this release is the kobold site update. I’m going to take a break from that for a change of pace, though, and move over to artifact rumors and getting some artifact-associated critters running around. The spread of artifact location information needs to be a little more refined than what we currently have available, so there’ll be some preliminary work on that. I’m going to start by getting the various wandering taverngoers to gather and spread site rumors, which should give us a good foundation for information transfer in the friendly human-dwarf-elf areas, mostly.
Since they aren’t regular travelers, and we really need their civilizations to know about artifacts, the goblins and their demon masters will have to pick up information on the edge of the tavern ecosystem. For this time, that’ll mean having their own agents running around, which should be cool. They might have to interface with shadier people in town (who’ll have to be understood a little better by the game), or they might blend in themselves if their race wouldn’t be out of place (kidnapped humans/elves/dwarves grown to adulthood might finally be useful for something specific). Doing this correctly involves quite a few systems that aren’t in yet, and we’ll either do or skip those systems based on what we think we can complete in a timely fashion. This is a good time to finally get some more nefarious tendrils out in the world, though, and we’re planning on messing with it a bit.
World generation fortresses are a bit more navigable now (managed to get to the surface from a deep site without a surface connection a few times), though there is always more to do there. Some of the apparently disconnected forts just has really bizarre ways to the main staircase — having to go from the wide hallway to a side hallway, through a door, down a side hallway, through a stockpile, through a door, around a corner, and back to a wide hallway which connects to the main stairwell. Now it tries to ensure that the wide hallways are connected from end to end, which is practically enough. It would still be better to have some engravings and the ability to ask directions.
I’ve also gotten about halfway through the artifact storage locations for the various site types and situations.
We’ve returned from the sequence of journeys! Here are recordings of the streams from the two tracks at the Roguelike Celebration: Room 1, Room 2. Direct link to our talk. Schedule to help you navigate.
There are a lot of B12 tasks piled up to unbury ourselves from, but we should be getting back to work toward the artifact release again soon.
Here’s the Bay 12 Report! The first half of this month is going to be a bit different, as there are several events in succession.
Here’s a Future of the Fortress reply. A bat which was free at my brother’s place was successfully ushered outside after dozens of orbits around the top of the room. Zach gained 2 XP. His fiancee Annie says he needs 4 more XP to gain a level. We’re approaching a relatively travel heavy (for us) period (three events in three weeks in three different places), so there’ll be more stress and fewer dwarf maps for a bit.
There was some heat-addlement this week, but I finished the dwarf jobs I needed to finish, allowed a museum zone to be designated from display furniture (which is more or less like a sculpture garden, but with the new thoughts for displayed items), and handled display furniture placement in adventurer-created sites. Cleaned up some errors with religions/temples in world gen that were impacting temple artifacts. Moving on to other building/map types next.
Started with temple relic storage as a test case, and that seems to work, respecting the pools and so forth. The game has display cases and pedestals now, in all modes. Next I’m going to finish the display jobs in dwarf mode before I get back to maps. You’ll be able to display any non-large object you like, and there’ll be new thoughts for displayed items similar to the admiration of architecture. So you can set up artifact display areas, or you can just use regular masterpieces, or junk, or skulls, as you see fit. The displayed items show like the food on tables so you can admire them yourself.
All right, we’ve finished the first of four sections on the dev page for this release — world generation artifact interactions. We’re now ready to situate the artifacts in tile map locations and then move the interactions into the two play modes. This process will surely bring up some issues with what we’ve done in world generation, but hopefully it’s mostly okay! Map code can take a lot of time to update and change (since it’s prone to bugs, especially with the third dimension), and I’ll try not to get bogged down, but we should also see some interesting additions. More as I get to each civilization!
Today is the 10th anniversary of the first release of Dwarf Fortress! Apparently it was time for us to get a taste of what we’ve been dishing out, as we’ve been showered with crayon drawings through the mail. Thanks to everybody that has played the game, enjoyed the stories and supported Bay 12 through the years. On to the next decade!
Larger world gen beasties can play with the items now. There was an unfortunate elven civilization called the Distant Oak that lost three druids in three years. The last one was killed by goblins and had their body hung from a pine tree, which must have made the goblins happy since they organized a yearly candlelight procession commemorating the event back at their tower. On the 110th occasion of the procession, the dragon Niweni attacked, killing several goblins and dwarves. Finally the beast entered the tower and stole the Renowned Gill, a legendary crossbow created by a dwarf for the chameleon demon 20 years before, bringing it back to the cave. 180 years later, the crossbow is still there, along with the dragon. There weren’t any attempts to recover it — such civilization-level quests are the last step for these world gen changes.
Working to wrap up the worldgen artifact interactions we’d like to have for this time. Artifacts can now be given between entities during peace or when peace is made. Heroes can also make journeys (potentially with buddies) to recover heirlooms (still need entity/religious recovery).
I also included artifact claims in war/diplomacy calculations. For instance, in events spanning 124 years, the periclase bracelet Lusterlabored was made by a dwarf in a goblin tower and given to the dwarven master (the original demon was killed by an elephant while invading the elves). Stored in the tower for several years, it was eventually stolen by the kobold Tobogochrursnus. Tobogochrursnus brought the bracelet along on various thefts, only to be cornered by a human hamlet lord, Emim Squashchewed. Emim kept Lusterlabored as a family heirloom for forty years, but this eventually brought the attention of the same dwarven master back in the goblin tower. A war was launched, and Emim went to defend the main human city of Largeplot, where he was killed by the elf Ber (who had grown up in the tower). Ber took the bracelet and assumed the position of administrator over the conquered town. She had a more or less peaceful rule for decades, until the rampage of a werehyena found Ber devoured and Lusterlabored with a new owner.
Here’s the Bay 12 Report, and here’s a Future of the Fortress reply. We also did an interview with the Stoned Gamer.
Worldgen invaders will now loot artifacts stored in buildings, and thieves can steal artifacts from them as well. For instance, we had Thil, the leader of a group of dawn worshippers living in a human market town which was unfortunately beset by elves over the humans’ display of hunting trophies. The elves routinely attacked the town and ate people, and on the third attack they drowned Thil as an example for the other humans. The grieving worshippers entombed the body in a crypt under the town, but they took Thil’s bejeweled linen skirt and named it Glowedlull, placing it in their temple. It only took another year before the elves returned and ate some more people, and looted the temple, taking Glowedlull back to their forest home. Peace was made ten years later, but I haven’t gotten to the friendlier side of artifact transfer yet, so the skirt is still with the elves! Next up we’ll be adding worldgen heroic artifact quests and gifts to round out the worldgen portion of the artifact release. Hopefully all of our recent additions taken together will provide enough backing for fortress mode and adventure mode artifact interactions.
This week was work on underlying mechanics in support of artifact claims. The main interesting addition was a sort of family placeholder mechanic to make heirlooms work. The initial couples all get associated family structures, and then those links are passed along to the children and so forth. Of course, this opens up all kinds of world-determining issues, depending on how marriage interacts with family membership and which child has which inheritance rights over heirlooms etc etc etc, and so forth. This isn’t the release to get into it (the family/status/property/law release will make a better attempt). For now, it runs an “importance” check on the family groups during a marriage — if there is no winner, then it just flips a coin.
Artifacts will pass down family lines to keep them in play longer and to set up interesting conflicts. Even without conflicts programmed yet, we’ve had some interesting situations. One medium world I ran for 125 years had a dwarven hero named Fath that killed the hydra Osplu Juicepukes. After the fight, she named her steel shield Gladdashed and it became a family heirloom attached to the Kosoth Giltmirrors family group (Kosoth was an original dwarf, and by the end of world gen, that line had 228 living members — Fath was a grandchild).
During a later koala demon invasion, a goblin named Ngokang Spideryweaver killed Fath and claimed the shield — even though the invasion failed, Ngokang survived and took the shield back to the goblin capital of Ghoulsullied. A few years later, Ngokang was murdered and Gladdashed lost in the goblin pits, but Ngokang’s family still had a claim on it (it’s unclear whether goblins will often have strong family mechanics when we remove the placeholder, since it’s not a typical value setting for them, but it’s fine for now). Ngokang’s family group was also identified with an original creature — Bax Burialscourges, a goblin dancer that was still alive and a member of the Whispers of Evil performance troupe. That goblin family had 49 living members. Presumably, as we continue, it’s possible that these 228 dwarves and 49 goblins would come into conflict over Gladdashed in various ways as the artifact is found, stolen, claimed, lost again, etc., especially since it’s likely with that many dwarves that several of them would have hands on the levers of power that determine whether their whole civilization goes to war and so on.
I’ve completed the production/naming of world gen heroic items and holy relics. Sometimes they are potentially useful, like the steel spear used to kill a giant, and sometimes you get an elf commemorating the slaying of a minotaur by naming their wooden low boot which presumably saved their life or something. Our first official holy relic: the hemp trousers of the “First Orange” of a god of light. The second was the Fortress of Grief, a totem made from the skull of another religion’s high priest. They placed the skull in the temple, while the rest of the body was entombed in the catacombs under the city. Next up we’ll be doing artifact claims and various mechanics to get these artifacts moving, fought over, and otherwise affected.
Dwarven historical figures that have been assigned various artisan professions now have a chance to enter a mood and produce an artifact. It’s more abstract than the standard in-play fortress process, but it uses about the same variety of materials (it doesn’t do furniture yet). Next up we’ll add a few more classes of items (weapons/armor named by heroes, holy relics), and then we’ll make claims on artifacts and make the movement of artifacts in world generation more interesting to set the stage for in-play additions.
Here are the first official 64-bit releases! This would not be possible without help from our community — you can view the exciting and sometimes late-night discussion over in the 0.43.04 release thread if you want to see how the cake was baked. This release should also make worlds generated with the same seed more consistent, and it has a few other minor fixes we managed to sneak in.
- 64-bit support, pulling the game from the distant past into the previous decade
Major bug fixes
- Fixed problem with artistic skill assignment causing world histories to diverge
- Fixed problem with worldgen trade causing world histories to diverge
Other bug fixes/tweaks
- Stopped babies/children from competing in w.g. events
- Made gorlaks able to open doors, stopped desizing of their heads
- Fixed some mem leaks
Released Dwarf Fortress 0.43.05
Here is the Bay 12 Report, and here’s a Future of the Fortress reply: Part 1, Part 2. We’ve started up a new FotF thread here.
Here’s an OSX 64-bit test version. The main obstacle to being through with the 64-bit version is actually a 32-bit version now — we lost 32-bit Linux with all the updates we had to do for 64-bits.
We’ve posted the new development page with artifacts and myths. This is the culmination of years of work on Dwarf Fortress and our other projects which never saw the light of day. We’ve been playing around with magic systems for years, ever since DRAGSLAY.BAS, and are looking forward to finally being able to place the dwarves into a more meaningful, mysterious and exciting universe!
We’ll start in on an artifact release once the 64-bit versions are complete. We might get away with one release there, but the myth/magic dev items will almost certainly happen over multiple releases, and we won’t get to everything on the first pass.
Work on the 64-bit version is ongoing. So far we have a windows test version and a linux test version. Here’s a 32-bit Windows version that should clean up some DLL issues. We should be almost through with Mac as well — just need to clean up the sound library situation.
There were some bumps in the ride with the new setup, but at the same time, we’re also well on the way to a 64-bit version of the game. If you’ve been having trouble with the most recent SDL Windows release, or you want to try out a 64-bit Windows version, visit the forums here: test release post. That thread will also work for weird 64-bit happenings. Linux and Mac up next!
Here’s a video from the recent Dwarf Moot meetup.
On September 17th, we’ll be at the Roguelike Celebration in San Francisco. They have early bird tickets available at that link until July 17th.
Here’s another bug-fix release. Assuming no issues crop up immediately, we’ll now dive into 64-bit land for next time!
Major bug fixes
- Fixed error deciding when patients should be moved
- Fixed initialization problem with tools causing stone axes to be thought of as ranged
- Stopped completed work order jobs from checking off every matching order
- Stopped masterpiece trades in containers from triggering artwork defacement
- Stopped storage from always failing in the second tavern/library/temple you define
- Stopped broken crash-prone entry from appearing at the end of the stocks list
Other bug fixes/tweaks
- Attackers will remove armor from unconscious opponents if it is blocking attacks
- Made people wear more armor according to their roles again
- Allowed new citizens with some previously site-wide occupations to be reassigned
- Allowed some site-wide occupations for dwarves
- Made combat damage weapon and armors depending on material differences etc.
- Made dwarves prefer undamaged equipment during the periodic uniform upgrades
- Allowed strong attacks/shakes to translate some force to joints and parent parts even if blocked by armor
- Reduced clothing stopping power based on penetration depth
- Made paper slurries stockpile-able (won’t work without updated raws)
- Fixed problem with adv mode tribute demand check
- Fixed ghost initial positioning problem
- Made macros save correctly even if the macro directory is deleted
Released Dwarf Fortress 0.43.04
Today was going to be release day, but then SDL started fighting with the new compiler and they haven’t quite stopped yet. We also had a release-mode-only world gen crash that stopped reproducing only when logs were enabled, but that might be handled now. It’s a continuing process. Hopefully tomorrow!
It was nice to meet everybody at the event yesterday! I’m not sure if there’ll be a video of the live stream, but I’ll post what comes up. Here’s the Seattle Weekly article that went up a few days before it happened.
As part of the recent fix that brought armor back to invading soldiers and others, we need to deal with the effectiveness of armor, since there are too many fights that never end. To this end, we’re going to do armor item damage, some indirect combat damage to joints/necks that get whacked, and some combat AI to make people remove helmets from unconscious opponents. Then the release should be ready.
I’ve been fixing bugs for the next release. Work orders won’t decrease the number of jobs on identical orders any more, and they should store items properly in locations like libraries without hauling them back and forth over and over. Paper slurries can be stored, and traded masterpieces in containers shouldn’t trigger art defacement effects. The weird broken entry shouldn’t appear at the end of the stocks list. Stone axes will work in adventure mode again.
Here is the Bay 12 Report for the month, and here is a Future of the Fortress reply.
So the plan was to upgrade my compiler and then do another bug fix release before doing 64 bit stuff, so different new problems could be kept separate. That’s still the plan… it just stretched out a bit since the compiler installation crashed and destroyed my system. Things are partially back together now, with the new compiler in place. I’ve been playing around with its static code analysis tool, which located some interesting typos which have probably screwed up the medical bedrest and ghost behavior among other things.
Here are some more bug fixes.
Major bug fixes
- Made customized magma forge jobs use metal instead of making things out of coal
- Adjusted conflict code to stop taverngoers from joining siegers over petty grievances
- Fixed material overcount in adv site work menu
Other bug fixes/tweaks
- Made pain from broken tissues depend on relative part size
- Made embark profiles load fish properly
- Made assigning an animal to a restraint remove it from pasture assignments properly
- Made pasturing jobs respect connectivity in creation and in seeing if they should continue
- Made dwarves remove animals assigned to pastures from cages/chains that are in the pasture
- Fixed display error causing creature to be described as gigantic too often
- Allowed metal mechanisms to be made from the job manager
- Made dragonfire affect metal items and generally amplified fire effects a bit
- Stopped veins in large mineral clusters from being improperly restricted
- Stopped placement issue with minerals that had more than one specific environment
- Stopped woodcutters from using axes without edges (like training axes)
- Allowed soil critters to live in wider temperature ranges
- Fixed problem with temperature checks on certain wilderness populations
- Made construct mechanisms job show material
- Made mountain travel restriction not affect other actions
- Allowed adventure mode divers to move through deep water properly
- Made placing items on tables remove item from your inventory properly
- Made improvement reactions increase and apply skill properly
- Reported site of adventurer masterpieces correctly
- Stopped manually-set low frame rate cap from being stuck
Released Dwarf Fortress 0.43.03
Continued along with bugs. Woodcutters shouldn’t use training axes, and you should be able to make metal mechanisms from the job manager. It’ll also show the mechanism material in the job’s name. Embark profiles should load fish properly instead of cancelling them all. I made dragonfire affect metal items again after a long hiatus, though fire effects in general are still a bit odd. You can now dive in deep water correctly in adventure mode.
Original DF meetup attendee Lightman has organized an event for the 10th anniversary of DF in Bellevue, Washington. There are free tickets for general admission, as well as dinner tickets. It’s on June 11th, and Zach and I will be there. There are lots of details over at the event page.
Bug-fixing has been underway. There was an issue with the material display when building adventurer sites — it was still counting some objects you had already used, so be sure to check the material is actually on hand when you try to build. I also stopped mountains from incorrectly restricting actions like sleeping.
I cleaned up some issues with restraints and cages vs. pastures that were causing animals to be moved too much or not often enough. I also fixed a few problems with mineral placement that screwed up native platinum veins in larger clusters and a few other configurations.
I’ve adjusted how bone pain works to stop people from giving into pain and going unconscious when their toes are broken.
“Gigantic” shouldn’t occur all the time in animal descriptions now. Items placed on tables in adventure mode shouldn’t duplicate. Bees should appear in temperate forests. Glazers will gain skill properly now and improvement reactions more generally will apply skill properly. And a few other small fixes.
Smoothed out some rough areas in the adventure part of the release. We’ll be continuing on with bug fix releases.
Major bug fixes
- Stopped zone corruption problem from adventure sites (caused crashes)
- Stopped adventure camps from being aged by the age of the world repeatedly
- Stopped certain site build orders from skipping the collapse check
- Stopped prisoners in goblin sites from starting no quarter fights with their rescuers
- Made people that join you stop personal/shared activities that might interfere them from following you
Other bug fixes/tweaks
- Stopped felling of trees in the arena, so you wouldn’t be teleported to a weird hidden region map
- Indicated child/baby state of prisoners during look etc.
Released Dwarf Fortress 0.43.02
A new version number! With the work order additions and adventurer-created sites, this one ended up with more new stuff and fewer bug fixes than expected, and my version calculator just tipped over at 0.43. You can use the new ‘b’ site building option in adventure mode to create a site (outside the bounds of other sites). For dwarf mode work orders, you can set conditions and details from the manager. You can also create orders tied to specific shops from their workshop profiles.
A miscellaneous note: in order to retire at the adventurer sites you create, you’ll need to name the site, create a main hall zone, and claim the hall during conversation (or while shouting to yourself).
Next up we’ll be doing more bug fix releases to make sure we have a vaguely presentable DF before we disappear into a new compiler and 64 bits.
- Ability to build up new sites in adv mode, either yourself or by assigning companions
- Ability to do carpentry in adv mode
- Ability to chop down trees in adv mode
- Ability to make stone axes in adv mode
- Ability to pull branches from trees in adv mode
- Can put start conditions on work orders (by amount of resources or dependence on other work orders)
- Can specify materials/images/etc. in work orders
- Can create work order from profile which is tied to specific workshop
- Can set maximum number of shops that a general work order can task at once
- Can set maximum number of general work orders per shop or disallow them by profession or altogether (note: this won’t work for active old-save jobs)
- Allowed perpetual work orders
- Repeatable work orders, ability to set restart frequencies
Major bug fixes
- Stopped masterpiece trading from causing artisans to suffer effects of art defacement
Other bug fixes/tweaks
- Got rid of work order limit of 30 jobs
- Improved work order filtering (respect partial vs. full results etc.)
- Stopped work orders from taking more than one slot per workshop
- Stopped non-citizens from being charged for violating production orders
- Stopped mother from getting both her and spouse’s miscarriage thought
- Refreshed material list when deleting uniform item
- XML export now has the exact site rectangle
Released Dwarf Fortress 0.43.01
I’ve finished adding the image/material specification options to work orders, so if you want to order up 20 identical granite statues of a dwarf laughing while an elf makes a plaintive gesture, you can do that now. That’s as far as we’re going with work orders for this time. Next up, I’ll be cleaning up some existing bugs as well as a few issues that have cropped up in testing. Then we’ll be ready to go!
Here is the month’s Bay 12 Report, and here is a Future of the Fortress reply. Here’s a Roguelike Radio episode on Simulation.
After finishing the resource-based work order conditions, I allowed work orders to be automatically restarted with different frequencies (always/monthly/seasonal/yearly), respecting any conditions. I’m currently working on allowing work orders to trigger other work orders upon activation or completion. I think that’ll be it for conditions for this release. Then all we have left are work order job detail settings as well as some bugs to fix.
Work orders can be created for specific shops from their profiles now, and the usual work orders can have a maximum number of shops set, so they don’t clog up the works. I began doing start/restart conditions for work orders as well. Some of the most basic conditions you’d want are still pretty convoluted, like needing empty food storage items (barrels or pots), appropriate uncompromised plants and a lack of available alcohol for brewing jobs. In order to get around that, you can press a button to have the game try to guess what conditions you’d like based on the type of order (and then you can tweak the numbers). You can also build the conditions up manually… or you will be able to once I get it done!
The illness won for the most part. I didn’t get back to work until today, and I’m only eating full meals now, so I’m not quite myself yet. The maximum number of work orders a given shop accepts at a time can be set, and the shop can also ban work orders entirely or by labor type. Hopefully the coming days will just be super super normal and I can finish this off, maybe with a bit of rest.
The 30 jobs per work order limit is gone. You can also set perpetual orders. It doesn’t place more than one job per shop and instead of waiting to renew them it checks jobs on completion to see if they should stick around. So that works better all around. Of course, I’d have liked to be further along, but I’m not the only one working. Some friendly bacteria are doing a colony management sim in my head, and they managed to implement all sorts of impressive routines. Rapid temperature fluctuations without lag, top-notch eyelid closure mechanics, something reddish and growing… it will be fine. It will all be fine.
Next up, we’re going to do more with restricting orders from certain workshops and other such limits, some conditional work order stuff, and the job detail changes for them.
And here is the month’s Bay 12 Report.
Here is a Future of the Fortress reply. I was also interviewed by Wes Fenlon from PC Gamer while I was down in San Francisco, and the interview is now online.
Let’s see… wrapped up adventurer site creation. They are claimable by player entities and retire-in-able, so it all seems to be working, but I’m sure it’ll be an entertainly bumpy ride on this first release. The XML dump provides exact site rectangles now. Next up, I want to bring manager work orders into line with the last release’s job detail settings, and a few other quality of life issues (removing the 30 limit, etc).
I’m back from GDC (thanks to my co-speaker Tanya Short of Kitfox Games and their recently released game Moon Hunters for making it possible). The creation myth generator was very well-received, and I look forward to getting it into the game as soon as I can so you can all create worlds with this new foundation. First we need to get this release done! I’m continuing with the last steps of adventure site creation now.
Here’s a Red Pages Podcast episode where a Tarn occurs. The airport and a windstorm forecast up next!
Yeah, this month’ll be a little odd. I added zones to adventurer sites, so you can assign companions homes and so forth, but I’ve also been working on cleaning up the creation myth/magic system generator a bit in time for the little GDC talk. That’s coming up on the 14th, so it won’t continue to be a disruption for much longer, and all the work will make it into DF anyway, so it’s all good. More primordial beast viscera washing ashore than I expected, but that’s okay.
In any case, the zones are almost done — I just need to allow you to declare actual locations like the halls in human villages so you can claim your own site with a named group. Then a few more site tweaks, work order changes, bugs and done.
And here is a Bay 12 Report.
Here is a Future of the Fortress reply.
I’ve cleaned up various issues that arose with adventurer-made sites. The main problem was that since the sites are larger than 1×1 at the dwarf embark map scale (they are up to 3×3 right now), they could cross world map tile edge boundaries, and that opened up various issues. Having fixed what came up, we are much closer to allowing dwarf embarks to cross world map tile boundaries as well, though there is still a bit to do there.
I still have a few more adv site features to add for this time. I’ll be doing the declaration of zones (so you can define your own room boundaries and entity-claim locations) and some material/worker assignment stuff. It’s pretty close to where I need it to be. Then we’ll move on to upgrades to dwarf mode work orders, which’ll be the last major addition for this release.
Here’s a house. You can see the upper floor in the z-window on the right. The carpenter’s workshop is outside, where I made a couple of doors, a table, a chest, a cabinet, a chair and a bed. You can now place items in unheld container buildings/items, and you can also put them on tables (where they become displayed as in dwarf mode, like my copper dagger in the image).
Here’s an image of what we’ve got so far for an adventurer’s camp. The little bridge on the left is mine as well. The discerning viewer will notice through the z-window that I didn’t give tops to the houses, but that can be done. Every tile takes a log as in fort mode, and the current rate is one tile per hour of work. Fortunately, you don’t need to haul everything manually — you can lay it all out on a blueprint screen and then set yourself and your companions to work (this one only took a few minutes and three in-game days to finish with my five buddies). When the work period is finished, it makes some of the constructions you’ve planned, in whatever order you set, watching out for collapses, according to the amount of workers and hours. We’re going to do a little more with it before moving on, perhaps zoning and some furniture.
We went ahead with chopping down trees in adventure mode with some important restrictions. It doesn’t currently work on many sites from world generation — the main issue is how it abstracts buildings and populations and so forth, which would be disrupted if there’s a player-altered section of data in the middle of town. We’ll figure it out eventually, but not this time. So you can’t run around chopping down elf trees. Felling a tree also takes an in-game hour (kind of like the composition action, but a bit faster), so it’s real work and you don’t just make the forest go away instantly.
Of course, chopping down trees isn’t very interesting by itself. The reason we went forward with it now is that next we’ll be using the logs for some construction options and finally adventurer-driven site creation to cap adventure mode features for this release. More on that as it is implemented!
We’re going to continue our smaller releases before we move on. What’s up for next time is still under consideration — while that resolves, I’ve fixed a few minor bugs and added a few more adv crafty bits to add on to the bone crafts (like helves and sharp rocks for stone axes). For dwarf mode, we’re leaning toward finishing the work order stuff we mentioned last time. For adventurers, perhaps the new stone axe will chop down a tree and open up some more jobs that way, but map changes have always been trickier there, since the location isn’t tied down like it is in dwarf mode.
Here’s the material and image specification release, along with several important bug fixes. There’s more to be done with job settings — we need to improve work orders and allow the decoration of specific objects, to name a few, but this should be a good start.
- Can set specific job material in job details
- Added jobs to construct the various specific crafts
- Can specify images in statue, figurine, engraving, decorate jobs to varying degrees
- Can specify group’s symbol at embark
- Can specify type of decoration
- Added adv mode bone craft carving with image specification
Major bug fixes
- Counted exported wealth properly again (old saves will start counting w/ next caravan that leaves)
- Flour, dye, seeds etc. not dumped out of bags into barrels
- Allowed captured intelligent non-residents to be chained/caged/pitted again
- Various useful objects like minecarts and goblets no longer ownable as personal possessions
- Made ownable objects that aren’t worn storeable again
- Fixed problem causing some surface-underground sites to become disconnected
Other bug fixes/tweaks
- Allowed travel map to be shown even when you can’t travel
- “Really attack?” gives more information
- Show adv companions by first name in announcements etc.
- Used adjectives from physical descriptions for use in adv mode creature designations
- Stopped premature elevation of wagons to historical status
- Fixed missing space when reporting success on beast mission
Released Dwarf Fortress 0.42.06
Since we have an image-specifying interface now, I went ahead and let you set your official group symbol now when you embark. You can let the computer continue doing it if you want (and you’ll continue getting “a shirt” and so forth). The new specifications for individual jobs and engravings are more or less ready now (a few loose ends left). The next major step along that branch of development is going to be allowing you to set details in the manager and otherwise improving the manager/workshop profiles, though I think in the interest of getting the finished bug fixes out we’ll squeeze in a release before we start in on that, since there are possible time sinks lurking there.
Here’s a video of Armok Invaders in DF courtesy of BaronWable. It’s always fun to see the DF computer projects.
Here is a Bay 12 Report, and here is a Future of the Fortress reply. I’ve handled specification of wall/floor engraving images and decoration type/images now.
I’ve got a fort that has an export industry centered entirely around little commemorative dacite figurines of the starting seven dwarves in different poses. Eventually we’ll have to make the merchants more discerning, but we’ll worry about that later. You can specify each of the image elements and all of their relationships/actions, or you can select a historical figure, site, civilization, etc. and leave the worker to decide on the final image. If you specify an exact image, it is saved so it can be used later (along with your site/civ symbols, which you can also use). There are lots of loose ends to handle on this, but it’s working well so far.
What’s been happening… I made the “really attack?” button explain more about the circumstances. Then I added adjectives in the announcement names of people when you don’t know their names, so the combat logs etc. aren’t so ambiguous. It uses their most prominent feature (either the body shape or a specific part)… except for long hair, since I haven’t made most people cut their hair yet. After that, it was time for something dwarfy. So I started on the ability to specify materials for tasks. This’ll possibly include further specifications for details like the shape of statues and wall engravings, depending on how all the complications work out. There are lots of complications, but I’m going to push at it for a bit longer and report back.
So far for the next release: I fixed the exported wealth count, made dwarves stop dumping dye/flour/seed/etc. bags out into barrels improperly, allowed intelligent captives to be moved around to other cages etc. again, and stopped dwarves from claiming objects like goblets and minecarts that you need to use around the fort. They should also store owned objects a little better. You can view the travel map in adventure mode even when you can’t travel. I fixed a problem causing certain sites with underground layers to be disconnected from the surface.
Here’s another one! We’re still going to be working through adventure reputation/quest/etc. improvements, so consider this a first stage. Other highlights are the fortress mode sparring and mug-carrying fixes. Enjoy your zombies.
- New hearth orders for killing beasts and fighting outlaws
- Added a hunter reputation and cleaned up reputation system around beast-slaying
- Made citizens understand their relationship to bandits and added reputation for protecting people from them
- A few lizards
Major bug fixes
- Made drunken dwarves spar properly again
- Stopped dwarves from carrying mugs forever
- Stopped adv goblin performance troupes from attacking strangers while traveling
- Stopped reanimated corpses from being stuck on wrong side of conflicts
- Gave underground populations zone assignments to stop them from erupting outward
- Fixed inconsistent underground vegetation generation (which caused underground site maps to generate inconsistently)
- Fixed various city vegetation clearing routines which were causing holes in the ground above sewers and catacombs
Other bug fixes/tweaks
- Zombies no longer dodge, parry, block, wrestle or run, and they do charging attacks whenever possible
- Zombies don’t get defense adjustments for body part type and they don’t find or stop combat opportunities
- Reduced zombie strength bonus (old saves will still be strong)
- Made severing all non-smashed heads put down a zombie (can be reanimated if has working grasp, smashing heads already worked)
- Made severing/smashing any working grasp put down a headless zombie (can be reanimated if has another working grasp)
- Neck gets same combat chance adjustment as head
- Made bandits that run off cancel town harassment goals
- Bandits camps don’t immediately send new armies to re-harass towns
- Stopped camp bandits from being placed in trees so often
- Allowed save/load in arena
- Made creature object load bar page properly
- Labeled xml encoding as cp437 instead of utf-8
Released Dwarf Fortress 0.42.05
A few more things happened… the dwarves shouldn’t carry their mugs around forever. Bandits in camps shouldn’t be placed all over the trees. I spent a long time hunting an inconsistent map problem — the dwarf fortress site maps were being generated differently depending on the direction you approached from. Generally, when that sort of thing happens, it means that some piece of temporary mid-level world information is being used inappropriately in the local map generation process. In this case, the large underground mushrooms were being drawn from too broad a population pool that depended on which sections of map were loaded, and how the caps grew out influenced the map generation algorithms for the forts, sending it down different tracks. So that should be fixed now.
It’s going okay so far. There’s a more specific reputation for defending settlements from outlaws, and new hearth orders for fighting off outlaws, clearing out bandit camps and fighting nearby beasts. Nothing interesting or dynamic or gray there, but at least you can be credited now for things we already had. Bandits behave a bit more sensibly when you fight them off — they won’t perpetually go back to the town over and over, either as a single army or as new groups from the camp. I’m going to do a bit more with this, and then I’ll fix some more bugs before the next release.
Getting back to bugsy stuff after the New Year. What have we got… some of the fighting in towns was caused by goblin performance troupes attacking people they didn’t recognize. So that’s stopped. I made underground criminal populations understand where they live a little better so they wouldn’t crawl up and cause fights aboveground. I fixed holes in the ground caused by former trees in the town. And I started the reputation update with an easier case, hunting beasts. People recognize your accomplishments much better than before. Next up, the more difficult case of bandits.
Here’s report to start the year, complete with a few more numbers. Here is a Future of the Fortress reply. The server migration is nearly complete.
There’s going to be a server migration soon — though I’m not sure if it’s strictly necessary, I’ve turned the bug tracker off until the move is complete. Hopefully there won’t be any problems!
As I was trying to recreate various problems with the undead, I ended up adding save/load to the arena. I also fixed a bug that was causing reanimated undead to end up on two sides of conflicts (which caused further issues).
A zombie nerf has arrived. The animated critters no longer block, dodge, parry, wrestle or sprint, and they do charging attacks whenever possible. Zombies no longer receive positive defense adjustments for body part types, and they don’t seek or prevent combat opportunities. Their strength bonus has been reduced. Severing all non-smashed heads on a zombie kills it (smashing already worked), and severing or smashing any working grasp on a headless zombie kills it. Zombies can still be reanimated if they have a working grasp. So it’s a bit confusing there with the overall grasp situation on headless zombies (it’s better to target their arms than their bodies if you can’t smash them entirely), and they still have some undue benefits they share with wild animals (you should be able to strike or stop many unarmed attacks with weapons), but it is much better than it was. I still sometimes get those invincible unsmashable zombie heads. I’ll try to figure that out.
In an arena test, my competent sword+shield human was able to defeat ten zombies at once, receiving only minor injuries. It took some judicious selections, and some dodging to other squares, but it isn’t hard if you stay away from multiple opponents. I also set six sword humans against twenty zombies, and they won without any losing anybody. On the other hand, I set ten unarmed unskilled humans against ten zombies, and the zombies won without losses. That sounds about right to me — the zombies have many advantages in unarmed combat. So you’ll have to keep your squishy civilians safe. Incidentally, one unarmed unskilled elephant person was able to kill ten human zombies without any trouble, since they have smashing power. Then an elephant person zombie was able to kill the elephant person…
I fixed sparring as well. The cautiousness personality check got flipped around with the new facets, which wouldn’t normally be a problem (just a strike frequency shift), but the new drunken dwarves were 100 percent not-cautious (which made them all 100 percent cautious in the flipped check). The roll failed every time for them, so drunken sparring partners just sat there without throwing shots. That’s normally reserved for super rare pathologically deliberate dwarves absolutely on one end of the curve, and that’s not even much of an issue if their partner isn’t the same way.
Various fixes and various giant and peopled animals. I held off on common domestic animal people for now, but there are plenty of canine and feline critters that got the treatment.
- Giant and person versions of many of the older creatures, including the elephant
- Vampire purges in world generation to control their overfeeding which was stopping cities from growing
Major bug fixes
- Allowed dwarves praying at temple dedicated to no particular god to choose prayer target according to need
- Stopped adv mode goblin animals from fighting gobs and each other
- Fixed error causing underground sewer dwellers to copy town stockpile, lag-killing certain towns
- Stopped crash with goblet trading
- Made retire store away merchants and diplomats and not mark visitors and residents as hostile
- Made non-military visitors do citizenship petitions properly
- Fixed broken merchant-elevated-to-liaison that sits at trade depot for entire life
Other bug fixes/tweaks
- Fixed error with building profiles causing underground bandit leaders to roam streets
- Vampire guests of various kinds give themselves cover identities (those on-site will still be revealed in old saves)
- Stopped some position elevation announcements from giving away vampires
- Removed trade goods from retired sites if living merchant is still present
- Made animals less afraid of casual relationships
- Various animal tweaks that came up during the peopling (see file changes.txt)
- Marked visitors correctly in site text export
- Fixed a cause of string entry key conflicts
- Made it list proper subregion when talking about certain adventurer rumor sites instead of subregion where speaker is standing
Released Dwarf Fortress 0.42.04
Lutefisk was consumed waaaaay back on the 20th. I have only now regained the ability to speak. It was more like fish cartilage than fish jello this time. We all survived. As part of the holiday maelstrom, I found myself working on something I could do in fits and starts, rather than any concentrated period of time, so now we’ve got giant and person versions for most of the original animals. The newer animals from the sponsorship drive came with those forms, but we never did have giant elephants and various large bears and all the great cat people and so forth.
I also fixed some of the problems with visitors vs. retired sites, and various minor typos and issues.
I fixed citizenship petitions (the non-soldier long-term residents weren’t doing them properly — mercenaries and monster slayers remain too absorbed in work to care). There was a problem with merchants that come back later elevated as fortress liaisons hanging out at the trade depot forever and ever, and that’s fixed. A few more give-aways for vampires have been fixed, along with a string entry problem.
Let’s see… I cleaned up some long-standing problems with cities. In world generation, vampires would prey on cities and eventually stop them from getting beyond the smallest size. So we’ve got some cheery vampire purges now. I fixed some problems with sewer bandits causing them to have way too many stolen items or to be placed aboveground.
New bug-wise, I stopped the animal fights slowing down goblin towers and fixed a crash from trading goblets in saves loaded into 0.42.03 from older versions. And some other minor stuff.
Here’s another release which cleans up various outstanding issues.
Major bug fixes
- Fixed world generation crash from wandering artist writing a book
- Fixed crash from retiring locations in certain circumstances
- Fixed crash associated to adventurer sleeping in inn rooms
- Fixed issue with militia not picking up armor
- Fixed error causing some instruments in chests to not be played
- Fixed error causing instruments and drink service to fail in dining rooms
- Fixed error causing scribes not to use some blank writing materials
- Fixed error causing overall scribe operation to be stalled by a bad target codex
- Made training marksdwarves want both combat and training ammunition and fetch stacks appropriately (thanks to ag for analyzing this one)
- Fixed issue with starting instrument causing it to duplicate
- Fixed one way for horses to become playable (not sure about dogs/donkeys)
- Stopped dead/caged commanders from stopping invaders from moving (thanks to vjek for preparing a very useful and funny save)
- Stopped cats from dying of alcohol poisoning after walking over damp tavern floors and cleaning themselves (reduced effect)
- Put new caps in place on animals in towns during world generation
- Stopped bookbinders and string makers from trying to use loose spider webs (thanks to Knight Otu for reminded me about raw tag)
Other bug fixes/tweaks
- Made the add new task list remember where it was again
- Tweaked how distance is calculated for certain jobs
- Stopped certain ramp/channel digging jobs from temporarily disturbing pathing and distance calculations (thanks to Loci for reproducible procedure)
- Made edible seed-type growths gatherable
- Stopped wander history spam for adventurer
- Stopped nobles from other civilizations from making mandates and demands
- Stopped weapon slayer list from giving away fort vampires
- Handled some basic shaped conflicts with clothing vs. armor
- Changed how owned objects are managed with clothing — might be some trinket drops in old saves
- Allowed goblets on embark
- Made modded wood furnace reactions list properly
- Fixed typo with untitled written content
- Fixed typo in haunting conversation
- Fixed several typos in personality/value strings
- Fixed instrument values in old saves
Released Dwarf Fortress 0.42.03
We went back to fix a few older bugs — the death/caging of invasion commanders no longer stalls their squads, one of the main causes of negative distances for building materials is fixed, training markdwarves should grab ammunition properly even if they already have combat ammunition, and seed/nut-type growths are pickable. The “add new task” button remembers menu position like it did before. There’ll probably be a release tomorrow.
For next time, people should use the instruments in taverns properly — there were problems with zones and dining rooms, but the dining rooms had it worse. Hopefully that’ll fix the broken scribes too, but I’m not 100% sure on that yet. I fixed up the horse etc. population caps, and one variation of playable horses, though since there are still playable donkeys and dogs, I haven’t found all of the variations yet. I reduced the severity of syndromes from ingested spatter (which should stop self-cleaning cats spattered with alcohol from getting sick all the time). I stopped outside nobles from making mandates and demands and allowed goblets on embark. I also stopped the weapon slayer list from giving away fort vampires.
Over the last few days, I fixed another world gen crash, the crash from retiring certain locations and the crash from sleeping in inns. I’ve cleaned up the issue with the dwarf militia not using armor correctly, and a weird instrument duplication error in adventure mode. I also stopped bookbinders from trying to use webs (thank Knight Otu for that one — you can add NOT_WEB below the thread reagent in your saves now if you want). Modded wood furnace reactions are listed properly now.
Here’s a quick follow-up for some of the worst bugs. There are still some strange things going on (horses all over, duplicate companions, etc.), but hopefully this version will work much better than the last one.
Major bug fixes
- Fixed world generation freeze caused by error in poetry refrains
- Fixed crash from building constructions on tree leaves etc.
- Fixed calendar crash from bandit bar hoppers
- Fixed crash with children joining socialize activities (most common with migrant waves)
- Made worship activity branch properly (so prayer needs can be satisfied)
- Fixed world gen seed not repeating after abort
Other bug fixes/tweaks
- Can see deity for temple in location screen
- Cannot spot vampires from occupation list anymore
- Fixed a few typos
Released Dwarf Fortress 0.42.02
I fixed a calendar crash, and a crash with children socializing that typically happened when children arrived with immigrant waves. I patched out an adventure corruption crash, but I haven’t gotten to the heart of it yet. I’ve fixed the problem with the “Worship!” activity not branching into specific activities that satisfy needs (so people will actually use your temples properly now). Temples in the location list show their deity now. Vampires are not outed on the occupation list.
With the release come the bugs, and with the bugs come the fixes! I’ve corrected what is hopefully the cause of all the world generation freezes (an uninitialized poetry refrain index…), and I fixed a problem causing worlds not to reproduce correctly with the same seed. I also fixed the older bug causing constructions to crash when placed over tree tiles. There are still more crashes to check, so I’m going to continue to work on 42.02 for a few more days, and then I’ll put it up. Then I’ll continue on with bug fixes.
Here is the new version we’ve been working on all year! The flow of fortress life is quite a bit different now — specific breaks and parties have been replaced by taverns and performances and needs and inebriation. You can designate a tavern, temple or library from a meeting area zone, bedroom or dining room using the new Assign Location option. The location list (‘l’) will let you know what sort of furniture and items you need, and you can set tavern keepers, scribes and other occupations there as well. You’ll need to set up a drink stockpile and a chest for goblets in taverns for drink service to work properly, but dwarves can still drink without a tavern as before. You can assign multiple rooms/zones to a single location. There’s a lot more — see the feature list below.
The bug fix list below is partial. Large chunks of the game were changed, which has a way of making old bugs go away while bringing in new ones to take their place. We’ll be focusing on bugs old and new in subsequent releases, starting with crashing saves and moving down the list. The next set of bug-fix releases will be measured on a scale of days and weeks rather than months, as usual.
- Ability to designate taverns, temples and libraries in the fortress
- Taverns and libraries also exist in adventure mode and world generation
- Tavern keepers can serve drinks in both modes, goblets can be used by dwarves to drink (in taverns or otherwise)
- Performances include stories, poetry, music and dance (you can view activity descriptions from the unit/job list)
- Art forms are randomly generated for each civilization
- Instruments are now all generated, instruments can be used in both modes
- Most instruments are constructed from multiple pieces using different materials
- Personalities and values lead to needs which can be met by various actions in both modes
- The fort has visitors, residency petitions and eventual citizenship, including non-dwarves
- Tavern visitors include mercenaries, monster slayers, bandits, diplomats and performers
- Can set details for clothing/armor jobs to make them for other races that can equip items
- Monster slayers can petition your fortress to go down and fight monsters once you discover the underground
- Performance troupes are active in world generation and into play, visiting the fort, can be formed in adventure mode
- New knowledge system divided into nine branches (though it has very few practical effects so far)
- Fortress scholars can advance knowledge, form master-apprentice relationships and write down their findings
- Fortress scribes can copy works in your library
- Scholars can visit your fortress libraries, bringing knowledge from around the world
- Devoted historical figures can visit your fortress temples
- Three forms of writing material: papyrus sheets, paper sheets and parchment sheets
- Papyrus sheets are made directly from the plant at the farmer’s workshop
- Paper is made from pressed slurries (start at the quern/mill, then go to a screw press)
- Parchment is made from hide and milk of lime at the tanner’s (bake quicklime at a kiln, then make milk of lime at an ashery)
- Sheets are used to make quires or with rollers to make scrolls — these are then used for writing
- Quires can be bound into codices with bindings after they contain writing
- Dwarves read books in the library (they don’t need to be scholars)
- Values can be passed in writing (both modes) and through adventure mode arguments (uses some conversation skills)
- Animal people are playable as adventurers, arrive as fort visitors and sometimes live in towns in (playable) populations
- Children play with toys now, and they can also play make believe, in both modes
- Personality can be customized/randomized in adventure mode, appearance can be randomized as well
- Temples can be defiled in both modes, dwarf temples can be assigned to particular gods
- Adventurer can rent rooms in inns
- Adventurers can compose new poems, music and dances
- Adventurers can write material down on empty quires or scrolls
- Alcohol causes inebriation, erratic behavior, unconsciousness, death
- Festivals occur in world generation, though we haven’t gotten them out of there yet
- Dwarves will wear trinkets again
Major bug fixes
- Fixed some army pathing issues
- Goblins have mounts again
- Fixed long-standing flow bug with unit occupancy
- Stopped some issues with brawls escalating to non-lethal
Other bug fixes/tweaks
- Looking at reaction screen for redded-out reactions in workshop will indicate missing reagents now
- Fixed inversion problem with half of the child/parent conversation thoughts
- Lots of historical figures that weren’t around from the beginning didn’t have deities when they were supposed to
- Allowed site finder to look for 1×1 sites
- Human civilizations now have randomized values
- Added ability to set invasion wave cap size
Released Dwarf Fortress 0.42.01
There’s always more to do, but we’re pretty much done with what we’ve found we need to do before the first release, so we’ll go ahead with that release in a few days! Then we’ll continue to work on bugs new and old for some time, as usual, peppered with work on smaller suggestions and other life improvements.
We’re done with the list — I’m going to have to push off rumor display changes for a bit, since I spent the day I set aside for that chasing crash bugs instead. The crash bugs were squished though, so I’m happy enough with the outcome. We’re doing release mode tests now and going through the churn of tweaks that happens before it’s ready enough to go. There will still be plenty of issues left for you to enjoy, along with all the new stuff. Fix fix fix, fix fix fix.
Various tweaks with grumpy ignored residents, music descriptions vs. harmony, spectator text, and written content. With an impressive enough performance/reputation, your adventurer can petition to be an official performer for a town (the same as the dwarf mode occupation), which doesn’t mean much but gives you permission to sleep in villages and a merchant discount in market locations (also extended to hearthpeople). Along with the tavern discounts for various reputations, it’ll have to do for now in the absence of a meaningful economy. Four more things to go.
I finished up the various non-dwarf item code. The “foreign” weapon stockpiles are a bit odd now (shrinking as you add resident races), and mercenaries will mostly ignore you if you try to fiddle with their equipment in ways that would make them drop their owned equipment, but hopefully it works well enough for a first release pass. Diplomats will hang out in taverns for a bit after their official duties, and bandits will also occasionally arrive to relax as well.
I finished up the adventure mode side of personality needs — partially by adding an avenue for the “argue”/”cause trouble” need. You can argue over differing values (or if you want, put forth an argument you don’t agree with just to start trouble), and there are a few options, including ones that can make people angry. You can change people’s values (or change your own if you choose to acquiesce yourself), and it uses some of the conversation skills. I fixed an old issue where brawls would automatically elevate to “non-lethal” status. I also cleaned up some of the performance text.
Here’s the report to start the month. Here is a Future of the Fortress reply. And here’s a list of remaining items if you missed it. Now we just need to settle in and get some final work done.
I finished handling the last personality needs in dwarf mode — dwarves can swipe and own and wear trinkets again somewhat like they did before, for instance, with the avaricious and extravagant dwarves doing it more than others. The quarrelsome ones can argue during chats, which’ll satisfy both parties need to argue if they have it, or make them a little grumpy if they don’t, though it’s infrequent enough that it shouldn’t be a new cause of fort collapse. Various other needs (seeing animals, learning, practicing martial arts, etc.).
I also made dwarves somewhat more resistant to the effects of alcohol — creature castes can now be given an extra dilution factor vs. syndromes with a given identifier.
Here’s an interview with Software Engineering Daily.
Bookcases, handling some issues with long-term residents staying in your inn’s rooms properly, more location interface stuff… it’s a process. I managed to get a skeletal 64 bit DF program running, finally, and I’ll continue to work out problems with that once this release is out (this release will still be 32).
Additional work was completed — cleaned up some problems with partner dance display, got the mercenary and monster hunting resident occupations working a bit better, handled petitions that are ignored, did a bit with phrase length and registers in musical form descriptions, a little more child decision-making… I also added a numbered tag to reactions so that they won’t use up entire bone stacks making multiple products if you don’t want them to (the dwarves were making giant piles of bone plectrums out of a single yak skeleton all at once). I don’t remember if this was already possible in some way, but there’s a new tag anyway.
Let’s see… you can write prose as an adventurer now. I grabbed a blank scroll from the library with my first test character and ended up writing a (bad) essay about the historical event of me leaving my home town on an adventure… I guess that’s something. I left it in the library for posterity. You can copy down any poems, music or choreography you know. I also added support for more of the new needs in more circumstances — there are still a few that don’t have enough situations, especially in adventure mode. We might just leave a few of those as positive-effect-only needs if we can’t get enough satisfaction for them for this time. Various other tweaks.
More stuffs done. Tested out a dwarf reading a necromancer’s book in a fort mode library. Fun was had. Some more prompts for adv mode dancers. Allowed invading soldier/monster caps to be set in the init. Old bug fixed with occupancy for units pushed by flows. Etc. Should clarify that we haven’t done animal barding-type armor yet — just the clothing and armor for non-dwarves that can potentially join the fort or be traded with.
I’m going on down the list. You can make clothing and armor for non-dwarfy critters now. A few promises managed: I’ve got goblins back on beak dogs (there were multiple problems there — one was that they were very rare, and one was that the goblins kept butchering them), and people that aren’t actively spectating (including invaders/ambushers) can still experience music around them. Cleaned up dancing patterns — cats and other critters were already getting in the way, and then I made the patterns a little more dynamic, so the interruptions became worse. Now animals get pushed aside, which is pretty amusing when kitty cats keep reintroducing themselves into the dance. And so on.
October’s report is up. Toys have joined instruments and goblets with items that can be used by dwarves in the game for the next release. Children can also play make believe and do little performances anywhere, no building required.
Here is a Future of the Fortress reply. The work goes on, mostly cleaning up taverns, visitors and the new occupations.
We’ve just been continuing along, getting the game fit for wider testing by all of you. I’ve been working a lot with art form selection and construction to give the different sorts of places, civilizations and performances a bit more character, and I stress-tested the tavern keeper. It was messy, but the drinks got delivered. I also added more ways for a single composition to become well-known in a civilization, and various other little tweaks.
Tanya X. Short of Kitfox Games had the foresight to get somebody to film the procedural generation panel we were on at PAX (normally they don’t film them), and it is now up on YouTube. Thanks also to Kepa Auwae from Rocketcat Games, Ryan Clark from Brace Yourself Games, and Tyler Sigman from Red Hook Games for the entertaining event!
We’ve been continuing to work on bugs and tweaking everything… the overall list has been halved so far this month, which is a nice feeling.
Still working through performance stuff, mostly, though I’ve been ranging all over the place. Better summaries in the menus, more opportunities for people standing around to jump into performances and pick up slack if there’s room for them and they are interested, fixed some broken milling code, fixed another world gen crash, and so on and so on. We had a dwarven dancer become so talented a century into one world gen that he invented his own complete dance form, and the bold inventor decided to pattern the motions of the dance on a troglodyte attack he suffered in his youth. This important knowledge was then passed down to several students and then out into the world via a performance troupe.
The latest project has been to improve performance feedback — where exactly you are in the composition/form, what other performers you walk in on mid-act are doing, mistakes made by performers, and some more information about dwarf mode performers so you have an idea of where they are in their activities. It’ll tell you more about what you’ve learned by observation. Before that I was messing around with non-player fortress tavern maps, as well as instrument timbre adjectives and their changes over registers.
Here is September’s report and a Future of the Fortress reply.
Just whittling away the list — fixed issues with full citizenship petitions and how the game tracks the state of visitors, fixed minor issues with occupation assignments in the new multi-zone locations, stopped a problem causing some scholars to not show up in city libraries, stopped the adventurer from starting with a stone-stringed instruments, fixed a long-standing world gen crash where I lucked out and got a repeatable seed… and so on! It feels like we’re entering a period of posts along these lines where there will sometimes be interesting logs like the last log, and often logs that are just lists of now-unbroken known features, he he he. The collection of problems is growing smaller, anyway!
I mentioned back in May that I’d probably get to master-apprentice relationships for fortress mode scholars. That’s been done now. During research discussions, if somebody is better at skills associated to the topic and has broader knowledge, the dwarves (or permanent residents) can decide to strike up an arrangement. This will allow scholars to teach their students directly, and they can teach all of their present apprentices at once to speed things up. We don’t have general teaching yet and we don’t have generalized apprenticeships, which’ll take more work at a later time. During my first test, a human doctor arrived at my library and I accepted her petition to study at the fort. After a discussion on bandages, three of my dwarves decided to sign up and were soon learning all about pulmonary medicine from their new master.
I’ve been working on additional issues related to dwarf mode libraries. For instance, the written works of scholars are treated as sort of semi-artifacts, like named weapons, and this was leading to trouble when somebody would write on a quire and then a bookbinder went to make it into a codex. The ingredients would be gobbled up, and the resulting object wouldn’t be an artifact. So reactions now have the ability to transfer artifact status, and there’s a new historical event for artifact transformation. There was also the issue of getting scroll rollers on to scrolls that the traders bring — the game doesn’t really understand item components at all, so I just had to add default improvements in the tool raws that civs can tack on to their items.
The finalization has shifted from dwarf temples to dwarf libraries over the last few days. Watching and fiddling with a churn of scholars, scribes, scrolls, book bindings, quires, scroll rollers and sheets. You can watch them set out their writing materials on their little tables or sit in a chair to read. The current problem is to get scribes to make the right number of copies of each written text so they don’t use up all the paper, which gets a bit headache-ish to code when libraries are spread over several linked rooms and filled with different kinds of items which hold the same written content.
I filled my fortress’s temple with statues and tantruming dwarves to test out the desecration code. After fixing up a bug with tantrums that stopped them from toppling the statues, it worked out pretty much as hoped… one werepanda, one weretortoise, one wereskink, and two vampires. It wasn’t a full moon, so I had to wait to see the werebeasts, but the new vampires didn’t have secret identities, so they showed up immediately as red monsters. One of my miners killed one with a pick axe, though I’m not really sure if it was over the vampireness or not. There are obviously a lot of ways this could go, and right now the game is just using the unsubtle easy one. We’ll see if there’s some hiding of details in some cases, but we might not get to it for this time.
I also ensured that the player can be cursed in the default town temples as well as retired player temples.
Here’s the August 2015 report and a Future of the Fortress reply.
You can create your own performance troupes now and get people to travel around with you as entertainers. Potential troupe-mates need to be into the arts or partying, though the magnitudes of those interests don’t need to be as high if you have an artistic reputation (and you can get some of that reputation immediately by performing for them). You can kick people out of the band, of course — I suppose it might come up in practice if a member ends up being predisposed to bar fighting. I was able to collect some peasants from my first village as a demi-god poet by impressing people from house to house with my recitals. The RNG came up with “the Ace Bees” for my first troupe name (you can also pick it yourself), but it was a short and sad tale, unfortunately, since I had to kick everybody out of the troupe to test it.
The work on adventurer composition led into finalizing the new written content generally and making sure I had handled all of the promises I’d made to various people over the last few months. Philosophical study opens up different avenues of discussion that allow people to pass their values to both individual readers and to a lesser extent through the underlying civilization when there’s a library with a copy. This doesn’t impact specific ethics yet, so you won’t have to worry that an elf-written book will make all your dwarves start eating dead bodies, but such a thing is now threatened for a later date by these changes. Poetry written in certain poetic forms can currently spread values before philosophers come up with specific language that can be used in prose, though not all civilizations will have such traditions.
Generally, there’s more information in all of the written content now, and there are more sorts. For instance, after the difficult concept of an alternate history is tackled by historians, they can write books pivoting around the negation of particular events. Mostly it hasn’t been earth-shaking… dwarves wondering what life would be like if an antelope man hadn’t attacked their town or if a competition had turned out a different way. One historian wrote a book considering how things would have been if the author had remained an architect instead of becoming a historian a decade before. It would be possible to weight the event selected with an importance check, but there are complications as usual. There are also cultural histories, genealogies, atlases, chronicles, the various biographies I mentioned before, etc., which have their proper topics and sometimes some historical events selected, and they occasionally push a value agenda when the author and form is capable of it.
As promised, there’s now a very basic ability to compose poems, music and choreography. There isn’t a lot of user input, but you can pick the form and it’ll cook something up for you. Since this should take some time for the player to do, it goes into the sleep/wait view and has some hours pass before it shares what sort of monstrosity you’ve cooked up. Since everything is considered “written content” as with the necromancer (and newer) books, the titles are currently in that format. For my first attempt, I had a novice poet write in a short poetic form that could take any subject… much like the necromancers, he chose to write a poem about himself called the Birth of the Human. I went ahead and shared that with everybody in the import market. The dwarves appreciated the practice I put into it, and the humans didn’t mind passing the time, but the goblins were mean and wouldn’t shut up. Jerks.
Personal reputation as an artist (of the various kinds) is in now. Due to the way reputation has been handled, it’s currently based on live performance incident reports (making it based on what people have read will take more work). People can speak about performances they have seen (or taken part in or just heard about), and then offer their opinion according to the skill of the performers (if they saw it), their general beliefs about the arts, etc. You can also talk about your own performances if you want — I told the story of the founding of the city to one shopkeeper, and then went to the next shop and told that shopkeeper about how great my oration was, and she told me how much she appreciates eloquence. I’m sure it was a pleasure talking to me. In any case, we should get to a few practical artistic reputation effects before the release.
Adventurer performances are underway. Right now, the option is grouped with starting conversations, but instead of shouting or praying, you can begin a performance. Then you can choose between stories, poems, music and dancing. Your character begins knowing the basic art forms of their culture (more depending on skill selections as well), and they can also tell stories about any historical event that they know (there are groupings and filters to help a bit with the number of choices). You can be anywhere when you decide to begin a performance (it’ll warn you if there isn’t room to perform a dance). Once you start a performance, an activity is created which will allow other people to join in either as another performer (for certain dances and music) or a spectator. It’s subject to change based on how it feels, but right now, it breaks into your performance every 10 moves or so to give you a chance to do something. As we get more reactions and options, we’ll hopefully move to a stage where you just maintain control the whole time and do meaningful things as you perform. It’s an interesting problem but we won’t get to explore it much this time.
Here is the July 2015 report and here is a Future of the Fortress reply. Here’s to a cool July!
The last major thing I need to do in adventure mode is handle how the player interacts with all the art stuff. All of the adventure tavern-goers do fort-mode dancing and storytelling and music and so on, and we need a few indicators there so you know more about what’s going on. We need the adventurer to be able to do all of these things themselves, and if you start an activity, other people need to join in or otherwise appreciate what’s going on. We’re also going to do a little bit with composition, though as we’ve said before, we’re not doing much with it for this time. It would also be good for the sun to diminish and go into the west, for a few months at least… it’ll be slow-going while records continue being set.
I started the game as a hearthperson in a larger town so that there’d be a place to test out making orders at inns. In the keep where I began, there were a few dwarven soldiers… and a ‘K’! Killer beetle! No, wait, that’s Angband… the Lady ruling the town was a kangaroo woman, and she wanted me to beat some people up for her. You bet, just let me go to the tavern first. Right around the corner we had an establishment. It was called “The Cinnamon Fruit of Mouths” or something. Let’s see who thought that name up. Through the doors, we have the tables and barrels… and an ‘h’! Homunculus! Do I have sleep resistance? Oh, that’s Hack 1.0.3… then I was like, oh, a newer ‘h’, humanoid… no wait… So I looked at it. “Hare man tavern keeper.” Well, good, all the roguelike flashbacks made me thirsty. Barley beer in a mug! I just need to settle up, and I can’t do that until it is programmed.
I think the summer sun has made me lose sleep, but the light-blocking apparatus is back in place, so hopefully I’ll recover soon.
Say hello to the new laptop. The last one died of some hinge-related illness… I opened it and something caught, which peeled up the front face and made the power cord stop working. This one has sturdy-looking hinges.
The syndrome changes are mostly done. We had our first barfights and our first alcohol-related death (aside from whatever fiery shenanigans and so forth you all have been up to for years). There were a lot of things that needed to be altered or improved or fixed to get it to work. Effects are more smeared out and syndromes can be set to add concentration up to a maximum so that multiple drinks matter, for instance. Syndrome effects used to abruptly start and abruptly end (the peak was mostly meaningless), but now you can explicitly set abrupt starts and endings, or have the syndrome gradually grow to the peak and gradually fade. There were issues with impaired function being permanent and with the wound display that I’ve fixed. Syndromes can now be linked so that all of the alcohols go together (without this, you could drink one mug of each alcohol in the world without having serious trouble).
Adv-mode taverns are separated into four different areas in the game now, generally — a place to store drink barrels and goblets, a place with tables and chairs, an empty activity area, and a floor/hallway with rentable rooms. If a large stationary instrument is available, one can be installed at the border of the activity area (the first two places I visited had a metal frame with four hanging wooden triangles and a clay-and-leather drum on a stone stand, respectively).
I’m currently working on the new syndrome effects for inebriation — hopefully I can do the entire process justice, from euphoria to altered personality traits (both lowered social inhibitions through the shamelessness trait, as well as a general erratic behavior alteration) to ataxia (might just use dizziness) and nausea and unconsciousness and death. The new emotion/personality effects should be usable for a wide variety of stuff for the future and mods, like terror/rage enchantments and so on. I’m also going to need to add some more control to how syndrome severity levels work (right now the unconsciousness effect hits any of your dwarves that dares to use the drink stockpile, and all of that clearly needs to be ironed out before release).
I finished a simple library map maker, so we can move on from that. Managed to find both the original books and copies made during world gen. It’s interesting to see how different some of the scholar setups can be — the second library I visited had nothing but human and elf naturalists writing about migration patterns and animal reproduction. Next up, hard drinking in adv mode taverns.
Here is the June 2015 report and also a Future of the Fortress reply to start out the month.
I decided it was time to shift gears to adventure mode so that the last remaining dwarfy bits can grow up with the adventure bits that need to be finished, and so adventure mode doesn’t creep up badly on us as we try to get this release completed. The main push in adventure mode is going to be toward making taverns and inns lively, though I’m starting with some work on character generation to accommodate artistic knowledge and the new needs system. This involves allowing you to select your personality, with the resulting needs being clearly shown — there aren’t that many yet, especially as it applies to adventure mode, but it’ll continue to become more interesting. You’ll also be able to see and reroll your physical appearance before you start playing. As in dwarf mode, keeping your needs satisfied gives you modest overall benefits, and it takes them a while to drain, so it’s fun for roleplaying without being too onerous a burden.
I’ve been doing the particulars of the scholar occupation in the fort over the last few days, mostly making sure it plays nice with world generation and that everything advances at roughly the same rate. This means that having one random dwarf assigned to the library with no skills might not advance the state of the world’s knowledge even after years of confused research (as I did with my miner, who immediately started pondering whether probing would make a good surgical technique). You can make quite a bit of progress if you attract some dedicated scholars and support them with your own scholars and scribes, probably more than any world generation site over the same number of years since you can expend all your effort toward the work, but it still takes time. Depending on how gregarious they are, scholars will tend toward discussing their topic with other researchers or working by themselves. Scholars will read books that you have on hand to avoid duplicating results, though I haven’t yet duplicated the master-apprentice model from world gen (I’ll probably have time to do something simple there), and they can commit their results to writing (which the scribes will then copy).
After these many years, the mugs and goblets created by the dwarves are now used for their proper dwarfy purpose — containing alcohol just before its journey to the dwarven stomach. I’m setting up the occupation assignment for the new taverns, temples and libraries. They work kind of like position appointments. This time I think we’re going with tavern keepers, performers, scribes and scholars. Priests are off the table for this release since they are currently handled by a separate entity and we’ll have to tackle that later, but temple performers should still be able to do sacred dances and so forth. Tavern performers are special artists like those from the traveling troupes — dwarves will still sing, dance and tell stories without needing to be given an occupation. Scribes will focus on copying existing codices and scrolls while scholars will mostly just think and talk to each other. There’ll need to be some controls for that, since you don’t want scribes to waste materials on extra copies while scholars need them to write down new results, but different forts will have differing priorities.
I mentioned in some Future of the Fortress or other that ethics and values don’t instantly assimilate when you grant resident or citizen status to a visitor that petitions to stay at your fortress, and that we’d make sure to have some definite evidence of that fact. I started by diversifying the “work satisfaction” thought by feeding in the job type and filtering it through the individual. In particular, any elves that have the misfortune of signing up for dwarven life can now emotionally process the experiences of tree felling, butchery and animal caging. We trust you’ll respect this new situation in your labor settings.
Right now, the visitors fall into three groups, the artists, scholars and adventurers, and those can be further divided into those that are just dropping by and those that want a longer term place in the fortress. The current working idea is to have the long-term people petition the mayor or expedition leader for permission to stay and work in the fort, and you’ll be the one in control of who gets to stay (since the decision is an official act of the fortress and not the whim of the mayor). There’ll be a little petition notification that we can use for all sorts of decisions as we go.
If you have rooms in your inn, people you approve can stay there (there might be room in the inn for the short-term people, but that’s uncertain), otherwise they’ll stay in a fortress room. If things are working out and they want to stay, you can grant them full citizenship. That distinction doesn’t mean much now (it’ll acquire more meaning after our first pass on the embark scenarios), but it’ll affect which locations they can use (so you can have taverns, temples and libraries for locals, for example, if you want) and it’ll give them regular bedroom/property/pet claiming permissions.
Among the adventurers, as you might have seen from world generation, there are various roles — mercenaries will join your fortress military (for room and board at the current time, until the economy returns), where wandering monster hunters will simply be petitioning for permission to enter the caves to kill beasts, more likely.
If the sparrow man bard visiting the fortress wrote a ballad about his experiences, would he set a lighter mood and sing about how all of the guests took their clothes off and held them in bundles while the dwarven fish cleaner recounted the tale of how the first dwarven queen came to power? Or would he travel the darker road and sing about the human swordsman that attacked the goblin dancer outside the gates, cutting him down without regard for dwarven law?
I think the clothing bug is caused by equipment code. Once I plugged the visitors into the new activities, they thought they needed to have citizen clothing sets defined and found they did not, so they prepared all of their clothes for storage. The murder of the goblin dancer is more likely the sort of thing you should expect. Visitors to the fortress ask themselves if they would be welcome before they come, but they can’t account for other potential guests that might consider themselves at war or have a personal problem with them. It’s possible we’ll have some “neutral territory” behavior in place to curb the fighting if it is too common, but there’s also room for the sheriff for crimes that are committed. It’ll be lend a little spirit to the fortress, in any case.
Some time ago, I mentioned that as part of adding visitors to your fortress inn and tavern, we’d have more animal people running around. I put that in today — there are now reasonably rare instances of animal people leaving the wilderness and becoming involved with civilizations. Our first was a red panda man that became an herbalist in a human village for some years before taking up a wandering life as a musician. In adventure mode, you can now play as animal people if they are close to a civilization. You can also play an adventurer from any population that has established itself as a regular part of life in a civilized site where you can normally play, so you could play an elf or even a goblin if some already live in a human city, say, but you can’t currently select an amphibian person from the sewers. Next up we should have some dev log on fortress visitors!
Here is the May 2015 report. And here is a Future of the Fortress reply.
Admittedly we spent a bit of time today just kinda staring at the Patreon page and being impressed with all of you, but there was also time for work! And buckets… and buckets in barrels. I guess I broke lye storage sometime back when I messed with the container jobs, since they place the lye bucket in the barrel instead of just the lye. That’s fixed now. Tweaked paper slurries and paper pressing — I tried to set up the materials for that so it understands they are made out of the same fiber materials used for plant-based clothing, using paste and pressed states. That should make the process of turning damaged clothing into paper easier for a later release.
While my dwarves were creating a horse parchment scroll with finely crafted apricot wood rollers, I set up this Patreon page. Over the last months, some people have been asking for additional support options, and this is our first try at that! Just let us know if there are any issues.
Floated back to dwarven instruments for a bit, finishing up various bugs and text. Now that’s done. Today I got to work on some dwarfy library stuff — like heating limestone and related minerals in the kiln for the quicklime, and then making “milk of lime” with that, so that the animal hides can be soaked and turned into parchment. The extra steps are there because both sorts of lime can be used for many other purposes which we will get to in later releases. It’ll be nice to build up a list of terrifying chemicals that could be sitting on a dwarven lab shelf some day, especially since we’re now building up the chemistry knowledge branch to go with it, slowly.
In any case, once you have your parchment sheets (or papyrus strip sheets, or various paper sheets made from milled then pressed pulp), then you have a choice between making scroll rollers from some hard material and then making a scroll, or you can make the sheet into a quire. Scrolls and quires will be able to accept writing. As a final step with quires, a dwarf can make book bindings, then use the bindings, written-on quires and thread to make codices. There’s a new basic hard-coded “sheet” item, kind of like cloth, but everything else about the process is in the various raws, getting some use out of the new ability to place improvements on products (so the scroll rollers’ general properties can be maintained on the final scroll, for example).
Fortress visitors are coming up, so amid the pure dwarfy work, I thought I’d take a stab today at the looming problem of opening up the fortress to more permanent non-dwarf residents (to complement the ones you can already get, like the odd elf monarch and all that). There were some hundreds of code snippets that needed to be slogged through, but everything was pretty straightforward except for military equipment/clothing. So that’s looking good. We should have our first sense of how all that’s going to work pretty soon as we open up the inns! I’ll be back and forth between that and finishing dwarfy art stuff and libraries.
The dance activities will separate out dance areas, music areas and spectator areas now from the room of the tavern where they decide to hold the activity, and the people move off to their spots and dance/play/etc. For this sort of spontaneous tavern activity, the area divisions are made fresh every time, so you don’t need to designate anything. They’ll find the space if you leave an area without tables and chairs. If the tavern is crowded with furniture, people will still play music and tell stories and so on. The unit occupancy setup of one-dwarf-standing per tile has made moving multiple dancers along their patterns a trickier problem than it would be in a higher resolution setup, so I’m probably going to pass on some but not all of that.
I’ve been playing around with the dwarves and their taverns and am now digging into the proper activities vs. the art forms. Dwarves that go to a room in a tavern first group together in a general “socialize” activity (one for each occupied room). They then organize subactivities, much like the current military training. The poetry recitals and storytelling were pretty straightforward — I’m doing music now. Activities haven’t done much with items until now, so there’ll be a few headaches I suspect in getting the instruments to work while playing nice with the storage code and so on.
I also added some more information for the status of needs and in what way the relevant dwarf is being affected (either positively or negatively). Aside from the stress a needy dwarf can get from really being locked away and neglected, they also become distracted and less proficient at every task they perform when they have unmet needs. On the other side, a dwarf that has the balance of their needs satisfied will perform tasks more successfully (in addition to the positive emotions and stress reduction they get the moment a need is satisfied). Theoretically, the dwarf can go up to 150% and down as low as 50% in their effective skills, but in reality it’ll be a much smaller effect either way — it is difficult to fully satisfy every need at once (or impossible, if there are enough needs), and at the same time, needs don’t become unsatisfied quickly and some are easily met. Multiple needs can also be satisifed with a single action (like “keep myself occupied” and “do someting creative”).
I’d have hoped to finish up dwarfy prayer by now, but a few days ago I instead received an interesting cold that has settled in my chest for the time being. In any case, I was able to get back to meaningful work today and dwarves are praying to gods and meditating on fate and fortresses and so forth, satisfying their new spiritual needs (the intensities of spiritual needs are tied to the amount of devotion in the worship sentences you are already familiar with from their personality paragraphs). You can read about their topic of contemplation in their job entry as they go about their business in the temple.
Over the next few days I should finally be getting all of the new entertainment stuff working in fortress mode, including dancing and instrument-playing dwarves, instruments which have been waiting to be played for like… eight years or something.
Some humans organized a festival to celebrate the ascension of their new law-giver. After the poetry recital and the foot race, there was a throwing competition. Instead of spears or hammers or something, they decided to compete by throwing the strings of one of their musical instruments… so there are still a few things to iron out, but we’re almost done with this part.
We’re well into the world gen festivals. Their main purpose at this point is to provide something interesting and interconnecting for the new artists to do before we move on to dwarf mode. The festivals that rise to the level of importance required for legends mode tracking are established as part of a fair in large markets with multiple trade partners, for religious purposes in temple cities, or to commemorate specific events such as the slaying of a dragon. The game looks at the values and ethics of the civilization and the overall purpose of the occasion to come up with the schedule of events — performances, competitions (from art to various races to wrestling to etc. etc.), processions and ceremonies, with various little details. We’re still on track to finish this part in a day or two.
We’d also like to have smaller festivals in the smaller sites, but for space/speed purposes in world generation every village can’t have things like harvest festivals every year that rise to a tracked historical level. It’s possible to get the smaller places to have as-needed incidental historical festivals in world generation (respecting a regular schedule that carries into play) to provide context for invasions and monster attacks and so on, but we’ll tackle that later. It’s also possible to make the game understand what small-scale events should be going on in dwarf/adv-mode without difficulties, but we’re going to limit our work on dwarf/adv-mode festivals to get this release completed. There might be something outside of the legend descriptions, but don’t expect to see a great procession with elephants and criers and flowers and banners and candles and acrobats and so on… not yet, anyway.
And here is the April 2015 report.
Here is a somewhat lengthy Future of the Fortress reply: Part 1, Part 2.
I’m getting started on festivals now — world generation libraries are done, busy storing knowledge, hosting scholars and copying books. In the last world I checked, the Bastion of Reason and the Insightful House were sharing copies of books, classics like Injuries for Everyone, The Secret Of The Path Of The Moon, Do We Understand The Year?, Dissection: Before And After, Life With The Lever, Foraging Behavior For Students, In Pursuit Of The Negation (about proof by contradiction) and Unusual Adhesives.
I’ve entered the remaining knowledge outlines, and we’re sitting at just over 300 simple innovations that can be abstractly discovered. Many of them have requirements, and many don’t, so it’s kind of a tech forest/grassland rather than a tree. Notably missing are innovations related to practical labors in the game (though there are some appearances) — when the system is inevitably expanded and merged with the playing of the game, we’ll deal with that, at least to the extent we can dig up reliable information.
For fields like philosophy, I’ve tried not to make judgments about which ideas are “right” or anything like that, but rather which subjects can be thought about at all. The specific view that a philosopher takes on, say, the nature of beauty or methods of education will depend on their individual/cultural values, where they apply, and a philosopher that encounters a philosophy book on beauty can then provide their own take (having acquired the innovation). Similarly, innovations for historians are, in part, writing forms like biography, and then any historian that reads a biography can start writing them as well — the “tech tree” for that is stuff like comparative biographies describing multiple people, with a side tree about matters of sourcing, etc. And so on through the other seven branches — there are innovations in naturalist writings, for example, and then they can investigate specific critters with those in mind when they get down to work observing foraging behavior or performing dissections.
Several innovations require innovations from other branches, and since all knowledge is individually tracked, that implies some investigators will need to be at least well-read if not skilled in various topics (there aren’t currently joint research projects). There are some old and new mechanisms in place to ensure this happens.
So you knew you were getting libraries, right? I mean, there are all these books being carried around by traveling artists with no easy way to read them, and we can’t have that. Also, it was a little odd to imagine a library packed with art books and the occasional rambling necromantic tract — we’re in the process of solving that problem in the usual way: I just got through with engineering and chemistry, such as they are. The outlines are ready for mathematicians, philosophers, historians, geographers, doctors, naturalists, and astronomers. I’m using the same master-student framework for them as they work on research projects, and they’ll also consult existing books at their home libraries, of course — a good thing, since the early tests without books led to the expected and repeated tragic loss of knowledge and the constant rediscovery of previously known facts without much progress toward advanced techniques. It has been entertaining building up the different knowledge branches, interacting with our year 1400 cut-off, and no doubt screwing up various simple ideas and so forth.
As it stands, the state of your civilization’s collected knowledge does not impact what buildings, jobs, etc. you can use in your fort — that’s a tricky issue I don’t want to get sucked into at this point. Figuring that out for a later release is certainly on the table. It’s an interesting problem — smaller worlds with fewer scholars don’t advance as fast, and the future myth generation stuff will doubtless shake up the progression. We’re not worrying about any of that now! All we want are wholesome libraries.
Dwarves practice all forms of scholarship (while still preferring craftsdwarfship to books), elves do elfy stuff, and humans are variable (human values are randomized for each instance of civilization now, and there’s a raw tag that sets scholar types based on the particular civ’s values and jobs).
This shouldn’t be too lengthy a side-track, given that we aren’t tackling any of the difficult questions where game and knowledge intersect. Festivals soon! Then we can move to fortress mode. Though the focus with your dwarves this time is on taverns and leisure, there is a possibility of a fort library being a minor topic (as temples are currently).
While toying around with the art book code and poem/etc. composition, I thought I’d see what happens to an entire form created by an artist mid-world-generation when the only way the form can be passed around is between teachers, students and troupe members. Most of these non-civ forms tend to stay within a single troupe, but sometimes they break out. For instance, in a 200 year small world, we had a human from a hamlet named Usmen decide to run away from home and study goblin poetry. I guess he was troubled by their society, because it wasn’t too many years before he introduced a new form of poetry in the year 106: a poetic narrative intended to teach a moral lesson. He and his master Zom Frothhate joined up with a few more goblins and founded the Tan Flies, and Usmen taught the whole group the new poetic form. A hundred years later, forty years after Usmen died of old age, the eight current members of the Tan Flies are still teaching moral lessons to their goblin buddies.
They aren’t the only ones though — back in 113, not long after moral poetry was introduced, one of the founding Tan Flies named Stasost Tongsdemons left the group to go study elven poetry under Narena Packedman, a renowned poet who had over twenty-five students and several major works over a century of activity. After a brief apprenticeship, Stasost went on to have five students of her own before becoming a noble ruling over some goblin pits in 131. Two of these students, Aslot Hatedtangle and Stasost Profaneace, were taught the moral lesson poetic form around the year 120. Stasost Profaneace is still alive, now traveling with the venerable Blockaded Horns troupe (founded in 35), though she has not yet successfully passed on the moral lesson form (her only apprentice to date was murdered).
The other student of Tongsdemons, Aslot, was a one-armed murderous goblin farmer in the pits before becoming a poet at age one hundred eleven, studying under the future Lady for twelve years until she assumed rulership. Aslot was murdered in 162, but he had many students of his own and one of them, a human named Atek Housetactics was deemed worthy of the moral lesson form. Atek was born in 130, 24 years after the invention of moral lesson poetry, and learned the form in the year 150. After losing several apprentices to the perils of goblin living, Atek managed to keep the goblin Osta Wererock alive long enough to pass along the knowledge. They founded a troupe together called the Holy Points and are still performing. Several new members have joined up, so there’s hope that moral lesson poetry will continue to spread.
I’ve finished up the teacher-student links and decided to augment that with the formation of performance troupes that can gallivant about. You’ll also see them in your forts when we get to that part. A group of goblin poets had the honor of making the very first one, and they decided to call themselves the Fungi of Hell. After fourty years, five of the original eight founding members had met violent ends (including one that ended up in an elf belly), and another had left to become a baron at a dwarf fort, but they were still going strong with new members, including some bards and dancers and poets-turned-bard and so on.
After a typo, I managed to screw things up badly enough that my first large world test had hundreds of artists split into just three gigantic world-wide societies based on their art form, but I’ve put some controls on size and made them mix together properly again. It would have been bad to suddenly have two hundred dancers show up at the fort and ask for drinks after a performance.
Next up, the books! Then the festivals.
There are poets, bards and dancers running around in world gen now, all potential fort visitors. Next up they’ll be producing little books, forming teacher-student links, and there’ll be world gen festivals and competitions when appropriate for the entity. Perhaps a bit more, but I’ll try to move on to fort mode promptly without getting mired down in world generation antics.
Here are some of the dance forms from a medium world: over here. We’ll be moving on to the use of all of these generated art forms and instruments now, starting with the various newly-supported artists in world generation and then going into fortress mode taverns/artists/visitors, before handling adventure mode taverns/artists and the release.
The dance stuff is underway — the procedure has been the same as the last three. First the reading, then the definitions, then the generator, then the text. I’ve finished the dance definitions and will try to finish the generator tomorrow.
Here’s an interview I did for IncGamers. There’s an audio recording of it below the introductory paragraphs.
And here is the March 2015 report.
And here is a Future of the Fortress reply. And here is a reasonably intense-looking DF guide in French.
And here are some of the musical forms from a medium world: over here.
I’ve been reading about and am now working on the musical aspect of the new art forms. There’ll be a few more days of messing around and then we should have more generated fun posted here. This one has a few more layers than the poems — there’s the scale/note choice side of it with its own generator, the rhythm side with its own generator, and then that’s combined with a choice of generated instruments (including singing) and other information in varying degrees to say what’s performed/composed and how all that works.
Here are some of the forms generated for a single large world: right here. They can be repetitive, but there’s also a lot in the game that didn’t appear on that page, so it should be okay overall. There are several problems to work out (sometimes it demanded some specific hundreds of thousands of stanzas). I need to name them. Then we’ll be on to the next stuff!
The generator for poetic forms is done… I still need to have it write paragraphs describing the forms, so I’m not really sure what it is generating yet or how well it is doing it. I should have that together soon. I should also reiterate that we’re not generating actual words for poems, and we don’t have definitions for the languages up to the point where we can make certain meaningful distinctions about tone and stress, etc. (in fact, it just cooks up certain of those details on a per-world basis now to make the generators work). That said, it does put together quite a bit of information regarding structure, content, intent and so forth. If I’m lucky, I’ll have some example descriptions tomorrow.
From there, I can either define musical/dance forms, or get world gen poets up and writing specific poems (again, without the actual words, just what they did, why and how well — it should be entertaining later in this release to see the game describe poems written by your skill zero dwarves and adventurers).
Was hoping to have an update on poetry and so on by now, but we’ll have to be content with continuing to iron out problems with pieces of musical instruments and their jobs and so on. Hopefully things will be settled soon!
First pass on the instrument generator is done, finally. Lots of variables, components made of various materials (though they work like item improvements on the final product), some large instruments placed as little buildings, generated reactions to build them and their parts… reactions can now be categorized within shop menus and they can provide information during job selection to stop it all from being overwhelming. This is another of our experiments with just how much generated content can be used and what sorts of problems arise as you try to become immersed in your dwarves’ culture.
And here is the February 2015 report. Let’s see what we can get done this time!
Things have been moving along, though not much interesting to note in addition to what has been said. On the other hand, here is a Future of the Fortress reply that is full of various tidbits.
The new entertainment stuff is coming into focus… been reading a lot to try and make a good first attempt, though categorization is difficult in many cases. As usual, everything that follows is subject to change. There’ll be seven new generic skills governing the new stuff (dancing as well as music which sits over singing and 4 instrument skills), and the poetry skill that has been sitting in the code will also come to use. We’re using “poet”, “bard” and “dancer” as professional names for the moment. I’d prefer to generate those roles, but I won’t have the framework for it until later, so the relevant visitors’ll be more or less like the world gen hero roles for now.
Poetic, musical and dance forms will be generated by culture. There will be both knowledge and skill-based components to this — so you can’t compose a poem of a variety you aren’t familiar with, no matter how good you are, but once you learn the rules, the quality will depend on your skills/atts. It’ll start with the poet’s general skill, and they’ll also develop specific skill with the form, in a way that’s probably most analogous to what we were planning with combat styles. I didn’t expect this to come before those, but it did. The quality of the outcome should depend on broader cultural familiarity or varying qualities/depths of knowledge, but I’m not going to get into any of that yet: just a knowledge check box to get started and then a few related skills.
I’ve come up with a list of stats for instruments for the raws and for the generator… we’re not going to go deep into the nightmare of equal vs. just temperament and multiple materials and so on, but there might be hints of that. There’ll be skill-like stats for specific instruments as well, so you might be a wind instrumentalist, but that’ll only help so much if you pick up a new instrument type in that family.
Continuing to go through stuff — breaks and generic parties are gone, needs are in, and people go to hang out at taverns and temples according to their needs. There are simple activities set up, and the next project is to flesh those out with randomized stuffs so that we can move on to visitors.
Just been mulling things over and setting up the framework. You can assign rooms and zones to larger locations now. Of course, there aren’t many examples of such locations yet. Right now you can just select “inn/tavern” and (to make the list larger than one) “temple”. You can name the locations in the language of your civ and they also appear in the legends in the same list with the world gen temples.
We’re not doing much with temples until later, but for this release devout dwarves will be able to pray in them (fulfilling their spiritual needs). You select a deity from your civ’s list when you create the temple. We can probably use the same location system for groups of rooms attached to positions later on (so you don’t have to reassign the mayor’s rooms with every change), and anything else that needs multiple associated areas/etc.
Next up we’ll need to get the dwarves to use the new locations in new ways.
We’re going to start in on inns and taverns now. As we said in the report, we’ll hold off on recipes and generated games/gambling until the second tavern release to avoid an unseemly delay. So what’ll be in the first release? You’ll be able to define taverns for use by your dwarves and by visitors (who will know about the presence of the taverns automatically until we get to start scenarios). The main tavern associated area will likely be a meeting hall or dining room, at your discretion — activities will include instrument use (finally!), singing, dancing, storytelling, drinking and eating. We’re also strongly considering doing something with standing orders, at least to the point where the booze supply can be maintained.
There’ll be experiments with emotional/intellectual needs in both modes. Socializing in taverns will satisfy some of these needs. We’ll probably get rid of “breaks” and just incorporate that time into the eat/drink/party activities according to the needs of the dwarf. Hopefully the amount of labor time available will remain about the same, while the off-time will be more interesting.
We’ll have more information about visitor interactions as we get closer to that. There will be an economic aspect but it won’t yet be emphasized. We’re going to deal with any remaining issues with multi-species forts for this release, and there’ll be opportunities to incorporate some visiting critters into your fort on a more permanent basis (most likely mercenaries/adventurers).
Here is another release with fixes. Old saves are compatible, but there will be some error logs due to minor issues with the old raws. These logs can be ignored, but old saves will still experience problems like blank seed names.
Major bug fixes
- Fixed problem causing dwarves to sometimes fail to attack monsters/invaders
- Stopped active blocks/parries from rarely freezing adv mode
- Stopped certain situations where you could be stuck in the air above certain tiles
- Fixed a few problems with necromancers attacking (and generally being killed by) their zombies
- Stopped crash from moving/centering squad menu going out of bounds
- Fixed crash involving squads and minimap
- Fixed unretire crash that generally triggered when caravan arrived
- Stopped dwarf from stressing out over the same wound forever
- Stopped certain inaccessible jobs from blocking lower priority ones
Other bug fixes/tweaks
- Allowed embarks with x/y dim 1
- Made removal of trees check building/bridge/machine stability
- Stopped worker chaining to next construction job from choosing suspended one
- Tentatively fixed text mode error on OSX (lethosor)
- Tentatively fixed broken sound on some linuxes (Baughn)
- Fixed problem with water disappearing when it crosses the z=0 boundary
- Made certain old civilian weapon assignments clear over time
- Made t/q building selector respect stockpile shapes when looking for closest one
- Fixed error with underground pops in small forts not appearing
- Stopped mood jobs from going outside of burrows
- Capped various combat skill gains per action (Urist Da Vinci)
- Stopped “fighting” skill from increasing from trap/projectile attacks
- Stopped random creature proboscis from sometimes messing up poison attacks
- Fixed key display issue in bindings screen (lethosor)
- Fixed problem with display of kill order status
- Made geld indicator appear for pets on animal screen properly
- Fixed display problem with agreement conclusion dates
- Added error logs for missing materials set to defaults, fixed various raws
- Stopped announcement screen date from overrunning title depending on window size
- Differentiated two pain readouts on health screen
- Fixed a few empty announcement errors
Released Dwarf Fortress 0.40.24
Another few days:
- Stopped certain situations where you could be stuck in the air above certain tiles
- Stopped active blocks/parries from rarely freezing adv mode
- Stopped worker chaining to next construction job from choosing suspended one
- Made certain old civilian weapon assignments clear over time
- Fixed problem with water disappearing when it crosses the z=0 boundary
- Stopped random creature proboscis from sometimes messing up poison attacks
- Added error logs for missing materials set to defaults, fixed various raws
- Stopped announcement screen date from overrunning title depending on window size
- Differentiated two pain readouts on health screen
I fixed a problem today which sometimes caused dwarves not to fight monsters/invaders, especially if there were lots of other dwarves in line-of-sight. I also stopped necromancers from oftentimes attacking (and usually being killed by) their zombies — they were doing it for multiple reasons, and I patched up the ones I could find. Fixed a display problem with agreement conclusion dates in the adventure log.
The last few days:
- Stopped crash from moving/centering squad menu going out of bounds
- Fixed crash involving squads and minimap
- Stopped dwarves from stressing out over the same wound forever
- Capped various combat skill gains per action (Urist Da Vinci)
- Stopped “fighting” skill from increasing from trap/projectile attacks
- Made removal of trees check building/bridge/machine stability
- Stopped mood jobs from going outside burrows
- Made t/q building selector respect stockpile shapes when looking for closest one
- Fixed key display issue in bindings screen (lethosor)
- Made geld indicator appear for pets on animal screen properly
Here is the January 2015 report to begin the new year.