Important Dates

Latest Posts

Topic: Militärgebäude - Bevorzuge : ?

Nordfriese
Avatar
Joined: 2017-01-17, 18:07
Posts: 2026
OS: Debian Testing
Version: Latest master
Ranking
One Elder of Players
Location: 0x55555d3a34c0
Posted at: 2020-12-15, 14:22

Einen einzelnen Soldaten nach Wunsch anzufordern wäre nochmal ein ganz neues Feature face-wink.png Dazu solltest du dann halt auf »Helden/Neulinge bevorzugen« umstellen; ich kann mir nicht vorstellen, dass man allzu oft in die Situation gerät, dass ein Militärgebäude gezielt mit einer Mischung aus Helden und Neulingen bestückt werden soll. Wofür konkret wäre das gut? Und wäre dann die oben vorgeschlagene Option »Durchschnittliche Soldaten bevorzugen« nicht vielleicht eine bessere Lösung?

Und warum man das Verhalten des Gebäudes eigenartig finden würde, verstehe ich auch nicht – schließlich ist es gerade der Sinn dieser Einstellung, dass das Gebäude alle gerade anwesenden Soldaten behält und nicht austauscht …


Top Quote
JanO
Avatar
Joined: 2015-08-02, 11:56
Posts: 177
Ranking
At home in WL-forums
Posted at: 2020-12-15, 22:45

Einzelne Soldaten anzufordern war ja nur ein Alternativvorschlag zu der Variante "Öffne Warenhaus-Fenster + Öffne Militärgebäude-Fenster; Wähle zwei Soldaten aus; Tausche".

Mit eigenartigem Verhalten meinte ich die Situation, die aus meinem anderen Vorschlag resultieren könnte, bei dem herausgeschmissene Soldaten gerade nicht automatisch ersetzt würden. Wenn man vergisst, dass man etwas so eingestellt hat und dann das Fenster schließt, wundert man sich halt später, dass das Gebäude nicht aufgefüllt wird - es sei denn, diese Option würde irgendwie irgendwann automatisch wieder abgeschaltet.

Edited: 2020-12-15, 22:47

Top Quote
OIPUN
Avatar
Joined: 2020-11-17, 09:34
Posts: 136
Ranking
At home in WL-forums
Location: Czech
Posted at: 2020-12-16, 11:27

Wie ich es sehe, das Problem liegt meiner Meinung nach irgendwo anders. Am Anfang Teayo schreibt: „Im Lager nur noch trainierte Soldaten sind – Das Kolosseum keine Soldaten mehr zum trainieren hat?“ Beim Spielen habe ich am Anfang darüber auch nachgedacht. Wenn ich Soldaten zum Trainieren habe, warum sollte das Kolosseum leer bleiben? Also die Lösung sollte dann sein, dem Kolosseum absolute Priorität auf den Empfang von untrainierten Soldaten zu geben. Egal was ich in einem Militärgebäude eingestellt habe. Das Trainingsgebäude sollte immer einen Soldaten empfangen, wenn es gibt. Und in der Folge der schon trainierte Soldat aus dem Lager geht und ersetzt den untrainierten Soldaten, den das Trainingsgebäude braucht. Wenn ich so was nicht möchte, kann ich immer das schon leere Trainingsgebäude stoppen. Anders, die Idee von einer "Kein Austausch" Wahl finde ich auch nutzbar. Wenn ein Spieler von so einem Militärgebäude einen Soldaten mit einem Klick wegschickt, sollte die Kapazität automatisch niedrigen. Das finde ich auch logisch, wenn er kein Austausch will und trotzdem den Soldaten wegschickt. Ich hoffe, dass es Sinn macht und, so wie ich es geschrieben habe, auch machbar ist.

Edited: 2020-12-16, 12:01

Top Quote
Nordfriese
Avatar
Joined: 2017-01-17, 18:07
Posts: 2026
OS: Debian Testing
Version: Latest master
Ranking
One Elder of Players
Location: 0x55555d3a34c0
Posted at: 2020-12-16, 12:02

Einzelne Soldaten anzufordern war ja nur ein Alternativvorschlag zu der Variante "Öffne Warenhaus-Fenster + Öffne Militärgebäude-Fenster; Wähle zwei Soldaten aus; Tausche".

Mit eigenartigem Verhalten meinte ich die Situation, die aus meinem anderen Vorschlag resultieren könnte, bei dem herausgeschmissene Soldaten gerade nicht automatisch ersetzt würden. Wenn man vergisst, dass man etwas so eingestellt hat und dann das Fenster schließt, wundert man sich halt später, dass das Gebäude nicht aufgefüllt wird - es sei denn, diese Option würde irgendwie irgendwann automatisch wieder abgeschaltet.

Ah ok alles klar face-smile.png

Anders, die Idee von einer "Kein Austausch" Wahl finde ich auch nutzbar. Wenn ein Spieler von so einem Militärgebäude einen Soldaten mit einem Klick wegschickt, sollte die Kapazität automatisch niedrigen. Das finde ich auch logisch, wenn er kein Austausch will und trotzdem den Soldaten wegschickt.

Das fände ich nicht logisch, denn es wäre inkonsistent, wenn das Wegschicken die Kapazität manchmal ändert und manchmal nicht. Aber wir könnten ja implementieren, dass Strg+Klick den Soldaten wegschickt und zugleich die Kapazität automatisch um 1 verringert, damit kein Ersatz angefordert wird.

Wie ich es sehe, das Problem liegt meiner Meinung nach irgendwo anders. Am Anfang Teayo schreibt: „Im Lager nur noch trainierte Soldaten sind – Das Kolosseum keine Soldaten mehr zum trainieren hat?“ Beim Spielen habe ich am Anfang darüber auch nachgedacht. Wenn ich Soldaten zum Trainieren habe, warum sollte das Kolosseum leer bleiben? Also die Lösung sollte dann sein, dem Kolosseum absolute Priorität auf den Empfang von untrainierten Soldaten zu geben. Egal was ich in einem Militärgebäude eingestellt habe. Das Trainingsgebäude sollte immer einen Soldaten empfangen, wenn es gibt. Und in der Folge der schon trainierte Soldat aus dem Lager geht und ersetzt den untrainierten Soldaten, den das Trainingsgebäude braucht. Wenn ich so was nicht möchte, kann ich immer die schon leere Trainingsgebäude stoppen.

Ich fürchte, das lässt sich nicht implementieren. Intern läuft die Verteilung von Soldaten nämlich genauso ab wie die von allen Waren und Arbeitern, und zwar:

Es gibt eine Liste von Supplies, d.h. Waren/Arbeiter, die zur Zeit nichts zu tun haben (etwa in einem Warenhaus rumsitzen und warten, bis man sie braucht). Es gibt Gebäude, die Requests öffnen, wobei jedes Request besagt »Ich brauche X Einheiten von Ware/Arbeiter Y«. Requests für Soldaten können zusätzlich eine minimale oder maximale Trainingsstufe angeben (dies wird für den präferenzbasierten Austausch in Militärgebäuden sowie für die ausschließliche Anforderung geeigneter Soldaten für Trainingsgebäude genutzt). Und es gibt eine Economy, die sich regelmäßig alle offenen Requests anschaut und versucht, die verfügbaren Supplies optimal auf die Requests zu verteilen. Ein Militärgebäude ist somit stets ein Empfänger von Soldaten und kann diese unter keinen Umständen der Economy (zwecks Verteilung zu den Trainingsgebäuden) bereitstellen. Daher ist die Situation nur durch manuelles Micromanagement lösbar.

