Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 ... 399 400 [401] 402 403

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

Eric Blank

  • Bay Watcher
  • *Remain calm*
    • View Profile
Re: Future of the Fortress
« Reply #6000 on: September 17, 2024, 10:21:49 pm »

I had imagined an effect something like covering tiles on the edges of your LOS with a partially transparent tile, progressively less transparent closer to the edges of your vision. Similar to the z-level haze effect. Would that require shaders though?
Logged
I make Spellcrafts!
I have no idea where anything is. I have no idea what anything does. This is not merely a madhouse designed by a madman, but a madhouse designed by many madmen, each with an intense hatred for the previous madman's unique flavour of madness.

jecowa

  • Bay Watcher
    • View Profile
Re: Future of the Fortress
« Reply #6001 on: September 18, 2024, 05:09:16 pm »

I would prefer tiles be either visible or not. I do not enjoy straining my eyes to try to see. Overlays that make things purple at night and orange at twilight or less contrast on overcast are fine.
Logged

DPh Kraken

  • Bay Watcher
  • [PRONOUN:she:her:herself][PRONOUN:it:its:itself]
    • View Profile
Re: Future of the Fortress
« Reply #6002 on: September 22, 2024, 03:43:56 pm »

What do you mean about elf beards? They always had the tissues, but elves along with humans and goblins didn't have the ability to style their head hair or facial hair prior to v50. Unless you mean the current lack of sprites for elf beards?

Yeah, I know about the beards being described in the data, but there aren't any real technical obstacles to them showing up. Elf beards were described as a surprising feature of the setting upon the release of 0.31, so I'm guessing this was an artistic change with the graphics release. Haven't caught wind of any plans to solidify either depiction.
Logged
[CHEESE_PLANT] and [CHEESE_GRAPHICS] biggest fan
My mods:
Language & symbolsMiscellanyGraphics resourcesPseudo-ASCII

Criperum

  • Bay Watcher
    • View Profile
Re: Future of the Fortress
« Reply #6003 on: September 24, 2024, 09:59:30 am »

1. Is new Lua scripting for raws generation only or it's also for run-time use?
2. Will raws eventually migrate to more Lua friendly format like JSON or it always will be string concatenation approach?
3. How much of new magic system will be Lua driven and how much hardcoded?
4. Will old systems be rewritten to use Lua?
5. Could we use Lua to create our own mechanics in the game?
6. What version of Lua it is?
7. What brings you to make such decision?
Logged

DPh Kraken

  • Bay Watcher
  • [PRONOUN:she:her:herself][PRONOUN:it:its:itself]
    • View Profile
Re: Future of the Fortress
« Reply #6004 on: September 24, 2024, 12:58:21 pm »

1. Is new Lua scripting for raws generation only or it's also for run-time use?
2. Will raws eventually migrate to more Lua friendly format like JSON or it always will be string concatenation approach?
3. How much of new magic system will be Lua driven and how much hardcoded?
4. Will old systems be rewritten to use Lua?
5. Could we use Lua to create our own mechanics in the game?
6. What version of Lua it is?
7. What brings you to make such decision?


1. Currently only for raw generation. Runtime Lua through DFHack has already existed, and the plan right now is to be able to interface with the one place DFHack can't reach. Putnam comes from a modding background and there's been ample communication between her and the DFHack team, so there should be a fair degree of synergy. At the very least, mutualism.

2. That kind of change would require rewriting every single raw to a new format (680 creatures, and creatures are the second most intricately defined raws), cause innumerable bugs with order-dependent tags, and perhaps, from my perspective, most importantly break compatibility with every single mod. This would thusly create a save compatibility break, if for no reason other than it needs to load a new set of raws. With how much history there is behind the raw format, it's a highly unlikely change.

3. There's still a good deal of hardcoded stuff needed to make the magic happen, at least comprehensively. Mythic world generation, more spell effects (and proper costs), more active gods, alternate planes of existence, and so forth. Making how this shows up in a world as data-driven as possible is a stated goal, so the Lua raw generator is a step towards this. Seems like it'll get more opened up as things go on.

5. See note about DFHack - there's a wealth of scripts available, and there's been heavily Lua-based mods like Masterwork or even Putnam's own portfolio that have used that modding engine to great effect. The new Lua API is moreso a means of procedurally writing raws as it stands.

