Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

21

03.01.2016, 14:53

Wenn du magst, kannst du dir auch mal das hier ansehen. Das habe ich vor ein paar Monaten gemacht und stellt eine recht gute Abstraktion für 2d felder dar.
https://github.com/anti-freak/SimpleLib/…2d/Vector2D.hpp
http://doc.simple-world.org/classsl_1_1c…_vector2_d.html

vll hilft es dir ja ;)

22

03.01.2016, 16:48

Danke anti-freak, ich werde deinen Code auf jeden Fall durchstöbern :)

Sacaldur

Community-Fossil

Beiträge: 2 301

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

23

03.01.2016, 18:44

@Sacaldur:
Darüber habe ich auch nachgedacht, ich war nur ehrlich gesagt ein bisschen zu faul meine Funktionen über den Haufen zu werfen... ;)

Besser jetzt als später. Jetzt ist es noch wesentlich einfacher, das ganze anzupassen und du würdest dadurch sehr wahrscheinlich auch diverse Vorteile erhalten, bspw. wenn die Felder weitere Eigenschaften erhalten sollen (unterschiedliche Arten von Feldern (normal, Wasser, Berge, Moor, Wald, ...), Gebäude auf den Feldern usw.). Würdest du das Refactoring nicht durchführen, wären entsprechende Features entweder nur auf umständlichere Art, oder auf anderem Wege (inkonsistent) implementieren.
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

24

03.01.2016, 19:34

Zitat

Würdest du das Refactoring nicht durchführen, wären entsprechende Features entweder nur auf umständlichere Art, oder auf anderem Wege (inkonsistent) implementieren.


Momentan ist es so, dass es eine Klasse Ground gibt, die die Art des Untergrundes abspeichert (std::vector mit entsprechender Feldgröße).
Ein weiterer std::vector stellt die Belegung durch Bauwerke / Objekte dar.

Ziel der Trennung war es, dass beide Komponenten vollkommen unabhängig voneinander programmiert werden können.... Aber ich muss mir das ganze nochmal überlegen.

Momentan bin ich soweit, dass ich einen Karteneditor für die Landschaft habe, es ist möglich Gebäude und Objekte zu setzen, Einheiten bewegen sich auch munter durch die Gegend (Pathfinding + Kollisionsvermeidung, problemlos über 1000 Einheiten).

Soweit wäre das Programmieren des eigentlichen Spieles mit der "Engine" (traue ich mich kaum zu sagen ;)) eigentlich möglich.

25

19.01.2016, 14:00

Sooo, innerhalb der letzten Zeit habe ich einiges geändert, vor allem habe ich meine komplette Karte geändert:
- Verwaltung der Texture-Tiles des Untergrundes in einer Vielzahl von Vertex-Arrays (Chunks mit 8x8 Tiles)
- Verwaltung der Informationen eines Feldes in einer komplett neuen "Tile-Klasse"


Nun bin ich mir allerdings nicht ganz sicher, ob die Performance meines Spieles gut genug ist. Wenn ich nur den Untergrund anzeigen lasse und kein Framerate-Limit setze, dann habe ich beim am weitesten rauszoomen eine Framerate von 200. Mein Pc ist auch nicht wirklich super, allerdings fehlt die eigentliche Spiellogik ja noch.

Denkt ihr, dass auf einer 1024x1024 Tiles Karte mit 64 x 32 Pixel je Tile, bzw. am weitesten raus gezoomt dann 16 x 8 Pixel je Tile diese "Performance" ausreichend ist um mit der Spiellogik weiter zu machen?

Oder sollte ich an der Stelle noch weiter optimieren?

26

19.01.2016, 17:42

Ich würde sagen 200 FPS ist mit den ganzen Draw-Calls ist gut genug um, das Optimieren (falls überhaupt noch nötig) erstmal nach hinten zu verschieden.
Die Spiellogig kostet wahrscheinlich garnicht so viel FPS wie man anfänglich meint.
Wer aufhört besser werden zu wollen hört auf gut zu sein!

aktuelles Projekt:Rickety Racquet

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

27

20.01.2016, 08:09

Einfach machen. Wenn's zu langsam wird, Profiler anwerfen und schauen, wo es am schlimmsten ist, das dann fixen.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Werbeanzeige