Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: A tentative suggestion about generating NPC forts from player-submitted ones  (Read 1318 times)

NJW2000

  • Bay Watcher
  • You know me. What do I know?
    • View Profile

Disclaimer: I have no idea if this is even possible or not. This suggestion has been made by someone with no knowledge of programming.


Right, now that's out the way, here's the gist:
 - The community submits a bunch of awesome fortresses to Toady.
 - Either these forts themselves would be used for world-gen forts,
 - Or from these forts, some sort of set of rules would be created, and these rules would be followed to make fortresses in world-gen
           - This could be as simple as individual rooms being identified, furniture generalised (statues couldn't stay exactly the same), and then the rooms being pasted together to make interesting forts. This is already done in-game, but with workshop rooms, bedrooms, stockpiles, etc.
           - It could be more complex, with larger player-made structures such as artificial caves, moats, massive mine shafts, engineering projects, etc being identified.
           - Or even (and this suggestion will likely make programmers cringe, as I have little to no idea what I'm talking about) some form of machine learning could be used, where a program tries to work out the rules behind player-made forts and creates entirely new rooms and structures based on them. A bit like deep learning, maybe? Where we get something that produces the human touch (or rather dorven touch) to make totally new forts we nonetheless feel were made by a very crazy person? Could a program even do this kind of thing?


Reasoning:
 - World gen forts are rubbish in adventure mode. I've never reclaimed one, but I don't imagine it's an incredible experience either.
 - Even if more features were added, they're still something it'd be hard for Toady to get right. Whatever character he gave the dwarven fortresses, it'd always feel like they had something lacking. Especially compared to the wonders a player can produce.
 - Have you seen the awesome stuff people have created? Archcrystal? Silentthunders? Lethalshade's Cathedral of Armok? The list goes on forever!
 - This would add a lot of variety, and would make adventure mode fortresses much more interesting. At the moment, I only encounter them when I want to go underground (a bad idea) or am trying to escape from them after starting there.

Other stuff:
 - I'm not sure if this should just be for mountain forts, or for hillocks generally, or all types of settlement even.
 - Procedurally generated races: this suggestion might not fit in, but I don't know if the site types are going to change or not. Also, there'll still be the option to have vanilla dwarves.


So what do you think? Would any of these ideas be good/rubbish/impossible/anything else?
Logged
One wheel short of a wagon

FantasticDorf

  • Bay Watcher
    • View Profile

Well it'd have a few structural issues in that it would need to be completely gutted & cleaned post or prior being forwarded to toady, all in for a competition or regular thread thing in order to pick out new location variants.

> You need a living fortress of dwarves to make a fortress, so many of the rooms required would actually have to be removed besides housing etc. All the stockpiles with all the items would have to be removed.
Logged

Shonai_Dweller

  • Bay Watcher
    • View Profile

Random thoughts:
1) Using fortresses as they are and impementing a way to have them adapt to the landscape seems like a lot of effort with no real gains made from the point of view of pushing procedural generation. Yes human-made fortresses are more interesting, but with them, DF is no longer a project about creating a unique world for every single player.

2) However, a system to have pre-made structures adapt to the landscape would be a great feature for the planned world editor (why rebuild Minis Tirith from scratch just because you're not happy with Middle Earth's coastline?). People could share their structures with each other, which would be nice.

3) If you could build an engine that can input player fortresses and come up with better npc fortress designs that would be awesome. They'd still be a random mess and not the geometric wonders that players create, but they might be more interesting messes than we have now. But, would that be any easier/interesting to code than simply reading more architecture books and improving the current algorithms for creating sites? Possibly not.
« Last Edit: May 27, 2017, 05:28:02 pm by Shonai_Dweller »
Logged

FantasticDorf

  • Bay Watcher
    • View Profile

Just thinking about it, a map creation tool "sandbox dev tool" or something to abstractly build off a map would be useful.

So say, either preload up a existing map site or a blank one set to a randomly generated terrain embarkation biome/flat and build away in Armok sandbox mode.

You could probably save it with the arena tools or using some kind of hybrid arena interface that lets you put down objects, floors and walls as well as the behind the scenes marking points like what designates a room. Just so people can practice making forts, or save them to the DF file in order to show them off.

Quote
> Import your current player fortress into editor mode to show it off without actually having to play a imported fortress mode save.

> If you find discrepencies with the worldgen/fortress its a easy way to show off maps to the bug editor without Mantis staff having to deal with in-game conditions

> Players can make their own map content/variants for sites, selectable in raws, select the variants too.

> Possibly using third party tool options players could insert their list of maps onto the world-map as a ruin site belonging to nobody & reclaim it, or add it to a list of ruin sites that randomly generate in the world.

> Make your own dungeons, shrines, villages and lairs.
« Last Edit: May 28, 2017, 07:42:47 am by FantasticDorf »
Logged

Lord_lemonpie

  • Bay Watcher
  • disco-froggin' since 2013
    • View Profile

