Postęp game

Various topics about the game, the website, or anything else Freeciv related that doesn't fit elsewhere.
Lachu
Elite
Posts: 472
Joined: Sat May 04, 2013 2:19 pm

Re: Postęp game

Post 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.
Lachu
Elite
Posts: 472
Joined: Sat May 04, 2013 2:19 pm

Re: Postęp game

Post 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.
Lachu
Elite
Posts: 472
Joined: Sat May 04, 2013 2:19 pm

Re: Postęp game

Post 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
Lachu
Elite
Posts: 472
Joined: Sat May 04, 2013 2:19 pm

Re: Postęp game

Post 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?
Lachu
Elite
Posts: 472
Joined: Sat May 04, 2013 2:19 pm

Re: Postęp game

Post 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).
Lachu
Elite
Posts: 472
Joined: Sat May 04, 2013 2:19 pm

Re: Postęp game

Post 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.
Lachu
Elite
Posts: 472
Joined: Sat May 04, 2013 2:19 pm

Re: Postęp game

Post 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.
cazfi
Elite
Posts: 3077
Joined: Tue Jan 29, 2013 6:54 pm

Re: Postęp game

Post 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.
Lachu
Elite
Posts: 472
Joined: Sat May 04, 2013 2:19 pm

Re: Postęp game

Post 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
Lachu
Elite
Posts: 472
Joined: Sat May 04, 2013 2:19 pm

Re: Postęp game

Post 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?
Post Reply