Spieleengine VI

vorhergehende Artikel in: Komponenten Rants
01.11.2014

Dieser Artikel setzt die unregelmäßige Serie von Gedanken und Ideen rund um die Entwicklung von Spielmechanismen fort. Ich werde hier einige Ideen zur Forschung darlegen

Das Schadensmodell

Jedes Gerät an Bord eines Schiffes und auch die Hülle selbst wird abgenutzt. Diese Abnutzung ist unabhängig von der Einwirkung durch Beschuß. Prinzipiell beschreibt das Schadensmodell die Effektivität der jeweiligen Komponente bei der Erzeugung von Ressourcen. So wrd ein Generator direkt nach seiner Fertigung das Maximum an Leistung abgeben und mit steigendem Alter wird diese erzeugte Leistung abnehmen.

Zur Modellierung der Schadensfunktion benutzen wir eine modifizierte Sigmoidfunktion:

Je größer der offset, desto höher die Effizienz direkt nach der Fertigung des jeweiligen Bauteils. Je geringer die acceleration, desto langsamer der Abfall der Effektivität mit steigendem Alter.

Es ist möglich, dioe Effektivität nicht auf die produzierten Ressourcen, sondern auf die konsumierten anzuwenden: Bei Antrieben etwa kann man das Altern so interpretieren, daß die Komponente ihre nominelle Leistung nur dann abrufen kann, wenn eine bestimmte Menge an Energie hineingesteckt wird. Nimmt die Effizienz ab, muß mehr Energie aufgewendet werden.

Weitere Aspekte der Ausgestaltung des Modells eines Schiffes

Schwellwerte

Es ist angedacht, Schwellwerte einzuführen, die der Eigner eines Schiffes festlegen kann: Ein Beispiel dafür wäre, daß der Antrieb nie mehr als 50% der Gesamtenergie verbrauchen darf. Überschreitet das Schiff diese Schwelle, kann der Eigner Benachrichtigungen fordern oder verschiedene Aktionen festlegen, die in diesem Fall automatisch ablaufen - also etwa einen Werftaufenthalt zur Instandsetzung einzuschieben.

Prioritäten

Der Eigner wird in der Lage sein, Prioritäten festzulegen: Wie in einem der Artikel in dieser Reihe bereits diskutiert, wird die Effektivität einer Komponente während des Betriebs unter anderem durch die Verfügbarkeit der für den Betrieb benötigten Ressourcen begrenzt. Was geschieht aber nun, wenn eine Ressource nicht mehr in ausreichender Menge für alle Konsumenten zur Verfügung steht? Zunächst werden alle Konsumenten von der Ressource anteilig weniger zugeteilt bekommen. Der Eigner kann aber festlegen, daß zum Beispiel bei teilweisem Ausfall der Energieversorgung zuerst die Lebenserhaltungssysteme nicht mehr ausreichend versorgt werden sollen. Anschließend folgen die Logistik (Lager,...), der Antrieb, die Waffen und die Schutzschirme.

Neben all den anderen Themen, die ich bereits in dieser Artikelserie angesprochen habe, beginne ich derzeit damit ein Modell der Softwarekomponenten zu schaffen. Demnächst werden die ersten Grundzüge dafür hier in einem weiteren Teil der Serie veröffentlicht.

Artikel, die hierher verlinken

Spieleengine VIII

16.05.2016

Dieser Artikel setzt die unregelmäßige Serie von Gedanken und Ideen rund um die Entwicklung von Spielmechanismen fort.

Spieleengine VII

19.11.2015

Dieser Artikel setzt die unregelmäßige Serie von Gedanken und Ideen rund um die Entwicklung von Spielmechanismen fort.

Alle Artikel rss Wochenübersicht Monatsübersicht Codeberg Repositories Mastodon Über mich home xmpp


Vor 5 Jahren hier im Blog

  • Generator-Framework in JMeter integriert

    27.09.2020

    Nachdem ich neulich zwei neue Container für Software-Tests zu meinem Docker-Zoo hinzugefügt habe ist es nun an der Zeit, ein weiteres Hilfsmittel für Software-Tests mit JMeter vorzustellen

    Weiterlesen

Neueste Artikel

  • Generated Key Management in der sQLshell

    Ich habe an einem neuen Feature der sQLshell gearbeitet, das die manuelle Dateiengabe extrem vereinfacht.

    Weiterlesen
  • LinkCollections 2025 X

    Nach der letzten losen Zusammenstellung (für mich) interessanter Links aus den Tiefen des Internet von 2025 folgt hier gleich die nächste:

    Weiterlesen
  • GUI zur Logback Konfiguration

    Ich habe mich immer wieder darüber geärgert, wenn ich gerade mitten im Entwickeln neuer Features bin und irgendetwas nicht klappt. Dann wollte ich versuchen, herauszufinden, was der Grund dafür sein könnte und natürlich ist das Logging für die eine interessante Klasse gerade deaktiviert. Also: Konfigurationsdatei fürs Logging editieren, speichern, Anwendung neu starten... Damit sollte endlich Schluss ein!

    Weiterlesen

Manche nennen es Blog, manche Web-Seite - ich schreibe hier hin und wieder über meine Erlebnisse, Rückschläge und Erleuchtungen bei meinen Hobbies.

Wer daran teilhaben und eventuell sogar davon profitieren möchte, muss damit leben, daß ich hin und wieder kleine Ausflüge in Bereiche mache, die nichts mit IT, Administration oder Softwareentwicklung zu tun haben.

Ich wünsche allen Lesern viel Spaß und hin und wieder einen kleinen AHA!-Effekt...

PS: Meine öffentlichen Codeberg-Repositories findet man hier.