Portfolio: Lorenz Junglas

Procedural City Generation [WIP]

I have been spending a lot of time developing runtime procedural generation tools recently. They are all part of a larger system. The larger system is not yet ready to be shown. But here are some images & videos of the individual modules.

Model synthesis

Constraint-based model generation using Model Synthesis. Model Synthesis takes a tile set with adjacency constraints as input and assembles the tiles in a valid configuration. This is heavily inspired by the fantastic work of Paul Merell and Maxim Gumin.

Splines

Splines are essential in the system. They are used for geometry generation and for partitioning the world into regions. I wrote a custom spline library that supports advanced features like offsetting, splitting, and bounding box calculation.
Bounding box calculation for individual spline segments and whole spline.
Spline offsetting: Offseting/Insetting is only trivial to a certain degree; as soon as the spline self intersects, we have to interpolate the offset curve.
Runtime Geometry generation along splines.

Curved subdivision

Curve based subdivision: The goal is to generate primarily rectangular yet interesting-looking subplots from any polygons, even heavily "indented" polygons like the ones in the clip.
Bezier curves are used for geometry a half edge structure for topology.

Visual Geo-localization Using 3D City Models

Geo-localization with the help of public accesible 3D city models is the goal of a research project which i worked on for over 2 years. If you never heard of geo-localization think of geo guesser but the guesses are performed by an algorithm.
The localization is accomplished through an image-retrieval-based approach using a database pre-sampled from the 3D model. Unreal Engine & Cesium are used to render the 3D model and generate the database. Machine learning is used for the actual image-retrieval/geo-localization.
A live demo of this tool was showcased in Paris at the International Conference on Computer Vision 2023.

UnrealGT

UnrealGT is a powerful tool that utilizes the Unreal Engine to generate test imagery and data from virtual worlds. The plugin provides a variety of data generators out of the box that can be used without coding. The built-in generators enable the synthesis of various types of images, including color images, depth images, semantic segmentations, normal maps, and depth maps. Additionally, the tool allows for easy expansion through custom generators.

Guess Who

In terms of raw numbers Guess Who was probably my most successful project. With over 1.5 Million downloads and hundreds of millions of views on YouTube.
Guess Who is a hide and seek like game mode for the game Garry's mod. In Guess Who, two teams compete against each other, one trying to hide between NPCs and the other one trying to figure out which character is an NPC and which is a real player. The game mode is customizable and offers interesting gameplay mechanics in the form of hider abilities.

Voxelscape

A small project that was created over three months, a colleague and I created Voxelscape, a voxel-based RTS game using C++ and OpenGL. Although we primarily focused on technical and graphics/rendering components, we also incorporated gameplay features such as a resource system and building system.
The feature showcase highlights most of our gameplay and technical features, which include, building/block placement, terrain generation and distance field-based shadows.

Frost Tribes

A clash of clans style game mode for DotA 2 for the Frostivus 2017 custom game contest. Complete with cross-lobby persistence. 3 different modes exist:
  • Single Player mode, here the player farms resources and develops their base.
  • PvP mode here Players can battle each other using the base created in single player.
  • PvE coop mode here players team up to fight against the AI in a campaing.
I am really proud of this project's scale and complexity, especially since it was created in a really short amount of time, but it would have needed a lot more polishing. Unfornutalty, DotA modding got little attention overall. Therefore, I departed DotA modding shortly after releasing this mode and focused on other projects. My servers responsible for the persistence are long shut down, and the game mode is no longer playable. But you can still experience it in the trailer above.