Giter VIP home page Giter VIP logo

Comments (12)

zijistark avatar zijistark commented on May 14, 2024

Isis can handle global maintenance pulses to update global game state in one fell swoop on relatively accurate, periodic intervals without the duplication, missed events, and other weird issues of on_actions.

from emf.

zijistark avatar zijistark commented on May 14, 2024

Yes, definitely expiring modifiers and sticking to outliers would be key. Also, these events might be perfect for the style notification = yes that I've been so wanting to use, as we don't want to add yet more pop-ups for the user to click-through when they're trying to do something.

I'm assuming they have largely economic outcomes? I could see them impacting things like effective fort readiness on coastal provinces, trade value, tax modifiers, possibly movement speed (do we have this in 2.1 already or is it one of the extensions?), and, of course, levy_sizes.

from emf.

thefinestsieve avatar thefinestsieve commented on May 14, 2024

That's a good idea about using the notification options. And yes, I'm thinking mostly economic outcomes, though I suppose particularly harsh events could result in revolt risk as well.

from emf.

zijistark avatar zijistark commented on May 14, 2024

If the modifiers self-expire, then Isis will be a lot happier. She'll only have to dole out weather events on her maintenance pulses and never do global sweeps (at least, not for this mechanic-- they're not out of the question nor should by any means be considered a performance drag). They can be as short-lasting or as long as they like.

from emf.

thefinestsieve avatar thefinestsieve commented on May 14, 2024

I started up the weather module in a separate branch in my fork.

from emf.

zijistark avatar zijistark commented on May 14, 2024

How are you going to go about initial modifier assignment?

Are you going to sweep all provinces on the map every quarter? Or what about doing like 30 random selections of regions, where a region is a province and all provinces that border it and evaluating them for weather events?

I recommend that you don't use any actual province_events. You can't use notification = yes on those, nor can you even hide_window = yes them (popup always gets delivered to province owner).

from emf.

thefinestsieve avatar thefinestsieve commented on May 14, 2024

I haven't yet decided how exactly I want to do it. The regions approach is tempting, but I do worry about excessive clustering of weather modifiers; though I suppose that problem could be addressed by preventing the initial province choice (the one which would define the region) from being within 3-4 provinces of a province which already has a weather modifier.

from emf.

zijistark avatar zijistark commented on May 14, 2024

Since checking for "shortest distance by number of hops" is already a nontrivial problem in computer science (but easily solved in these cases with real tools), do remember that you're dealing with Paradox. The only not stupidly overcomplicated way you can check adjacency-distance efficiently really beyond just immediate adjacency is through use of nested any_neighbor_province, which means considering every neighbor province of every neighbor province's neighbor provinces (with tons of "doubling back" on your steps).

However, you can note whether independent realms (or just duke-and-above realms) have a weather modifier in them fairly cheaply.

Province sweeping with a recursive event for every province is probably your most straightforward way to go. Not the cheapest thing to do in the world every 90 days, esp. on large maps like SWMH+ will be (though vanilla is pretty fucking big too, when you line-up the numbers at this point), but I say: it's better to code it the straightforward way with full coverage and find out it makes no performance difference than to have to scale back your approach a bit later if it proves to actually make a difference. So sweep away.

from emf.

zijistark avatar zijistark commented on May 14, 2024

And by "recursive event for every province," I mean hidden recursive character_event for each of all rulers' count-tier demesne titles.

from emf.

thefinestsieve avatar thefinestsieve commented on May 14, 2024

Actually, what I was thinking about doing was a pairing a major = yes narrative event which excludes players (since I don't care if AI gets a popup they have to "click") with an invisible event which only hits players.

from emf.

zijistark avatar zijistark commented on May 14, 2024

If all you want is ruler-level granularity (i.e., not accounting for multiple counties in a demesne equally with the rest), that will work well.

from emf.

zijistark avatar zijistark commented on May 14, 2024

And Anax delivered this long ago, stunningly. Closing.

from emf.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.