Latest Posts

Topic: Verbesserungsvorschläge zum Spiel

hessenfarmer
Avatar
Joined: 2014-12-11, 23:16
Posts: 2646
Ranking
One Elder of Players
Location: Bavaria
Posted at: 2022-05-16, 13:57

feldschloesschenprinz wrote:

Aber es sind doch genug fortgeschrittene Arbeiter da. Überhaupt müssen doch in einer tiefen Mine nicht zwei Meister sein. Wenn irgendwo noch ein Meister gebraucht wird, dann kann der zweite doch da hin. Das muss ich doch nicht erst befehlen.

Wenn in den Lagern nur Meister aber keine Bergleute vorhanden sind, werden halt Meister ausgesandt, um die erste tiefe Mine zu besetzen. Somit funktioniert das Upgrade von genau einer Mine immer reibungslos (der Meister geht aus der alten Mine und geht in die neue Mine und ein neuer Bergmann wird ausgebildet. Es macht also durchaus manchmal Sinn zwei Meister pro Mine zu haben. Von daher ist es schwer zu entscheiden was jetzt die richtige Vorgehensweise wäre. Da das Spiel hauptsächlich darauf abzielt die effizientere Wirtschaft aufzubauen, galt bisher allgemein der Konsens gerade wirtschaftliche Managementaufgaben nicht zu automatisieren. Die gewünschte Funktion würde z.B. die absichtlich eingeführte Mechanik des Dschungelmeisterinnenmanagements der Amazonen automatisieren und den Reiz des Features rausnehmen.


Top Quote
feldschloesschenprinz
Avatar
Topic Opener
Joined: 2014-07-09, 18:24
Posts: 198
OS: Linux
Version: 1.1
Ranking
Widelands-Forum-Junkie
Location: Braunschweig, Germany
Posted at: 2022-05-16, 19:16

Aber wenn mehrere Upgrades gleichzeitig im Bau sind, dann muss die KI doch merken, dass an mehreren Stellen ein Meister gebraucht wird, auch wenn die Aufträge in kurzer Folge gegeben wurden, und diese dementsprechend zuteilen und nicht gleich alle zur ersten schicken. Doppelbesetzung kann nur erfolgen, wenn jede tiefe Mine einen Meister erhält und dann noch Meister übrig bleiben. Die können dann hingehen wo sie wollen, auf die Effizienz der Minen hat das ja keinen Einfluss, es geht nur um die Reichweite. Natürlich werden Rohstoffe und Zeit gespart, um einen weiteren Bergmann zu produzieren, wenn noch erfahrende Arbeiter zur Verfügung stehen. Aber die Grundregel sollte lauten: Für jede tiefe Mine ein Meister und der Rest obendrauf.


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

Unser gesamter Wirtschaftscode beruht auf einem Anforderungsprinzip. Sobald irgendwo ein Arbeiter oder eine Ware fehlt (ein Platz in einer Schlange frei ist) wird eine Anforderung erzeugt. Dann wird in allen Warenhäusern der gleichen Wirtschaft. (man kann nämlich auch mehrere abgetrennte Wirtschaften haben) ob irgendwo die Ware oder ein geeigneter Arbeiter auf Lager ist. Wenn dies der Fall ist wird die Anforderung bedient und die Ware oder der Arbeiter auf die Reise geschickt. Erst wenn kein Arbeiter verfügbar ist wird eine Anforderung erstellt einen zu erzeugen. Dazu wird dann wieder geprüft in welchem Warenhaus die benötigten Werkzeuge vorhanden sind.
Eine KI gibt es da nicht sondern es ist immer der gleiche Algorithmus.
Wie gesagt das ist so gewollt und wird auch für eine Eigenart der Amazonen genutzt, die sonst wegfallen würde.
Wenn der Algorithmus immer alles optimal managt, wird die Einflussmöglichkeit des Spielers immer weniger und das nimmt dem Spiel Tiefe?
Da dir das Thema aber wichtig scheint kannst du ja den Vorschlag unter Game suggestions, ja mal (auf Englisch) zur Diskussion stellen.


Top Quote
feldschloesschenprinz
Avatar
Topic Opener
Joined: 2014-07-09, 18:24
Posts: 198
OS: Linux
Version: 1.1
Ranking
Widelands-Forum-Junkie
Location: Braunschweig, Germany
Posted at: 2022-05-16, 20:22

Meinst Du, die werden da anders reagieren? Das gesamte Projekt wird doch von Nordfriese geleitet, und mit dem hatte ich schon ein paar Posts ausgetauscht. Oder wird es Dir hier zu bunt? Willst Du alle Verbesserungsvorschläge lieber im englischen (originalen?) Forum haben?

Der Algorithmus muss doch aber auch merken können, ob ein Arbeiter ein Bergwerksmeister ist, und dann in der Anforderungsliste nachschauen, ob mehrere Minen ausgebaut werden, und wenn ja, dann immer einen Bergwerksmeister für eine tiefe Mine freihalten. Also bestimmte Arbeiter für bestimmte Gebäude reservieren. Der erste freie Meister kommt ins erste Minenupgrade, der zweite ins zweite usw., bis entweder jedes Upgrade einen Meister hat oder alle Meister vergeben sind. Sind noch Meister übrig und noch nicht alle Plätze belegt, kann der Durchlauf wieder von vorne beginnen: Ein Meister ins erste, der nächste ins zweite usw. Ich verstehe ein bisschen vom Programmieren, darum dürfte das nicht allzu schwierig werden. Es sei denn, Ihr habt keine ausreichenden Kapazitäten, um diesen Algorithmus weiter auszubauen, und setzt andere Prioritäten, die vielleicht auch vielen Spielern wichtiger sind. Schließlich schlägt sich das ja auch auf die nachfolgenden Test nieder, es schleichen sich mehr Fehler ein und das Release verspätet sich. Aber jeder Stamm braucht eben ein bisschen individuellen Feinschliff. Mehr Stämme von Widelands habe ich ja auch bisher noch nicht gespielt. Ich bin immer noch beim Imperium. Vielleicht sollte der Programmcode nicht zu sehr "imperialisiert" werden.


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

Der Grund für meinen Vorschlag war, dass wir mittlerweile doch wieder einige nicht deutschsprachige Entwickler und aktive Spieler haben. Somit Würde ich hoffen da eine breitere Diskussionsbasis zu haben, um ein klares Pro oder Contra Meinungsbild zu haben. ich bin da ja aus oben genannten Gründen eher skeptisch, weil es für mich einfach Teil des Gameplay ist. Ausserdem wäre es dann nur ein Thema im eigenen Thread und keine Themensammlung.

Zum Algorithmus noch ein Wort:
Wie ich bereits versuchte zu erläutern arbeitet der Algorithmus nicht vorausschauend sondern rein reaktiv. Somit entsteht der Bedarf an Berleuten oder Bergwerksmeistern erst wenn die Mine fertig ist. Also wenn die erste Mine fertig ist entstehen 2 Anforderungen.

Bezüglich unserer Kapazitäten liegst du vollkommen richtig, wir sind nur ganz wenige aktive Entwickler und machen das alles ja in unserer Freizeit. Und da das ganze ja ein freies Projekt ist setzt jeder Entwickler auch andere Prioritäten. Wenn du also was davon verstehst, bist du herzliche eingeladen, eine Verbesserung des Algorithmus auch ganz real im Code vorzuschlagen. Unser Entwicklungsrepository befindet sich auf github (https://github.com/widelands/widelands)

Der Wirtschafts code befindet sich hier https://github.com/widelands/widelands/tree/master/src/economy

Auch jeder andere Entwicklungsbeitrag ist natürlich herzlich willkommen.


Top Quote
feldschloesschenprinz
Avatar
Topic Opener
Joined: 2014-07-09, 18:24
Posts: 198
OS: Linux
Version: 1.1
Ranking
Widelands-Forum-Junkie
Location: Braunschweig, Germany
Posted at: 2022-05-16, 21:06

Wenn zuerst ein Bauarbeiter angefordert wird, dann ist doch auch schon bekannt, welches Gebäude gebaut werden soll. Das bekomme ich ja angezeigt. Der Algorithmus kann durchaus vorausschauend arbeiten. Aber erstmal braucht Ihr mehr Anpacker. Für mich würde es aber eine sehr intensive Einarbeitungszeit erfordern, schließlich seit Ihr alle Cracks und im Code steckt so viel Wissen und Erfahrung, das werde ich mit meinen knapp fünfzig Jahren wohl kaum noch aufholen können, darum möchte ich kein Chaos verursachen. Und vom Programmieren habe ich mich schon vor vielen Jahren aus persönlichen Gründen getrennt.


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

also ich bin auch schon über 40 und kann c++ nur lesen und kopieren. Aber ich lerne halt langsam dazu. Und Chaos kann man eigentlich kaum verursachen, da man nicht einfach den Code verändern kann, sondern jede vorgeschlagene Änderung ja gereviewt wird. Es ist auch kein Wettbewerb wer besser programmieren kann sondern sehr kooperativ und man findet immer Hilfe.

Zum Thema:
Selbstvetrständlich wird angezeigt. Was an einer Stelle entstehen soll. Diese Information wird für die Anzeige aus den Definitionsdateien extrahiert. Theoretisch könnte man da ggf. auch schon eine Anfrage generieren. Dann würde diese Anfrage aber direkt bedient, und wertvolles Material oder Arbeiter würden sich an der Baustelle stauen, obwohl sie nicht gebraucht werden. Um das zu vermeiden bräuchte man eine Unterscheidung unterschiedlicher Anforderungen, die dann In der Erfüllung unterschiedlich behandelt werden würden. Dann mü+sste man auch definieren wie lange man einen Arbeiter zurückhalten würde, falls eine Mine nicht fertig wird. Alles in allem würde das gewünschte Feature eine große Anzahl Codepfade aufspannen um alle Eventualitäten abdecken zu können.
Dafür steht als Nutzen eine Verringerung der Spieltiefe, um das Spiel einfacher zu machen.
Deshalb sehe ich das Kosten Nutzen Verhältnis hier einfach negativ.


Top Quote
feldschloesschenprinz
Avatar
Topic Opener
Joined: 2014-07-09, 18:24
Posts: 198
OS: Linux
Version: 1.1
Ranking
Widelands-Forum-Junkie
Location: Braunschweig, Germany
Posted at: 2022-05-16, 22:07

Ich ärgere mich darüber, wenn ich nach einem Upgrade von mehreren Minen gleichzeitig die Meister wieder umverteilen muss und diese manchmal sogar wieder zu ihrem Gebäude zurücklaufen oder in ein anderes, wo sie gar nicht hin sollen. Darum habe ich mir inzwischen angewöhnt, die Minen nur noch einzeln zu upgraden, was Zeit verschlingt. Glücklicherweise passiert das nur in der Anfangsphase des Spiels, wenn ich alle Minen erstmal klein anfangen muss, damit die Bergleute Erfahrung sammeln, und dann, wenn ich zusätzliche Minen bauen will. Im späteren Spielverlauf, wenn ich so viele Minen habe, wie ich maximal benötige, um die Produktion voll auszulasten, kann ich nur noch tiefe Minen bauen, denn die Meister sind ja schon alle da. Aber es ist nervig. Ich glaube, da kann man verbessern. Genauso wie die Schifffahrt. Ich will keinen ganzen Schoner mit nur einer Tasse Kaffee zum Pazifik aufbrechen lassen. Man wird doch wohl in den Hafeneinstellungen einstellen können, ob ein Schiff zuerst so gut wie möglich beladen werden soll, bevor es aufbricht. Eine Staffel mit einen Schiff pro Anfrage erfordert nämlich einen sehr intensiven Schiffbau, und der Bau eines Schiffes ist langwierig und teuer. Man könnte doch wenigstens zwischen verschiedenen Schiffstypen wählen und diese später upgraden. Kleine Schiffe fahren schneller als größere. Aber das würde wohl nur ausufern. Ich langweile alle wieder.

Es ist ja nicht wichtig, Arbeiter schon beim Bau zu reservieren. Es geht nur um Angebot und Nachfrage nach der Fertigstellung. Aber ich sollte dieses Thema wohl beenden, sonst langweile ich das Publikum, verbrauche viel Speicherplatz auf Euren Serven und stehle vor allem Eure Zeit (und Nerven).


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

Also ich würde nicht sagen, dass du mich langweilst. Ich versuche nur zu erklären, wie das Spiel funktioniert, damit sich Spieler in ihrer Spielweise verbessern können.

Zum Schiffsalgorithmus gibt es schon immer wieder Kritik, Das liegt aber manchmal auch daran, dass eine gefühlte Effektivität anders ist als eine echte Effektivität im Mittel aller Transporte, auf die unser Algorithmus ausgelegt ist.
Wie der Algorithmus genau funktioniert hat Nordfriese ein paar mal hier schon zu erklären versucht, aber genau hab ich das selbst auch noch nicht nachvollzogen.

Die Schwierigkeit mit den erfahrenen Arbeitern ist eine bewusste spielmechanische Herausforderung bei den Friesen, den Barbaren, den Amzonen und weniger ausgeprägt beim Imperium. Die Atlanter haben diese Herausforderung nicht.


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: 2022-05-16, 22:31

Ich hab die letzten Seiten Diskussion jetzt nur kurz überflogen, es wird ein bisschen unübersichtlich face-wink.png

Zum Thema Arbeiterverteilung ein möglicherweise interessanter Link: https://www.widelands.org/wiki/WorkerDistribution/

Zur Organisation dieses Threads eine Bitte: Eröffne lieber für unterschiedliche Dinge einen neuen Thread pro Thema. Das macht es viel leichter, der Diskussion zu folgen und sie auch in Zukunft wiederzufinden. Viele kleinere Thread sind in der Regel übersichtlicher als ein großer Sammelthread für dutzende Themen, die nichts miteinander zu tun haben. Danke face-smile.png


Top Quote