Civ5 Ruleset and New Community Graphics+Sounds

Contribute, display and discuss rulesets and modpacks for use in Freeciv here.
sveinung
Elite
Posts: 548
Joined: Wed Feb 20, 2013 4:50 pm

Re: Civ5 Ruleset and New Community Graphics+Sounds

Post by sveinung »

ExeVirus wrote:4. Stretch goal: Get core dev support to add in 4-8 user-definable integer counters to each actor type (player, city, unit, tile) that would allow for keeping track of things like Religion, Great Person progress, Conversion Strength (for missionaries), etc.
I'm not promising anything but have a look at Feature #859061.
Lachu
Elite
Posts: 472
Joined: Sat May 04, 2013 2:19 pm

Re: Civ5 Ruleset and New Community Graphics+Sounds

Post by Lachu »

ExeVirus wrote:
Lachu wrote:a ruleset of progress.
I don't quite understand what this means other than we would implement a new ruleset file into freeciv called [name].progressspec
As someone else respond - I fork freeciv far far ago. Currently work is stopped, but maybe in future I resume it. It's based on old Freeciv code. I would be happy if someone help me create it or integrate changes with Freeciv.

Progress supports counters, restrictors, great people. Some ruleset have implemented (based on counters) policies and golden ages. Also, great person is an normal unit, but it's unique during whole gameplay.
ExeVirus wrote: I mean it sounds like it's exactly what is needed, but I have no idea how to structure such a spec file. Ideally one would be able to arbitrarily define city-based, unit-based, or player-based counters, define how they increase/decrease simply, and implement a requirement vector tie-in so that as these counters reach milestones, triggers for requirement vectors are met, allowing the effects file to take over.

Thoughts?
Download progress, compile it and see in data directory. Probably you need to see progressCiv5 ruleset. It implements golden ages and civics/policies.

But... Progress implement some features not available in any other Civilization game. I implement it and some of it are activated by default and there's no way (currently) to disable it. There's possibility to place enemy units on the same tile (for example submarine and sxome ship). Currently you cannot disable this feature.
Lexxie
Veteran
Posts: 127
Joined: Fri Jun 23, 2017 4:18 pm

Re: Civ5 Ruleset and New Community Graphics+Sounds

Post by Lexxie »

Lachu,

I can't see the code but it might be possible to make this a server setting. Do you have a github to look at, and some help to know which files?
Lachu
Elite
Posts: 472
Joined: Sat May 04, 2013 2:19 pm

Re: Civ5 Ruleset and New Community Graphics+Sounds

Post by Lachu »

Lexxie wrote:Lachu,

I can't see the code but it might be possible to make this a server setting. Do you have a github to look at, and some help to know which files?
I publish information about this game on this forum, so search for Postęp or Progress (I known searching for postęp might be difficult, but Progress should give you enough information).
Source code are on sourceforge.net: https://sourceforge.net/projects/progre ... -to-power/

I must make you sad (sorry for my English skills), but currently I'm working on porting progress to nim. I love C, but changing code written in C are very unpleasant and progress have many mistakes (of course, which I made). One kind of errors was with memory handling. But I created a new branch for nim version.
sveinung
Elite
Posts: 548
Joined: Wed Feb 20, 2013 4:50 pm

Re: Civ5 Ruleset and New Community Graphics+Sounds

Post by sveinung »

Lachu wrote:Policies, golden ages and great people could be implemented as a ruleset of progress. I currently doesn't have much time to advance progress game, bu I would be happy to get some help or integrate changes to Freeciv.
How does your counters implementation compare to Feature #859061? The long term goal of Feature #859061 is to be able to move existing hard coded counters like Airlift to the ruleset in a way that allows a ruleset to keep the current rules. It should be strongly integrated with existing Freeciv ruleset concepts. (Like requirements. Probably settable via effects too.)

How independent is your counters implementation from the rest of progress? Would you be interested in extracting (parts of) it, submitting it as a feature for Freeciv and fix issues found during review? If yes: what parts are usable in Freeciv? Is there a way to break it down into smaller atomic changes? If no: would you like to share any experiences from implementing counters in progress that would be usable for someone implementing counters in Freeciv?
Lachu
Elite
Posts: 472
Joined: Sat May 04, 2013 2:19 pm

Re: Civ5 Ruleset and New Community Graphics+Sounds

Post by Lachu »

sveinung wrote:
Lachu wrote:Policies, golden ages and great people could be implemented as a ruleset of progress. I currently doesn't have much time to advance progress game, bu I would be happy to get some help or integrate changes to Freeciv.
How does your counters implementation compare to Feature #859061? The long term goal of Feature #859061 is to be able to move existing hard coded counters like Airlift to the ruleset in a way that allows a ruleset to keep the current rules. It should be strongly integrated with existing Freeciv ruleset concepts. (Like requirements. Probably settable via effects too.)

How independent is your counters implementation from the rest of progress? Would you be interested in extracting (parts of) it, submitting it as a feature for Freeciv and fix issues found during review? If yes: what parts are usable in Freeciv? Is there a way to break it down into smaller atomic changes? If no: would you like to share any experiences from implementing counters in progress that would be usable for someone implementing counters in Freeciv?
Main my problem with creating community projects (and programming projects at all) is low English knowledge. I could split my implementation into smaller part and submit a path's. My counters are similar in one way to suggestions (in attached topic): I use two requirement - first we must give a name to a counter. The name will be local to current requirement list. To give name, you must specify type of counter (Player, City, Unit, Global) and object/range-related name. Of course, you must also specify a new name. In next step, you will use Objects requirement with EffectFunctions range to compare it to some value. I define table of function pointer and it name in some file. Each function will exactly takes two parameters.
About splitting. It's doable, but it's related to other functionality, so I probably must rewrite some code.
I will try to ensure what I should to do tomorrow.
Lachu
Elite
Posts: 472
Joined: Sat May 04, 2013 2:19 pm

Re: Civ5 Ruleset and New Community Graphics+Sounds

Post by Lachu »

http://www.hostedredmine.com/issues/859061

It seems to works, but I need suggestions about code formatting/quality. I known, that in one place I should free memory after use, but I will repair this tomorrow. Today I wait for suggestions.
Aha. I discovered, that my work related to progress covers only Player-counters. I will implemented world counters too without any pain, but implemented one's related to units or cities will takes more time probably.
Lachu
Elite
Posts: 472
Joined: Sat May 04, 2013 2:19 pm

Re: Civ5 Ruleset and New Community Graphics+Sounds

Post by Lachu »

So I need also to implement other counter types (World, Units, Cities) and add a way to multiply effect value by counter value. Progress allows to multiply effect value by counter value. Mod vendor could use string vector in effect section. Each element of string vector represent counter/multipliers/other entity name and ruleset.c lookup for entity with priority, so if we have a counter and a multiplier, counter is prior for example.
Lachu
Elite
Posts: 472
Joined: Sat May 04, 2013 2:19 pm

Re: Civ5 Ruleset and New Community Graphics+Sounds

Post by Lachu »

Hi.
Counters feature is nearly done. I don't send everything. I made progress with allowing environment win, when co2 emitted is bigger than some value and player emotion is lower.
Post Reply