Postęp game
Re: Postęp game
I have an new ideas to use effect accumulators and will test it tomorrow, but I must also add new functionality to effects accumulators, like value_multiplication_function = "simple, turn_activated, activated_count, activated_turn_count (and maybe others)". This value will determine how to multiply value. I must think on the idea yet.
The other idea is rules, which can be inserted into effects.ruleset. For example with event city_conquered, we could reduce production and happiness of conquered city for some turn.
The other idea is rules, which can be inserted into effects.ruleset. For example with event city_conquered, we could reduce production and happiness of conquered city for some turn.
Re: Postęp game
I have updated code. New code is free of some bugs (with effects accumulators), introduces two new features related to effects accumulators and been refactored.
I introduced calc_fnc (calculation function of effect value) and divide (value divider). Reason is to allow making thinks like this in simplest way than before:
The unit will gain 25 Defend_Bonus for each two turn.
I must also wrote that I tent to make progress multiplayer purposes game only. Maybe in future I will add AI, but that's not my goal.
I introduced calc_fnc (calculation function of effect value) and divide (value divider). Reason is to allow making thinks like this in simplest way than before:
Code: Select all
[effect_defense]
type = "Defend_Bonus"
value= 25
calc_fnc = "number of turn on"
divider = 2
remember_target_unit = TRUE
reqs =
{
"type", "name", "range"
"Extra", "Fortress", "Local"
}
I must also wrote that I tent to make progress multiplayer purposes game only. Maybe in future I will add AI, but that's not my goal.
Re: Postęp game
I have introduced basic eureka system. Eureka is a feature introduced in Civilization 6, where you can receive boost to some technologies by doing some action, for example: declaring war first time, research some other technology, have city with minimum population at 6 citizens, kill three barbarian unit, kill unit by some kind on unit (like archers), etc.
Below I inserted an example of eureka definition:
When player build city, he/she have got very large bonus to Masonry technology. In fact, player will receive this technology as he/she build her/his first city, because bonus is very big and Masonry requires 23 science points.
I must wrote, that I tend to make Progress only multiplayer playable game, because:
a) I don't have AI programming knowledge
b) Changes are very far, so I don't have time to develop AI or make AI able to understood new rules isn't possible
Below I inserted an example of eureka definition:
Code: Select all
[effect_eureka_test_1]
type = "Technology_Progress_Add"
value = 10000
reqs =
{
"type", "name", "range"
"OutputTechnology", "Masonry", "player"
"city_built(X)", "", "lua_event"
}
I must wrote, that I tend to make Progress only multiplayer playable game, because:
a) I don't have AI programming knowledge
b) Changes are very far, so I don't have time to develop AI or make AI able to understood new rules isn't possible
Re: Postęp game
I decided to add code to draw line on technologies in technology tree. This line will tell how much technology is acquired. This functionality is needed to complete changes related to eureka.
Where can I find code responsible for drawing tech tree?
Where can I find code responsible for drawing tech tree?
Re: Postęp game
I have found this code. I thought it resides in client/gui-*/somefile.c, but I find it in client/reqtree.c. Client supports displaying technology discovering progress as technology quad background, so eureka system is well supported by client (gui-gtk-3.22).
Re: Postęp game
I changed production cost calculation in proud. From now, it will be calculated in this way:
Cost will be greater if we are in war with nation of that citizen.
Citizens are citizen number in city.
The idea aims to make game more realistic. That's normal we cannot build military unit or building in city, we conquer in current turn, so cost in proud are greater. Cost in gold aren't greater, because mercenaries don't have to be faithful. The same is related to built building - workers doens't have to be faithful.
Code: Select all
base_cost + base_cost * citizens_in_other_nationality_than_player_nation / citizens
Citizens are citizen number in city.
The idea aims to make game more realistic. That's normal we cannot build military unit or building in city, we conquer in current turn, so cost in proud are greater. Cost in gold aren't greater, because mercenaries don't have to be faithful. The same is related to built building - workers doens't have to be faithful.
Re: Postęp game
I am rather beginner developer, but I ask it is possible to share source code between Progress and Freeciv. I think libfreeciv could been shared (/commn) and we could use conditional compilation to enable/disable feature available only in one of this game. It would be great if we can integrate yet other games, like C-Evo, but C-Evo is written in Delphi/Pascal.
Re: Postęp game
Feel free to submit patches to http://www.hostedredmine.com/projects/f ... issues/new about any features you'd like to port back to freeciv from Postęp.Lachu wrote:I am rather beginner developer, but I ask it is possible to share source code between Progress and Freeciv. I think libfreeciv could been shared (/commn) and we could use conditional compilation to enable/disable feature available only in one of this game. It would be great if we can integrate yet other games, like C-Evo, but C-Evo is written in Delphi/Pascal.
Re: Postęp game
One of milestone was reached. From now player can win by destroy all other players. It like in Freeciv, but I change orders doing mechanism and battle mechanism.
From now to conquer city or attack enemy unit, your's unit must be on the same tile and you must select attack or conquer option from menu. When player selects attack option, only one iteration of battle is performed.
In future I also plan to create other battle option, like escape, etc. I decided that there must be one turn wait before moving order was processed.
Here is movie about changes:
https://youtu.be/y3trEjiaPD4
From now to conquer city or attack enemy unit, your's unit must be on the same tile and you must select attack or conquer option from menu. When player selects attack option, only one iteration of battle is performed.
In future I also plan to create other battle option, like escape, etc. I decided that there must be one turn wait before moving order was processed.
Here is movie about changes:
https://youtu.be/y3trEjiaPD4
Re: Postęp game
I have a trouble with AI.AI can move unit not belonging it. So, I have question, how to check currently processed AI?