Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 ... 295 296 [297] 298 299 ... 407

Author Topic: Future of the Fortress  (Read 3135598 times)

PatrikLundell

  • Bay Watcher
    • View Profile
Re: Future of the Fortress
« Reply #4440 on: March 02, 2022, 02:37:55 am »

Python an Lua are both script languages, which means they can be used to write plugin scripts. I don't think they're particularly good for defining data, though (although Lua is better than C in that regard, which doesn't say much).

The RAW format, in contrast is data only, for which there are things like XML and JSON (with XML having Schemas, i.e. a way to define what the legal format of the data looks like, and thus a way to automatically verify that the data provided actually matches the format, as well as generation of code to parse the data [but you'd still have to "translate" that into the program's internal data representation manually]).

The nutjob who created JSON threw out the baby with the bath water when removing the support for comments in a rage fit over someone "abusing" comments for processing directives, according to the explanation I've heard, so comments are out, unless you disguise them as data...

DFHack defines the DF structures using XML and supports scripts written in Lua (the script most frequently used. There's additional support). I don't know whether those choices would be the same today, however.

Note that none of the above should be seen as recommendations. There may very well be more suitable candidates for both scripting and data definition, but you should use something suitable for your purpose, not something that's widely use for other purposes.
Logged

Mr Crabman

  • Bay Watcher
  • A person with the head and pincers of a crab.
    • View Profile
Re: Future of the Fortress
« Reply #4441 on: March 02, 2022, 06:09:32 am »

Old installed mods should stay around at least - it unzips them into their own folder, which doesn't conflict with other installed versions, and I don't think Steam erases those since it isn't linked to their database.  So there's one buffer anyway, though it wouldn't help if you had to reinstall the game or use another computer.  Of course keeping the old installed mods also leads to a garbage pileup issue, since mostly you'll just want newer (compatible) mods.  Not sure what to do about that yet.

Ah, that's good to hear.

How does the idea of grouping different versions of a single mod inside the same folder sound for helping with this issue? And under the same "slot" in the ingame list, with a list of which versions you have alongside the description stuff (maybe a dropdown menu where the version number is displayed). This would at least somewhat neaten the mod folder and ingame modloader (so the garbage buildup would just be about disc space rather than clutter), unless this is how it already works?

For preventing garbage pileup/disc space problems, a "clean up unused mod versions" button seems like it would do the trick.

2. Legends, more seasonal stuff, caverns, battles...  and there's more coming, ha ha.  This has been going quite well.

Ah cool; hope the old track won't be neglected though if Legends has something else...

If they don't have graphics and mouse support, they won't be in the Premium release.

Could the current/old versions be enabled through some out-of-the-way config option somewhere, maybe even requiring editing a text file instead of just toggling something in the menu? At least the Object Testing Arena, because it's quite handy for... Object testing. Trying to update mods for the new graphics functionality (or trying to make new mods entirely) for the Premium version would go somewhat slower and more painfully if there is no way to instantly test things on the Premium version, and if the concern is exposing unwitting new players to an unpolished and difficult to use menu, requiring out-of-the-way configuration to access it would solve this.

Mobbstar

  • Bay Watcher
  • aka Mossbird
    • View Profile
    • my website
Re: Future of the Fortress
« Reply #4442 on: March 02, 2022, 03:41:35 pm »

Thank you for the answers, Toady!

And thanks to Crabman for thinking ahead wrt modding!

Python an Lua are both script languages, which means they can be used to write plugin scripts. I don't think they're particularly good for defining data, though (although Lua is better than C in that regard, which doesn't say much).

Having modded with Lua before, I agree with this.  Lua's greatest strength for modding is the ability to re-arrange function calls and shuffle data with little to no knowledge of what other mods may do.  This would require DF to be partially rewritten and exposed in Lua.

Some of Lua's shortcoming wrt data are, to quote a friend:  no integer type, coercion between strings and numbers, "tables" being one kind of data structure for both sequences and key/value associations (and mixtures of both)

Note that none of the above should be seen as recommendations. There may very well be more suitable candidates for both scripting and data definition, but you should use something suitable for your purpose, not something that's widely use for other purposes.

Add yaml to the list of candidates.  Like json and xml, it supports schema.

Putnam

  • Bay Watcher
  • DAT WIZARD
    • View Profile
Re: Future of the Fortress
« Reply #4443 on: March 02, 2022, 03:54:32 pm »

Lua has had integers since 5.3. The standard implementation for tables in Lua actually uses separate parts for contiguous integer keys and other keys, so the issue with tables having both is more of a syntax issue than anything.

dikbutdagrate

  • Bay Watcher
    • View Profile
Re: Future of the Fortress
« Reply #4444 on: March 02, 2022, 05:37:05 pm »

The nutjob who created JSON threw out the baby with the bath water when removing the support for comments in a rage fit over someone "abusing" comments for processing directives, according to the explanation I've heard, so comments are out, unless you disguise them as data...

I... What?
Logged

voliol

  • Bay Watcher
    • View Profile
    • Website
Re: Future of the Fortress
« Reply #4445 on: March 03, 2022, 04:27:50 am »

The nutjob who created JSON threw out the baby with the bath water when removing the support for comments in a rage fit over someone "abusing" comments for processing directives, according to the explanation I've heard, so comments are out, unless you disguise them as data...

I... What?

Wikipedia refers to this archived Google+ post of Douglas Crockford (the guy who made it).
Quote from: Douglas Crockford on April 03, 2012
I removed comments from JSON because I saw people were using them to hold parsing directives, a practice which would have destroyed interoperability. I know that the lack of comments makes some people sad, but it shouldn't.

Suppose you are using JSON to keep configuration files, which you would like to annotate. Go ahead and insert all the comments you like. Then pipe it through JSMin before handing it to your JSON parser.

Rumrusher

  • Bay Watcher
  • current project : searching...
    • View Profile
Re: Future of the Fortress
« Reply #4446 on: March 03, 2022, 07:16:19 am »

-snip-
Quote from: OluapPlayer
Are gremlins being trainable intentional, or a case of a pet token you forgot to remove? Given they're the only sapients you can train, and trained sapients are buggy at best, I was wondering whether it was an accident or something you actually intend to expand upon later.

PatrikLundell: http://www.bay12forums.com/smf/index.php?topic=169696.msg8350582#msg8350582

Yeah, this is all kind of half-assed, based on a very old joke/easter egg that gremlins could be 'tamed' after being caught in cage traps but then would still go pull levers, if this ever worked.  It should probably all just be turned off at this point and revisited from something more like the villain/impersonation context vampires etc. use, and that wouldn't be a high priority thing.
-snip-
this old joke led to some funny adv builds. Since they were probably one of the fun types of pets to get for a human outsider given one could see how many gremlins could survive any hostile encounter or attempt to train and armed a pack of gremlins with weapons see if they fair better. then there's the making a gremlin performing troupe.
Logged
I thought I would I had never hear my daughter's escapades from some boy...
DAMN YOU RUMRUSHER!!!!!!!!
"body swapping and YOU!"
Adventure in baby making!Adv Homes

Mr Crabman

  • Bay Watcher
  • A person with the head and pincers of a crab.
    • View Profile
Re: Future of the Fortress
« Reply #4447 on: March 04, 2022, 02:25:14 pm »

Asked this in the BlindIRL interview but unfortunately the question was misinterpreted (probably because I used the term "header" which isn't official as far as I know):

Can 2 different files in different mods use the same header? By "header", I mean the first line in the raw file, which apparently, unlike the actual filename, determines the raw loading order; for example:

Code: [Select]
creature_other

[OBJECT:CREATURE]

[CREATURE:FOXSQUIRREL]

Here `creature_other` is the header, and `creature_ocean.txt` has the header `creature_ocean`.

So the question is basically: will 2 different, simultaneously loaded mods be able to use a file that is named `creature_other.txt` and have `creature_other` as its header (and each mod would have different contents in each file), or would this cause one of the files to be ignored or overridden?

Having to be careful about naming the mod identifier itself, and about naming object identifiers (assuming you don't want to overwrite the vanilla [CREATURE:DWARF]) makes sense, but the filenames and headers would be rather convenient to have "isolated" within each mod so that one can just use readable filenames/headers without worrying if someone else has used them.

neblime

  • Bay Watcher
  • More GG more skill
    • View Profile
Re: Future of the Fortress
« Reply #4448 on: March 06, 2022, 09:00:21 am »

Zach says you're good at guitar now, and you said you've been practicing for years... any chance we can get a secret (patron only?  ;)) bonus track for the release of the steam version of something in the same style by you?  As much as you disparage your improvisation from way back when it has a mood to it and I think people would love something in a similar style and I hope it would be a pretty low effort project for you.
Logged
http://i.imgur.com/Gv6I6JO.png
I am quite looking forward to the next 20 or 30 years or so of developmental madness

voliol

  • Bay Watcher
    • View Profile
    • Website
Re: Future of the Fortress
« Reply #4449 on: March 08, 2022, 08:22:58 am »

Regarding the giant cockatiel teeth mentioned in the interview with Blind, those actually exist! Sort of. The cockatiel takes its materials from the STANDARD_MATERIALS body detail plan, which includes one for teeth and one for hair. The hair material is removed afterwards using REMOVE_MATERIAL, but not the teeth. The giant cockatiel of course copies its raws from the vermin kind and so gets a tooth material as well.
In the interview you mentioned the preference code being ancient, but even if it has been updated to reference any animal material, giant cockatiel teeth is a valid target as long as it doesn't check whether any tissues use the material.


Edit: made it a bug report

Mr Crabman

  • Bay Watcher
  • A person with the head and pincers of a crab.
    • View Profile
Re: Future of the Fortress
« Reply #4450 on: March 12, 2022, 01:48:59 pm »

You've said before there's going to be multiple "passes" of magic update, and the first one isn't going to have all the stuff you have planned, but will lay out the framework for it to be possible. Where do these "extra passes" fit into the timeline? Are they just multiple different releases one after the other (and being released in pieces/passes so that the big wait isn't quite as big), or would they be separated by other update arcs like starting scenarios or economy or boats?

bieux

  • Bay Watcher
    • View Profile
Re: Future of the Fortress
« Reply #4451 on: March 12, 2022, 07:38:51 pm »

Is there any technical constraint or conceptual reasoning behind beverages not changing in qualiy the same way meals' quality depends on cooking skills? I just noticed how brewers don't get to make masterwork distilations, and I wondered if alcohol quality was ever considered before as a feature.
Logged

Mr Crabman

  • Bay Watcher
  • A person with the head and pincers of a crab.
    • View Profile
Re: Future of the Fortress
« Reply #4452 on: March 13, 2022, 01:49:11 pm »

Is the new palette swap system going to be used for all items and constructions (walls, floors etc) so that the colors are accurate? I heard before that constructions weren't going to be recolored because it wouldn't look great, but with the new recoloring system that answer might have changed.

UselessMcMiner

  • Bay Watcher
  • praise jeebus
    • View Profile
Re: Future of the Fortress
« Reply #4453 on: March 13, 2022, 07:57:48 pm »

Will there be any changes to how "evil" artefacts get handled? For example the reason why necromancer apocalypses are so common is because after a slab is made, if the new necromancer either doesn't do much with it before perishing (persumably if they dont want to conquer the world/write books forever) and it gets dumped in a random hamlet/town it inevitably leads to the death of all nearby civilization because any random civilized mortal person who wants to become a necromancer can become one just by reading it with no delay. I doubt that anyone other than goblins/maybe weirder human civs would keep a dark slab like that around, especially if they know the potential consequences. Will this ever be changed? If it were would this apply say to artefacts made in fell moods/from goblin's doing murdering. It seems odd that fell mood artefact creators seem to go unpunished by their civilizations as well. Is this intentional?
Logged
Quote
The scouts have been fighting a giant capuchin for the past month now. They still haven't killed it.

Obsidian 1053

The Sentries are still fighting the capuchin. For two monthes they have done nothing but punch this monkey.

Symmetry

  • Bay Watcher
    • View Profile
Re: Future of the Fortress
« Reply #4454 on: March 16, 2022, 07:59:33 am »

Thank you for the answers, Toady!

And thanks to Crabman for thinking ahead wrt modding!

Python an Lua are both script languages, which means they can be used to write plugin scripts. I don't think they're particularly good for defining data, though (although Lua is better than C in that regard, which doesn't say much).

Having modded with Lua before, I agree with this.  Lua's greatest strength for modding is the ability to re-arrange function calls and shuffle data with little to no knowledge of what other mods may do.  This would require DF to be partially rewritten and exposed in Lua.

Some of Lua's shortcoming wrt data are, to quote a friend:  no integer type, coercion between strings and numbers, "tables" being one kind of data structure for both sequences and key/value associations (and mixtures of both)

For what it's worth, lua was originally a data definition language and the scripting was added later. 
It's better to think of lua supporting integers up to the max int expressible in the mantissa of a float, rather than it not supporting integers.

I think it's a great data definition language, and the addition fo full scripting allows you to define data with code to generate the data in cases where that makes sense.
The biggest problem with it is memory usage, you have to load the entire script into memory and then execute it to populate the lua tables with the data definition.  So it takes ~2x memory it should need to.
naive solutions using other formats can have the same issue but are more easily solved.
This shouldn't be an issue for DF though as the memory requirements are tiny compared to the gigantic map.  It can cause problems in some embedded environments though.
Logged
Pages: 1 ... 295 296 [297] 298 299 ... 407