Laurence Werner

Laurence Werner

Senior Engineering Contributor for hire.

Visit new site

Hypno Clock Live Wallpaper

Get it on Google Play

Hypno Clock Live Wallpaper was the first application I published commercially. It is a personalization-centric app which allows users to replace their background with an emulated mechanical clock.
Originally developped for the Android Canvas, addressing inadequate performance issues would soon enough require a complete rewrite using the OpenGL es 1.1 API included in Android. To this day, HCLW still runs smoothly on almost all Android devices using this re-written engine.
Two versions are available: a free edition with locked features and ads (via Firebase/AdMob), and a paid version with no restrictions or ads.

400,000 Free downloads

Average rating: 4.4/5

8,000 Units sold

Average rating: 4.7/5

Clock Studio Live Wallpaper

Get it on Google Play

Clock Studio is basically a modern re-write of Hypno Clock Live Wallpaper. Using Unity, I was able to implement all the features that once seemed overwhelming when working directly with OpenGL.
Although the gains in the quantity and quality of included features have been substantial, and that the workflow for creating additional content has been drastically simplified and enhanced, using Unity has come with its share of problems, most notably an unmistakeable drop in performance.
At this time, I am deciding whether or not to re-write Clock Studio using a lighter, more bare-bones framework; perhaps something along the lines of LibGDX, or Rajawali. One way or another, as with all my applications, no features, and no users shall be left behind!

Clock Shop

Users can now purchase alternate clock layouts.

Improved Images

The background image editor has been rebuilt from the ground up.

Enhanced Settings

More versatile personalization modules are available via generally improved UIs.

Future Proof

Designed to easily accomodate new customization modules.

Highway Hustle

Get it on Google Play

The Game

Fun animated characters take turns at attempting to cross a busy six lane highway. Not all of them make it to the other side... Can you guess which ones?


Features

- Unlockable crash animations
- Unlockable levels
- Dynamic lighting system with high quality shadows
- Unity physics and particles

Tickets

Each round of Highway Hustle costs the player 1x ticket. They can either be purchased via In App Billing V3, or obtained for free every so many minutes.

Unity Ads

Another way of obtaining tickets is to watch rewarded Unity Ads. This way, players unwilling to spend real money on in app purchases may still be monetized.

Crash FX

A third monetization strategy is to make all unlockable crash animations instantly available with, again, In App Billing V3 and Google Wallet.

Swooshy

Swooshy was to be an exploration/discovery themed reflex game; a cross between the then hyped No Man's Sky, and the very popular Crossy Road. Implementing multiple layers of procedural generation algorithms, several billion worlds, each several million square kilometers large, would be a tap of the finger away! This project hit a roadblock during the development of algorithms to generate aesthetically pleasing meshes, which turned out to be a much larger order than originally believed.

Procedural generation

Using algorithm based world generation is an absolutely essential component to the project; it's the only way to truly keep things fresh, and new, and worth exploring.

Async computation

Given the relatively high volume of required computations, it was essential to create a Unity-friendly asynchronous computation system.

Lightweight rendering

To maximize performance, a single 64x64px texture bound to a single shared material is used for coloring all non-UI objects.

Persistence ready

The project contains a system to check for, and react to, events that cause permanent changes to the procedural game world.

L-System Mesh Generator

Built to go hand in hand with "Swooshy" (but fully capable of stand-alone operation), this package was designed to generate 3D meshes using rewriting algorithms such as Lindenmeyer Systems. Although it is not at all user friendly, the latest (pre-pre-alpha) version can handle basic grammar, custom letters with mesh equivalents, and has a working demo. The current iteration uses a non-probabilistic model, but already has the necessary architecture to be made probabilistic.