Page 5 of 10

Re: Postęp game

Posted: Wed Nov 08, 2017 7:30 pm
by Lachu
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.

Re: Postęp game

Posted: Fri Nov 24, 2017 3:03 pm
by Lachu
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:

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"
}
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.

Re: Postęp game

Posted: Mon Nov 27, 2017 12:04 pm
by Lachu
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:

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" 
}
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

Re: Postęp game

Posted: Mon Nov 27, 2017 5:30 pm
by Lachu
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?

Re: Postęp game

Posted: Tue Nov 28, 2017 2:52 pm
by Lachu
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

Posted: Wed Nov 29, 2017 12:14 pm
by Lachu
I changed production cost calculation in proud. From now, it will be calculated in this way:

Code: Select all

base_cost + base_cost * citizens_in_other_nationality_than_player_nation / citizens
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.

Re: Postęp game

Posted: Wed Nov 29, 2017 2:02 pm
by Lachu
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

Posted: Wed Dec 20, 2017 4:15 pm
by cazfi
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.
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.

Re: Postęp game

Posted: Wed Dec 20, 2017 7:05 pm
by Lachu
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

Re: Postęp game

Posted: Thu Dec 21, 2017 1:58 pm
by Lachu
I have a trouble with AI.AI can move unit not belonging it. So, I have question, how to check currently processed AI?