Latest Posts

Topic: Neues Volk - Europäer

MarkMcWire
Avatar
Topic Opener
Joined: 2017-02-08, 21:06
Posts: 321
Ranking
Tribe Member
Location: Eisenach, Germany
Posted at: 2021-06-05, 15:16

Ich baue gerade am Update 1.3.0, mit den neuen Arbeitern, wobei auch der Schiffsbauer die Stufen Basic, Normal und Advanced bekommen hat. Ich bitte das heute noch zu übernehmen. Dann ist mein Volk erstmal soweit abgeschlossen und ich kann es im Multiplayer testen. Version 1.3.0 wird nicht mehr abwärtskompatibel sein zu 1.2.x.


My widelands project: https://github.com/widelands/wl_addons_server/tree/master/addons/europeans_tribe.wad

Top Quote
MarkMcWire
Avatar
Topic Opener
Joined: 2017-02-08, 21:06
Posts: 321
Ranking
Tribe Member
Location: Eisenach, Germany
Posted at: 2021-06-05, 16:03

Update 1.3.0 ist jetzt auf Github, damit ist das letzte große Update nun wirklich erledigt. Ich kümmere mich jetzt um die Spritesheets und die Verringerung der Anzahl an Animationsgrafiken um das Addon kleiner zu machen. Aktuell wird es nur sehr langsam heruntergeladen durch die vielen kleinen Grafiken.

Edited: 2021-06-05, 16:09

My widelands project: https://github.com/widelands/wl_addons_server/tree/master/addons/europeans_tribe.wad

Top Quote
hessenfarmer
Avatar
Joined: 2014-12-11, 23:16
Posts: 2646
Ranking
One Elder of Players
Location: Bavaria
Posted at: 2021-06-05, 16:07

MarkMcWire wrote:

Die Sache mit den Spritesheets werde ich mir jedoch in Ruhe ansehen und die Arbeiteranimationen nach und nach umstellen, um die Anzahl der Dateien im Addon zu verringern.

Wenn das bei dir funktioniert, wäre es schön wenn du das auch für die offiziellen Völker machen könntest. bzw. die Grafiken für die offziellen Völker konvertieren und dann bei dir verwenden. Ich krieg es unter Windows nicht hin.
Ausserdem kannst du dir auch noch meinen deprecated pictures branch anschauen um das Format der Europäer auf den letzten Stand zu bringen. Das wird allerdings erst in 1.1 zum Tragen kommen.

Fishbreeder -> aktuell macht dieser Arbeiter sowohl Fischzucht als auch Lehmgewinnung, würde das gerne in zwei verschiedene Arbeiter auftrennen, die jedoch das selbe Gebäude bevölkern. Dazu müsste das Spiel aber Gebäude mit mehreren Arbeitertypen mit unterschiedlichen Arbeitsprogrammen unterstützen. @hessenfarmer @Nordfriese

Das Problem ist, dass bei callworker immer der Erste Arbeiter im Gebäude berücksichtigt wird. wenn das Gebäude selber das Programm enthält und die Arbeiterprogramme nicht braucht funktioniert das insoweit, dass beide immer Erfahrung bekommen.
Interessante Idee auf jeden Fall.


Top Quote
MarkMcWire
Avatar
Topic Opener
Joined: 2017-02-08, 21:06
Posts: 321
Ranking
Tribe Member
Location: Eisenach, Germany
Posted at: 2021-06-05, 16:18

Ich setze mich mal dran, da die Europäer von der Grundstruktur ja erstmal fertig und funktionsfähig und auch gut spielbar sind. Die KI scheint jetzt auch zu laufen.

Wenn das mit der Umstellung der Gebäude in 1.1. klappen sollte, würde ich auch die Förster und Holzfäller in ein Gebäude packen. Das hat auch für die KI gewisse Vorteile und sorgt dafür, dass sie nicht komplette Kartensegmente abholzt und die Holzfäller dann bei 0% Produktivität herumtümpeln. Damit allerdings die Holzfäller weiterhin die Karte freiräumen können, wird die Basis-Version der Förster erstmal sehr langsam arbeiten. Erst durch Erfahrungspunkte werden sie dann die Holzfäller überflügeln und dafür sorgen, dass die Karte immer mit Bäumen gefüllt ist.

Edited: 2021-06-05, 16:18

My widelands project: https://github.com/widelands/wl_addons_server/tree/master/addons/europeans_tribe.wad

Top Quote
hessenfarmer
Avatar
Joined: 2014-12-11, 23:16
Posts: 2646
Ranking
One Elder of Players
Location: Bavaria
Posted at: 2021-06-05, 16:41

MarkMcWire wrote:

Ich setze mich mal dran, da die Europäer von der Grundstruktur ja erstmal fertig und funktionsfähig und auch gut spielbar sind. Die KI scheint jetzt auch zu laufen.

