You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
JanEhehalt 960e3cb1f6
HMMM
3 years ago
.vscode Keine Ahnung, achtung, Memory leak 3 years ago
DepthSorting bissl effizienter, sprites kaputt bruh, komische bug ich weiß net weiter :(, ich merge hier den main mal drauf, mal schauen was passiert 3 years ago
Input PURE EFFIZIENZ und sortierung ist bruh 3 years ago
IsometricMap HMMM 3 years ago
List HMMM 3 years ago
Textures Animation fertig und drehen passt 3 years ago
assets Animation Framework added, Textures almost properly loaded into TextureAtlas 3 years ago
Makefile Keine Ahnung, achtung, Memory leak 3 years ago
README.md Merge 3 years ago
animation.o HMMM 3 years ago
animationHandler.o HMMM 3 years ago
bucket.o HMMM 3 years ago
game.c branching out 3 years ago
game.h Merge easy 3 years ago
game.o HMMM 3 years ago
inputHandler.o HMMM 3 years ago
isometricMap.o HMMM 3 years ago
isometricRenderer.o HMMM 3 years ago
list.o HMMM 3 years ago
main.c Keine Ahnung, achtung, Memory leak 3 years ago
main.o HMMM 3 years ago
mergeSort.o HMMM 3 years ago
spiel HMMM 3 years ago
sprite.c bissl effizienter, sprites kaputt bruh, komische bug ich weiß net weiter :(, ich merge hier den main mal drauf, mal schauen was passiert 3 years ago
sprite.h bissl effizienter, sprites kaputt bruh, komische bug ich weiß net weiter :(, ich merge hier den main mal drauf, mal schauen was passiert 3 years ago
sprite.o HMMM 3 years ago
textureatlas.o HMMM 3 years ago
tile.o HMMM 3 years ago

README.md

Aufbauspiel jaja

[[TOC]]

Ackermatch gegen die Natur?

KI Gegner ist erstmal zu aufwändig, ein wenig Ackern muss man aber immer!

Fantasy Welt oder Realistisch?

Isometrie in RayLib

Projection Orthogonal -> Isometric

TargetFPS vs. VSYNC

Effizientes Rendering einer isometrischen Blockmap

Sprite sortierung nach Nähe zur Kamera

TODO

  • LinkedList erweitern
  • Sprites Animationen etc improven
  • Die Inputs sollten den Kamera Zoom beachten, aktuell geht noch alles kaputt wenn man den zoom umstellt
  • Funktion, um die ganzen Sprites nach ihrer y-Koordinaten sortiert zu drawen
  • Drawable Container machen, die sortiert werden können, dort kommen alle Tiles und Sprites rein, damit sie dann sortiert werden können
  • Maps in eigenen Dateien speichern
  • Parser für Map-Dateien
  • MapEditor
  • Rendering Reihenfolge: layer 0, Sprites auf layer 0, layer 1, Sprites auf layer 1; Theoretisch müssen die einzelnen Layer Reihenweise gedrawed werden mit den Sprites zwischendrin
  • IsometricMap struct erstellen, das den IsometricMap(+Layer) Array speichert ?

  • Beim rendern müssen die map tiles und die sprites nach ihrer depth (d = x + y + ~0.05*z) sortiert werden, dafür sollten wir ein bucket sorting system implementieren. Buckets sollten erstmal nur tiles und sprites unterstützen.

  • Wir können auch die Sprites in der Liste nach d sortieren, dann geht das gut mit "nur in der Kamera sichtbare Sprites rendern". d ist nicht optimal, vielleicht auch einfach über die ganze Liste gehen und nur die sprites mit x y \subset camBounds in das Bucket sorting system einfügen. Buckets können auch mit MergeSort oder so sortiert werden Vererbung in C, drawable superStruct?

  • Mit der Map geht das schon recht einfach, weil wir wissen welche tiles in der Kamera sind. d

  • TODO: Das rendern der IsometricMap wird bei größeren Maps sehr ineffizient;

  • Add offset x and y to each tile to be calculated ONCE, not every frame

  • Alle gehardcodeten screen bounds (450 225 800 400) durch GetScreenWidth() GetScreenHeight() ersetzen

  • Kameraposition abhängiges drawen auch für Sprites implementieren

WiP

  • Dokumentation aufholen

Done

  • Movement speed der Sprites an delta time orientieren