Wäre eine Prioritätseinstellung für Soldaten in Militär- und Trainingsgebäuden (ähnlich der Priorität für Waren in Produktionsgebäuden) nicht eine Möglichkeit, dem Problem ein Stück weit die Dringlichkeit zu nehmen? Dann könnte man den Trainingsgebäuden einfach die maximale Priorität geben, sodass verfügbare Soldaten immer erst zum Training und dann in die Militärgebäude gehen.


Top Quote
OIPUN
Avatar
Joined: 2020-11-17, 09:34
Posts: 136
Ranking
At home in WL-forums
Location: Czech
Posted at: 2020-12-16, 12:48

Wäre eine Prioritätseinstellung für Soldaten in Militär- und Trainingsgebäuden (ähnlich der Priorität für Waren in Produktionsgebäuden) nicht eine Möglichkeit, dem Problem ein Stück weit die Dringlichkeit zu nehmen? Dann könnte man den Trainingsgebäuden einfach die maximale Priorität geben, sodass verfügbare Soldaten immer erst zum Training und dann in die Militärgebäude gehen.

Wahrscheinlich kann helfen, denn das löste das Problem, dass die neuen Soldaten aus der Kaserne direkt ins Militärgebäude laufen. Auch wenn Trainingsgebäude leer ist und es gibt Soldaten im Lager. Danke für die Erklärung.


Top Quote
hessenfarmer
Avatar
Joined: 2014-12-11, 23:16
Posts: 2722
Ranking
One Elder of Players
Location: Bavaria
Posted at: 2020-12-16, 13:11

Nordfriese wrote:

Wäre eine Prioritätseinstellung für Soldaten in Militär- und Trainingsgebäuden (ähnlich der Priorität für Waren in Produktionsgebäuden) nicht eine Möglichkeit, dem Problem ein Stück weit die Dringlichkeit zu nehmen? Dann könnte man den Trainingsgebäuden einfach die maximale Priorität geben, sodass verfügbare Soldaten immer erst zum Training und dann in die Militärgebäude gehen.

Ich glaube, dass funktioniert nicht (mehr). Teil des Problems, dass keine Soldaten trainiert werden, wenn keine im Lager sind ist der neue Trainingsalgorithmus. Dieser löscht die Requests wenn kein Soldat exisitiert und öffnet einen neuen, während die Requests der Militärgebäude stehen bleiben, so dass die alten Requeste der Militätrgebäude fast immer Priorität haben. Somit gehen weggeschickte Soldaten nur noch in Militärgebäude und nicht mehr in Trainingsites wie früher möglich. Zumindest ist das mein Verständnis


Top Quote
Teayo
Avatar
Topic Opener
Joined: 2015-03-09, 22:11
Posts: 192
OS: Windows 11 Home 64-bit
Version: 1.2 from Juni (06) 2023
Ranking
Widelands-Forum-Junkie
Location: Deutschland
Posted at: 2020-12-16, 13:19

Nachdem ich dieses Thema angestoßen hab, sind ja nun einige Antworten zum Thema vorhanden.

JanO hat mich auf eine Sache aufmerksam gemacht, die man auch besser steuern soll, die ich jedoch am Anfang noch garnicht auf dem Schirm hatte.

Also ich halte fest : Es wäre gut wenn es bei Militärgebäuden eine weitere Möglichkeit gibt, einzustellen, welche Soldaten das Militärgebäude bevorzugt bewohnen sollen.

Aus den Antworten kristallisierte sich für mich folgendes heraus :
- Bevorzuge Neulinge (Vorhanden)
- Bevorzuge durchschnittlichen Soldaten (von Teayo)
- Bevorzuge Helden (Vorhanden)
- Keinen Bevorzugen (WorldSavior)

Wie definiere ich einen durchschnittlichen Soldaten : Addiere alle Fertigkeitspunkte/level aller Soldaten in der Wirtschaft, egal ob im Lager oder in einen Militärgebäude und teile dann durch die Gesamtanzahl an Soldaten einer Wirtschaft.

