Halli hallo,
ich muss ganz ehrlich zugeben, dass ich nur sehr oberflächlich und kurz (rund eine halbe Stunde) geschaut habe.... allerdings bin ich in diesem Bereich komplett blank und weiß nicht, nach welchen Stichwörtern ich geschickter Weise suchen sollte (Dinge, die ich schon gefunden habe, waren alle nicht so direkt, was ich gesucht habe)...
Vorab:
Ich studiere Informatik, noch ohne konkrete Vertiefung wird aber mittelfristig wohl in die Bereiche Softwaretechnik und Data-Science gehen.
Entgegen der allgemeinen Weisheit "Don't reinvent the wheel." würde ich gerne ein simples Spiel mit einer rollenden, spielerzentrierten, 2D Map schreiben - also in einem Stil der mit üblichen GameBoy-Adventures vergleichbar ist (Zelda, Pokémon, ...).
Ich habe den Beitrag
2D-Engine zwar gefunden, das ist aber (zur Zeit) nicht direkt was ich suche.
Es geht mir im Wesentlichen darum, was für solche rollenden Karten die best-practices sind, die man beachten sollte:
a) sinnvolles Verwalten der Karten/Grafik-Elemente (alles im Speicher, nur Teile im Speicher und ad-hoc Zugriffe auf kleine Datenbank, ...)
b) so aus dem Bauch raus würde ich mir bei so einfachen Geschichten das Rollen der Karte vorstellen, in dem ich eine Koordinate im Fokus habe und wenn die sich ändert die Grafikelemente aktualisieren - das klingt nur in meinem Hirn ein wenig ineffizient, insbesondere wenn man mehr als 1 Schritt am Stück macht. Andererseits müssten dafür lediglich ein paar Referenzen umgetragen werden, was eigentlich ja rasent schnell geht...
Nachdem ich in Java am fittesten bin würde ich das gerne in Java umsetzen, mit einem FX-Interface bevorzugt, aber wegen mir auch Swing.
LibGDX habe ich gesehen, würde nachdem ich aber gerne "mehr über Räder" lernen möchte, würde ich die Mechanik gern selbst implementieren und auf die zusätzliche Features und Dependencies verzichten wollen.
Im Zweifel freue ich mich auch sehr, wenn jemand der erfahrener ist einfach mehrere Links zu Posts oder Onlinetutorials, die solche best-practices beschreiben ohne weiteren Kommentar ablegen würde...
Ich weiß, dass selbst Suchen bei sowas der bessere Stil wäre, aber ich habe tatsächlich keine Ahnung, nach was ich da sinnvoller Weise suchen müsste...
Und ja, mir ist klar, dass C++ bei Ansteuerung von Graphik/allgemeinen Hardwaregeschichten wesentlich performanter ist als Java und sicherlich nochmehr als die XML/CSS getouchten FX Anwendungen, aber für das was ich vorhabe ist mehr als ausreichend effizient, daher würde ich gerne für das Verdienen meiner ersten Sporen bei meiner "Muttersprache" bleiben und wenn das dann mal steht die Fühler zum Lernen der anderen C-Töchter ausstrecken.
Gruß
kratl