Wenn das mit der Umstellung der Gebäude in 1.1. klappen sollte, würde ich auch die Förster und Holzfäller in ein Gebäude packen. Das hat auch für die KI gewisse Vorteile und sorgt dafür, dass sie nicht komplette Kartensegmente abholzt und die Holzfäller dann bei 0% Produktivität herumtümpeln. Damit allerdings die Holzfäller weiterhin die Karte freiräumen können, wird die Basis-Version der Förster erstmal sehr langsam arbeiten. Erst durch Erfahrungspunkte werden sie dann die Holzfäller überflügeln und dafür sorgen, dass die Karte immer mit Bäumen gefüllt ist.

Ob das mit der KI kompatibel ist Holzfäller und Förster zu kombinieren, kann ich nicht versprechen. Auch sollte die Karte jetzt nicht mehr total abgeholzt werden. Ob das mit den verschiedenen Arbeitern in einem Gebäude in v1.1 kommt ist auch nicht gewiss, genausowenig weiss ich ob die Ki damit umgehen kann.

Muss noch mal die aktuelle Version checken, ob das Recruitment Center da jetz korrekt gehandhabt wird.


Top Quote
Nordfriese
Avatar
Joined: 2017-01-17, 18:07
Posts: 1929
OS: Debian Testing
Version: Latest master
Ranking
One Elder of Players
Location: 0x55555d3a34c0
Posted at: 2021-06-21, 21:44

A change was just merged to master to fix issues with the same unit being declared by multiple add-ons.

All new units defined by add-ons need an additional attribute __skip_if_exists or __replace_if_exists, which defines how to proceed if a description of the same name was previously declared by another add-on.

All European units still need this new attribute.


Top Quote
MarkMcWire
Avatar
Topic Opener
Joined: 2017-02-08, 21:06
Posts: 321
Ranking
Tribe Member
Location: Eisenach, Germany
Posted at: 2021-06-21, 22:34

Nordfriese wrote:

A change was just merged to master to fix issues with the same unit being declared by multiple add-ons.

All new units defined by add-ons need an additional attribute __skip_if_exists or __replace_if_exists, which defines how to proceed if a description of the same name was previously declared by another add-on.

All European units still need this new attribute.

Wie und an welcher Stelle muss das eingefügt werden?


My widelands project: https://github.com/widelands/wl_addons_server/tree/master/addons/europeans_tribe.wad

Top Quote
Nordfriese
Avatar
Joined: 2017-01-17, 18:07
Posts: 1929
OS: Debian Testing
Version: Latest master
Ranking
One Elder of Players
Location: 0x55555d3a34c0
Posted at: 2021-06-21, 22:50

In alle register.lua-Dateien,

z. B. addons/europeans_tribe.wad/buildings/advanced_barrier/register.lua:

return {
   europeans_advanced_barrier = {},
}

return {
   europeans_advanced_barrier = {"__replace_if_exists"},
}

Derzeit understützt sind "__skip_if_exists" und "__replace_if_exists", in der Zukunft vsl. noch weitere.

Wichtig ist dies bei deinem Add-On insbesondere bei Roggen und Roggenfeldern, denn wenn man Europeans und Frisians Economy Ultra zugleich aktiviert, kommen die sich dort gegenseitig in die Quere. Die Attribute entscheiden dann, welches Add-On die umstrittenen Objekte erstellt und welche Definitionen ignoriert werden. FriEcoU ist bereits auf Kompatibilität mit anderen Add-Ons ausgelegt, also empfehle ich für die Europäer "__replace_if_exists" zu verwenden.


Top Quote
MarkMcWire
Avatar
Topic Opener
Joined: 2017-02-08, 21:06
Posts: 321
Ranking
Tribe Member
Location: Eisenach, Germany
Posted at: 2021-06-22, 12:31

Erledigt, hab es commited.


My widelands project: https://github.com/widelands/wl_addons_server/tree/master/addons/europeans_tribe.wad

Top Quote
Nordfriese
Avatar
Joined: 2017-01-17, 18:07
Posts: 1929
OS: Debian Testing
Version: Latest master
Ranking
One Elder of Players
Location: 0x55555d3a34c0
Posted at: 2021-06-25, 11:09

Version 1.3.7 startet nicht:

ERROR: Error allocating game: DescriptionManager::register_description europeans_battlearena_basic: add-on entities must define either '__skip_if_exists' or '__replace_if_exists'

Insgesamt brauchen die folgenden Einheiten eine Anpassung:

~/wl/server/addons/europeans_tribe.wad$ grep -F '{}' `find -name register.lua`
./trainingsites/battlearena_level_4/register.lua:   europeans_battlearena_level_4 = {},
./trainingsites/battlearena_level_2/register.lua:   europeans_battlearena_level_2 = {},
./trainingsites/battlearena_basic/register.lua:   europeans_battlearena_basic = {},
./trainingsites/battlearena_level_1/register.lua:   europeans_battlearena_level_1 = {},
./trainingsites/battlearena_level_3/register.lua:   europeans_battlearena_level_3 = {},

Nachtrag: Es scheint, dass diese Gebäude zwei mal vorhanden sind – jeweils unter trainingsites und trainingssites?


Außerdem noch ein String-Issue: In addons/europeans_tribe.wad/tribes/europeans_tribe/units.lua:646 steht »Needöes« statt »Needles«.

Edited: 2021-06-25, 11:22

Top Quote