Zudem wäre es gut wenn es die Möglichkeit gibt :
- Alle Soldaten, die sich im Hauptquartier, Hafen oder einen Lager befinden, über einen extra Reiter "Soldaten" einsehbar sind und dann wie Soldaten in einen Militärgebäude oder einen Trainingsgebäude dargestellt werden. (Anzeige der Fertigkeitslevel)
- Das ein Soldat in einen Lager, Hafen, Hauptquartier, Trainingsgebäude oder einen Militärgebäude ausgewählt werden kann und man Ihn mit einen anderen Soldaten aus einen anderen Gebäude, der genannten Gruppe austauschen kann.

JanO's Antworten haben mich auf einen weiteren Punkt gebracht, der ebenfalls wichtig ist für alle Militärgebäude :
- Niedrige Priorität
- Normale Priorität
- Hohe Priorität

Die Priorität sagt aus, ob ein Militärgebäude was nicht genug Soldaten hat, eher einen Soldaten bekommt, wenn einer verfügbar ist oder weniger. Dieses Prioritäten System existiert schon, unzwar bei den einzelnen Waren und Zivilgebäuden, die Ampel-Optionen.

Mir geht es darum, wie kann man mit wenig Ressoursen, seine Soldaten möglichst effizient verwalten. Militärgebäude die nahe der Front sind, erhalten eine hohe Priorität und bevorzuge Helden. Militärgebäude im Innland erhalten eine niedrige Priorität und bevorzuge Neulinge bzw. durchschnittliche Soldaten.

Nun kann man natürlich noch überlegen, was ist wenn ein Gebäude an der Front Soldaten braucht, im Lager jedoch nur ein Neuling ist und die Arena frei ist, soll das Programm Ihn erst in die Arena schicken, was langfristig aufjedenfall sinn macht oder doch zum Militärgebäude schicken um die fehlende Kapazität zu füllen ? Ich denke, wenn es auch für Soldaten ein Prioritäten-System, ähnlich dem was es schon bei Waren gibt, hinzufügt, dann würde sich diese Frager leichter beantworten.

Da ich nun die Idee für die Prioritäten bei Soldaten, also sprich Arbeitern eines Volkes vorschlage, sollte man der Vollständigkeit halber auch darüber nachdenken, das auch jedes Zivilgebäude so eine Arbeiter Priorität erhalt. Was dagegen spricht ist ganz klar der Aufwand/Nutzen-Faktor. Wenn man das einprogrammiert wird das sicherlich sehr aufwändig, jedoch wird es kaum bis garnicht zu solchen Situationen kommen, wo dieses Prioritäten-System gebraucht wird, selbst wenn, macht es dann sowieso keinen Unterschied, den Hauptsache das Gebäude produziert, egal ob nun im einen oder anderen, es Macht keinen Unterschied, eines der beiden Gebäude wird so oder so nicht produzieren können. Und in der Summe, bei den Eingehend-Ausgehend-Waren ist dann kein Unterschied zu erkennen.

Jedoch schlage ich weiterhin eine Schule für alle normalen Arbeiter vor, ähnlich der Kaserne. Oder ein Arbeiter schnappt sich das jeweilige Werkzeug und geht damit erstmal zu einen bereits laufenden jeweiligen Gebäude und "lernt" dort X Sekunden lang, bevor er zurück ins Lager geht und dort auf ein unbesetztes freies Gebäude seines Berufes geht.

Edited: 2020-12-16, 13:23

Das Imperium schlägt zurück ! TY

Top Quote
Nordfriese
Avatar
Joined: 2017-01-17, 18:07
Posts: 2026
OS: Debian Testing
Version: Latest master
Ranking
One Elder of Players
Location: 0x55555d3a34c0
Posted at: 2020-12-16, 13:27

hessenfarmer wrote:

Nordfriese wrote:

