Portfolio - Dennis Lipsdorf
Bachelor of Science in Games Programming
Fachinformatiker für Anwendungsentwicklung
Informationstechnischer Assistent
aus Köln, Deutschland
"Ich programmiere seit 2005 an verschiedenen Projekten und war schon als Kind von Spielen fasziniert. Seit 2009 beschäftige ich mich auch mit deren Entwicklung. Besonders interessiere ich mich für Gameplayprogrammierung und der Entwicklung komplexer Systeme wie die der künstlichen Intelligenz. Ich bin außerdem einfallsreich, begeisterungs- und teamfähig."
Fachinformatiker für Anwendungsentwicklung
Informationstechnischer Assistent
aus Köln, Deutschland
"Ich programmiere seit 2005 an verschiedenen Projekten und war schon als Kind von Spielen fasziniert. Seit 2009 beschäftige ich mich auch mit deren Entwicklung. Besonders interessiere ich mich für Gameplayprogrammierung und der Entwicklung komplexer Systeme wie die der künstlichen Intelligenz. Ich bin außerdem einfallsreich, begeisterungs- und teamfähig."
Hinweis
Da sie dieses Portfolio besuchen, gehe ich davon aus, dass sie dies im Zusammenhang mit meinem Lebenslauf tun und meine Kontaktdaten bereits vorliegen.
Fruit Jewels (2013)
Programmiersprache(n): C++
Game Engine: COCOS2D-X
IDE: Microsoft Visual Studio 2010
Plattform: Smartphones & Tablet-PCs
Team: 3 Personen, davon 2 Programmierer
Position: Lead Programmer
Aufgaben: Programmstruktur, Spiellogik
Spielkonzept: Fruit Jewels basiert auf einem Comodore 64-Klassiker, bei dem zwei aneinanderliegende Spielsteine vertauscht und drei oder mehr gleicher Farbe in einer Reihe gebracht werden müssen, die dann aus dem Spielfeld fallen. Längere Ketten und Kombinationen geben mehr Punkte. Das Spiel endet, wenn entweder eine vorgegebene Anzahl an Zügen verbraucht oder ein Countdown abgelaufen ist.
"Die Entwicklung eines Multiplattform-Spiels und die damit verbundene Rücksichtnahme auf begrenzte Ressourcen und die Nutzung von Berührungs-Steuerung haben mich in Kombination mit einer zuvor unbekannten Engine für dieses Projekt motiviert. Aktuell ist das Gameplay samt einer Basis für die Weiterentwicklung vorhanden."
Game Engine: COCOS2D-X
IDE: Microsoft Visual Studio 2010
Plattform: Smartphones & Tablet-PCs
Team: 3 Personen, davon 2 Programmierer
Position: Lead Programmer
Aufgaben: Programmstruktur, Spiellogik
Spielkonzept: Fruit Jewels basiert auf einem Comodore 64-Klassiker, bei dem zwei aneinanderliegende Spielsteine vertauscht und drei oder mehr gleicher Farbe in einer Reihe gebracht werden müssen, die dann aus dem Spielfeld fallen. Längere Ketten und Kombinationen geben mehr Punkte. Das Spiel endet, wenn entweder eine vorgegebene Anzahl an Zügen verbraucht oder ein Countdown abgelaufen ist.
"Die Entwicklung eines Multiplattform-Spiels und die damit verbundene Rücksichtnahme auf begrenzte Ressourcen und die Nutzung von Berührungs-Steuerung haben mich in Kombination mit einer zuvor unbekannten Engine für dieses Projekt motiviert. Aktuell ist das Gameplay samt einer Basis für die Weiterentwicklung vorhanden."
War of Primitives (2012)
Programmiersprache(n): C#
Game Engine: Unity 3D
IDE: Microsoft Visual Studio 2010
Plattform: PC, später Smartphones & Tablet-PCs
Team: 1 Person
Position: -
Aufgaben: Design, Programmierung
Spielkonzept: Zwei Spieler treten mit einfachen, geometrischen Figuren gegen einander an. Die Spieler stoßen ihre Figuren gleichzeitig über das Spielfeld und versuchen, den eigenen Würfel in die gegnerische Endzone zu bewegen. Gedanklich lehnt das Spiel ein einen Kasten mit Bauklötzen an.
"Kernstück dieses Projekts ist die vertiefte Auseinandersetzung mit der in Unity enthaltenen Physik. Für War of Primitives musste diese Physik im richtigen Maße eingeschränkt, erweitert oder angepasst werden, um die Spieldynamik zu kontrollieren."
Game Engine: Unity 3D
IDE: Microsoft Visual Studio 2010
Plattform: PC, später Smartphones & Tablet-PCs
Team: 1 Person
Position: -
Aufgaben: Design, Programmierung
Spielkonzept: Zwei Spieler treten mit einfachen, geometrischen Figuren gegen einander an. Die Spieler stoßen ihre Figuren gleichzeitig über das Spielfeld und versuchen, den eigenen Würfel in die gegnerische Endzone zu bewegen. Gedanklich lehnt das Spiel ein einen Kasten mit Bauklötzen an.
"Kernstück dieses Projekts ist die vertiefte Auseinandersetzung mit der in Unity enthaltenen Physik. Für War of Primitives musste diese Physik im richtigen Maße eingeschränkt, erweitert oder angepasst werden, um die Spieldynamik zu kontrollieren."
Bellmar (2012)
Programmiersprache(n): C#
Game Engine: Unity 3D
IDE: Microsoft Visual Studio 2010
Plattform: PC
Team: 13 Personen, davon 5 Programmierer
Position: Programmer
Aufgaben: Editor Scripting, Pathfinding, Spieler-Gegner-Interaktionen
Spielkonzept: Bellmar ist ein in einer riesigen Höhle spielendes Hack'n'Slay mit einer an Shooter angelehnten Steuerung. Der Spieler hat die Aufgabe, sich mit Schwert und Magie gegen die Kreaturen der Höhle zu behaupten.
"Dies war mein erstes Spielprojekt in einer größeren Gruppe. Ich habe dabei Editorskripte für die Leveldesigner entwickelt und war allein für die Gegner im Spiel, also deren Platzierung und Konfiguration durch die Leveldesigner und das Verhalten der Kreaturen innerhalb und außerhalb von Kampfsituationen, zuständig. Leider löste sich die Projektgruppe vor der Feertigstellung auf."
Game Engine: Unity 3D
IDE: Microsoft Visual Studio 2010
Plattform: PC
Team: 13 Personen, davon 5 Programmierer
Position: Programmer
Aufgaben: Editor Scripting, Pathfinding, Spieler-Gegner-Interaktionen
Spielkonzept: Bellmar ist ein in einer riesigen Höhle spielendes Hack'n'Slay mit einer an Shooter angelehnten Steuerung. Der Spieler hat die Aufgabe, sich mit Schwert und Magie gegen die Kreaturen der Höhle zu behaupten.
"Dies war mein erstes Spielprojekt in einer größeren Gruppe. Ich habe dabei Editorskripte für die Leveldesigner entwickelt und war allein für die Gegner im Spiel, also deren Platzierung und Konfiguration durch die Leveldesigner und das Verhalten der Kreaturen innerhalb und außerhalb von Kampfsituationen, zuständig. Leider löste sich die Projektgruppe vor der Feertigstellung auf."
Mastermind (2011)
Programmiersprache(n): Java
Game Engine: -
IDE: eclipse Juno
Plattform: PC
Team: 4 Personen, davon 3 Programmierer
Position: Lead Programmer
Aufgaben: Spiellogik
Spielkonzept: Vorlage ist das klassische Mastermind. Der Spieler versucht die zufällige Farbkombination des Computers zu finden, die aus fünf Stellen mit sechs sich nicht wiederholenden Farben besteht. Nach jedem Zug erhält der Spieler eine Bewertung seines Vorschlags. Dem Spieler wird Weiß angezeigt, wenn die Position einer Farbe korrekt ist oder schwarz, wenn die Farbe im Code enthalten aber an der falschen Position ist.
"Mastermind entstand in Rahmen einer Projektübung in der Berufschule. Aufgabe war die Umsetzung eines simplen Spiels in Java. Neben einem Grafiker, waren außer mir noch ein GUI-Entwickler und ein zweiter Spiellogik-Programmierer eingesetzt. Das Spiel wurde zu unserer vollen Zufriedenheit fertiggestellt."
Game Engine: -
IDE: eclipse Juno
Plattform: PC
Team: 4 Personen, davon 3 Programmierer
Position: Lead Programmer
Aufgaben: Spiellogik
Spielkonzept: Vorlage ist das klassische Mastermind. Der Spieler versucht die zufällige Farbkombination des Computers zu finden, die aus fünf Stellen mit sechs sich nicht wiederholenden Farben besteht. Nach jedem Zug erhält der Spieler eine Bewertung seines Vorschlags. Dem Spieler wird Weiß angezeigt, wenn die Position einer Farbe korrekt ist oder schwarz, wenn die Farbe im Code enthalten aber an der falschen Position ist.
"Mastermind entstand in Rahmen einer Projektübung in der Berufschule. Aufgabe war die Umsetzung eines simplen Spiels in Java. Neben einem Grafiker, waren außer mir noch ein GUI-Entwickler und ein zweiter Spiellogik-Programmierer eingesetzt. Das Spiel wurde zu unserer vollen Zufriedenheit fertiggestellt."
Vier gewinnt (2010)
Programmiersprache(n): JavaScript
Game Engine: -
IDE: eclipse Juno
Plattform: Web-Browser
Team: 1 Person
Position: -
Aufgaben: Programmierung
Spielkonzept: Dies ist ein klassisches Vier gewinnt. Der Spieler tritt hierbei gegen eine künstliche Intelligenz an.
"Meine kurz vor der Entwicklung dieses Spiels gewonnenen Kenntnisse über Suchalgorithmen wollte ich durch deren Einsatz in einem dafür geeignetem Umfeld testen und so entwickelte ich eine KI für Vier gewinnt. Ich bin mit dem Ergebnis sehr zufrieden."
Game Engine: -
IDE: eclipse Juno
Plattform: Web-Browser
Team: 1 Person
Position: -
Aufgaben: Programmierung
Spielkonzept: Dies ist ein klassisches Vier gewinnt. Der Spieler tritt hierbei gegen eine künstliche Intelligenz an.
"Meine kurz vor der Entwicklung dieses Spiels gewonnenen Kenntnisse über Suchalgorithmen wollte ich durch deren Einsatz in einem dafür geeignetem Umfeld testen und so entwickelte ich eine KI für Vier gewinnt. Ich bin mit dem Ergebnis sehr zufrieden."
Icy Stage (2009)
Programmiersprache(n): PHP
Game Engine: -
IDE: eclipse Juno
Plattform: Web-Browser
Team: 1 Person
Position: -
Aufgaben: Design, Programmierung
Spielkonzept: Zwei bis vier Spieler versuchen, sich abwechselnd bewegend auf einer schwindenden Eisfläche zu bleiben. Dabei stehen den Spielern in begrenzter Anzahl Hilfsmittel zur Verfügung, um das Spielgeschehen zu beeinflussen. Ist kein Zug mehr möglich, scheidet der betroffene Spieler aus. Gewonnen hat der letzte Spieler auf dem Feld.
"Mit Icy Stage setzte ich in Eigenregie eine Spielidee um, die etwa im Jahr 2001 entstand und im Rahmen einer Projektwoche in der Schule 2002 als Brettspiel umgesetzt wurde. Das Brettspiel erfreute sich großer Beliebtheit bei Familie und Freunden. Als ich mich 2009 intensiver mit Web-Entwicklung beschäftigte und von Schach- und Go-Onlineduellen begeistert war, nahm ich mir vor, Icy Stage als Browsergame zu entwickeln. Die erste Version war bereits nach drei Monaten fertiggestellt und wurde seitdem Modulweise weiterentwickelt, bis ich 2012 mit dem aktuellen Stand Icy Stage als fertiggestellt betrachtete. Es wurde von Beginn an bis heute von Freunden, Damilie und mir regelmäßig gespielt."
Game Engine: -
IDE: eclipse Juno
Plattform: Web-Browser
Team: 1 Person
Position: -
Aufgaben: Design, Programmierung
Spielkonzept: Zwei bis vier Spieler versuchen, sich abwechselnd bewegend auf einer schwindenden Eisfläche zu bleiben. Dabei stehen den Spielern in begrenzter Anzahl Hilfsmittel zur Verfügung, um das Spielgeschehen zu beeinflussen. Ist kein Zug mehr möglich, scheidet der betroffene Spieler aus. Gewonnen hat der letzte Spieler auf dem Feld.
"Mit Icy Stage setzte ich in Eigenregie eine Spielidee um, die etwa im Jahr 2001 entstand und im Rahmen einer Projektwoche in der Schule 2002 als Brettspiel umgesetzt wurde. Das Brettspiel erfreute sich großer Beliebtheit bei Familie und Freunden. Als ich mich 2009 intensiver mit Web-Entwicklung beschäftigte und von Schach- und Go-Onlineduellen begeistert war, nahm ich mir vor, Icy Stage als Browsergame zu entwickeln. Die erste Version war bereits nach drei Monaten fertiggestellt und wurde seitdem Modulweise weiterentwickelt, bis ich 2012 mit dem aktuellen Stand Icy Stage als fertiggestellt betrachtete. Es wurde von Beginn an bis heute von Freunden, Damilie und mir regelmäßig gespielt."
Schach (2009)
Programmiersprache(n): JavaScript
Game Engine: -
IDE: eclipse Juno
Plattform: Web-Browser
Team: 2 Programmierer
Position: -
Aufgaben: Spiellogik, Benutzeroberfläche
Spielkonzept: Klassisches Schach für zwei Spieler inklusive aller Sonderzüge wie kleiner und großer Rochade, Schlagen en Passant und Umwandlung.
"Nachdem ein Mitauszubildender Programmierer das Grundgerüst für ein Schachspiel mit JavaScript entwickelt hatte, verlor er das Interesse daran und ich übernahm die Weiterentwicklung nach meinen Vorstellungen. Ich stellte die Grundfunktionen fertig und programmierte die Kommunikation der Spieler über AJAX Requests aus. Abschließend stellte ich das Spiel bis zu den Endphasen Matt und Remi fertig."
Game Engine: -
IDE: eclipse Juno
Plattform: Web-Browser
Team: 2 Programmierer
Position: -
Aufgaben: Spiellogik, Benutzeroberfläche
Spielkonzept: Klassisches Schach für zwei Spieler inklusive aller Sonderzüge wie kleiner und großer Rochade, Schlagen en Passant und Umwandlung.
"Nachdem ein Mitauszubildender Programmierer das Grundgerüst für ein Schachspiel mit JavaScript entwickelt hatte, verlor er das Interesse daran und ich übernahm die Weiterentwicklung nach meinen Vorstellungen. Ich stellte die Grundfunktionen fertig und programmierte die Kommunikation der Spieler über AJAX Requests aus. Abschließend stellte ich das Spiel bis zu den Endphasen Matt und Remi fertig."