Development in 2012 (RSS Feed)
Here's my latest Future of the Fortress reply, coming in at a brisk 50 questions or so: FotF.
I suppose today is as good a day as any to add birth to the world. It schedules various conceptions throughout the world, and those add births to the schedule -- it still has to respect the same artificial population caps used in world generation to avoid overpopulation. It still only uses existing couples, so we'll need people to form relationships next, as well as having babies and children being marked off as grownups when that time rolls around.
Here's a video interview from a few weeks ago with the Penn State Physics Club. Video.
And finally, our traditional Dwarfmas short, Rainseeker's reading of Smirk's Night Before Dwarfmas.
Death comes before birth, if you were wondering. There are potentially several thousands of historical critters to check in the wider world, so it sets up a schedule at the beginning of the year and then checks specific people on a daily basis for the "old age" death you might have seen happen in your forts. Later on we'd like to have diseases and so on, but for now it's basically a reaperish visitation that happens to people that aren't currently loaded. I'm getting the first taste of handling all the extra information that is present post-world gen, and I had to rewrite various code for how the historical figures are stored on sites and in armies, but they seem to be dying properly now.
Well, unretires are going well enough. We still have some fort stuff to do and kobold caves, as far as sites go, but after months I think I'm getting a little burned out on maps, so we'll finish that up later on (before the release). I think the last major unstarted feature for this next version is the handling of birth, death and succession for the wider world after play has begun, so I'm going to see what I can do with that to finish out the month. Then we should be able to start up the new year with a pretty clear picture of all the cleaning that'll need to happen, without having too many giant loose ends feature-wise to consider.
I'm still working on unretiring forts. As I mentioned before, there's quite a bit of information that used to be removed, and it wasn't all lost at the same point, so some of the pieces are harder to find than others, and some of it is not easily maintainable with intervening adventure visits. Next up are pet information and stockpile data. It's difficult to predict how long it'll take overall.
Here's the transcript for DF Talk episode 19, prepared by mallocks!
Working with running forts again compelled me to go back to some of the move/combat speed split stuff and fix problems with dwarven brains that had developed, like how they started crawling around on the ground and so on. I also added various progress bars/text indicators to things like loading the game so that you're less likely to think the game has frozen.
It seeeems to be working so far. I made it through some expected crashy nightmareness with the initial unretirements of retired forts, and now I just need to work through a series of specific small problems to get the fort back up to around where you left it.
I also tested out retiring a dwarven adventurer in a retired fort and then unretiring the fort, and it basically worked out -- the adventurer was listed as a soldier without a squad, which I need to fix, and I need to tweak the items they are carrying, but otherwise they were a proper fortress citizen. If you hand your former adventurer an official position in the fort and then retire the fort and then unretire the adventurer, I guess you'd be controlling an official, but you wouldn't have any actual powers, since we don't have anything set up for that yet in adv mode. When I first started the adventure, I was expecting to have to walk from the main dwarven civ out to my retired fortress, but the game just started me in the retired fort. That kind of drives home that you are just being created out of thing air, but it makes as much sense as starting at any other inhabited dwarven site.
I talked to my first retired fortress citizen yesterday, and I also went ahead with the unretirement of retired player forts. I expressed some misgivings about fort unretirement in the last Future of the Fortress post, and we'll see how it works out. The main issues are information that is altered for the adventure mode visitor and information that is just lost entirely during the retirement process. It isn't as big a deal when you reclaim a ruined fort, since you expect some rebuilding, but it might be more jarring when the reclaimed fort was left alive. The info in question includes room information, military stuff, burrows, that kind of thing. Theoretically we should be able to keep much more of it, but having an adventurer running around killing dwarves and stealing items could be disruptive.
The upside'll be being able to switch between forts (though you can't play them at the same time, and there's no guarantee of survival for retired forts), being able to do odd things like retiring an adventurer in a retired fort and then unretiring the fort with your new citizen (at least if your adventurer is a dwarf -- we haven't handled multiracial forts yet, though it'll likely be allowed)... and whatever else people come up with.
The December 2012 report is up.
Farms and work areas are underway, after a puzzling debacle of misplaced stairwells.
The Museum of Modern Art in New York started collecting video games on a more permanent basis. They've acquired Dwarf Fortress and it should be on display in March (DF was there last year as part of a temporary exhibit). Thanks to Captain Duck for helping out with the upcoming guided tour video mentioned in the link.
Arranging furniture in little dwarf bedrooms. It's different from the human towns since they don't keep any food in their rooms, instead using the storage areas (as in fort mode). Right now the bedrooms are 2x2, between the 1x1s and 1x2s of crueler players and the moral decadence of the 3x3, and if they are available, each of the dwarves gets a bed, cabinet and chest, complete with cultural decorations. Next up are farms and work areas. Then I just need to do the fortressey parts, and we can move on to retirement for your own forts.
I'm working on deep dwarven sites, and it should include a bit of early work on fortresses as well, since the basics of their individual living arrangments and industry should be about the same. Deep sites claim areas much larger than forts (the size of human towns in the current version -- up to 17x17 embark tiles), and a lot of this will probably be devoted to farms in the cavern layers, but I'm hoping for something reasonably different from a human village underground. These kind of sites aren't reclaimable (because they are too large), so the amount of farms won't clash with the time-compressed nature of farming in fort mode. Aside from the living, farming and workshop areas, there'll be zones for mining and storage as well. Certain of them have barons, and those'll have an additional area.
I should finally be finishing up my hillocks tonight. The largest mounds are for the baron (if there is one), the mayor and for drinking -- it isn't time for taverns just yet, so dwarves just stand around looking drunk, but that's okay for now. After that, I'll be able to start up on deep sites, which'll be our first sites that really try to come to terms with underground cavern layers (goblin sites just used them for dumping garbage). Hopefully there won't be too many cave-ins.
Here's Dwarf Fortress Talk #19, partially recorded in September and partially a few days ago, where we talk about current development: forum thread, DF Talk page with download.
Here's my Future of the Fortress reply: Part 1, Part 2.
We broke a hundred questions on Future of the Fortress again this time! I'll be working through those starting now. I'm also finalizing a DF Talk episode. Preparing little hillocks and mushroom gardens, and a few outdoor gardens, for dwarves that live outside the mountain.
And here are the baronies and assorted relationships for a few small worlds. In the Nobility/Holdings map, which is a work-in-progress export from the legends view, you can currently see the location of dukes in red, counts in orange and barons in yellow, with the monarch in purple. Green links indicate hill dwarf and deeper sites which are part of an off-site noble's holdings (these sites will generally have mayors, but not barons). Non-fortress baronies that are more loosely associated to the kingdom are shown with dark purple links directly to the monarch. As we know, the monarch tends to hop around to the fort they prefer, including yours, so that goal can now be reframed in terms of getting the purple monarchy rectangle from a non-player/retired fort over to your current fort. This is also the reason why there is a pixel the color of the local noble at the center of the monarch rectangle (in world generation, the monarch can sometimes end up in a fortress that is held by a noble below a duke, unlike the way it currently works during play).
World 1, Map
World 1, Trade
World 1, Nobility/Holdings (Two dwarf civs, east and west)
World 2, Map
World 2, Trade
World 2, Nobility/Holdings (Two dwarf civs, overlapping north and south)
World 3, Map (larger w/ fewer civs, gobs virtually conquered)
World 3, Trade
World 3, Nobility/Holdings
My attention was diverted the last few days, so I haven't quite got the various dwarven baronies finished yet, but here are some pictures of the general way dwarven sites are set up now. The eventual idea is that you'd be able to get communities like these settled around your own fort in many instances.
White for forts, dark gray for deeper sites, light gray for hill dwarves
Very settled mountain
Hill dwarf sprawl
Insulated mountain with far-flung hill dwarf satellites
Various forts with deep pockets, and some sprawl to the south
The starting point for non-player dwarven sites is adding some differentiation to world generation. The basic three-way split is between hill dwarf sites near the mountain on the surface, deeper sites under the mountains that have no direct external exit, and fortresses, which connect the surface to the underground and are the same sort of sites that you create. The nobility are also going to be adapted to this new layout. We might not get to the involvement of hill dwarves and deeper sites with your fortress during play for this release, since that's another involved addition, but we will be laying the groundwork for that here. Once I've got the world generation distinctions in, it'll be on to site maps, and then to fortress retirement.
The November 2012 report is up.
There are lots of orchards now, and the elves grow other important trees for various purposes. The orchards are currently stuck with the products from the old tree raws (chestnuts, mangos and coconuts), but that should be diversified significantly. The residential etc. trees aren't strictly natural, so you'll get some places that are flatter and smoother grown into them, but even those trees still use the standard tree growing algorithm and there's plenty of regular vegetation to go around. We should finally be on to non-player dwarf fortresses at the beginning of next month. I thought I'd be to them by now but having climbing and jumping works well enough as a consolation prize. I doubt I'll be any better at predicting how long dwarf sites will take, since there's a lot of pre-existing material to work with.
Here's an interview with Roguelike Radio. There has been various hecticness lately, so I'm still mucking about with elves in world gen. Should have more of an update soon.
I'm finally into elf sites, starting with orchards of sorts and some world gen tweaks to make that kind of thing possible.
You can grab hold of tiles in flight now, either after a jump or a fall. The success rate depends on how fast you are going, and I'm sure it'll depend on attributes and any relevant skills, although I'm not sure I've got a relevant skill named yet. I managed to jump between two far apart branches of a tree, then between trees, and I jumped along a rough wall, which seems like it should be quite dangerous.
I'm well into climbing now. A critter can grab hold of various surfaces, including branches above them, most walls to their side and ledges below them. Then they can climb, which involves moving to another tile and renewing the hold on an adjacent tile. When you are controlling the adventurer, you initiate a hold and then you can use the normal movement keys to get around. I'm going to add some reaction moments for grabbing hold of tiles when you are in flight to try to stop/slow your fall/jump. I haven't assessed penalties yet for climbing -- I'm assuming you'll need to maintain an open grasp to move around, at least if you are humanoid, and you'll also be in danger if you are fighting. I should have that stuff in shortly. You can jump while you are climbing. I jumped from a tree to a nearby rooftop, for example. Right now you can climb constructed walls but you can't climb smoothed walls or ice walls.
I'm going to do climbing and jumping before elf sites -- climbing at least will inform the design of the sites, so I want to have specific mechanics in place. Back at the end of July, I added sprinting and other speed settings, but it was as an instantaneous speed change. Now, for the run and sprint settings, it takes several tiles to get up to full speed. This both prevents an almost teleport-style effect from speed changes when somebody decides to flee a combat, and it allows us to do running jumps in a more interesting way, since you need to get a running start to achieve your maximum distance. When you are running full speed, you can still stop without carrying forward additional squares, but you need to move in roughly the same direction to maintain your full speed. So if you are going east, then northeast and southeast are also okay, but if you go north, you'll go back down to jogging speed until you build up again. I also got started on jumping. My first jump was off by a factor of 100, so I flew against a cliff and blew apart. I'm still working on it.
We have falling leaves again, you can see them fall in little downward moving flows and land on the ground. This involves "item clouds" and "item spatter", which should continue to come up in various places over time. You can pick flowers and leaves and there are falling fruits and nuts. It's nice to have acorns and chestnuts in the game, though I don't have roasting handled. All of the fallen material can be picked up. You can also pick fruit directly from trees if they are hanging low enough (you'll be able to climb before long). I think we've got enough vegetation information to start in on elf sites themselves now.
And here's my Future of the Fortress reply: Part 1, Part 2.
He he he, I thought I'd have a Future of the Fortress post for you this time, but I'm only roughly halfway through it now -- there are well over a hundred questions! There's some crayon drawing today, but I should also be able to finish the forum post up and get it posted. Vegetation growths continue (doing things dropping off now), and I should be back into fully once I clear my plate here.
It was neat to watch different flowers blossom in the marshes depending on the time of year. Fruit are next and then a small revamp of deciduous trees.
The October 2012 report is up.
Moving on to defining various things that grow from the plants -- flowers, fruit, and leaves, mainly, but the raws should be fairly generic here. There are just "growths" from the plants, with various timing, development and item type variables, and if you're modding you should be able to call them whatever you like or have a tree that grows bronze swords or whatever. We should have apples or some kind of edible fruit soon... we have choices for fruit trees to add now I suppose.
Worked through the raws and getting the vegetation on the screen linked up to the plant definitions so that all the different pictures work. I'm not sure how many different leaf pictures I'll end up using (such as a different picture for pine needles), but those options are now functioning fine. I've got a list of a dozen or so parameters for growth that I should be implementing tonight. Then I'll need to do roots and fruit and flowers and so on.
Been toying around with the trees. I've been working with one set of rules for growing them so far, but I'll be expanding the parameters and pictures soon (for pines, saguaros, tower caps, etc). In the meantime here are some preliminary images. Issues include grass not being dry below trees, branches looping when they shouldn't, 48x48 boundaries being too visible, crowns hitting other artificial boundaries, and so on, but it is going okay so far. Nothing is final (and it can all be changed in the raws), but the 1/4 tiles are branches heavy enough to climb (but they still have some leaves), the single lines are heavy enough to climb on but won't have leaves/fruit, the semi-colons are too light for climbing (I haven't started climbing yet), and the little pentagons are parts of the trunk that slope or taper.
River from forest at bottom to savanna:
Heavily forested slope:
With their industries and troll shearing pits most of the way there, I've reached a stopping point for goblins. There's more to be finished up, but it overlaps with dwarves and I'm going to work through the non-player dwarf fortresses first so I have a better chance of unifying what goes on there code-wise. First up though, I'd like to tackle the elves. The main features here'll be multi-tile trees (including roots and properly-sized mushrooms), fruit, flowers, climbing and jumping.
I rescued my first batch of prisoners from a goblin prison under their tower yesterday, after sneaking past watch towers through some trenches, and then passing through a living area underground. The captives were mostly children of the dwarven duchess from the next fortress over. We still need to handle reunions, but that'll definitely be going in when we get to fortress maps (which are going in before the release). It'll be cool to finally get some dwarves back home after all these years.
Watch towers and trenches and mounds and things out on the surface are almost done. I suspect I'll move back to the main tower for a day or two after that, and then flesh out the industrial pits and... troll shearing areas. That's almost everything, I think, depending on how much I'm going to do with factions among the gobs.
It's an ongoing process of arranging things and so on. I think I'm going to mess with watch towers and trenches tonight. Here are some goblin living quarters, which I made with an adaptation of the old dungeon code: A picture. Most of the goblins are out and about elsewhere, causing trouble in the world mostly, but some of them are hanging out in their little cell-homes. I expect they won't always be so item-free as they are now.
Goblin sites continue. Right now I'm stopping certain tunnels to the main tower from forcing you to go through open areas filled with dozens of goblins and otherwise arranging things more carefully to balance function and playability.
Goblin sites are well underway. The typical setup we're going for, with variations, is a central tower with a series of tunnels and pits underground that connect to the first underground layer, with some trenches, tunnel entrances and watch towers up above on the surface. The central tower's dungeons can reach well below the first layer. The larger pits will be where the industries are centered, so that debris can convenient be tossed down into the natural caverns. The human keep+dungeon infrastructure is coming in handy here, though the final result will look very different. The tunnel systems are sprawling but sparse, so you can't get lost as easily and you don't generally meet a zillion gobs at a time.
I did some more with the demon sites. Probably starting up on gobs tonight. We'll have more details as they actually go into the game.
The September 2012 report is up.
I added in some secondary locations related to demons, sort of toying around with possibilities beyond simple kill quests, but I'll leave off the details for entertainment purposes. I'll probably mess around with that for a few days, and then I think we're going to need to do goblin sites to finish off your involvement with goblin invasions and the forces of evil and all that. That'll leave us with a thoroughly messed up world that needs people to step up and do all the succession and breeding and rebuilding necessary to keep on going. We haven't decided at what point we're going to pivot this toward a release. Both succession and rebuilding are fertile ground for all sorts of interesting stories, mechanics and whatever else, and I want the pre-release world to pass a certain threshold of livingworldness and fortressinvolvementness.
Various family things ended up going on the last few days, so I didn't get much done yet, though there's a start. In adventure mode, it now gives you a breakdown of your situation in the opening paragraph instead of the generic paragraph, and there's an indication of what you are getting into for each civiliations, to the extent that there are such things right now. It also gets some balls rolling right after world generation but before your first game so that the world doesn't start in a weird pre-active state.
I still have a few things I'd like to do with tracking, but I'm going to jump back up to the larger scale issues for a while now, so that the game'll achieve some level of coherence. First up, the surrounding situation at the beginning needs to be revealed somewhat, to give you some leads to follow, for instance, and you'll need a few ways to learn about anything that changes (like a nearby town being invaded). The two trickiest parts with starting exposition will be (1) the first game you play after world generation, since the world is passing from vague to specific at that point and no actual events are underway (aside from general states of war, etc), and (2) how to deal with the player choosing a starting civilization which is just absolutely dull. We're still considering how to best handle it. Overall, we're hoping to flesh out some possible courses of action that resemble a successful adventure from start to finish, probably something culminating at a goblin site or human castle, and then to get the humans to patch themselves up if their civilization survives all the horrors (all the repopulation and succession stuff). The main goal is to try to keep everything a strict simulation that doesn't warp too deeply around the player, while at the same time allowing you to experience something more involved than simple one-off quests (or random fortress invasions for that matter). I'm going to try to avoid sinking into tracking/sneaking/etc. style mechanics again until we have the full skeleton in. We'll see how that turns out...
Here's my Future of the Fortress reply: Part 1, Part 2.
Just spent some hours fixing, I think, a problem with my mail server. I haven't received any emails sent to my toadyone bay12games.com address since the 14th, so any of those ones will need to be sent again. I'm working through a quite long future of the fortress now. I think there are 75 questions or something.
You can get attacked by wandering critters and groups now, as with the old ambushes but now with actual information. Not everybody chasing you follows tracks -- I've added the ability of certain creatures to sense things like creatures with blood (or more generally, arbitrary creature classes), and this effect can be applied via syndromes/interactions as well. Here is a vampire adventurer: Town at dusk as vampire. Another important ability is the sense of smell, which isn't easy to do properly -- I'm going to do some simple work with that, and then I can move on to a bit of work on evasion.
Lots of critters moving on the map now as proper groups rather than ambush chances, leaving a mess of signs that you can find. The night creatures and nocturnal natural predators come out when it gets dark and wander around their dens, and you can follow them back. Townspeople will no longer no the exact locations of every monster's lair. The camps and evil sites also have patrols now. Next up, the bad groups'll be bothering you a bit.
DF has been out for six years now. We now have proper bloody footprints to show for it, complete with direction, the kind of shoe if it was a shoe and not a foot, that kind of thing. Critters on the ground are a little strange -- it picks the same parts that can pick up spatter from the ground, so there are strange things like cheek prints and turban marks, as if the crawling people really dig in with their whole bodies. Player tracking is at a good enough spot, at least if you want to track yourself. Now we need other people to run around tracking you, and we need additional critters running around in some form on the travel map so that you can find some incidental tracks. That'll include the ambushes that used to abstractly "find" you -- animals, bandits, nearby gob/kob site patrols and night creatures. Those'll all be moving around the world very soon in a more proper way.
I'm working through player tracking now. It's a fairly passive process -- you spot tracks and other indications as you move around based on your tracking skill, how fast you have been moving, whether you've been fighting, lighting, etc. These are only shown to you if you decide to view tracks, and in that case it displays them in position on the screen as well as giving you an overall idea of which trails go which direction. You can also view specific tracks from the look command to get more information. The downside right now is that it doesn't give you any indication in the normal mode if you've stumbled upon something interesting, but that can be done as a separate announcement that comes up during regular play, perhaps, or an indicator light (or both), at a non-spam rate. There's a lot of information and most of it is uninteresting (like your own footprints and companion tracks), so I don't want to have anything too obstrusive. Even an indicator of the number of tracks visible was too annoying. Another day or so to clean this up, then we're on to enemy posses and their tracking!
Army tracking information is left behind now, including your own trail as you move on the travel map. So you can loop around, go down into the local mode and signs of your own passing will be realized. You move in fairly large straight lines in only 8 directions in travel mode, so the paths are a little stilted, but that's fine for now. There's a memory concern to all of this as well, but I think I've got it cycling out at the right speed so that it won't drop too much tracking information too early. If there are lots of squads moving nearby there could be issues with information being cycled too rapidly to be of much use, but there are still a few things I can do. Now it's time to get started on actual tracking. I'll probably start with the player interface and then move to enemy squads.
Everybody that isn't flying or a ghost leaves broken vegetation and tracks as they move around, depending on the terrain/size/etc. Next up is the larger scale army tracking information, which'll be stored more abstractly and only be transferred into actual tile information when the area is visited. Once that's done, we'll be ready for tracking both from your and the enemy perspective.
The August 2012 report is up.
We'll be starting up on the organized posses that search around for you soon. For that, we'll need some tracking information to make the hunt more entertaining -- things like damaged vegetation, tracks, scents, etc. We haven't settled on everything yet, but you'll get to use the tracking info yourself in some way or another. To that end, we've been playing around with these: raccoon, human.
If we go with that, the six tiles used will be remappable, so affected tileset users should still get a decent effect (even if they map everything to one on/off tile). In any case, moving creatures will leave evidence of their passage periodically which lasts for a time, either specific stuff locally or an abstract trail which is realized when loaded. It'll be too annoying to force you to track each individual sign all the way to your destination, so there'll be a more abstract choice available from the travel screen once you get on a trail, though perhaps you'll have to jump down at times if it becomes muddled. We'll have to see how it plays out.
You can now set your speed anywhere from creeping to sprinting. Since we've already done the attack/move split, this doesn't affect the number of attacks you make. You'll make more noise the faster you go, depending on your sneak skill. The noise reduction is a passive ability, while you can still set yourself to "sneak", which'll decrease your chance to be seen but will also make you look more suspicious if you are seen. Sneaking matters less if you are trying to move quickly, and it decreases your top speed.
The alarm is raised in the camp now (which causes the many non-guard goblins to emerge from their tents and look around for you), and the commander has a proper larger tent. On one attempt, I chased him out into the wilderness -- he ran faster than me and managed to turn into a single-soldier army on the map. Because of his responsibilities, the commander tried to make his way back to the tent, but that gave me the chance I needed and I caught him on the way back. I was helped by the ability to see all nearby armies no matter how small, so this might not always be possible. I suppose it'll end up depending on the terrain and time of day, and whether or not the single-soldier army is trying to remain hidden. The old sneaking system is also a little too slow -- if you move three times slower than the guards, you don't have much of a chance. So we're going to go ahead with a sort of walk/jog/run + sneak state system that'll allow you to make some more choices with tradeoffs in how much energy you are using and how detectable you are. After that, the next project is to get the army to organize a squad or two to search around for you after a time if they haven't caught up with you, which involve tracking in some form or another.
The armies have camps now, and the soldiers hang out in tents for the most part. It was more complicated to get up than it might seem since the armies and their historical figures had to relate to the existing infrastructure used to reproduce the maps/buildings/items reliably without defining an entire new permanent site (which would be too much of a memory footprint). The next steps are messing with guards and alarm/stealth in camps, being chased around by the soldiers you rile up (including at the travel map level as you try to evade the consequences of your actions), and interacting a bit with refugees.
The last few days have been a little slower than I would have liked, but there is mayhem now in the villages. Various things impaled on upright weapons, buildings destroyed, historical figures killed, and so on, sometimes in great numbers, and it's all there waiting for you to stumble through after the fact (you won't get to see buildings be destroyed before your eyes in this release). We're certainly going to need birth, succession and reclaiming of sites now, he he he. There are still quirks to work out, but I should finally be to refugees and army camps soon, where we'll start getting some hands-on player involvement in this.
Goblins arrive at their target village/town now and split up into several groups which will very soon be causing trouble. The mayhem has to work at each of the different resolutions (on the other side of the world, with the abstract site map loaded, and with the actual tiles loaded), though I doubt I'll work through the tile resolution problems fully now, since buildings are going to be demolished and I don't want to get bogged down. Once buildings are being destroyed and civilians are being harried, I'm going to have the enemies camp out for a while with some survivors lingering so you can figure out what's going on and have a bit of an adventure involvement with it. I think the enemy encampments will probably end up being the first places infiltrated (as in the hero role dev pages), and that we're going to move directly toward that once the camp exists, and then we'll dial back the goblin rampage a bit at times and also get back to infiltrating bandit camps.
Here's a Future of the Fortress reply with various information about what we're working on. I'm now having civilizations decide to attack other sites in play, starting with some straightforward examples that should lead to the complete destruction of cities.
I've finished the rewrite of the code, but now I have to debug it -- right now civilizations don't appear to be spreading in world generation. On the other hand, "sites changing hands during play" is now peaking up at the bottom of the first page of my notes, so that's good.
The current project is going through several old variables on the sites that I've been unhappy with for five years or so and clearing them out. This will remove the last remnants of the idea that one civilization or group always completely owns a site, replacing it with a system of claims of varying purpose and effectiveness, which'll in turn lead to various conflicts and issues. The variables I'm removing are fairly pervasive, but hopefully I can have them cleared out before long.
The July 2012 report is up.
I got my first reaction moment today. I was in a fistfight with a goblin thug that was harassing the town, and due to my fighting/situational awareness/wrestling skills, I was able to choose the option of catching a goblin's incoming punch with my left hand, a move which was then turned into a wrist lock. We'll probably make it harder to initiate wrestling from scratch, so that just jumping in and grabbing people will be hard to do without inviting a reaction against you. All in all, the rewrite is going a little slower than I'd like, but I'm continuing along with it.
Things haven't been very exciting recently -- the gutting of combat and movement code is fairly wide reaching, and there won't be anything interesting to report for a few days yet. I did manage to explode myself by having a goblin load up five overlapping swings with the same sword that all struck in erroneous and rapid succession. Once all that's working you should be able to, for example, thrust at the same time with two daggers at one or more opponents (with various penalties etc. that you might expect from attempting that) -- stabbing both eyes or doing a double kill, that kind of thing. The interface there has a chance to veer to further clunkiness, so we'll probably have you default to a single action on your turn with the power to initiate multiple simultaneous actions with an additional keypress.
The poor suffering ruffians were shouting various things according to their frame of mind and yielding well enough that it was time to move on to non-lethal combat. When I was starting up on that, the fact that the game still basically operates using the move-to-attack method common to many grid-based RPGs began to grate a bit and lead to redundant work, so we're going to go ahead with some of the listed combat flow changes first. Specifically, the split between movement/combat actions as well as reaction moments. This'll also clean up some weirdness with rider combat that was exacerbated by the changes of the last week. Splitting movement and combat reactions should lead to some cool side benefits, such as creatures like horses and cheetahs being able to move quickly without getting extra attacks, and things like hydras and many-armed critters being able to use numerous attacks at once. Having attacks and movements not execute immediately when they are initiated allows a lot of interesting options to arise during the intervening time (these are the reaction moments, where you and the critters can adjust mid-action if you are lucky/skilled) and should generally make combat a bit more vibrant. I'm going to try not to get too carried away with all of the possibilities so that we can stay on a clean course through the basic villain stuff, but I was starting to have to jump through some strange hoops in the old system.
I've gotten it up to a point where it tracks conflicts and the game has a new system in place for determining critter actions, goals and current states of mind. I've mostly been banging out how it should be set up to allow for things like army AI and dwarven job priorities without having to scrap it all again. That's not to say it'll be quick to write those updates now, but it's more straightforward, anyway. Right now the new stuff just applies to what I've been working on, so that critters will generally feel terror when people are trying to kill them, unless they are oddly constituted, and in order to continue fighting they need to master their fear. Failure to master emotional states leads to forced actions like running away or attacking in rage, although running away can also occur as a rational action if the critter gets to that stage. Entering a state of terror or being in a state of terror for a while also works as a stressor that can have longer-term personality changes/effects (which'll also be the rewrite for dwarf-mode happiness/tantrums etc. as we re-interpret the various stressors in the thought list there). They won't defend themselves at all if they don't have basic aspirations like staying alive (alternatives might need to be found for possibly mindless critters like gabbro men, although they'll probably initiate whatever conflict they are involved in for whatever inscrutable reason). It's a continuing process, but I should be moving on to surrender soonish.
Next up we'll be adding structure to physical conflicts and dealing with some of the psychological ramifications of being in a fight to the death. The first test case will be your responses to the little groups of jerks that can chase you around now, though much of what we're doing has general application. If you attack them with your weapon, it'll set up a conflict at the lethal level, and they'll have to decide individually whether they are up for that. Some of them will run, some will give up immediately, some will hang back, some will attack, etc., and the events in the battle will determine how people continue to respond. An interesting thing about systemitizing this will be that your followers will automatically be subject to exactly the same effects that your opponents experience. In your first serious fight you might discover that your courageous companions aren't really that reliable, and that a few of them might even leave your service and bolt down the street the second stuff starts to get crazy. Surrending or otherwise breaking off the conflict before everybody on one side is dead will be explored a bit.
You won't want everything to turn into such a violent mess in the first place, alienating all the townspeople, so we're going to do non-lethal combat (and putting away/drawing weapons etc.) after this is done.
Now that bandits can sometimes just be hanging out on the street waiting to mess with people, I've shut off immediate enemy recognition so that people don't start fighting to the death in the streets. I'm next going to use the dwarf mode training activity framework to allow them to coordinate their harassment a bit, and we'll probably move to the recognition of fights and non-lethal combat from there.
Working now on nailing down the small group movement nuts and bolts to get bandits setting out from their camps to assert themselves on their town targets. It needs to understand how they operate between four different resolutions -- locally when each group member is a fully realized unit, at the town/wilderness travel map level, at the region level when the mid-level travel maps aren't loaded, and when the game is saved and armies are offloaded abstractly. Hopefully the same code will be applicable from vengeful posses hunting you down and into small-scale inter-site conflicts.
It's time to activate the world now. The overall idea is that entities such as town governments, bandit gangs, criminal organizations, necromancer cults, etc., will have goals and act to carry them out, replacing losses and reacting to your acts as you arise to interfere or aid them, with a generous helping of tension between historical figures frosted with beast antics.
Some initial work is required, but we're going to try to move through it quickly this time. I'm currently taking the preliminary step of detailing entity claims to sites based on purpose, location, time of day, and so on. Then the plan is to use these to get entity representatives such as guards and dirt bags out on the streets, along with regular citizens with varying views on the entity claims, and to get them all interacting with each other and adventurers a bit. That'll set the stage for the visible realignment of entity claims as the game progresses, and it'll give you some material to work with. Specific quests are going to start to drop out of the game as we proceed, to be replaced by you doing what you want with respect to the various groups and reacting to their direct intervention in your affairs. Now that we'll have the site control situation a little more fleshed out, we're also going include a bit of exposition, both for your home town when you start and when you talk to people in places you visit, though you might still happen upon trouble before you hear anything.
Part of the entertainment will include learning information about the locations of villains, starting with the simple bandit gangs that have thugs harassing people in town. To this end we'll be including non-lethal combat and a recognition by participants and bystanders of the various stages of escalation in the confrontations. Killing a town's miscreants won't generally be sound practice if you don't want to be feared yourself. A sufficiently outmatched opponent will be able to surrender to you, and that should allow you to come through to the villain's hideout or to send a message to the villain. The mechanics included will be general and apply to anybody that can surrender and speak. We'll be improving bandit hideouts for the larger groups, and those groups will divide the time of their members between patrols, guard duty, and their active goals.
These relatively simple setups will give rise to more complicated games as we increase the number of plots and allegiances available for critters. The foundation of an active world which can handle sustained play is the regular advancement of history through birth, death and succession, so we're also going to tackle these early on in the process. More details as we go!
Released Dwarf Fortress 0.34.11
- handled child clothing thoughts, hopefully for real this time
- made soldiers eat from backpacks/drink from waterskins earlier
- made dwarves pickup items in a more responsible order for armor layering
- added indication for assigned items in specific item list for military equipment
- stopped dying enemies from forbidding inventory items associated to fort equipment (like stuck-in weapon)
- cleaned up a few ways dwarves could come to be holding extra equipment
- made command line world gen exit without forcing a key press
The June 2012 report is up.
Here are the last changes for the month.
- cleared kill orders after completion
- made armor stop lack of clothing thoughts
- added ability to set up generic armor options in uniforms (like the ones the defaults have)
- stopped dwarves from looping between civ/squad equipment if they can't follow their orders
- stopped aspects of the game from advancing when designations were placed
- stopped adventurer from turning into an underground creature when in the ocean/etc.
Some more things.
- relevant designation jobs use the nearest square instead of starting at top left
- dwarves often more reasonable decisions extended to removing bridges/constructions/channeling
- added confirmation for burrow deletion
- auto-assigned children to mother's pasture/pond
- removed ramps near waterfalls
- creatures not safe from fire will run out of lethally hot squares
- stopped empty bags from popping out of carts
I didn't want to delve too deeply into fluid rewrites, so I just removed the ramps near the waterfalls to stop the worst of the silly jumpin' dwarves. The "nearest square" with respect to the designation change doesn't respect paths (which is expensive), but it will stop the worst of those times where dwarves take a long meandering route to mine from the left when mining from the right is faster, etc.
Started back in on things:
- wall/floodgate/etc. builders often make more reasonable decisions about where to stand to avoid walling themselves in
- crash fix involving haul job losing its container
- crash fix for naming routes when there are no route
- crash fix for squad naming
- stopped haulers from sometimes moving around in circles or between two tiles repeatedly
- stopped deconstructors from dropping items on their heads at times
- allowed riders/guiders of carts to attempt to go to destinations that aren't connected (but not to violate burrow settings)
- fixed inconsistency with random seed lengths
Going to be unburying myself from various put-off obligations/communication for a few days. Incidentally, if you requested a drawing of a fisherdwarf wrestling a camel, the envelope bounced, so please contact me!
Here is another little release.
Major bug fixes
- Stopped powered rollers from pushing every track cart everywhere
- Fixed lye/milk bucket storage jobs
- Stopped them from storing assigned cart that is on a valid trackless stop
- Allowed them to store unassigned cart that is on a track
Other bug fixes/tweaks
- Updated some screens for higher dimensions (if you enlarge in windowed mode for instance)
- Wrestles/shared items don't persist when cart moves
Released Dwarf Fortress 0.34.10
Crayon rewards were drawn. Rollers that push everything everywhere were fixed. I adjusted the behavior of some screens when they are resized beyond 80x25 (lots more to do there). Carts that are unassigned but on tracks are moved to stockpiles properly now, and carts that are assigned to stops not on tracks won't be placed in stockpiles now. Few more days and we'll put another one up.
Released Dwarf Fortress 0.34.09
Second bit of bugfixes.
- added furniture stockpile options for the new tools
- made rollers get objects up to speed faster
- fixed minecart premature stoppage after coming up a ramp
- made fresh water kill stagnant water, salt no longer spreads into fresh
- properly restricted materials for embark tools
- stopped fast travel from minecarts
- disallowed picking up of unit-occupied minecarts and fast-moving minecarts
- increased coke reaction output
First bit of bugfixes. I'll probably do a day or two more of this to let some issues come in and then get another version up.
- fixed various bucket jobs
- stopped wheelbarrows from getting stuck on obstacles built in their path
- stopped rollers from working when powered off
- channeling moves objects downward and moves the dwarf downward if the dwarf is in the square (ending injuries from what should be a non-jarring activity)
- fixed look mode strings for rollers when they share the tile with something
- fixed scrolling of routes/stops in resized screens
- fixed vehicle id init problem in old saves
- typo in white sand density fixed
Here is a hauling release.
- Minecarts can be used to haul things around on carved/constructed tracks/bridges ('h'auling to set up routes)
- Dwarves can be set to guide, push off, or ride carts that are ready to move to the next stop
- Track stops used to slow/stop cart and/or dump the contents on vehicle entry, can be disengaged with lever/plate
- Pressure plates can be triggered by carts
- Rollers can be used to push cart along when powered
- Minecarts limited to one per tile in general, various collisions can occur
- Wheelbarrows can be linked to stockpiles in order to move heavy objects (it'll auto-request one for stone stockpiles)
- Falling objects can collide with critters
- Camera can be attached to unit or item, can be linked to hotkeys from the unit/item screens
Other bug fixes/tweaks
- Stockpiles can be linked to workshops, can be set to give to multiple piles, can be set to accept items from links only
- Hauling jobs will often be combined, using one container
- Heavy items harder to haul
- Densities/colors updated, based on Uristocrat's data collection thread
- Can filter creature names in arena
- Mine drop rates tweaked, no longer skill-based
- Puzzleboxes/drum makeable
- Stopped blinking on bridges
- Projectiles using new code (most non-shot/thrown projectiles) can skip/skid on liquid/ground
- All flying units use new minecart parabolic flight paths
- Many projectiles do not resolve in adventure mode before your turn (so you can dodge a flying cart by moving away)
- Can create/assign to squads from v-p
- Squads can be given nicknames from v-p or the military screen
- Fixed broken clay stockpile option
Released Dwarf Fortress 0.34.08
I was shooting debug minecarts full of battle axes at an arena colossus when Zach's actual fort got attacked by a cyclops. He ordered his squads out then set the camera to follow the monster. We had fun watching it run around causing trouble. Three deaths before the bolts started flying in. There's not too much more to do now.
We finally nabbed the bug that was intermittently hanging the game. I've incorporated some fan-collected material numbers that came out of an effort spearheaded by Uristocrat.
The items and units fly out of carts now on major collisions. It gives the objects a little lift and spread sometimes to make the happenings more entertaining. Accidental grapeshotting of the dining room should be possible now. The debug tests on massed goblins were fairly devastating and left a large conical skidmark.
Who said this game wasn't going to be fun? Let me tell you. It may be a little harder to move rocks without minecarts and wheelbarrows now, but when you get them going you can do amazing things. Carving rock blocks makes more than enough building material, so I was able to construct a good sized temple outside the entrance in just the first year. Mining ore gives you more material too, so I was able to do the interesting things which I will now describe.
I piled up all the clay I had been collecting (clay stockpiling is now fixed) and laid an iron track down the mound. I added a ramp at the bottom to make it shoot the car into the sky and on to a deceleration platform. Between the ramp and the landing pad I build an iron wall two squares tall. In the end the cart cleared the wall but just missed the platform and slammed into the side. The dwarf was a casualty, but you know that.
We are doing our best to make the minecart/hauling system as easy to use as possible. That and some other issues people had from before. I think this will be a great release. I hope you will enjoy it when it comes out soon!
Things are continuing along. A track stop can now be set to dump contents in a direction when a cart arrives. This action does not need to be powered. This includes liquid dumping. Track stops have optional low friction, so you can set contents to dump without having to restart the cart manually. There's a hang bug somewhere in the system I'd like to stamp out, and a few other random issues, but it's almost ready to go.
Note: if you expected a reward from March or earlier and haven't received it, please send me an email. I've had a few of my emails bounce back and I'd like to get these sent out!
Wheelbarrows are mostly done. Zach has been playing with it a bit, and there's a lot to clean up, but overall it is going well. Here's a small FotF response that has some more information about the last log. In addition, you'll also get multiple blocks per stone now.
Dwarves move a bit slower now carrying heavy objects, and I've started updating volume numbers. Next up wheelbarrows will be used to mitigate this early on or for people that don't want to tackle minecarts yet. They'll likely be associated to piles in some way to keep them from getting too scattered or concentrated. I've dropped skill-based mining drop rates for the time being. I'm not sure there will be other mining changes for this release. I don't yet see a way to make something like rubble or different sizes of rocks a net positive for the game, so I'm just going to stick with the larger intermittent boulders for now to keep things moving.
The May 2012 report is up. And a Future of the Fortress reply.
Stockpiles can now be set to give items to multiple stockpiles. You can also set stockpiles to give to a workshop, in which case the workshop will only use items from its piles. You can use this to set specific materials for jobs in a roundabout way, for example, until we get around to doing that properly. If a stockpile is set to distribute the same kind of objects to multiple piles, it'll try to keep the piles even. It works well for items like stone and furniture, but it's a harder problem when bins become involved.
The transcript of DF Talk #18 has been posted at the DF Talk Page. Thanks to mallocks!
I went back to bin jobs to make their item selection a little smarter and to clean out some of the idle time between haul jobs, and I'm going to do something similar with vehicle jobs next.
Finishing up some random things to make carts worthwhile. You can hook up track stops to levers to disengage them and you can also set the friction amount when you build them. Workshops can be set to give only to selected stockpiles and stockpiles can be set to only accept goods from their links (other piles/workshops/vehicles).
Projectile units and vehicles have more resistance moving through water and magma now, and they can skip across the surface of liquids. That'll leave intermittent splashes at the points of contact depending on the speed and nature of the objects. There are also splashes now when a creature or vehicle falls into a liquid. The carts currently fill up with liquid when they are in a liquid square, but the future of that depends on it being given a use through the hauling interface and having carts being empty-able so they can be reused later. We'll have to see how that plays out.
I've mostly been handling various projectile unit/item collision issues, which involves shooting carts through the air at falling critters and so on. Flying units can pass momentum to each other, and a creature on the ground can jump out of the flight path of a flying unit. I was able to bowl in the arena with a debug cart ball and aardvark pins, with various cascades and skidding. Nothing against aardvarks -- the alphabet just works against them for once. I finally got around to getting minecarts to blow through corners if they are going really fast (if there's a wall blocking the way the cart would fly off, it will stay on).
Here's Dwarf Fortress Talk #18, recorded just after the 34.06 release, where we talk about the big release and future developments: forum thread, DF Talk page with download. Threetoe appears for the first time to handle the question and answer portion.
"The Miner's head skids along the ground, bruising the muscle, jamming the skull through the brain and tearing the brain!" That happened after a minecart full of stone going ten times as fast as the dwarf collided with him and sent him flying. They'll skid on a part if they are moving fast horizontally when they hit the ground. This can end up leaving bloody skid marks intermittently as they repeatedly strike the ground. If the carts aren't going super fast and the dwarf has a space, they'll almost always dodge aside, and even if there is no space, if the cart is going slow enough, they'll just stop it. If they do get hit by a fast cart though, it'll transfer momentum according to the cart's mass and speed as well as the dwarf's, sending the dwarf along. The heaviest fast minecarts will blast through many dwarves before they are slowed significantly. The struck units move in parabolic arcs now (instead of the old fly straight then fall straight down).
I fixed up some high-speed physics problems that caused energy to be created in the carts (so they'd go faster and faster...), confirmed that the Newton's cradle from the FotF questions works, changed the adv projectile loop so that you can jump out of carts while they are flying or step out of the way if one is hurtling toward you (it still resolves arrows before you can move). I handled the save compat for minecarts -- it adds the necessary raw object and entity information to old saves now to allow you to make them. This was a little more involved than I thought it would be, and I ended up having to add the random item framework to easily insert the definition. There aren't going to be any randomly generated item types yet, and I didn't think the first one would be a save compat minecart, but the changes will smooth the way for such objects whenever we end up wanting them. Depending on how raucous my birthday ends up being, there might not be a log tomorrow. There wasn't a log yesterday because the forum crashed and I managed to screw up my FTP password in the process of fixing it.
Overall, to wrap up the hauling changes, we still have to do unit/minecart collisions, fluid/minecart interactions, some speed-related accidents, add some more support for setting up carts at stops independent of routes (for use in traps, etc.), consider a few more efficiency changes for routes/items in carts, add some more information to tool definitions to control how carts are made and stored, update mining, consider wheelbarrows, handle work animals... that's probably not everything. So there's a bit left to do, but it should be cool.
After getting dwarves to guide carts around properly (this is the most controlled option, but requires the dwarf to walk behind the cart the entire way), I turned to adventurers. You can now push off, guide, or jump in a cart while setting it in motion. It isn't very delicate with the timing, so if you are going fast you might travel a few tiles before you get a turn, at which point you can either wait and continue on your ride, or do something prudent/foolish like jumping out of the cart at the right/wrong time. We might allow for better timing when we get to the combat speed changes in the future, but this will do for now.
I set a hauler to ride a minecart to its next stop. That happened to take the dwarf down eight ramps and then up a launch ramp into an open cavern. High up in the cavern there was a wide ledge and on the ledge there was a goblin, chilling out right where I had created it. I activated the dwarf's squad, and he had just enough hang-time at the top of the flight arc to get a punch in. The goblin struck back but the dwarf jumped on to the ledge, where they continued to fight as the cart fell down into the darkness. It'll be interesting to see the new contenders for "worst dodge decision" that come out of this, before I tackle that problem, but overall the item riding system seems to be functioning. As we continue to iron out issues there, it might also let caged creatures interact more with their environment later on.
I went back and handled some random things -- tracks in ice, route/stop nicknames, etc. to avoid storing them up. Next we'll have haulers hitching rides on carts. Hopefully that code linking vehicles/projectiles and units will also set up some horrifying possibilities for collisions of carts and units, which is also coming up.
The carts seem to be grabbing and giving up bins and barrels properly now, so that's good. Watching them work has us leaning toward giving the hauler the option to hitch a ride on the cart instead of just kicking it along, so it looks like we may very well be having cart-riding dwarves screaming down ramps and spinning off into space this release after all, at least in this context.
Future of the Fortress reply. I'm still ironing out problems related to hauling items to and from minecarts. There are lots of special cases and speed issues to mull over.
I went back to my hauling routes and stops, after my early excursion into moving carts. Each stop gets a list of stockpile parameters, and the stops can be linked to stockpiles and given conditions before the vehicle is set to depart. So you could get a dwarf to send the minecart along when it becomes full or when it is at least halfway full after two weeks. I'm still finishing that off, mainly the sending along part. Depending on the track, sometimes a dwarf can just kick the cart, sometimes it'll have to be pushed all the way, and with the powered tracks and carts taking flight and triggers, the choice will probably be left up to the player rather than having the computer trying to decide.
You can have the camera follow a unit or item, either as a one time thing or as one of the function hotkeys you set up for it. It'll keep following it until you enter another mode, recenter to an announcement, manually scroll, etc. If the followed item is held by a container or by a unit, the camera will center on that.
I added track "stop" constructions, which greatly increase the friction in a square and cause (most) carts to stop (say, blocks, narrowing grooves, whatever might work). These stopping points will generally be where the hauling jobs take place. There are constructed tracks, and bridges now also act as tracks. Pressure plates can be given a weight range for being triggered by carts. I tested it out by making a retracting bridge system that sorted carts by whether or not they were loaded. I knew it was working when I started making little kerchunk sounds at the screen. There are powered "rollers" placed in strips that increase the speed of minecarts in a given direction, up to a point (more than enough to get them up a ramp, anyway). I don't have an engineering sense at all, so you can imagine the rollers to be... whatever you like. Perhaps they even make sense. Carts can also collide with each other, whether they are on the ground or in the air, and are generally one-cart-per-tile, though that can be violated where the code treats them more like general items (I doubt I'll be able to catch all of the cases, but I'll try to get the ones that matter). It will require a bit of tweaking to look good, but I did stack some carts vertically and shot a cart through the air into the middle of the stack, disrupting it, so that was fun.
I went ahead and just debug-put a cart on a track and debug-pushed it. They gain speed going down ramps, get slower going up, lose a little speed on the rest of the track, a bit more on corners, and they fly in little parabolas and crash into the ground when you set them free, either straight off a cliff or launched from a short upward ramp. I've put off updating the rest of the projectiles to have parabolic paths because I don't want to lose time dealing with adv mode targeting etc., but you may well see parabolic unit paths when creatures are unfortunate enough to take flight without wings.
Minecarts are a new tool in the raws. The minecart behavior is determined by the "TRACK_CART" tool use, so you can add your own carts called whatever made of whatever. I'm sticking with wood and metal minecarts called minecarts. Their state as a tool currently has the wooden minecart creation job in the craftsdwarf shop and all carts in the finished goods piles, but I'll likely diversify the tool raws there as well. If it's not too time-consuming to convert the whole eventual system, I'll give the 34.02-7 saves a default minecart tool as well -- as it stands they wouldn't have them.
I've started up hauling routes and vehicle assignments in order to get a cart on the tracks. That'll extend to beasts of burden traveling trackless routes (this will need hay and feeding stations or something, so the animals can eat while they are at stops). A hauling route is a series of stops with properties -- it doesn't have a notion of the actual path built in. We'll see how it plays out. Although once I've got a cart on a track I'll probably jump over to minecart physics and finish the hauling afterward, since it'll be hard to stay away from track accidents and carts hurtling through the air and stuff.
You can carve tracks in stone now. I haven't done the wooden/metal constructed tracks yet. I haven't done minecarts either, but that's next. Tracks can be carved in stone floors or stone ramps, and it keeps track of the four directions in each tile so that you can have adjacent parallel tracks or carve writing into your fort without using too many tiles. For minecarts to make sense for mining, we'll have to change how mining works, but I want to get the carts moving first. By the time we're done, we're hoping to have the mining system remain about the same for new people, so they don't have to worry about tracks to get started (this might involve default embark wheelbarrows which dwarves would automatically use), but things will be much more efficient for people that use tracks and minecarts, across various industries.
The hauling changes have begun. This afternoon there were dwarves running around with bins, bags and barrels, vacuuming up items. Seeing a single dwarf clean up a seed-ridden dining room as a single job is a beautiful thing.
The April 2012 report is up.
Released Dwarf Fortress 0.34.07
Some odds and ends:
- flux check in site finder should match with flux listing now
- fixed various broken attacks with the older animal people
- mood dwarves ask for metal bars correctly and it says "bones" instead of "body parts"
- displayed gender for some items that were showing up as duplicate entries
- gender in kill list (duplicate entries again)
- displayed medical dates correctly
- season announcement appears with correct date
- correct year will show up on announcement screen
- opposition to life now overrides peace with wildlife
- fixed some tile capitalization
- added some fish teeth
- other raw tweaks
- listed ghost/slab number/burial state in engraving selection list and stuck announced ghosts without an engraved slab on the very top
- made animated corpses that collapse still count toward putting down ghosts when buried
- stopped undead from getting werecurses -- generally made animation/ghost/acquired tags count for more in targeting
- limited number of hunting/vampire kill crafts
- stopped vampires from bragging about their kills
- husks have more information removed (pasture/pet/some job info/etc.)
- init option for labor setting based on either unit type (like it is now) or specific skills (new default)
- made dwarf immigrant equipment based on labor setting rather than unit type
- can make slabs for missing people, once missing has been announced (or after reclaim)
- fixed blank memorial names
- stopped people from dropping random crafts/weapons on edge of map again...
- people should more consistently bring axes, picks, crossbows, quivers, ammo... and not drop them
- fixed crash from sites on the edge of the map
- imported saves from 34.05 and earlier will have eggs that produce tame hatchlings (instead of semi-wild)
- fixed broken animal overall training scrolling
Starting up on things again:
- fixed crash from importing old active adventurer saves (should be fine if you just retire your adv. then import then unretire)
- stopped crash from body transformations on certain critters (werebeast thrips man, for example)
- removed negative clothing thoughts for children
- disallowed moods on dwarves that are leading animals
- fixed some mannerism pronouns
A bit busy with taxes and other things yesterday, but tonight I'll be starting in on the next set of fixes. Probably beginning with some of the newer problems now that they've piled up again.
Released Dwarf Fortress 0.34.06
Zach and I both ran some forts to see if we could catch a few more problems with the new stuff before we release. My voracious cave crawler trainer was killed by trogs, and I was fussing with some clothing issue or another, so I didn't notice. The cave crawler eventually reverted and killed half of my dwarves. I caught it in a cage trap and rehabilitated it, but the damage was done. Zach bred and trained raccoons, culminating with a battle with a blind cave ogre. He trained the second generation of raccoons while they were young, so they became fully tame without risk of reversion.
I made the behavior of hostile creatures being led more consistent, fixed a rare save corruption and added a text file color key for the site map export. We want to test a bit more, but it should be ready soon.
At least the hardware and internet problems had the decency to wait until after the big release to strike. I didn't lose anything but a bit of time, so it's all good. The mission continues tonight on a new computer.
Damaged clothing that gets thrown out in the refuse pile will rot away now. There's more to be done there as usual, with various types of objects, but I'm moving along to some spam message checks next. We should be ready to wrap up these clothing changes soon, and it'll probably be good to get another release up before I start another set of fixes.
I dealt with the ownership of discarded items today. It lapses after a time if the item is not held by the dwarf or in the dwarf's rooms. I also reintroduced clothing-based thoughts and sped up a lot of the older related code I'd been using.
Fixed up the problem where they prefer to wear two socks on one foot, rather than spreading things out, if they don't have any shoes on yet. I also tested mods a bit -- I made a hexapod dwarf in the sense of two legs, six feet (three feet per leg), and also made all the body clothing and hand clothing shaped so that it isn't supposed to layer, and the hexapod dwarves sought out the correct number of socks and shoes and didn't layer their body and hand clothing. So that all seems to be working. I fixed up a few problems with how the tool raws were being used (Quietust tips again!). For fun, to test it, I made tools available for use in the arena, so you can now set people on each other with steel boning knives and iron cauldrons.
The clothing mission continues. While I was mulling over some particulars, I went ahead and got the evil/good trees/shrubs to appear again and changed how workshop clutter works (particularly in the butcher's shop, but everywhere else as well). Quietust found some problems with metal/bone helmet artifacts, and those are fixed as well.
Future of the Fortress reply. I've got a basic new clothing claimer-putter-onner function up, and I'm just tormenting my dwarves with various debugging. Buttons to take their clothes off and stack them in a random tile, or chop off their limbs and do the same, or damage their clothing, or remove them and un-own the items, that sort of thing. I haven't tried mods yet, but theoretically a six-legged dwarf would claim six shoes properly. They'll also grab hats and gloves and coats-over-shirts etc. -- stuff they normally didn't do even back years ago when they tried to put on clothes. We'll see how it works as testing continues!
Next up I'm going to mess around with clothing a bit. There are a few obstacles to getting them to pick up clothes, and I've fixed the easy one. I stopped people with injuries from obsessing forever over unusable objects, but I want to make that better so that they don't think about them at all after one initial check. Getting it all to work together with uniforms, current inventory, injuries, available items, modded bodies and layering restrictions is always tricky, but that's the project. I'm also going to handle owned items that just sit out on the floor forever and deal with damaged clothing.
Let's see... I cleaned up some issues with the traded animals (they all appear in animal list after trade, cage labels for small animals, not being able to steal small animals). You can pick specific war/hunting animals for assignment (it's still a permanent thing, at least for now). I fixed various position activations which were buggy -- in particular, you can appoint the champion when your baron is elevated.
Let's see... finished the jobs from the last log, and messed with how the semi-wild animals lash out. When your dwarf caravan leaves, your civ now picks up a small portion of what you have learned about animal training for future forts. I think that problem where tamed animals with dwarf kills still attack you is fixed, but I have to test it, and I also have to check out animals you receive in trade. Various little tests.
The war/hunting jobs need tweaking, and I need to do the reinforcement jobs that the dwarves use to keep reverting animals from flipping out and which enhance their training levels. Almost done, and then we'll move on to the next set of old bugs, whatever they might be. Quite a few to choose from!
Got through training status, deteriorating training status and reversion to a wild state, and training assignments. Next I'll be messing with how the job works.
03/07/2012We're going to start mixing in fixes for older problems to these releases now, starting with fortress exotic animal taming. The dungeon master is gone, replaced by training knowledge at the civilization and fortress level. I put in that infrastructure this morning, with the ability to view it from the Animals screen, and next I'll be adding the training status of individual creatures and changing how training jobs work (after another crayon run!). Right from the beginning, you'll be able to attempt to tame any critter you capture that is eligible (those with PET/PET_EXOTIC, i.e. most stuff). The trick will be that if you go out of your civilization's comfort zone, your fort might end up like a Fatal Attractions episode.
Attempts to tame/train creatures will add to your site's training knowledge of that creature, which augments future training of all creatures of that type. Civilization/fortress knowledge will help somewhat even if you don't have a skilled trainer around. For rare happenings like dragon taming for which there is no general knowledge, you'll want to have somebody decent at the job, though I suppose you could practice with any spare dwarves you have to build your knowledge base a bit, he he he.
03/06/2012The necromancer crash was coming up so often in crash reports that I figured now was a good time for another release. Here it is! Note that any old vanilla saves you move over will have a short error log on load for their broken eyelid raws. This isn't a big deal, and you can either update the body detail plan file or just leave it. New saves won't have this problem.
Released Dwarf Fortress 0.34.05
This morning's fixes before we go off on another crayon drawin' journey.
- adv sleep shouldn't put you on roofs or outside of towers now (underground is a different case)
- removed items from abandoned buildings
- dwarves no longer have relative/etc. death thoughts until body is found
- dwarves do not have relative/etc. decay thoughts unless body has been found at the time
- fixed a reasonably rare trader crash
- stopped ghosts from maintaining secret identities
- made untowered necromancer zombie pops transfer to camps correctly and changed their bandit behavior slightly
- tweaked appearance of nearly empty sleep bar
Checked out several more crashing saves -- all seems to be coming back to that one necromancer bug, so the next version will clean up a lot of fort mode crashes. Did another grab bag of newer bugs while I was at it:
- made it try to put adv mode purchases in backpack/quiver first depending on type
- stopped zombie cats from adopting dwarves
- cleaned various syndromes from ghosts when they arise
- stopped animation of bogeymen (in new worlds at least)
- stopped various new non-threatening creatures from being threatening
- cleaned up weird names for butchered remains (like naming all bones "left floating rib bone")
- can now page through list of targets when using powers
- fixed companion list paging
- stopped vampires from pinning their crimes on babies and children
I fixed a crash bug related to necromancers reraising corpses in fort mode -- it required a wide-ranging rewrite of some old job/movement code, so there could be a few new issues now, but the game'll be better off in the long run, and the crash is fixed. I also sped up some temperature code and fixed several minor issues (broken eyelids, description/color typos).
I decided to spend a lot of the day on email to avoid being completely buried. I handled 115, and there are 185 left. A few more hours of email, and then I'll start the fixes tonight.
The Bay 12 Report for this month is up.
There was a world gen crash if you exported an image after it was done running the history and then tried to offload the world.
Released Dwarf Fortress 0.34.04
Here is the second set of fixes for the major release. There are still enough problems with the new stuff to warrant continued work there before I move on to older issues, and the next release will probably be within the timeframe of the last two.
Released Dwarf Fortress 0.34.03
I sped up the loading of certain areas in adv mode, although it'll still be slow sometimes without a larger rewrite. I fixed some of the odd spacing in TrueType mode strings, although I have to do that screen by screen so it'll be an ongoing process (this is different from fixing screens to support dimensions larger than 80x25 -- that's another project I'll be hitting sometime during this overall cycle). I've also incorporated Baughn's SDL fixes for the upcoming release, listed below:
- Turning on playback while recording macros would record the previously recorded keys again
- TrueType text would not be properly overwritten in some circumstances in adventure mode
- Crash when rendering too-long TrueType strings
- Fixed some minor memory leaks
- Minor stability improvements
I fixed a crash from historical figure culling and cut down on historical figure death, especially by starvation. Messed with the world gen quest rate. I'm going to look at the lag spike/freeze from having a concentration of historical figures in one part of a town next.
- set labor list for migrants by default (can turn off in d_init)
- added a tab for other stones in stone list and made stones with a reaction product class list as economic in stone list
- stopped undisguised vampires from coming to fort (not monarch/monarch's group)
- sterilized zombies and mummies
- indicated forbidden workshops in q/t
- made forbid/etc. from stocks screen not effect items used for buildings when applied to an entire group
- made ramp name indicate unusability
- can get objects out of adv mode cabinets/etc.
Some fixes to start the day -- then crayon drawings!
- stopped reraised corpses from bleeding to death
- stopped reraised corpses from maintaining some old allegiances
- fixed up some of the ugly zombie names, especially for reraised ones
- stopped ghosts and important families from migrating to fort
- removed stale active soldier information from migrants
Still working on world gen. Made it a little faster, nothing spectacular (200 medium years in 10 minutes). There's more I can do there, in bits and pieces, but I'll probably go back to regular new bugs now for a bit, and then we can do another release.
I started in on world gen today. It's still pretty slow, but they'll generally finish and in better shape now, and I'm continuing to work on speed and to investigate oddities tonight. I also fixed some more affiliation and migration errors that were causing all sorts of weird things to happen, especially after some hundreds of years, and I corrected a problem with the age name calculation (populations were miscounted -- there is still a very minor problem there, overcounting by say one in a thousand, but I might have to leave it for later since it is messy to fix).
- dwarves train on archery targets again
- made vampire cults follow tyrant vampires properly
- applied attribute change syndrome size modifiers properly
- changed treasure room quality/item types
- vampire nicknames, profession, position name changes work
- vampires won't try to pin crimes on animals
- fixed some interaction misspellings
- cleaned up gizzard/stomach template
The ongoing process. I'm still thinking about the best way to handle overall world gen clunkiness. Here are today's fixes for the upcoming release:
- stopped criminal leaders from erroneously moving with regular migrants and gaining regular site membership
- stopped world gen bandit groups from being duplicated when bandits move under towns
- fixed a few problems with vampire allegiances
- changed which civilized critters will move to which trade partner sites in world gen
- allowed certain goblin towns to grow in population beyond a few hundred
- fixed bug with snatcher number in world gen
- revisited mouse/keyboard designation problem
- stopped designations on the bottom of some maps from revealing parts of the map
- unobscured unit list option from dwarf main menu
- stopped kea from acting clumpy when stealing items
- fixed horseshoe crab people
We drew up some crayon rewards and I'm trying to stay on top of email, but I'm currently losing that fight, he he he. I didn't spend much time on bugs today, but a lot of the embark crashes and adamantine spires and weirdness should be fixed for next time (thanks to Lightning4 for spotting the bad data files).
The first bugfix release has arrived. Unfortunately, you'll have to restart -- even if your save seems fine, it's likely that it is dying a slow death due to corrupted buildings. Hopefully a compatibility break won't be necessary again for a while. There are still many new issues to resolve, and I'll be focusing on those for the next bugfix release(s) before we start to transition over to older bugs. Most of the changes are in the last few dev entries below, and Baughn also added a few convenient features to the SDL version (repeatable commands and TrueType toggle -- see release_notes.txt for instructions).
Released Dwarf Fortress 0.34.02
There's a fairly nasty save corrupting bug, so I'm going to put up a new version early tomorrow morning. Here are today's fixes:
- fixed save corruption/crashing from old forts
- made dwarves with cancelled jobs stop walking to their destination
- made removing designations cancel active jobs again
- fixed a mouse problem with designations
- stopped books from being duplicated in adv inventory
- stopped companions from becoming hungry and thirsty during travel
- stopped worshippers of certain beings from mentioning it
- stopped glazed items from having cabochon shapes in the glaze
- made arena generate some interaction effects for placement on creatures
- fixed various grammar/raw/manual problems
I hope you're enjoying the release! Started the bugfixing today. The list below is skewed toward some odd things because I fixed all the bugs that Quietust has been patching (many thanks there), in addition to fixing some crashes, the giant mosquito epidemic, and correcting ambush frequencies back to around where they were before.
- fixed crash that happened during conversation greetings
- fixed crash from werewolves in worlds where a world gen had been aborted
- fixed ambush frequency in adv mode
- fixed overabundant giant mosquitoes
- made wagons appear again
- sped up adv conversation greetings in larger/longer-history worlds
- stopped weird job cancellation numbers for bars/cloth/thread
- made magma/fire safe building materials work properly
- doors/floodgates display properly after being placed
- stopped lye making from using full water buckets
- made forge jobs use bar amounts properly
- made obsidian appear properly in the stone restriction list
- made automated fisher/kitchen/etc. settings display properly
Here's the release we've been working on for nearly eleven months. I've tried to collect the major changes below, but it won't be a complete list. I hope you enjoy the game!
- cities in adventure mode that have various buildings, dungeons, items, livestock, etc.
- protect your community from secret vampire dwarves or hunt them as an adventurer
- defend your fort during the full moon or risk a werewolf infestion -- hunt/be hunted as an adventurer
- face armies of the dead in dwarf mode or visit their necromancers' towers and learn their secrets as an adventurer
- evil regions where the dead and pieces of the dead can come alive, with evil mists and rain
- tombs built in world gen which can be visited in adv mode, either beneath towns or out in the wilds -- beware the dead!
- revamped justice/witness/death notification system in dwarf mode
- immigrants to your fortress will now be historical figures whenever possible, which means more family relationships and history for each one
- dropped items/bodies tracked between plays in the wilderness anywhere in the world
- more battlefield information tracked/war dead raisable in world gen
- all sponsorship animals and their giant/man versions are in the game now
- various new abilities for creatures (see file_changes.txt for list and syntax)
- adventurers can use creature abilities/learned powers and they can be tested from the arena
- new site travel map to make navigating towns easier
- reading/swimming/observer (for traps) relevant in adv mode now
- established historical figures can lead bandits
- rivers block movement in adv mode travel
- eating/drinking required in adv mode
- ingested syndromes are now possible
- ability to make campfire (from 'g') and warm items at campfire/fire/magma (from 'I') in adv mode
- traps work in adv mode, once spotted they can be ignored
- gems now have different cuts
- necromancers can write books about various topics (all books are in their towers as it stands)
- moon phase indicator in fort
- alphanumeric world gen seeds and some more world gen params (see file_changes.txt)
- the legends xml has a lot of new info for historical figures
Major bug fixes
- buffer overload from aborted world gen fixed
- fixed cave-in-on-embark issue with hidden underground structure, and a few others
Other bug fixes/tweaks
- designations over z levels all at once now possible
- unit screen divided into four sections
- rivers/pools have ramps now
- able to trade portions of stacks in both modes
- messed with adv mode currency trading and made items teleport to you
- tweaked how fire damage works
- made vision work through floor grates and bars properly
- fixed some road/bridge problems
- crystal glass items possible again
- tweaked adventure mode swimming and alt-movement readout (use alt-movement to get into a river you want to cross)
- skeletons/zombies replaced by animation effect
- demons masquerading as gods will try a little harder
- restricted mandates so they'll be more reasonable
- stopped blank map from being exported when you back out of detailed map export
Released Dwarf Fortress 0.34.01
To deal with the frozen water situation in adv mode, there's something of a hack now that lets you just make a campfire without any fuel, and the warmth from the fire allows you to melt ice and snow, after a fashion. It's good enough for now to prevent dehydration. I also sped up the melting of river ice in dwarf mode.
Cleaned up some inconsistencies between player and AI targeting of interactions, messed around with executions and market chatter. Few more things left to do before we are ready for you all to try it out. As many of you know, there will be various issues that we didn't find, and there will be several subsequent releases in short order to clean it up. It's always a bit rocky, and amusing, but we'll end up in a good place before long.
Couple more down, having to do with historical figure housing and equipment.
Fixed another problem where roads were being marked as subterranean, diversified the markets a bit and handled empty stalls, fixed a problem with food placement in houses, made swimmers able to move up and out of rivers without using the alt key, tweaked the trade amount chooser... and somehow that got us to seven. Scamps is still enjoying his toy, although now he'll sometimes sit and stare calmly at it, as if trying to devise a way to remove the ball from the track without all the excitement.
Scamps turned three today! We got him a toy with a ball that is trapped in a circular track which winds around a scratching platform, so he can sit on the platform and bat the ball in circles over and over. He has had an intense and fun time with it so far.
Historical figure corpses animated by necromancers in world gen get their names displayed properly, fixed a problem where rulers were being double entombed, stopped destroyed bodies in world gen from being "buried", made it stop ignoring restrictions on gender/caste for entity positions for people elevated from entity populations, added pictures for some sites on the zoomed in travel maps, fixed up the site image export for the SDL version... and the growing/shrinking list still manages to maintain itself at ten issues. At least none of them are as involved, and I'm still well on schedule for this month.
Let's see... fixed that item problem from last time, messed around with abandoned shops, fixed a problem with the kill paragraphs. Whittling away at it.
The SDL TrueType fixes are working well so far. I noticed the item placements reproducing differently between dwarf and adventure mode on one map, and I'm still trying to figure that out.
Continuing on with map maintenance, this time handling building changes and fixing how the historical figure placement was screwing up the placement of treasure underground. I think I'm going to incorporate Baughn's SDL changes tonight. There are a few more maintenance tests and ten or so assorted bugs after that.
Today I dealt with one of the last map maintenance problems, which was dealing with how it stored art work and item improvements, since it used to reserve spots on the disk for those early in the generation process (which isn't good if you want to regenerate items, since it would make a new reservation each time it makes the item if it doesn't know it already has one). I think I've done what's necessary to keep that from being broken.
Fixed an issue where kobolds would ambush with non-kobolds (although there could be other buggy ways this happens for all I know), historical migrant families bring critters like the non-historical ones do, some quest critters that could not be located in their lairs were restored, and an indexing error from slime rain that was messing up werewolves has been fixed. The ongoing mission.
I fixed a problem with the justice screen (it was showing crimes from older forts...). I also moved cold cases to a separate tab so there wouldn't be as much clutter. Fixed a problem with sleeping until dawn and tried to figure out why certain animated corpses are still managing to bleed to death.
Here is this month's Bay 12 Report.
The squid/octo ink clouds and cuttlefish sepia ink clouds and a new hide effect finish off the work on sponsorship creatures, at least for this release. We'll add more critter properties in the future as it comes up. We've got crayon art to draw tomorrow, and the usual month endiness.
In order to finish off my gastrolith obligation, a great gizzardification has occurred. Yummy and filled with rocks. Generally, a body part can be assigned any number of extra items in the creature definition to drop upon being butchered. Various animals root around in the dirt and eat bugs for your viewing pleasure. One more day with this stuff and I shouldn't have to mention the sponsorship stuff again before the release.
More sponsorship tests -- retracted into my giant tortoise shell and let a tapir kick at me for a while and various other silliness. Fixed another crash bug that Zach found when he was being attacked by his animated refuse stockpile. More generally, he's got an issue list that is growing while I chip away at it. It's a process.
ThreeToe here. While Toady One is busy putting on the final touches for the next release, I thought I'd give you some details and impressions I've had while testing it.
Adventure mode is about 100,000x as fun. Huge cities with dungeons filled with loot and ancient pyramids crawling with undead. The new city maps are just awesome, and the fact that you have to eat and drink now really adds to the feeling of going on long journeys.
Dwarf mode is enriched as well. Most of the migrants you get now are historical figures, meaning they have their own skills and family lineage that goes back to the dawn of time. One thing I like doing is turning all the new rangers into marks-dwarves because they are already good at it. Another thing I noticed, but I hesitate to promise anything, is that the game runs way faster than before.
I caught a vampire too. A fisher-dwarf accused the expedition leader, who I knew was innocent of course. So I had my sheriff drag the fisher-dwarf to the dungeon. I had no hammer, so he had to wait to be executed while we forged one. After 50 hammer strikes I knew I was right, because he lived.
I think this release will be numbered among the mighty. And it's coming right around the corner.
Just bouncing around the pile of remaining stuff. Added missing MUNDANE/FLIER tags, tested out and cleaned up some of the new animal abilities I put in a while ago.
The zoomed-in site maps had screwed up travel times a bit, so I adjusted that. I fixed a problem where the soldiers had become difficult to get into your party because of their high skills... conversation skills. It's odd when a high flattery skill leads to somebody talking down to you. Cleaned up some problems with furniture and coins being doubled by the map maintenance stuff, and that generally happening in the bandit camps.
Lots of drop the spear, come back, get the spear today. And drop the backpack, leave, come back, see if there are still objects contained inside. You can now place a dagger, say, out in the woods far from any site and find it later on. Your adventurers that get jumped out in the wilderness will also have findable remains/objects that you can go grab in your next game or embark upon with your dwarves.
I visited a tomb today as the adventurer Cadem Renownletter to see how well the game retains the position of skeletons and treasures as I move them around. During the process, a mummy boxed me in the ribs, broke my finger, bit my hand and shook it around until the hand came off. The mummy then animated the hand and they both attacked me. The hand scored the killing scratch, earning the name "Drippedsieged, Cadem Renownletter's left hand" and earning the tomb an additional defender against further testing. Its middle finger is still broken.
After fixing that crash bug I mentioned, I started up map maintenance today. The basic idea is that the cities have far too many objects to just dump everything on the disk quickly/compactly, so it has to regenerate them when you revisit a site and then try to patch things up based on what you did before. This works nicely enough when there are few changes, but as we do more and more to cities in play, we'll have to adapt this process as needed. It makes the game more sensitive to the random number seeds as well (in my first bugged test, I walked off with an amulet, and when I went back to town, instead of the amulet not being in the town, some random rat weed in the market ended up not being there because it wasn't regenerating the town 100% consistently), but them's the breaks. There's still various debris left from optimization and the sponsorship critters, and there's time left to spend on that, but this is the last part that really needs an effort to finish this release off.
Future of the Fortress today, in two parts. There were lots and lots of questions: 01/21/12 Part 1 and 01/21/12 Part 2.
A little world gen speed, and the preference strings are in. I'm currently working through a crash bug that Zach found which only happens in the release compile. Those usually only come from a few kinds of errors, but it's time-consuming to narrow it down.
Zach and I shoveled snow today. There were also six brown recluse spider men set upon a giant elephant seal. The pain and rot had final victory, though many animal people had to be crushed for it to happen. Various other envenomations occurred. I'm down to dwarf-thought preference strings and coloration issues now to finalize the raw text.
I guess it'll be another day or two of wombats and giant storks and octopus men fighting each other in the arena to work out the kinks.
I went over the animals again to get the giant/person versions in place. It was reasonably mind-numbing, but much of the time I was giggling at the new critters that are going to be running around, so it's all good. One more pass and the new sponsorship raws will be complete.
I did a first pass on all of the remaining sponsorship animals today. Since it is impossible to add new abilities for all of them in a timely fashion, and we've just rolled passed the one year anniversary, I'm just going to release them in basic form (with giant and person versions) to satisfy the basic inclusion requirement, and then work with them from there in subsequent releases. I need to go back over all the new animals again before the release, and clean up a few problems with the new features added for them before (e.g. ostrich gastroliths).
I messed around with world gen speeds today, since the extra types of furniture items/etc. produced in towns caused the overall world gen process to gum up a bit more.
While I continue to mull over map maintenance on paper, I undertook some general optimization today, enough to make walking around in adventure mode stomachable again, and it'll also improve the speed of dwarf mode, though I didn't think to collect any numbers this time since adventure mode was starting from such a bad place. The bulk of it had to do with containers/temperature, and I managed to squeeze a bit more out of looking around in adventure mode, but I hit stuff all over the place. There's still a large change that'll need to be made in how items are stored, since all of the auxiliary indexing structures that keep dwarf mode playable get hammered as you move around in item-heavy towns in adventure mode. Artwork generation has also become slow. Targeting too, in all modes, something to do with the werewolf/necromancer checks.
I finished up the quest issues. The quest log reacts a little better to the new maps and building locations, and conversations will give you more location information about critters you are seeking out, especially vampires that are hiding off wherever in town. It could afford more improvements, but it should be enough to find them for now.
I fixed up a few problems with migrant birthdays, added the ability to export the graphical city maps I've been putting on the log over the months from the legends mode site list, and tweaked river/road crossings. Next up is a crayon art session, followed tonight by the final miscellaneous issue (making outcast item placement underground a bit better). That'll leave us with the last two quest issues, map maintenance, optimization, sponsorship critters, and the SDL fixes, and the same January-February release estimate mentioned in the January 1st report.
I fixed a variety of broken temple catacombs entrances and river ramps that didn't work at sea level, which gets us down to a handful of miscellaneous issues (four). It's sort of a half day, because as you might have guessed from Liberal Crime Squad, we feel compelled to witness certain political events in full.
After fixing a broken sewer flow, I went back and looked at historical migrants some more. Up until now, it had just been sending in some fixed percentage of the families using historical families when possible. Now it looks at the overall number of historical figures and their professions and will try to get you a good historical family whenever it can. I created a small world with a 150 year history, and there were 2300 and 1700 eligible historical figures in the two dwarf civs, so it had no trouble finding me enough migrants with appropriate professions. One of the nice things about that is that the relationship pages start out with plenty of family members scattered around the world (6 pages for one of the dwarves!), and sometimes their family members will come to live at your fort later on. In my first test, a historical woodworker and her husband moved to the fort, and the next season, her thresher brother and his wife arrived. Another dwarf couple came with their four historical children, though that seems to be pretty rare overall. You might get more child immigrants in the youngest worlds before the population starts to level out. It lists nieces and nephews on the relationship page now.
The starting seven dwarves seem a little thin now that they don't fit into the world as much as the other dwarves you'll have arriving, but we'll have to wait a bit longer for possible solutions for that to be explored (start scenarios, the potential for historical figures to be used, etc.).
I found a few more cave-in-on-embarks, based on the aquifer vs. magma and badly carved pits, and those are fixed. I also corrected some issues with how you and your buddies are placed when leaving travel (to avoid inconvenient strandings). The last world I tested had a vampire that managed to get abducted by a gloom troll and turned into a "spouse of the gloom troll vampire", which isn't exactly the best way to say it.
More random issues today. I put iron back into the weapon stockpile menu were it was erroneously excluded, corrected manual typos, checked out how books/pages interact with reactions, tested all of the interactions in the interaction example folder, and forced world gen to check out farming races more closely so there'd be fewer worlds generated with starving dwarves (due to a lack of underground plants at their starting location).
I'm moving into a part of the miscellaneous issues list where the really random stuff from the last nine months has piled up (via email conversations, future of the fortress etc.). So today I fixed an issue with projectiles not moving when you become an adventurer in the arena mode, fixed a rare forgotten beast crash which has undoubtedly scuttled various fortresses in the currently released version, made the legacy mouse work again, and added quite a lot of information to the historical figure XML dump.
The first cavern layer broke out again, and I put it back again. I turned off material-based mandates for the time being. Checked non-historical zombie kill records, river elevations again, sorted out an issue with how the underworld loads... down to 20 miscellaneous issues.
The fisherdwarf got caught up in an eerie gloom and turned into a cursed bloodless husk that attacked his old buddies and pets. That variety of weather only takes up a slowly moving area about 40 tiles across. The troubling rain is harder to avoid but can only have mild poisonous effects. Of course, these things happen exclusively in bad, bad places, so you can avoid this sort of problem by just not embarking in the hell-on-earth spots. Carrying on with other miscellaneous issues next.
A few miscellaneous interface checks, and then back to the regional material emissions... and I still didn't manage to polish it off. Some changes are needed. For instance, I initially thought it would be enough to make the regions that rain blood draw from the civilized races, but then we ended up with regions that rain rodent man blood, which isn't as good as raining human or dwarven blood. Of course, you might prefer raining "blood", but we don't have generic blood anymore and I don't think it's proper to add it now that we've got real alternatives, though perhaps a slurry of some kind would be appropriate later. It didn't even work out right with the rodent man blood -- the indexing was screwed up, and we ended up with "a dusting of rodent man skin"... dandruff snow. Less Slayer and more Breakfast Club than we wanted, but at least I sorted that part out.
I did three of the quest issues from the report, sorting out necromancer and outcast quest dialogs and some other typoish stuff. I also set up some regional material emission stuff which involved adding randomly generated materials. I always thought the first creature-independent randomly generated materials would be random metals down underground, but it turns out that it's various types of cursed mists instead. My first test took place in the Fields of Doom, and the buggy mist caught the wagon on fire and melted all the badgers. I still need to clean that up, but the random materials are most of the way there, and the framework lets things like random stone/metals go in for free later.
The January 2012 report is up. Happy New Year!
Dwarf Fortress started October 2002, this log was started around the same time as the "back to the dwarf game" thread.