6. According to ab9rf, presumably Lua 5.4.
Logged
[CHEESE_PLANT] and [CHEESE_GRAPHICS] biggest fan
My mods:
Language & symbolsMiscellanyGraphics resourcesPseudo-ASCII

voliol

  • Bay Watcher
    • View Profile
    • Website
Re: Future of the Fortress
« Reply #6005 on: September 25, 2024, 10:14:06 am »

With the introduction of Lua scripting, can we anticipate other movements from hard-coded to the raws in this same swoop? Such as the non-kiln workshops and their reactions?

ror6ax

  • Bay Watcher
    • View Profile
Re: Future of the Fortress
« Reply #6006 on: September 26, 2024, 07:03:19 am »

1. Is there any plan to revisit graphics for the "world screen" in fort mode and "travel screen" in adventure mode? Even on normal displays the icons are super small. I've recently bought a fullhd display and it's absolutely impossible to play because of how small everything is.

2. Any luck with making the game accept ttf/otf/any other fonts? Same problem as above, the one that comes with the game is not very readable for me as it is, but HD screen makes it even more so.

3. Combat would really benefit from simplest animations, like entire image of a unit moving in direction of the attack (Caves of Qud style). Would that be possible to implement?

4. Now that most things on the screen is paletteable, are we any closer to something resembling ray-traced light sources? One of the prettiest things in the game is magma, because of the amazing gradient it has across long distances(I assume it's depth-based so not raytracing but it sort of behaves as if it is). It would greatly help with mood and immersion to have more effects like this.

5. Speaking about procedural magic, what is the gameplay value of it? Currently I have a battle axe wielding dwarves bonking goblins on the head. How is prongen magic goiing to change that - will there be some close-quarter spells eg freezing hands / ranged spells eg fireball(obviously hehe)? Or weapons with procgen effects (weakening, poison, draining HP etc).

6. Have you played Noita? It has pretty interesting magic wand building mechanics that interacts with procgen world in a very entertaining way.

7. Obligatory question. Any news on the archery fix?

8. How will the potential conflicts between the game calling Lua API and mods calling it be resolved? Will order of mods in the mod manager influence precedence of changes?

9. I know Lua is industry standard, but for the sake of friendly trolling, why not Python? How did the choice of language happen? What is your take on one-based indexing in Lua? :)
« Last Edit: September 26, 2024, 09:06:04 am by ror6ax »
Logged
Proficient at setting myself on fire in Adventure mode.

Putnam

  • Bay Watcher
  • DAT WIZARD
    • View Profile
Re: Future of the Fortress
« Reply #6007 on: September 26, 2024, 11:00:39 am »

1. Is new Lua scripting for raws generation only or it's also for run-time use?
2. Will raws eventually migrate to more Lua friendly format like JSON or it always will be string concatenation approach?
3. How much of new magic system will be Lua driven and how much hardcoded?
4. Will old systems be rewritten to use Lua?
5. Could we use Lua to create our own mechanics in the game?
6. What version of Lua it is?
7. What brings you to make such decision?


1. Raws generation for the initial release, but it gives us the opportunity for run-time use down the road, since it's already in the system.
2. I don't know. Probably won't switch. I'm personally of the opinion that if things are gonna break, it should all break, all at once, completely, but I'm not sure there's any reason to break things soon.
3. Up to Toady, but I don't plan to hardcode anything of that nature if I can help it.
4. Which ones? The Lua systems you see here are already old systems rewritten to use Lua, the code included in the game is all code that used to be in C++.
5. Not with this version.
6. 5.4.
7. Not mine to answer, I think. I was told it was time to start adding scripting support, and then I did, ha.

With the introduction of Lua scripting, can we anticipate other movements from hard-coded to the raws in this same swoop? Such as the non-kiln workshops and their reactions?

Not in this swoop. Those other workshops don't have reactions, they have jobs, which are not reactions (though reactions are jobs). Lua jobs are... possible, but I literally did not consider them until I started writing this very sentence.


5. Answers to this question have generally been "yeah, sure," and I'm inclined to agree: yeah, sure, all that might be. Have a little magic slider or whatever that generators can access, et cetera.

