Johannes Scharl

Software Engineering and Visual Computing


Jagged Alliance Online
3D browser game with .NET server application
Technical Lead, Cliffhanger Productions, December 2010 - ongoing

Jagged Alliance Online is the modern version of the popular classic series Jagged Alliance. Probably unexpected for a browser game, it features state-of-the-art 3D graphics, including dynamic shadows, pixel lighting, and particle effects.
The game client is developed with the Unity game engine and connects to a .NET server application cloud, each server capable of serving hundreds of users.

Jagged Alliance Online screenshot

Main Challenges:

  • Managing large amounts of code and content in Unity
  • Optimizing performance for low-end hardware while delivering cutting edge graphics on high-end PCs
  • Creating a stable and scaleable deployment for up to hundred unique levels, including lightmap baking
  • Implementing a highly parallel server application capable of handling hundreds of concurrent clients at once


Base Jumping Android game
Student project, March - June 2010

For this student project, each team of two students had to implement one level for an android game - the aim of each level was to lose virtual money.
Our level features base jumping from a bird's-eye view and was implemented in Java and OpenGL ES. It is controlled by dragging the level around the screen. In three minutes the player has to hit birds and jump close to buildings to get fined and lose money, but must not hit any buildings.
Our level won the 3rd best level award of the course ;-)

Base Jumping Android game screenshot

There is also a video available for download (captured from the android emulator on pc)


Artist-Controlled Modeling of Urban Environments

Master Thesis, Summer 2009 - Summer 2010

My thesis is described in the publications section and can also be downloaded there.



3D Massive Multiplayer Online Game
Client Programmer, Team Vienna Games, March 2009 - September 2010

In 7Million, the player takes the role of a gentleman thief and can participate in various jobs and heists. Various mini-games can be played to crack safes or disarm alarms. Players also have to watch out for guards and can play and interact with each other.

The game client was developed using the Panda3D engine, the server was written in Java.
As a member of the client team, I was mostly responsibe for the implementation of gameplay and UI features in Python. I also implemented a system for asynchronous loading and caching of assets and enhanced and refined the C++ collision system for the game.



The Alhambra
Real time rendering demo, September 2008 - January 2009

The Alhambra is a real time rendering project I created for the Real Time Rendering course at the Vienna University of Technology.
It was developed in C++ with DirectX 10 and HLSL and features a variety of effects:

  • Normal Mapping
  • Environment Mapping
  • Variance Shadow Mapping
  • HDR Tone Mapping
  • Depth of Field
  • Water Reflection
  • Sun Rays
  • Volumetric Fire
  • Camera Path Animation
  • Scripted time lapse

A video of the demo can be downloaded here: HD | Low

The Alhambra real time rendering demo


Coming up

Check back soon to see more screenshots of Jagged Alliance Online!