[Freeciv-tickets] [freeciv] #43160: More ruleset control over Celebration bonus effects

Zurück zum Archiv-Index
OSDN Ticket System norep****@osdn*****
Fri Nov 5 07:04:52 JST 2021


#43160: More ruleset control over Celebration bonus effects

  Open Date: 2021-11-03 23:06
Last Update: 2021-11-05 00:04

URL for this Ticket:
    https://osdn.net//projects/freeciv/ticket/43160
RSS feed for this Ticket:
    https://osdn.net/ticket/ticket_rss.php?group_id=12505&tid=43160

---------------------------------------------------------------------

Last Changes/Comment on this Ticket:
2021-11-05 00:04 Updated by: cazfi

Comment:

Happiness/Celebration stuff is one thing that should be converted to ruleset driven concept like Culture already is. Culture does not accumulate from hardcoded requirements, but by ruleset controlled effects. It does not have hardcoded effects, but can be a ruleset defined requirement for anything that has requirements. There are a couple of exceptions to make life for ruleset authors a bit easier in some common cases (Achievements have simple culture value - no need to implement full Culture effect with an Achievement requirement. Cultural victory can be defined easily - no need to make Victory effect(s) with complex requirements). There's probably going to be a meta level concept under which Culture and other similar ruleset driven concepts would fall, but I don't have a name for it yet.
Until better support becomes available, ruleset authors may think ways to use Culture to implement some of their goals (esp. if author in question does not consider it a problem that the engine refers the concepts by names "culture" and "history"). Another thing that is probably going to be handy are Counters currently in development, but it's too early to say what will come of them for, say, freeciv-3.2.

---------------------------------------------------------------------
Ticket Status:

      Reporter: lexxie9952
         Owner: (None)
          Type: Feature Requests
        Status: Open
      Priority: 5 - Medium
     MileStone: (None)
     Component: (None)
      Severity: 5 - Medium
    Resolution: None
---------------------------------------------------------------------

Ticket details:

TL;DR: Give rulesets unlimited granular control over celebration bonuses instead of assuming they want it hard-coded to trigger based on Civ2 mechanics. Feature requests are at the bottom.
Background. 
Mechanics to TRIGGER celebration are (mostly) hard-coded to be same as Civ2. Likewise, the BONUS you can get is limited in thinking to be like Civ2 (i.e., increase tile output or rapture.)  Therefore, ruleset designers are allowed to emulate Civ2-like bonuses and only under Civ2-like trigger conditions. They have no free will to reshape happiness bonuses in ways different from Civ2. This is problematic because:  generally, Civ2 bonuses are considered too boolean (non-granular) and too OP. For example, a +1 trade bonus to a tile is usually +100% and radically OP. Another example, rapture is either on/off, and if on, hard-coded with Civ2 conditions for what triggers it. 
Proposal:
Allow rulesets more "analogue" control over how bonuses for happiness are triggered, and with more granularity than yes/no bonuses.
1. Rulesets should be able to make effects which trigger based on whether a city is celebrating. Right now they have limited hard-coded options like: 1-increase tile output or 2-rapture. By making a req vec such as "Is_Celebrating", "Local", "City";  rulesets would get much more control all the conditions which trigger the bonus AND the kind of bonus received. The IS_CELEBRATING req is only "stage one thinking" though, as will be made more apparent by reading on.
2. Celebrating/Not celebrating is too boolean. Req vecs such as MIN_HAPPY_PCT, MIN_UNHAPPY, MIN_OUTPUT_SURPLUS could be used to give finer granular control to rulesets. For example,
a. A city that's ALMOST celebrating could get more bonus than a city that's barely staying out of disorder.
b. A city that's 100% happy could unleash rapture growth even in governments that don't have it, OR any other special bonus decided by the infinite creative artistry of the ruleset.
c. Governments who suffer from poor granularity in their bonuses, could be balanced better by fine tuning certain bonuses (slight nerfs to the OP ones, slight fractional bonus improvements to the Underpowered ones.)
Summary of Feature requests:
a. IS_CELEBRATING as a testable req vec >>> (the hard-coded Civ2 condition that celebration = 50% happy with no unhappy. however, see (b) and (c) below for how rulesets could make their own conditions for "celebration" bonuses)
b. MIN_HAPPY_PCT as a req vec - % of a city whose citizens are happy
c. MIN_UNHAPPY or MIN_UNHAPPY_PCT - either the % of citizens who are unhappy, or the raw value
d. MIN_OUTPUT_SURPLUS - allows ruleset soft-coding of conditions for things like rapture or other bonuses, instead of hard-coded to be +1 food + 50% happy + !(unhappy) = rapture
e. EFT_CELEBRATE - causes a city to celebrate if it fulfills the reqs (rather than hard-coded Civ2 triggers).
(Features b,c,d together allow soft-coded granular types of bonuses applied to different govs and cities in special contexts, instead of EXTREMELY limited finite set of black/white yes/no boolean mechanics like currently.)


-- 
Ticket information of Freeciv project
Freeciv Project is hosted on OSDN

Project URL: https://osdn.net/projects/freeciv/
OSDN: https://osdn.net

URL for this Ticket:
    https://osdn.net/projects/freeciv/ticket/43160
RSS feed for this Ticket:
    https://osdn.net/ticket/ticket_rss.php?group_id=12505&tid=43160



More information about the Freeciv-tickets mailing list
Zurück zum Archiv-Index