6. Toady's mentioned Noita, though, interestingly, it was in the context of pointing out that it is technically feasible to have more than just two liquids (right now, liquids are optimized for memory rather than speed; the reason they have levels 0-7 and there's magma/water is because there's 1 bit per tile for "is there magma here" and 3 bits for liquid depth)

8. Later mods can stomp on earlier mods as they see fit. I've gotten some complaints from other programmers on this front, but it's an intentional design choice: I want to make it very simple for mods to stomp on vanilla, which is, as usual, itself a mod, here.

9. Lua took me less than 4 hours to get a fully working embedding into Dwarf Fortress. The vast, vast majority of the work on this update has just been writing Lua, which is a very good sign. One-based indexing is absolutely hideous, maximum engineer-brain, and much of the code I've written so far demonstrates its ugliness fantastically:

Code: [Select]
        evil_mats[#evil_mats+1]=function(lines)
            lines[#lines+1]="[I_TARGET:B:MATERIAL]"
            local material_s="[IT_MATERIAL:MATERIAL:INORGANIC:"..ropar.token_prefix.."EVIL_CLOUD_"..tostring(i)
            if ropar.cloud_states[i]=="GAS" then
                material_s=material_s..":WEATHER_CREEPING_GAS]"
            elseif ropar.cloud_states[i]=="LIQUID" then
                material_s=material_s..":WEATHER_CREEPING_VAPOR]"
            else
                material_s=material_s..":WEATHER_CREEPING_DUST]"
            end
            lines[#lines+1]=material_s
            lines[#lines+1]="[I_EFFECT:MATERIAL_EMISSION]"
            lines[#lines+1]="   [IE_TARGET:B]"
            lines[#lines+1]="   [IE_INTERMITTENT:WEEKLY]"
        end

Also, partially, it's because I felt that making an extremely functional API would probably be the best way to work this, and Lua facilitates that really well. I kept making bad jokes about embedding some tiny Lisp and forcing people to use that, but I'm not so cruel.

ror6ax

  • Bay Watcher
    • View Profile
Re: Future of the Fortress
« Reply #6008 on: September 26, 2024, 11:21:32 am »

One more. Since manager functionality is, by definition, scripting, will that also be exposed via Lua bindings?
Logged
Proficient at setting myself on fire in Adventure mode.

Telgin

  • Bay Watcher
  • Professional Programmer
    • View Profile
Re: Future of the Fortress
« Reply #6009 on: September 26, 2024, 03:40:50 pm »

The 1-based indexing is pretty terrible but you still probably made the right call to use Lua, especially since the DFHack community is using it so much.

I once embedded V8 in a C++ application to add JS scripting support to it and that was a colossal amount of work compared to what I imagine the Lua integration was like.  Still, I'd kill to have a JS scripting interface in DF since that's what I use in my day job.
Logged
Through pain, I find wisdom.

jecowa

  • Bay Watcher
    • View Profile
Re: Future of the Fortress
« Reply #6010 on: September 26, 2024, 09:44:39 pm »

2. Any luck with making the game accept ttf/otf/any other fonts? Same problem as above, the one that comes with the game is not very readable for me as it is, but HD screen makes it even more so.


If instead of TTF, support larger tilesets was fixed, we could have larger interface graphics packs in addition to larger text and more choices in fonts.

Other-sized tilesetes are looking a lot better now than when v50 first came out:
Logged

A_Curious_Cat

  • Bay Watcher
    • View Profile
Re: Future of the Fortress
« Reply #6011 on: September 27, 2024, 10:50:06 am »

@Toady One, I’ve just noticed that the devlog lists the newest version of DF (50.14) as being published on 9/25/2023:



Just thought you might want to fix that!
Logged
Really hoping somebody puts this in their signature.

Urist Mchateselves

  • Bay Watcher
    • View Profile
Re: Future of the Fortress
« Reply #6012 on: September 27, 2024, 11:36:05 am »

With the planned addition of things like improved sieges and the replacement of "attack triggers" for sieges and megabeasts, how are you planning to prevent the possible result of either never being seiged at all or being steamrolled on year 1?
Logged
If you're so sure that you're gonna end up killing all of dwarven civilization, why not make a statue depicting 2147483647 dead dwarves, all of which are burning? Name it something good, like Deaddead the Dead Dead Dead-Dead of Dying. Just put it in the main hall or something, as a grim reminder that they're all gonna die.

Eric Blank

  • Bay Watcher
  • *Remain calm*
    • View Profile
Re: Future of the Fortress
« Reply #6013 on: September 27, 2024, 12:58:01 pm »

With the planned addition of things like improved sieges and the replacement of "attack triggers" for sieges and megabeasts, how are you planning to prevent the possible result of either never being seiged at all or being steamrolled on year 1?

Those are already possibilities now, depending on embark location, and that's probably still going to be possible in the future, say by embarking on an isolated island/mountain valley where goblins don't know your settlement exists for years on end, or embarking right next door to them. Simulating military/strategic decision making was a goal iirc, and if you think of yourself playing a strategy game, and you found a new site in an area your opponent hasn't revealed/searched and they never get around to it, that site never gets attacked until the end game (if you lose and they're searching the entire map for stragglers.) Consider also if an opponent started building a fortified position just ahead of where the front lines in your conflict had been; it probably becomes a priority target for you to raze it as quickly as you can manage, because it gives them a position from which to stage further assaults and push the front line back further. Getting the goblin ai to follow strategic planning against the dwarf civ, and consider the players fortress a part of that civ and accurately weigh its threat level/value as a target of attacks is probably paramount.

Megabeasts might attack more at random, though. Excluding megabeasts living in the immediate vicinity of your fortress, who might come to wreck it sooner than later.
Logged
I make Spellcrafts!
I have no idea where anything is. I have no idea what anything does. This is not merely a madhouse designed by a madman, but a madhouse designed by many madmen, each with an intense hatred for the previous madman's unique flavour of madness.

Toady One

  • The Great
    • View Profile
    • http://www.bay12games.com
Re: Future of the Fortress
« Reply #6014 on: September 29, 2024, 06:23:02 am »

A little early this month!  Since I may not be available on the 1st.

Quote from: DPh Kraken
I'd like to ask about how the visual changes to some of the civ creatures came about during the transition from text to graphics. Elf beards and kobold snouts, anything in the vision or the fiction of the default setting that brought it to fruition?

aSpatula66: http://www.bay12forums.com/smf/index.php?topic=169696.msg8553391#msg8553391
DPh Kraken (op): http://www.bay12forums.com/smf/index.php?topic=169696.msg8555159#msg8555159

Elf beards was a miscommunication.  I just didn't request that they be drawn.  We'll get to it at some point.

Kobold snouts was a result of Mike's depiction long ago, the fan craving for the cutebold.  Cutebolds became canon, as they ever-evolve from chihuahuas to goblins to dragons to cutebolds and beyond.

Another one, goblin hair, is complicated because we have some art but it doesn't fit the existing raw hair styles.  So that just needs to be sorted out.

Quote from: Criperum
Are features of dwarves like strange moods, ability to see in darkness, to breath in non ventilated caves etc. can be considered magical and hence a subject of change in Myth and Magic editor?

I think with the luafication and then myth and magic, it's more like everything is subject to change.  But for darkness and breathing, those are broader mechanical questions that would need to be addressed in the map/game code as well, since it doesn't track light or oxygen (beyond subter/inside/outside and the existence of flows.)

Quote from: ryno
have any prototypes been attempted yet for a visible day/night cycle in adventure mode, what can we expect light & time information to look like, does it present any technical challenges (what happens underground?), and has putnams knowledge of shaders been explored as a possible solution for some graphical features?

Shonai_Dweller: http://www.bay12forums.com/smf/index.php?topic=169696.msg8554384#msg8554384
Putnam: http://www.bay12forums.com/smf/index.php?topic=169696.msg8554532#msg8554532
Eric Blank: http://www.bay12forums.com/smf/index.php?topic=169696.msg8554554#msg8554554
jecowa: http://www.bay12forums.com/smf/index.php?topic=169696.msg8554667#msg8554667

This is covered by the replies mostly - it exists and any further display beyond shrinking vision is a graphics problem.  There could also be a widget up in the top right for handling date, time, light, weather, tracks, odor, etc., so you don't have to press a bunch of keys to get at those separately.

Quote from: Criperum
1. Is new Lua scripting for raws generation only or it's also for run-time use?
2. Will raws eventually migrate to more Lua friendly format like JSON or it always will be string concatenation approach?
3. How much of new magic system will be Lua driven and how much hardcoded?
4. Will old systems be rewritten to use Lua?
5. Could we use Lua to create our own mechanics in the game?
6. What version of Lua it is?
7. What brings you to make such decision?

DPh Kraken: http://www.bay12forums.com/smf/index.php?topic=169696.msg8555412#msg8555412
Putnam: http://www.bay12forums.com/smf/index.php?topic=169696.msg8555635#msg8555635

The replies cover a lot of it (Putnam has done all of the lua work to this point.)  So I'll just cover my own side of it:

3+7. I want as much of it out there as possible.  One reason I wanted lua/scripting first is so that when I get to myth generation, it can be out publicly as much as possible, instead of creating a new forgotten beast situation where a lot is hidden that parameters can't get at.  I wanted to deal with the forgotten beast/vampire/werewolf/etc. situation itself.  So this all seems nice.

We've still got hard-coded magical effects at the granular level through interaction effects - this will probably be true for a while, but magic itself should (over time) become more and more scripty, and the hope is that myth gen and magic system gen are all scripts as they come in and the lua beta progresses.  I might throw a few things in for the end of adv beta (before lua beta) that use the old pre-lua system just because it's the only thing I have now, but that's just to get the tutorial done and the chosen ball rolling, and anything I add nowish should be luafied in the early stages of the lua beta.

After that, for even some basic things I want to do with magic, I require multi-step scripts that can refer back to variables and so forth, and it was just looking like I needed to make a scripting language.  And that would be too much, when scripting languages exist when a history of use in games, which also solve the forgotten beast problem.  So we arrived here.  The happy world of scripts generating scripts using a standard scripting language.

And it'll just be cool to see what people do.  The decision just seemed kinda exciting, ha ha, and possible, and prudent, and useful.

4. Yeah, as Putnam mentioned, we're already rewriting old systems and we'll just keep going with that as long as the speed stays up and there's purpose to it etc.

5. Per DPh Kraken and Putnam, not yet, but as we build more of an API and more gets exposed, this seems inevitable.  I'm not a lua expert (or even novice yet) so I can't really speak to the possibilities other than what I've seen in other games with modding scenes.  As long as it remains performant, we'll just keep expanding over time, and try to make new features compliant immediately if large problems don't arise, etc.  Currently optimistic!

Quote from: voliol
With the introduction of Lua scripting, can we anticipate other movements from hard-coded to the raws in this same swoop? Such as the non-kiln workshops and their reactions?

Putnam: http://www.bay12forums.com/smf/index.php?topic=169696.msg8555635#msg8555635

Yeah, we've already bitten off enough for this swoop, but we're hoping to get more and more out there.  Whether that involves the reactionification of more jobs, or something else, I don't really know yet.

Quote from: ror6ax
1. Is there any plan to revisit graphics for the "world screen" in fort mode and "travel screen" in adventure mode? Even on normal displays the icons are super small. I've recently bought a fullhd display and it's absolutely impossible to play because of how small everything is.

2. Any luck with making the game accept ttf/otf/any other fonts? Same problem as above, the one that comes with the game is not very readable for me as it is, but HD screen makes it even more so.

3. Combat would really benefit from simplest animations, like entire image of a unit moving in direction of the attack (Caves of Qud style). Would that be possible to implement?

4. Now that most things on the screen is paletteable, are we any closer to something resembling ray-traced light sources? One of the prettiest things in the game is magma, because of the amazing gradient it has across long distances(I assume it's depth-based so not raytracing but it sort of behaves as if it is). It would greatly help with mood and immersion to have more effects like this.

5. Speaking about procedural magic, what is the gameplay value of it? Currently I have a battle axe wielding dwarves bonking goblins on the head. How is prongen magic goiing to change that - will there be some close-quarter spells eg freezing hands / ranged spells eg fireball(obviously hehe)? Or weapons with procgen effects (weakening, poison, draining HP etc).

6. Have you played Noita? It has pretty interesting magic wand building mechanics that interacts with procgen world in a very entertaining way.

7. Obligatory question. Any news on the archery fix?

8. How will the potential conflicts between the game calling Lua API and mods calling it be resolved? Will order of mods in the mod manager influence precedence of changes?

9. I know Lua is industry standard, but for the sake of friendly trolling, why not Python? How did the choice of language happen? What is your take on one-based indexing in Lua?

Putnam: http://www.bay12forums.com/smf/index.php?topic=169696.msg8555635#msg8555635
jecowa: http://www.bay12forums.com/smf/index.php?topic=169696.msg8555717#msg8555717

1. Yeah, it's quite small.  We probably need another level.  I'm not sure when that'll happen though.  But it's something under consideration because, as you say, very small.

2. ttf seemed troublesome for as long as we had it.  I'm not sure what the obstacles are.  The underlying code for displaying text is pretty much the same, so the obstacles are probably the same anyway.

3. We've done some experiments with sliding units out of their squares.  There are some issues with it due to how our dirty buffer works to keep the graphics updated at an adequate speed.  These can theoretical be overcome, though it's a large problem.  Then we'd be able to do slide-y attacking and even slide-y walking, though I'm still not sure slide-y walking looks good at our movement speeds.

4. If we moved over to triangles/quads, which are theoretically supported more easily in SDL 2, we'd be able to do more with shading/vertex lighting, but that's probably not a trivial move.  I'm not sure how performance would be affected (either way.)  All palette etc. changes are pre-baked as it stands, which doesn't work for many effects.

5. Ha ha, as Putnam suggests, we are considering everything, yeah, including possibilities for dwarves.  But certainly gameplay will be affected early in the dev process by critters doing horrible things to you.  Procedural magic has the broader purpose of making the worlds more interesting and varied in general.

6. Yeah, I've won it a few ways, though I haven't seen most of the optional content.  Fun for spell editing, fun for fluids.

7. Should be one of the first things after we escape adv beta.  Which hopefully isn't too too far away.

8. Putnam handled this reply.  Regarding mod order, I assume mod order controls the conflicts/stomping, though I'll defer to Putnam since she built the system and used it.

9. Putnam also handled this reply.  For my part, I just know lua works well enough in lotsa games, and Putnam said she could do it in lua, and she did, so that's good.  If Python were more expedient for her, we very well could have gone that way (since I don't know lua or python ha ha, aside from the lua I've now studied a bit.)  Certainly the one indexing doesn't play nice with our existing language, and there are other oddities to deal with, like the and/or combos for max/ternary operators which I just have to get used to, but on the whole it seems to be going well.

Quote from: ror6ax
One more. Since manager functionality is, by definition, scripting, will that also be exposed via Lua bindings?

The interface generally is on the table, but it's a large project.  We'll just see more and more come in over time.  I'd be happy if the interface can be remade entirely.

Quote from: A_Curious_Cat
@Toady One, I’ve just noticed that the devlog lists the newest version of DF (50.14) as being published on 9/25/2023

Thanks for the catch!

Quote from: Urist Mchateselves
With the planned addition of things like improved sieges and the replacement of "attack triggers" for sieges and megabeasts, how are you planning to prevent the possible result of either never being seiged at all or being steamrolled on year 1?

Eric Blank: http://www.bay12forums.com/smf/index.php?topic=169696.msg8555794#msg8555794

Eric Blank's reply covers it more or less.  Unless you are on an island, never being sieged will be a result of peace (which you can disrupt), or being far away from the potential action (which is a choice).  For steamrolling, that's definitely an issue, but the default start of seven dwarves with a wagon is something that we can still reasonably simulate as not detected until they make something of themselves - if a patrol happens to cross right through your location, then that's an issue of start site selection that was presumably player choice.  And then there's the possibility of larger starts, starts with armies, etc etc.

It's up to the UI in part to guesstimate for the player what their game will be like for warning purposes either way.  I think there should be plenty of reasonable start locations that give something like the current experience in most worlds, and hopefully we can find them for people.  But there's certainly the possibility of a little extra surprise.  This is probably fine.  And since we have a difficulty tab now, it'd be a legit setting to just be like "no invasions in the first few years please", though the more we can arrive at that organically the better.
Logged
The Toad, a Natural Resource:  Preserve yours today!
Pages: 1 ... 399 400 [401] 402 403