CHRISTP PPTCHRISTP PPT - docs.itengy.comdocs.itengy.com/xhris/portfolio-lipphart-2016-07.pdfI was...

8
Gameplay Programmer : Portfolio 2016 CHRISTOPH LIPPHART CHRISTOPH LIPPHART itengy.com/sr-lipphart Showreel itengy.com/ma-lipphart Master’s Thesis linkedin.com/in/lipphart LinkedIn

Transcript of CHRISTP PPTCHRISTP PPT - docs.itengy.comdocs.itengy.com/xhris/portfolio-lipphart-2016-07.pdfI was...

Page 1: CHRISTP PPTCHRISTP PPT - docs.itengy.comdocs.itengy.com/xhris/portfolio-lipphart-2016-07.pdfI was responsible for the enemy zombies, implementing parts of the weapon system and a new

Gameplay Programmer : Portfolio 2016

CHRISTOPH LIPPHARTCHRISTOPH LIPPHART

itengy.com/sr-lipphartShowreel

itengy.com/ma-lipphartMaster’s Thesis

linkedin.com/in/lipphartLinkedIn

Page 2: CHRISTP PPTCHRISTP PPT - docs.itengy.comdocs.itengy.com/xhris/portfolio-lipphart-2016-07.pdfI was responsible for the enemy zombies, implementing parts of the weapon system and a new

© Christoph Lipphart July 2016 | Flat 70 William House, Ringer’s Road, Bromley, BR1 1AG | more @ linkedin.com/in/lipphart

2

tRIZE: Zombies iOS | C++ | Marmalade SDK | 2016Main Responsibility: AI of all 7 different zombies using BTs, Player weapons and new Art Pipeline

When civilisation has fallen to zombies and you’re one of the few survivors - what do you do?I was responsible for the enemy zombies, implementing parts of the weapon system and a new python art pipeline.

Each zombie is defined by its unique behaviour, f.e. the fast zombie dodges left or right if he received a certain amount of damage over time. The captain zombie attacks the player from far distance using a machine gun.

A game prototype was already available when I joined the team and I jumped successfully into the existing codebase. On top of the grid-based A* navigation I added wall and NPC avoidance to improve the steering of fast and slow zombies. For the AI system I coded data-driven behaviour trees, which drive the state machines, for reusability and fast balancing.

Facebook Page with Video: https://www.facebook.com/RIZE-Zombies-1349090961772401/

@ Marmalade Game Studio@ Marmalade Game Studio

Animation State MachineMain Goal Decision Making using BT

Page 3: CHRISTP PPTCHRISTP PPT - docs.itengy.comdocs.itengy.com/xhris/portfolio-lipphart-2016-07.pdfI was responsible for the enemy zombies, implementing parts of the weapon system and a new

© Christoph Lipphart July 2016 | Flat 70 William House, Ringer’s Road, Bromley, BR1 1AG | more @ linkedin.com/in/lipphart

3

Transformers - Robots in Disguise iOS, Android | C++ | Marmalade SDK | 2015Main Responsibility: AI and special weapon ability of the Mini-ConsIn the 1.4 update of the game the Mini-Cons have arrived and I was head of the new Mini-Cons feature. They are the small buddies of the main player. The chosen Mini-Con for a mission follows the player and attacks nearby enemies. The player can use each Mini-Con as weapon by transforming it into its alternative model and targeting enemies.

iTunes: https://itunes.apple.com/gb/app/transformers-robots-in-disguise/id945490355

Transformers - Robots in Disguise - Autobots Unite Apple TV | C++ | Marmalade SDK | 2016Main Responsibility: Multiplayer SupportI abstracted the touch input controller of the single player app, Transformers - Robots in Disguise, and changed it to a generic input controller. Furthermore, I splitted the tight single player codebase to support multiple players. This made it possible that one character can be controlled either using the AppleTV remote, a gamepad or the wifi connected Marmalade Multiplayer Game Controller app. It is even possible that an AI player controller can instantly take over if the Marmalade Controller of the second player disconnects.

iTunes https://itunes.apple.com/us/app/transformers-robots-in-disguise/id1060734780

@ Marmalade Game Studio@ Marmalade Game Studio

Page 4: CHRISTP PPTCHRISTP PPT - docs.itengy.comdocs.itengy.com/xhris/portfolio-lipphart-2016-07.pdfI was responsible for the enemy zombies, implementing parts of the weapon system and a new

© Christoph Lipphart July 2016 | Flat 70 William House, Ringer’s Road, Bromley, BR1 1AG | more @ linkedin.com/in/lipphart

4