Wäre eine Prioritätseinstellung für Soldaten in Militär- und Trainingsgebäuden (ähnlich der Priorität für Waren in Produktionsgebäuden) nicht eine Möglichkeit, dem Problem ein Stück weit die Dringlichkeit zu nehmen? Dann könnte man den Trainingsgebäuden einfach die maximale Priorität geben, sodass verfügbare Soldaten immer erst zum Training und dann in die Militärgebäude gehen.

Ich glaube, dass funktioniert nicht (mehr). Teil des Problems, dass keine Soldaten trainiert werden, wenn keine im Lager sind ist der neue Trainingsalgorithmus. Dieser löscht die Requests wenn kein Soldat exisitiert und öffnet einen neuen, während die Requests der Militärgebäude stehen bleiben, so dass die alten Requeste der Militätrgebäude fast immer Priorität haben. Somit gehen weggeschickte Soldaten nur noch in Militärgebäude und nicht mehr in Trainingsites wie früher möglich. Zumindest ist das mein Verständnis

Die Zeit, wie lange ein bestimmtes Request schon offen ist, ist nur einer der Faktoren, die in die Zuteilung eingehen. Weitere Faktoren sind die Entfernung des Requests von der besten verfügbaren Supply, das Anforderungsintervall, und die Priorität. Und wenn die Priorität für ein Trainingsgebäude auf Maximal gesetzt wird (ich meine das neue »Highest Priority« in master), erhalten die Requests dieses Gebäude immer und ohne Außnahme absoluten Vorrang vor allen nicht-maximalpriorisierten Requests.
https://github.com/widelands/widelands/blob/master/src/economy/request.cc#L281

Teayo wrote:

Nachdem ich dieses Thema angestoßen hab, sind ja nun einige Antworten zum Thema vorhanden.

JanO hat mich auf eine Sache aufmerksam gemacht, die man auch besser steuern soll, die ich jedoch am Anfang noch garnicht auf dem Schirm hatte.

Also ich halte fest : Es wäre gut wenn es bei Militärgebäuden eine weitere Möglichkeit gibt, einzustellen, welche Soldaten das Militärgebäude bevorzugt bewohnen sollen.

Aus den Antworten kristallisierte sich für mich folgendes heraus :
- Bevorzuge Neulinge (Vorhanden)
- Bevorzuge durchschnittlichen Soldaten (von Teayo)
- Bevorzuge Helden (Vorhanden)
- Keinen Bevorzugen (WorldSavior)

Ist jetzt im issue festgehalten

Zudem wäre es gut wenn es die Möglichkeit gibt :
- Alle Soldaten, die sich im Hauptquartier, Hafen oder einen Lager befinden, über einen extra Reiter "Soldaten" einsehbar sind und dann wie Soldaten in einen Militärgebäude oder einen Trainingsgebäude dargestellt werden. (Anzeige der Fertigkeitslevel)
- Das ein Soldat in einen Lager, Hafen, Hauptquartier, Trainingsgebäude oder einen Militärgebäude ausgewählt werden kann und man Ihn mit einen anderen Soldaten aus einen anderen Gebäude, der genannten Gruppe austauschen kann.

+1, aber natürlich kompliziert zu implementieren

JanO's Antworten haben mich auf einen weiteren Punkt gebracht, der ebenfalls wichtig ist für alle Militärgebäude :
- Niedrige Priorität
- Normale Priorität
- Hohe Priorität
- Keine Priorität

Die Priorität sagt aus, ob ein Militärgebäude was nicht genug Soldaten hat, eher einen Soldaten bekommt, wenn einer verfügbar ist oder weniger. Dieses Prioritäten System existiert schon, unzwar bei den einzelnen Waren und Zivilgebäuden, die Ampel-Optionen.

Mir geht es darum, wie kann man mit wenig Ressoursen, seine Soldaten möglichst effizient verwalten. Militärgebäude die nahe der Front sind, erhalten eine hohe Priorität und bevorzuge Helden. Militärgebäude im Innland erhalten eine niedrige Priorität und bevorzuge Neulinge bzw. durchschnittliche Soldaten.