Quote
- Or even (and this suggestion will likely make programmers cringe, as I have little to no idea what I'm talking about) some form of machine learning could be used, where a program tries to work out the rules behind player-made forts and creates entirely new rooms and structures based on them. A bit like deep learning, maybe? Where we get something that produces the human touch (or rather dorven touch) to make totally new forts we nonetheless feel were made by a very crazy person? Could a program even do this kind of thing?
I think specialized deep learning should theoretically be able to do this, provided there's enough source material to learn from (talking maybe even hudreds of forts). It would certainly be an interesting experiment and a cool addition to the game, but I doubt Toady has enough experience with deep learning to realize it.

It would also take very long to get the experiment running. Months, if not years because he works by himself. It would probably be something revolutionary in the gaming industry, and I know Toady doesn't avoid this at all, but I don't think he'll do it. So much work for such a small payoff game-wise.
Logged

Arthropleura

  • Bay Watcher
  • Elven Historian
    • View Profile

Gotta agree with lemonpie. Honestly would not be worth the effort. What would be much easier is just taking a look at player forts and reworking worldgen forts based on that.
Logged
We are currently three turns in, and the main hall is coated in blood, intestines and random corpses. There's a huge pile of 3000 items made of human body parts in a corner and remaining members of the staff of the museum are, as I type this, being slowly choked to death by one of our adventurers.

Bumber

  • Bay Watcher
  • REMOVE KOBOLD
    • View Profile

You might end up with immersion-breaking stuff like dwarven computers.

I accidentally got carried away and wrote a short story.
Logged
Reading his name would trigger it. Thinking of him would trigger it. No other circumstances would trigger it- it was strictly related to the concept of Bill Clinton entering the conscious mind.

THE xTROLL FUR SOCKx RUSE WAS A........... DISTACTION        the carp HAVE the wagon

A wizard has turned you into a wagon. This was inevitable (Y/y)?

NJW2000

  • Bay Watcher
  • You know me. What do I know?
    • View Profile
Logged
One wheel short of a wagon

NW_Kohaku

  • Bay Watcher
  • [ETHIC:SCIENCE_FOR_FUN: REQUIRED]
    • View Profile

I put together a suggestion on raw-editable sites (as well as "landmarks") a few years ago.  If there's going to be any sort of crowdsourced manner of NPC fort production, then getting players to actually fiddle directly with the algorithms of the procedural generation makes far more sense. 

I asked Toady a question about it, and he responded (I have no idea where to find it for reference, though...) and he'd said that he's interested in pushing the procedural site generation off into the raws "eventually", but that he "wants to get a better sense of what he needs before he makes the raw format for it".  This was back when the new dwarf forts didn't exist, and dwarves just sat out in a field, IIRC.

In any event, the problem with procedural generation is that it's only as capable of being interesting as it has significantly different outcomes (I.E. avoids "grey goo"), and that means you need to have extremely complex algorithms to get players to keep stumbling onto things meaningfully different from what they've seen before. 

It's towards that end that I suggested things like "landmarks", where you can very rarely run across some strange formations (which may be magical artifacts, or may just be old ruins or a strange "natural" formation) such as a landbridge, an underground ruin of a fallen civilization, or an obelisk.  Provided you allow for careful ways to set up how they are integrated into the environment (I.E. no obelisks that partly hang over a cliff, which means only allowing it to spawn in terrain that can be "leveled" without too much deformation) you can make it spawn in and be a curiosity to any player that finds it.  If they were only selected rarely, and players could contribute to a massive library of rarely drawn landmarks, you could wind up with unique locations that players might never exhaust dotting their landscape. 

So far as actual fortresses go, however, I don't think I want to see NPC fortresses look like player fortresses.  Keep in mind, there are some extremely contrasting philosophies regarding fortress design, and monument builders or players that build geometrically-shaped forts or even high-efficiency stacked forts are going to be wildly different from dwarfputer fortresses, which are different from basic "central staircase" forts, and it will only confuse any sort of algorithm as to what its goals should be.  Again, I think it better to just raw-ify, and allow for modding to functionally crowdsource the algorithms so that players can compound the complexity of the algorithms, and make more interesting forts.  The basic problem is that forts now are just randomly meandering halls with 2x2 rooms pockmarking it; they lack a coherent sense, and are therefore easy to get lost within.  You just need to change the algorithm to be a more recognizable pattern.  (The Romans, famously, built all their forts to the same layout so that soldiers could find specific buildings even when setting foot in a new fort for the first time.)  If the procedural generation algorithm were built to have a "wagon wheel" or "spider web" layout, with an arcing ring and "spokes" that lead to a center, navigation would be vastly easier.  If different areas of the fortress were laid out to have specific clear purposes, it would be easier to navigate, and be somewhat more interesting, or at the very least, be clear how to avoid the boring parts.  (I.E. In my forts, I tend to segregate out functions by direction.  The center has the dining hall, food warehouse, and other areas all dwarves need visit.  One wing (say, west) would have agriculture and cooking, another (say, south) would have stone and metalworking, while another (say, east) would have the main entrance and military, while another would have my special projects like dwarfputers.  Dwarves are housed in pods between workplace and dining hall.)  To a degree, this is already what the game tries to do with its town maps showing where the shops are, it just needs to be more logically partitioned, rather than having the staircases be a meandering labyrinth, and that requires rewriting the algorithms, not just feeding in more raw data.
« Last Edit: June 11, 2017, 01:28:59 am by NW_Kohaku »
Logged
Personally, I like [DF] because after climbing the damned learning cliff, I'm too elitist to consider not liking it.
"And no Frankenstein-esque body part stitching?"
"Not yet"

Improved Farming
Class Warfare