Spherical navigation mesh Unreal 4 | C++, Blueprint | 2015Leisure projectI have already worked with Unreal 4 using Blueprints and C++ to create a Spherical Shooter Prototype. Therefore I imple-mented a process to create automatically a spherical navigation mesh and used the A* to find the shortest path between two positions. Enemies are following the player and the player can shoot the enemies down.Although the projectiles travers spherically the player can shoot exactly into her center point she is facing by using an algorithm which takes the gravitation, time of impact and altitude.

UNREAL 4 PROJECTUNREAL 4 PROJECT

Page 5: CHRISTP PPTCHRISTP PPT - docs.itengy.comdocs.itengy.com/xhris/portfolio-lipphart-2016-07.pdfI was responsible for the enemy zombies, implementing parts of the weapon system and a new

© Christoph Lipphart July 2016 | Flat 70 William House, Ringer’s Road, Bromley, BR1 1AG | more @ linkedin.com/in/lipphart

5

Elements Windows, Mac OS X, iOS, Android | xis-engine | C++ | 2013 - 2014Main Responsibility: In-game level-editor, second screen integration, wall jumpElements is a 2D platform game which leads the player through a dangerous Mayan jungle. The core mechanics impress with the ability to change the physical element of the main character. The light weight fire has other skills than the heavy rock and they have to survive risky obstacles.

http://itengy.com/elements

IN-GAME LEVEL EDITORIN-GAME LEVEL EDITOR

Page 6: CHRISTP PPTCHRISTP PPT - docs.itengy.comdocs.itengy.com/xhris/portfolio-lipphart-2016-07.pdfI was responsible for the enemy zombies, implementing parts of the weapon system and a new

© Christoph Lipphart July 2016 | Flat 70 William House, Ringer’s Road, Bromley, BR1 1AG | more @ linkedin.com/in/lipphart

6

xis-engine cross-platform game engine | Windows, Mac OS X, iOS, Android | C++ | 2010 - 2015Main Responsibility: Platform layers, game core, input and event system, 2D renderingSince 2010 Angelika Bugl and I are working on our own C++ cross-platform game engine. Because of the variety of games, which were already developed using the xis-engine, a huge amount of functionality was already developed. So the engine impresses with its own 2D node-based render-system, an adventure-game system for dialogues and inventories, a metric tracking system and integrates the second screen gaming framework of my master’s thesis.

http://xis-engine.com

Service-orientedThe xis-engine has a service-oriented architecture. Each service is respon-sible for one task of a required func-tionality. Because of this possibility to add or omit concrete services, the en-gine can be highly optimised for any game.

Event-drivenThe xis-engine uses the principles of the event-driven approach to un-couple the interfaces of the services. Furthermore, this architecture offers a stable communication between game objects and a structured se-quence of the game logic (e.g. to handle physic collisions).

2D Render PipelineThe render pipeline of xis is specially designed for 2D rendering, but the coded node system can render 3D objects as well. To abstract the inter-face of OpenGL, a globally reachable service, the RenderManager, was de-veloped.

GAME ENGINEGAME ENGINE

Page 7: CHRISTP PPTCHRISTP PPT - docs.itengy.comdocs.itengy.com/xhris/portfolio-lipphart-2016-07.pdfI was responsible for the enemy zombies, implementing parts of the weapon system and a new

© Christoph Lipphart July 2016 | Flat 70 William House, Ringer’s Road, Bromley, BR1 1AG | more @ linkedin.com/in/lipphart

7

Seccoplay Second Screen Gaming Framework | cross-platform | C++ | 2014Master’s ThesisTo create a second screen gaming experience you need time and money. Above all, you need to develop a second screen app for each platform. The second screen gaming framwork remedies this problem. It provides a universal second screen app which runs a second screen customization subapp written in Lua and communicates with the Seccoplay SDK running in the primary game.

http://itengy.com/seccoplay Download: http://itengy.com/xhris

Second Screen ManagerThe base of Seccoplay is the universal app, the Second Screen Manager. It executes second screens which were developed in Lua. Each second screen Lua app, called Subapp, will be in-stalled by the base game running on a computer.

Seccoplay SDKTo communicate easily with the Sec-ond Screen Manager and its running Subapp, game developers can inte-grate the SDK in their games. The SDK abstracts the required asynchro-nous communication and supports an easy interface to handle the in-stallation of a Subapp.

Seccoplay SubappThe Subapp represents a Second Screen with all required resources. It is developed in Lua once by a game developer and can be used for any Seccoplay Second Screen Manager independent of the mobile platform the manager is running on.

MASTER’S THESIS’ PROJECTMASTER’S THESIS’ PROJECT

Page 8: CHRISTP PPTCHRISTP PPT - docs.itengy.comdocs.itengy.com/xhris/portfolio-lipphart-2016-07.pdfI was responsible for the enemy zombies, implementing parts of the weapon system and a new

THANK YOU FOR YOUR TIME!THANK YOU FOR YOUR TIME!

© 2016 Christoph Lipphart, MScwww.itengy.com/xhris