Nun kann man natürlich noch überlegen, was ist wenn ein Gebäude an der Front Soldaten braucht, im Lager jedoch nur ein Neuling ist und die Arena frei ist, soll das Programm Ihn erst in die Arena schicken, was langfristig aufjedenfall sinn macht oder doch zum Militärgebäude schicken um die fehlende Kapazität zu füllen ? Ich denke, wenn es auch für Soldaten ein Prioritäten-System, ähnlich dem was es schon bei Waren gibt, hinzufügt, dann würde sich diese Frager leichter beantworten.

In der Entwicklungsverion gibt es zusätzlich Höchste und Niedrigste Priorität (s.o.), sodass die Ausweitung relativ einfach wäre

Da ich nun die Idee für die Prioritäten bei Soldaten, also sprich Arbeitern eines Volkes vorschlage, sollte man der Vollständigkeit halber auch darüber nachdenken, das auch jedes Zivilgebäude so eine Arbeiter Priorität erhalt.

Was dagegen spricht ist ganz klar der Aufwand/Nutzen-Faktor. Wenn man das einprogrammiert wird das sicherlich sehr aufwändig, jedoch wird es kaum bis garnicht zu solchen Situationen kommen, wo dieses Prioritäten-System gebraucht wird, selbst wenn, macht es dann sowieso keinen Unterschied, den Hauptsache das Gebäude produziert, egal ob nun im einen oder anderen, es Macht keinen Unterschied, eines der beiden Gebäude wird so oder so nicht produzieren können. Und in der Summe, bei den Eingehend-Ausgehend-Waren ist dann kein Unterschied zu erkennen.

Gute Idee, aber der Programmieraufwand würde wahrscheinlich den Nutzen tatsächlich weit übertreffen

Jedoch schlage ich weiterhin eine Schule für alle normalen Arbeiter vor, ähnlich der Kaserne. Oder ein Arbeiter schnappt sich das jeweilige Werkzeug und geht damit erstmal zu einen bereits laufenden jeweiligen Gebäude und "lernt" dort X Sekunden lang, bevor er zurück ins Lager geht und dort auf ein unbesetztes freies Gebäude seines Berufes geht.

Dieses Prinzip wurde kürzlich in einem anderen Thread vorgeschlagen, und das Ergebnis war, dass sich die Idee für ein Add-On oder neue Völker eignet, aber für die bestehenden fünf Stämme nicht auf Gegenliebe stößt.


Schließlich noch der obligatorische Spaßverderber-Hinweis face-wink.png Wegen des chronischen Entwicklermangels ist leider damit zu rechnen, dass die vielen tollen Vorschläge, die wir hier herauskristallisiert haben, wahrscheinlich erst in ferner Zukunft implementiert werden …


Top Quote
Teayo
Avatar
Topic Opener
Joined: 2015-03-09, 22:11
Posts: 192
OS: Windows 11 Home 64-bit
Version: 1.2 from Juni (06) 2023
Ranking
Widelands-Forum-Junkie
Location: Deutschland
Posted at: 2020-12-16, 14:45

Ich muss noch anmerken, ich habe meinen vorherigen Beitrag verfasst ohne mir die 2te Seite dieser Diskussion anzuschauen, daher hab ich nicht alleine die Idee mit den Prioritäten bei den Soldaten sondern auch OPIUN und hessenfarmer.

Und natürlich hab noch vergessen zu schreiben : Hätte hätte Fahrradkette, alles konjunktiv, wie Nordfriese schreibt, gibt es einen extremen Entwicklermangel.

Daher auch die lange Winterpause.


Das Imperium schlägt zurück ! TY

Top Quote
OIPUN
Avatar
Joined: 2020-11-17, 09:34
Posts: 136
Ranking
At home in WL-forums
Location: Czech
Posted at: 2020-12-16, 15:06

OPIUN. Danke schön.


Top Quote