Archiv für die Kategorie ‘Technisches’

Grafikspaß ohne Shader

Thiemo, 28. Januar 2011

OpenGL ist eine richtig schicke Sache und es tut mir immer weh, wenn ich höre oder selbst erfahren muss, dass die Grafikkartenhersteller die OpenGL-Unterstützung nicht besonders ernst nehmen. So kann man die Funktionen zum Zeichnen von Linien eigentlich nicht verwenden, weil sie mit jeder Grafikkarte andere Resultate erzeugen, die um ein oder ein halbes Pixel verschoben sind. Dafür gibt es andere Kniffe, die auch ohne Shader schon viele schicke Effekte ermöglichen.
Weiterlesen »

Die Innereien des Blitzzaubers

Thiemo, 20. Mai 2010

Eines der Elemente, die wir in den vergangenen Monaten überdacht und dezent weiter entwickelt haben, ist der Blitzzauber (siehe auch der erste Blitz). Neben Schwertschlägen, Pistolenkugeln und Feuerbällen sind Blitze die vierte Angriffsmöglicheit für unseren Pixelhelden.

Konkret standen wir vor zwei Problemen:

  1. Die Waffe darf nicht zu stark sein.
  2. Es muss Spaß machen, sie zu benutzen.

Weiterlesen »

Dirty Coding Tricks

Thiemo, 16. Dezember 2009

Gamasutra: Dirty Coding Tricks. (Found at Coding Horror.) Wow. This may explain why I‘m so happy without a real schedule here in this little project. I‘m free to spend as much time as I want to fix every little problem in the sources without using dirty tricks. OK, we have some scheduling. We need to finish some day. We don’t want another never released game and another unused engine. There are thousands out there. Most of these dead projects make me sad. So many games nobody is able to play. That’s a shame.
Weiterlesen »

Glow 3D

Thiemo, 20. November 2009

Glow is based on Direct3D or alternatively OpenGL. Both are 3D. You may ask where this 3D is hidden in Glow? There it is:
Weiterlesen »

Einführung ins Triggersystem

Thiemo, 13. Oktober 2009

Was unser bis 2007 federführender Programmierer Holger Meisel in etwas mehr als einem Jahr geschaffen hat, fasziniert mich immer wieder aufs Neue. Glow basiert auf einer vollständig selbst entwickelten Engine. Es kommt tatsächlich keine besondere Grafikengine zum Einsatz – kein XNA, kein Allegro, keine SDL, kein Box2D. Heutzutage würden wir diesen Punkt vermutlich anders angehen und vielleicht keine vollständige 3D-Engine aber zumindest eine leichtgewichtige Grafik- und Physik-Bibliotheken nutzen. Aber darum soll es hier nicht gehen. Die Glow-Engine baut auf OpenGL und Direct3D auf, wie es von den Herstellern ausgeliefert wird, und erlaubt bemerkenswerterweise das freie Umschalten zwischen beiden Ausgabearten. Die einzige Ausnahme ist die OpenAL-Bibliothek für die Ausgabe von Sounds und Musik.

Als Informatiker begeistert mich die unglaublich sauber implementierte Objektsstruktur am meisten. Jedes Objekt im Spiel hat im C++-Quelltext ein Äquivalent im Sinne der Objektorientierung. Stevie wird verletzt, indem seine Methode Player->Hurt(2) mit der Stärke der Verletzung aufgerufen wird. Ein Gegner stirbt? Enemy->Die(). Eine Tür ist zu öffnen? Einfach das passende Door->Unlock() absetzen.
Weiterlesen »