Artikel in der Kategorie Allgemeines

Allgemeine Themen

Es wurden 4 Artikel gefunden.

Ballerman und Blitz3D

Heute bin ich zufällig auf eins meiner ganz alten Projekte gestoßen. Ballerman habe ich dieses Meisterwerk damals genannt. Das war das erste Mal, dass ich mich mit Kollisionserkennung befasst habe und nahezu daran verzweifelt bin.

Dafür verwendete ich BlitzBasic, eine Programmiersprache bei der alles integriert ist, was man für ein Spiel braucht. Gibt es in unterschiedlichsten Varianten wie Blitz3D (auf dem Screenshot zu sehen), BlitzMax und Blitz2D und hatte seinen Ursprung auf dem Amiga. Blitz war und ist der wahrscheinlich einfachste Einstieg in die Spieleprogrammierung überhaupt. Ich weiß gar nicht, ob es eine wirkliche Alternative gibt. Denn BlitzBasic hatte alles was man brauchte direkt integriert. Die Basic-Sprache war relativ einsteigerfreundlich und der Code wurde direkt in Assembly übersetzt und kompiliert. Also keine Skriptsprache, die zur Laufzeit interpretiert wird.

Nun will ich auch nicht zu sehr abschweifen. Denn eigentlich habe ich einfach nur die alten Projektdateien gefunden. Und meine Kopie von Blitz3D lag auch noch im Ordner. Und Zu meinem Erstaunen lief einfach alles direkt und ohne irgendwelche Installationen und Konfigurationen. Auch das Kompilieren geht schneller als alles, was man heute kennt. Ist schon beeindruckend. Und für das Archiv hier ein kleine Screenshot.

Veröffentlicht am

Mein neues Spaß-Projekt

Kaum habe ich meinen YouTube-Kanal wieder ausgegraben, habe ich auch direkt ein neues Video hochgeladen. Ja, es geschehen noch Zeichen und Wunder!

https://www.youtube.com/watch?v=CAescH9K72U

Das ist mein aktuellen Spiel-Projekt. Sehr wahrscheinlich wird es niemals fertig und ich arbeite daran auch nur gelegentlich. Aber ich möchte trotzdem gern mal meine Fortschritte dokumentieren. Die Grundidee ist eine Mischung aus Vampire Survivors und Geometry Wars. Thema und Spielprinzip ist an VS angelehnt und soll sich am Ende wie GW spielen, sodass man selbst zielen und schießen muss. Nur auf einer viel weitläufigeren Karte.

Dafür verwende ich C++ (allerdings nutze ich es mehr wie C mit ein paar komfortablen Zusatzfunktionen) und Raylib. Raylib ist eine schöne Bibliothek, die alles enthält, was man braucht, um ein Spiel zu programmieren.

Bisher habe ich schon ein paar Sachen implementiert: Tilemap, Kollisionen, Animationen, abschießbare Gegner und Power-ups, die mit variabler Wahrscheinlichkeit erscheinen (aber noch keinerlei Wirkung haben). Die Tilemap wird aus vielen verschiedenen kleinen Tiles zusammengesetzt und dann als große Textur dargestellt. Der Rest ist noch sehr rudimentär. Dank Raylib war das aber alles recht einfach umzusetzen.

Als Nächstes möchte ich die Map aus mehreren Teilen zusammensetzen, sodass ich sie zum einen besser individualisieren kann (zum Beispiel durch zufällig platzierte, aber vorgefertigte Gebäude) und zum anderen nicht die komplette Map die ganze Zeit im Speicher sein muss.

Dann sollen Gegner nicht mehr ineinander laufen, sondern sich voneinander abstoßen. Das ist an sich auch ganz einfach zu implementieren. Ab einer gewissen Menge an Gegnern geht das aber stark auf die Performance, weil jeder Gegner die Position jedes anderen Gegners abfragen muss. Da das Spiel später viele Gegner haben soll, muss ich mir dafür also etwas überlegen. Am sinnvollsten erscheint mir bisher so etwas wie ein QuadTree. Damit könnte ich die Kollisionsabfragen jedes Gegners auf einen bestimmten Bereich begrenzen. Da muss ich noch ein bisschen experimentieren.

Dann brauche ich natürlich noch schönere Grafiken, verschiedene Gegner mit unterschiedlichen Bewegungs- und Angriffsmustern, Sound, Pathfinding und, und, und ... Also noch viel zu tun und zu lernen.

Und nun belasse ich es erst einmal hierbei. Bis zum nächsten Update (das hoffentlich nicht wieder Monate auf sich warten lässt)!

Veröffentlicht am

Mein alter YouTube-Kanal

Momentan habe ich etwas Zeit um mich um meinen alten Quatsch zu kümmern und hab geschaut, was es hier früher so gab. Da ist mir mein alter YouTube-Kanal wieder eingefallen, auf dem ich damals ein paar meiner "Schätze" veröffentlicht hatte. Rund 14 Jahre ist er schon alt. Es war ein bisschen schwierig wieder Zugriff darauf zu bekommen, aber letztendlich hat es geklappt.

Da ich nun wieder angefangen habe an etwas Kleinem zu arbeiten, will ich den auch wieder reaktivieren. Aber bis dahin kann man erstmal so tolle Sachen wie "Sine-P" wieder genießen:

https://www.youtube.com/watch?v=vLG5YP0Dr1A

Veröffentlicht am

test2

test

test

Veröffentlicht am