Krautkanal.com

Veröffentlicht am 2016-04-07 12:10:56 in /prog/

/prog/ 8606: Spiel-Konzeption / Diagramme / Logik

buleswapnil Avatar
buleswapnil:#8606

Du Bernd,

wenn Du ein Spiel konzipierst, wie
Ein Klassenmodell, Anwendungsfalldiagramm, etc. mithilfe von UML ist weniger das Problem.
Aber wenn es zum Beispiel an eine Gesamtübersicht für einen Forschungsbaum oder Gebäudebaum geht, wie inzu darstellen?

Zum Beispiel Anno oder Factorio.
Anno: Zuerst Fisch, Holz und Kohle. Damit dann weiterführende Dinge aufbaubar.
Factorio: Wenn ich eine Fabrik bauen will, brauche ich Stahl. Stahl wird aus Eisen und Kohle in einem Ofen. Den Ofen baue ich aus Stein.
Dieses aufeinander Aufbauende, wie stelle ich das dar?

Es müsste so ein Verlaufsdiagramm geben, womit das sichtbar gemacht werden kann. Ähnlich einer Art Baumstruktur?
Gibt es dafür Programme?

lisovsky Avatar
lisovsky:#8607

Na sicher.
http://www.texample.net/tikz/examples/drawing-graphs/

madebyvadim Avatar
madebyvadim:#8608

>>8607
Und das eignet sich um solche Bäume auch grafisch anschaulich zu gestalten? Macht eher einen veralteten Eindruck. Noch dazu braucht man LaTeX oder dieses PGF.

m4rio Avatar
m4rio:#8610

Die Datenstruktur (bzw. der algebraische Datentyp) dahinter ist ein Graph, und wurde in der Vergangenheit bereits sehr intensiv in der Informatik (bzw. Programmierung) untersucht. In diesem Bereich gibt es so erschlagend viel Material. Viele der bekanntesten Algorithmen der Informatik stehen im direkten Zusammenhang mit Graphen.

Das Darstellen und Ausrichten von Graphen wird meistens unter Graph Drawing Algorithms oder Graph Layout Algorithms gefasst. Wenn du sowas wie eine Skill oder Research Tree hast, dann kannst du ihn mittels Tiefensuche durchlaufen und ein hierarchisches oder orthogonales Layout darauf anwenden. Wenn keine spezielle Struktur festzustellen ist, kann man auch mittels sehr einfacher physikalischer Simulation (Hook'sches und Coulomb'sches Gesetz) den Graphen ausrichten (Stichwörter: Fruchterman/Reingold und force-directed Layout).

Bloße Software: Bereits angesprochenes TikZ und auch Graphviz werden häufig als erstes verwendet. Für programmatisch anspruchsvollere Sachen ist D3.js (Bernd glaubt es ist immer noch das populärste Projekt auf GitHub) zu empfehlen. Wenn Bernd einfach rumklicken möchte, dann mal yEd Graph Editor [1] angucken.

[1] http://www.yworks.com/products/yed

Neuste Fäden in diesem Brett: