7
Lebenslauf Persönliche Daten Name Markus Hötzinger Anschrift Bergstrasse 284, 2823 Pitten E-Mail [email protected] Web markushoetzinger.info Geburtsdatum 24.12.1979 Familienstand ledig Staatsbürgerschaft Österreich Ausbildung 1986-1990 Volksschule Vöcklamarkt 1990-1994 Bundesgymnasium Vöcklabruck 1994-1998 Bundesrealgymnasium Vöcklabruck (Abschluss Matura) 1999 Präsenzdienst 1999-2002 Physikstudium an der TU Wien und Universität Wien (ohne Abschluss) Berufliche Laufbahn 2003-2005 Tisc Media 3D-Spieleprogammierung in C++ und Quest3D 3D Grafik-Engine Programmierung in C++ basierend auf DirectX Entwicklung einer VR Vogelflug-Simulation durch die wiener Innenstadt Kamerabasiertes Tracking der Flügelbewegung zur Spielsteuerung Entwicklung von Crowd-Systemen für Fußgänger, Tauben und Gnu-Herden 2005-2013 Vstep 4 Jahre Auslandsaufenthalt in Holland, ca. 2 Jahre als Lead-Programmierer Entwicklung professioneller Trainings-Simulatoren für Schiffe, Autos, Kräne Eingesetzt wurde C++, Quest3D und 3D Physik-Engines wie PhysX Mitarbeit an 3 veröffentlichten Videospielen der Ship Simulator Reihe Physikalische Modellierung von Schiffen, Kränen, Hubschraubern. KI-Programmierung für autonomen Auto- und Schiffsverkehr Tool-Entwicklung für 360-Grad Projektionen auf zylindrische Leinwände Anbindung externer Hardware (Brücken-Instrumente, Anzeigen, Steuer- und Eingabegeräte) über Ethernet, Serial Port oder USB Installation eines Schiff-Brückensimulators in Saudi Arabien Seit 2014 Selbständig Videospiel-Entwicklung in C# (Prototypen und ein veröffentlichter Titel) Programmierung einer Game-Engine in C# basierend auf XNA/MonoGame Entwicklung einer GPU Wassersimulation für Flüsse, Seen und Ozeane IPhone und Android App Entwicklung mit Xamarin Integration der Oculus Rift VR-Brille Kentnisse & Fähigkeiten Stärken Logisches, mathematisches Denken Spezialgebiete 3D Grafikprogrammierung, Physiksimulationen, Videospiele, VR Fremdsprachen Englisch fließend in Wort und Schrift, Französisch Grundkentnisse Führerschein Klasse B Programmiersprachen C++, C#, C, HLSL, Java, Pascal, Assembler, JavaScript, Python, OpenCL Programmier-Software Visual Studio, Git, SVN, SharpDevelop, Eclipse 3D Engines & Frameworks DirectX, OpenGL, XNA, MonoGame, Unreal, Unity3D, Quest3D, Ogre3D Grafik Programme Gimp, Blender, 3DS Max, Photoshop Physik Engines PhysX, Bullet, Newton, ODE Frameworks, SDK’s, API’s Steam, Xamarin, Windows API, Android, IOS, OculusRift SDK, 3DS Max SDK

Lebenslauf - markushoetzinger.infomarkushoetzinger.info/LebenslaufMarkusHoetzinger.pdfAnfangs verwendete ich den XNA ... - Graphik Rendering - Sound und Musik - Keyboard-, ... - Experimenteller

  • Upload
    vuliem

  • View
    224

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Lebenslauf - markushoetzinger.infomarkushoetzinger.info/LebenslaufMarkusHoetzinger.pdfAnfangs verwendete ich den XNA ... - Graphik Rendering - Sound und Musik - Keyboard-, ... - Experimenteller

Lebenslauf

Persönliche Daten

Name Markus HötzingerAnschrift Bergstrasse 284, 2823 PittenE-Mail [email protected] markushoetzinger.infoGeburtsdatum 24.12.1979Familienstand ledigStaatsbürgerschaft Österreich

Ausbildung

1986-1990 Volksschule Vöcklamarkt1990-1994 Bundesgymnasium Vöcklabruck1994-1998 Bundesrealgymnasium Vöcklabruck (Abschluss Matura)1999 Präsenzdienst1999-2002 Physikstudium an der TU Wien und Universität Wien (ohne Abschluss)

Berufliche Laufbahn

2003-2005 Tisc Media3D-Spieleprogammierung in C++ und Quest3D3D Grafik-Engine Programmierung in C++ basierend auf DirectXEntwicklung einer VR Vogelflug-Simulation durch die wiener InnenstadtKamerabasiertes Tracking der Flügelbewegung zur SpielsteuerungEntwicklung von Crowd-Systemen für Fußgänger, Tauben und Gnu-Herden

2005-2013 Vstep4 Jahre Auslandsaufenthalt in Holland, ca. 2 Jahre als Lead-ProgrammiererEntwicklung professioneller Trainings-Simulatoren für Schiffe, Autos, KräneEingesetzt wurde C++, Quest3D und 3D Physik-Engines wie PhysX Mitarbeit an 3 veröffentlichten Videospielen der Ship Simulator ReihePhysikalische Modellierung von Schiffen, Kränen, Hubschraubern. KI-Programmierung für autonomen Auto- und SchiffsverkehrTool-Entwicklung für 360-Grad Projektionen auf zylindrische LeinwändeAnbindung externer Hardware (Brücken-Instrumente, Anzeigen, Steuer- undEingabegeräte) über Ethernet, Serial Port oder USBInstallation eines Schiff-Brückensimulators in Saudi Arabien

Seit 2014 Selbständig Videospiel-Entwicklung in C# (Prototypen und ein veröffentlichter Titel) Programmierung einer Game-Engine in C# basierend auf XNA/MonoGameEntwicklung einer GPU Wassersimulation für Flüsse, Seen und OzeaneIPhone und Android App Entwicklung mit XamarinIntegration der Oculus Rift VR-Brille

Kentnisse & Fähigkeiten

Stärken Logisches, mathematisches DenkenSpezialgebiete 3D Grafikprogrammierung, Physiksimulationen, Videospiele, VRFremdsprachen Englisch fließend in Wort und Schrift, Französisch Grundkentnisse Führerschein Klasse BProgrammiersprachen C++, C#, C, HLSL, Java, Pascal, Assembler, JavaScript, Python, OpenCLProgrammier-Software Visual Studio, Git, SVN, SharpDevelop, Eclipse3D Engines & Frameworks DirectX, OpenGL, XNA, MonoGame, Unreal, Unity3D, Quest3D, Ogre3DGrafik Programme Gimp, Blender, 3DS Max, PhotoshopPhysik Engines PhysX, Bullet, Newton, ODEFrameworks, SDK’s, API’s Steam, Xamarin, Windows API, Android, IOS, OculusRift SDK, 3DS Max SDK

Page 2: Lebenslauf - markushoetzinger.infomarkushoetzinger.info/LebenslaufMarkusHoetzinger.pdfAnfangs verwendete ich den XNA ... - Graphik Rendering - Sound und Musik - Keyboard-, ... - Experimenteller

Nennenswerte Projekte

1.) Nautis Schiff-Simulator

Der Nautis Schiff-Simulator wurde von einer niederländischen Firma namens Vstep entwickelt. Er befindet sich heute in unterschiedlichen Ausführungen in mehreren Schifffahrt-Ausbildungszentren rundum den Globus.

Ich war bei der Entwicklung von Anfang an dabei. Entwickelt wurde in Visual Studio in C++, und in Quest3D. Quest3D ist ein Realtime-Authoring-Tool, das ähnlich zu einer Game-Engine viele Funktionen bereitstellt, die häufig bei der Entwicklung von Videospielen oder anderen Grafikanwendungen benötigt werden. Quest3D basiert auf DirectX und bietet eine C++ SDK, um den Funktionsumfang zu erweitern.

Meine Hauptaufgabe war es das physikalische Verhalten unterschiedlichster Schiffstypen abzubilden, vor allem deren Bewegung durchs Wasser. Hierfür ist es notwendig mechanische Kräfte zu berechnen, die auf das Schiff einwirken. Beispiele hierfür sind Gravitation, Auftrieb im Wasser, Welleneinwirkung, Wind, hydrodynamische Kräfte der Ruder und Schiffshülle, Antriebskräfte von Propellern und Jets, Kraftübertragung durch Seile (Ankern, Anlegen, Abschleppen) usw. Zur Berechnung von Kollisionen (Schiff-Schiff und Schiff-Umgebung) setzte ich Echtzeit-Physik-Engines ein, in diesem Fall war es Newton.

Weitere Aspekte die ich simulierte waren Motoren und Propeller (Drehzahl, Leistung, Benzinverbrauch), Eindringen von Wasser bei Lecks, Steuerung von Rudern, Propellern und Jets.Um eine große Zahl an Schiffen zu unterstützen entwickelte ich einen grafischen Schiffsdynamik Editor,der es auch Nicht-Programmierern erlaubt weitere Schiffe hinzuzufügen und deren dynamisches Verhalten zu bestimmen.

Außerdem war ich zuständig für die Bewegung der computergesteuerten Schiffe im Hintergrund-Verkehr, und auch für die Synchronisation von Schiffen, falls mehre Teilnehmer über ein TCP/IP Netzwerk verbunden waren.

Page 3: Lebenslauf - markushoetzinger.infomarkushoetzinger.info/LebenslaufMarkusHoetzinger.pdfAnfangs verwendete ich den XNA ... - Graphik Rendering - Sound und Musik - Keyboard-, ... - Experimenteller

In Simulatoren dieser Art werden die “Fenster” der Schiffs-Brücke oft mit herkömmlichen Bildschirmenrealisiert, siehe Bild. In Saudi-Arabien hingegen installierten wir einen Brückensimulator, wo die Brücke im Zentrum eines kreisrunden Raumes stand. Mehrere Video-Projektoren projezierten die Außenansicht direkt auf die Wand. Hierfür entwickelte ich ein Tool, um Verzerrungen auszugleichen, die bei der Projektion auf die gekrümmte Fläche entstehen. Die Entzerrung selbst geschah über einen HLSL Shader. Die projezierten Bilder überlappten etwas an den Rändern, was einen schönen Übergang von einem Bild zum nächsten gewährleisten soll. Aus diesem Grund konnte man mithilfe des Tool auch Helligkeits- und Farbanpassungen ausführen, um in den überlappenden Randbereichen ein homogenes FadeIn/FadeOut zu erzielen. Weiters konnten Helligkeits- und Farbunterschiede zwischen den einzelnenProjektoren damit ausgeglichen werden. Ich war mehrere Male in Saudi Arabien, um das Bild zu optimieren und den Simulator zu warten.

Weiters war ich für die Kommunikation mit externer Hardware und Software zuständig. Beispiele dafür sind Instrumente und Anzeigen auf der Brücke, Eingabegeräte zur Schiffssteuerung, Chart Programme usw. Meist reicht es dafür Daten dem NMEA-Standard entsprechend zu formattieren und über den seriellen Port oder Ethernet zu verschicken und empfangen, NMEA ist ein Standard für die Kommunikation zwischen maritimen Instrumenten und Computersystemen. Nautis ist noch heute in Entwicklung, Weitere Informationen auf vstepsimulation.com

2.) EMO Bulkcrane Simulator

Der EMO Bulkcrane Simulator wurde von Vstep entwickelt und dient zur Ausbildung von Hafenkran Operatoren. Mithilfe eines Schaufelkrans wird Kohle oder Eisenerz von Transportschiffen entladen. Ich war für die physikalische Simulation zuständig und verwendete die PhysX Physik Engine. Ich simulierte die Bewegung der Greifschaufel, das Öffnen und Schließen der Schaufel, und die Interaktion zwischen Schaufel und Material. Die Kette wurde aus vielen Einzelgliedern gebildet, mußte realistisches Schwingungsverhalten zeigen, kollidieren und reißen können.

Page 4: Lebenslauf - markushoetzinger.infomarkushoetzinger.info/LebenslaufMarkusHoetzinger.pdfAnfangs verwendete ich den XNA ... - Graphik Rendering - Sound und Musik - Keyboard-, ... - Experimenteller

3.) Ship Simulator 2006, 2008 und Extremes

Das wichtigste Standbein von Vstep sind Simulationen für den professionellen Bereich, mit der Ship Simulator Reihe wurde jedoch der Unterhaltungssektor bedient. Drei Versionen, inklusive einiger Erweiterungen, wurden in 2-Jahresabständen für den PC veröffentlicht. Ship Simulator 2008wurde zu einer eigenständigen Version für den professionellen Einsatz weiterentwickelt, woraus später Nautis wurde. Ich habe an allen drei Versionen mitgearbeitet. Ähnlich zu Nautis arbeitete ich großteils an Schiffsphysik, Schiffsverkehr und der Unterstützung von Eingabegeräten (Joysticks, TrackIR Head-Tracking).

4.) DriveZone Autofahr-Simulator

Das erste Projet an dem ich für Vstep arbeitete war ein Autofahr-Simulator, in dem Fahrstunden für den Führerschein absolviert werden konnten. In Rotterdam und Amsterdam wurden DriveZone Fahr-Center betrieben, mit jeweils mehreren Simulator-Einheiten. Das Geschäft war nicht profitabelund wurde bald wieder geschlossen. Ich entwickelte den autonomen Fahrzeugverkehr. Die computergesteuerten Autos “verstanden” die wichtigsten Verkehrsregeln, und konnten Notbremsungen einleiten um Kollisionen zu vermeiden.Weiters war ich für die Kommunikation zur Fahrzeugeinheit, die in Süd Korea gefertigt wurde, und über USB angeschlossen wurde, verantwortlich. Es handelte sich um ein handelsübliches Auto, wo alles bis auf die Farhrerkabine entfernt wurde. Über eine C++ Schnitstelle konnten Anzeigen angesteuert und Bedienelemente (Gas, Kupplung, Bremse, Lichter, Blinker, etc..) ausgelesen werden.

Page 5: Lebenslauf - markushoetzinger.infomarkushoetzinger.info/LebenslaufMarkusHoetzinger.pdfAnfangs verwendete ich den XNA ... - Graphik Rendering - Sound und Musik - Keyboard-, ... - Experimenteller

5.) Octopus Game-Engine

Octopus ist eine Game-Engine die ich in C# entwickelte. Anfangs verwendete ich den XNA Framework, später portierte ich sie auf MonoGame, eine platformunabhängige OpenSource Implementierung von XNA. Die Engine dient mir als Grundlage für alle 3D Anwendungen die ich heute entwickele. Features:

- Content Management - Graphik Rendering - Sound und Musik- Keyboard-, Maus- und Controller-Input- Rigid-Body Physik - Editor in dem Objekte platziert und Parameter in Echtzeit editiert werden können - Entity-Component System, ebenfalls im Editor integriert, ähnlich zu Unity3D- GUI System- Experimenteller Deferred-Shading Renderer- VR Brillen Support für OculusRift

6.) Codename Terracell Videospiel Prototyp

Codename Terracell ist ein früher Prototyp von einem rundenbasierten Strategiespiel, ähnlich zu SidMeier’s Civilisation. Es spielt auf einem Ozean-Planeten, durchzogen von Inseln, auf denen sich Zivilisationen ausbreiten, Handel treiben, oder Krieg führen. Der Prototyp wurde von mir alleine mithilfe der Octopus Engine entwickelt. Die Wassersimulation habe ich großteils in HLSL geschrieben, sie sollte einen “unendlichen” interaktiven Ozean ermöglichen. Das Terrain ist frei editierbar und benutzt ein LOD System, um Weitsicht bei akzeptabler Framerate, zu gewährleisten.

Page 6: Lebenslauf - markushoetzinger.infomarkushoetzinger.info/LebenslaufMarkusHoetzinger.pdfAnfangs verwendete ich den XNA ... - Graphik Rendering - Sound und Musik - Keyboard-, ... - Experimenteller

7.) Wild White Waters Videospiel Prototyp

Wild White Waters ist ein Prototyp für ein Boat-Racing Spiel, bei dem auf Wildwasser-Flüssen gefahren wird. Hier war noch eine ältere Version meiner Wassersimulation im Einsatz. Auch die Bootsphysik wird auf der GPU berechnet. Die Demoversion erlaubt es, alleine oder zu zweit, ein mehrere hundert Meter langes Flußstück entlang zu fahren. Das Boot beeinflußt das Wasser, und umgekehrt.

8.) Wienflug

Tisc Media war die erste Firma für die ich arbeitete. Wir waren ein kleines Team, bestehend aus einem Projektleiter, 2 Grafikern, und einem Programmierer. Ich war der Programmierer. Beim Wienflug ging es darum mittels umgeschnallter Flügel durch die wiener Innenstadt zu fliegen. Das Bild wurde aus der Ego-Perspektive auf eine Leinwand vor dem Spieler projeziert. An bestimmten Punkten konnte man landen um sich ein Video, mit Hintergrundinformationen zum jeweiligen Gebäude, anzusehen. Ich programmierte das Spiel ansich, aber auch die Tracking-Software, um aus Videobildern, die von zwei Kameras geliefert wurden, die Flügelbewegung zu rekonstruieren. Ein selbstentwickeltes Crowd-System sorgte für Passanten und Tauben. Ich arbeitete mit C++, DirectX und Quest3D.

Page 7: Lebenslauf - markushoetzinger.infomarkushoetzinger.info/LebenslaufMarkusHoetzinger.pdfAnfangs verwendete ich den XNA ... - Graphik Rendering - Sound und Musik - Keyboard-, ... - Experimenteller

9.) XiBIT IPhone und Android App

XiBIT ist eine Infoguide App für Android und IPhone. Sie ist gedacht für Museen und Ausstellungen. Über die App können Informationen zu Ausstellungs-Objekten, Ausstellungen und Austellern in Bild-, Video-, Ton-, und Textform abgerufen werden. Dies geschieht entweder über die eingebaute Suche, den eingebauten QR-Code Scanner, oder über Auswahl von Markern in eingebetteten GoogleMaps Karten. Die App befindet sich noch in Entwicklung, ist aber schon in der Feinschliff-Phase angelangt. Während ich mich um die Entwicklung der App selbst kümmere, erledigt ein Freund von mir die serverseitigen Aufgaben. Eingesetzt wurde C# und Xamarin.

10.) Lighthockey

Lighthockey ist ein kleines Air-Hockey Spiel, das ich zusammen mit einem Freund entwickelte, undauf Steam veröffentlichte. Ich war für die Programmierung verantwortlich, mein Freund für die Grafik. Es basiert auf einer frühen Version der Octopus Engine, bietet Online Multiplayer, sowie lokalen Multiplayer im Split Screen, AI Gegner, Tourniere, Steam Integration und mehr.