Warning: Constant ABSPATH already defined in /customers/e/7/0/florian-oeser.de/httpd.www/wordpress/wp-config.php on line 28 Development-Blog von Florian Oeser

Businessplan für eine Spieleentwicklungsfirma

16. Juni 2009 – 10:59

Im Zuge der Arbeit an dem QM-Handbuch wurde ich an den Businessplan für eine Spieleentwicklungsfirma, welchen ich zusammen mit Michael Palmer erarbeitet hatte, erinnert. Da Michael damals schon darüber berichtete möchte ich mir die Arbeit sparen und direkt auf seinen Eintrag verlinken. Dort findet ihr den Businessplan und den Foliensatz der uns bei der Präsentation unterstützte.

Buisnessplan für ein Spieleentwicklungs-Studio

Qualitätsmanagement-Handbuch: Spieleentwicklung && Softwaremetriken

16. Juni 2009 – 00:07

Für die Lehrveranstaltung Qualitätsmanagement habe ich zusammen mit vier weiteren Kommilitonen ein minimales (und bei weitem nicht vollständiges) Qualitätsmanagement-Handbuch für eine fiktive Spieleschmiede geschrieben.

Inhalt dabei ist zunächst ein Firmenprofil welches die Firma und deren Entwicklungen, in unserem Fall CasualGames, beschreibt. Danach gehen wir auf die in der SE allgemein üblichen Qualitätssicherungsmaßnahmen, wie beispielsweiße den Betatest, ein. Folgend versuchen wir drei, für die Spieleentwicklung wichtige, Qualitätsmerkmale zu operationalisieren: DDD (Detailed Design Document), Spielspaß u.A. mit Hilfe eines Questionnaires und zu guter Letzt das allgemein hin bekannte QM-Merkmal Korrektheit.

QM-Handbuch (.pdf, 652KB)

Der zweite Übungsteil bestand darin verschiedene Softwaremetriken auf ein Code Snippet anzuwenden und hat nix direkt mit dem Handbuch zu tun. Wer sich aber auch dafür interessiert oder eine Vorlage braucht ist mit Folgendem gut beraten. Untersucht wurden LOC (Lines of Code), die Halstead-Metrik, Zyklomatische Komplexität nach McCabe und verschiedene Codeüberdeckungsgrade.

Metriken (.pdf, 1.284MB)

Wie immer keine Garantie auf Richtigkeit oder Vollständigkeit!

simple RayTracer Part 1

5. Mai 2009 – 14:34

Nach längerer Pause hier möchte ich heute meinen Raytracer, den ich in der letzten Zeit erarbeitet habe, vorstellen und zum Download anbieten. Zunächst ersteinmal ein paar Bilder welche den aktuellen Stand aufzeigen. Eine Beschreibung und die entsprechenden Berechnungszeiten sind jeweils im Bildbeschreibungstext zu finden. Dazu muss man aber sagen das weder der RayTracer ansich optimiert wurde (z.B. über ein kd-Tree), noch der Sourcecode drumherum optimiert ist.

Ambient+Diffuse-Specular+Shadow; Athlon 64 X2 Dual 6000+; 33 Sekunden bei 1000x1000 simple GUI Ambient+Diffuse-Specular+Shadow+Perfect Reflection; Athlon 64 X2 Dual 6000+; 56 Sekunden bei 1000x1000

Der RayTracer ist komplett in C++ und die entsprechende GUI mit VC++ .Net auf WinForms Basis geschrieben. Im Moment ist das Phong-Beleuchtungsmodell implementiert und als kleinen Bonus kann man noch, zumindest für die Ebenen, Texturen laden, welche die Diffusefarbe ersetzen. Nun folgt noch eine kleine Bildergalerie welche Schritt für Schritt zeigt wie man von einfachem Ambient bis zur PerfectReflection mit Schatten kommt. Die einzelnen Schritte lassen mit frei wählbaren Einstellungen auch in der GUI simulieren.

Ambient Ambient+Diffuse (one light source) only specular Ambient+Diffuse+Shadow (three light sources) Ambient+Diffuse+Specular+Shadow (one light source) Ambient+Diffuse+Specular+Shadow (three light sources) Ambient+Diffuse+Specular+Shadow+Perfect Reflection same aas image before; 9 sphere with a closer floor same as before but with texture on floor

Hier nun der Download. Zum einen ein reiner Release-Build und weiterhin der komplette Source(VS bzw. VC++Express Solution). Das .NET 2.0 Framework wird vorrausgesetzt.

Release (.rar, 187KB)

sGUIRayTracer-Solution (.rar, 258KB)

Da mir die Arbeit an diesem Raytracer sehr viel Spass gemacht hat und man viel dabei lernen konnte werde ich wohl noch ein wenig daran weiterarbeiten. Hier mal eine Liste was man überhaupt noch in einem Raytracer implementieren kann. Was ich davon noch wählen werde steht noch nicht fest. Es hat alles seinen Reiz und im Moment tendiere ich zu Normalmapping direkt über eine Map und/oder Bumpmapping über PerlinNoise.

  • kd-Tree oder spatial subdivision zur Geschwindigkeitsoptimierung
  • depth of Field
  • isosurfaces (blobs)
  • fresnel und Transparenz (refraction)
  • Bump/Displacement mapping
  • Normalmapping
  • fog
  • Soft-Shadows
  • Photon maps (global illumination)
  • weitere Geometrieobjekte (Cylinder, Box etc.)
  • Antialiasing
  • Photo exposure
Interessante Links/Quellen

Wikieintrag zu RayTracing

Mandelbrot’s RayTracing explanations

Tutorialreihe auf Flipcode (sehr zu empfehlen!)

Tutorialreihe auf Codermind

Tutorialreihe der DGL-Wiki

Tutorialreihe von Forrest Briggs

Wie immer keine Garantie auf Richtigkeit oder Vollständigkeit!

Jump! Development Video

20. Februar 2009 – 18:04

Dieses Video wurde von Thomas und mir produziert und zeigt verschiedene Sachen rund um die Entwicklung von Jump!. Unter anderem werden verschiedene Entwicklungsstadien aber auch Gameplay-Szenen vorgestellt. Mehr will ich gar nicht verraten seht einfach selbst 😉

Alle anderen Videos gibt es weiterhin hier. Im Übrigen bräuchte ich mal eine Tipp wie man die Qualität der Videos auf Youtube erhöhen kann. Schon viel probiert aber nie mit einem ordentlichen Ergebniss. Ich denke aber ich werde kommende Videos auch wieder auf dem Webspace legen, da ich nun einen ordentlichen Player gefunden habe.

Nun gut viel Spass beim Schauen und danke nochmal an dich Thomas 🙂

This text will be replaced

Hilva PostProcessing Sample (updated: 29.05.09 Hilva v1.5)

20. Februar 2009 – 14:36

Für die Hilva Graphics Library habe ich ein kleines Sample geschrieben welches den Umgang mit der PostProcessing-Schnittstelle, dieser hilfreichen Bibliothek, verdeutlichen soll. Der Download dazu ist im Sample-Bereich zu finden oder alternativ gleich hier.

PostProcessingSample (.rar, 901KB)

postprocesssampleimage