logo80lv
Articlesclick_arrow
Research
Talentsclick_arrow
Events
Workshops
Aboutclick_arrow
profile_loginLogIn

GeoGlyph: A Talk With The Developers

QuadSpinner founder Dax Pandhi discussed the history of GeoGlyph and talked about the future of the amazing landscape generation tool.

QuadSpinner founder Dax Pandhi discussed the history of GeoGlyph and talked about the future of the amazing landscape generation tool.

GeoGlyph

GeoGlyph originally started as a small collection of macros that we used internally. Some of them were made specifically for the film Battlestar Galactica: Blood & Chrome to create snow mountains and glaciers.

The art director on a AAA game saw these macros and asked us if he could buy them. We made a special version for him, and then started slowly transforming the suite into a retail product for everyone. The first version came out at the end of 2013.

1 of 2
1 of 2

Feature Spectrum 

We had 2 goals for GeoGlyph – both based on direct feedback from studio clients regarding World Machine. First, they needed a much easier way to create realistic terrains quickly. And second, they longed for the efficiency, convenience, and visual boost of a modern design interface. That’s understandable when you consider that World Machine is based on Win32 technology, the same generation as Internet Explorer 9.

For the first goal, we started automating large graphs into compact macros where artists could achieve quick results with a few sliders, instead of messing around with a dozen nodes. We tried to make these macros into geologically significant versions: for example, Peak is a macro that creates a simple mountain peak that can be further worked on. It saves maybe half an hour for a novice. Other advanced macros, such as NeoFlow were designed to alter the familiar look of the World Machine erosion. This was the macro that the art director saw and wanted for his game project to make the terrains stand out.

For the second goal, we created what we call the Integrated Design Environment, or IDE. This new interface wraps itself around World Machine, and replaces the outdated UI with a new look and cool new productivity tools. We affectionately call it the Iron Man suit for World Machine. 

I’ll give you an example of how some of the devices came about. Our friends at Glassworks UK were shooting a TV commercial for Swisscom featuring Swiss skiing champion Lara Gut on the iconic slopes of the Swiss alps. Since they were shooting in the summer, there was barely any snow cover and the landscape was barren. Jordi Bares, who was heading the VFX on this project asked us if we could add the snow to the terrain. We adapted some of the existing macros and wrote a couple of new plugins (now called Buildup and Hydro) that could simulate heavy snow. A very high-resolution satellite map of the Zermatt area was processed through the new GeoGlyph plugins, including some texturing. The final terrain output was 134,217,728 pixels. The geniuses at Glassworks took these assets and blended it with the live action footage.

Almost everything in GeoGlyph has evolved in this way – from real life situations where we suddenly had to come up with a solution, which we then adapt for more general usage.

Technology

GeoGlyph 2 is powered by a standalone render engine that works primarily with heightfields. All terrains are essentially a grid of floats (numbers), which are visualized as displacement maps.

By the time we were approaching version 1.4, we started running into limits because our macros could only do what World Machine allowed. So, we wrote our own external render engine. With version 2.0, we could add new forms of erosion, better filters, and an interface overhaul for World Machine. Both versions of GeoGlyph were written in C# and C++.

Our engine provides heightfield processing functions that are wrapped into individual plugins for World Machine, ranging from different types of noises to new forms of erosions.

Erosion: Stratifier, SandBlast, RiverErosion

These effects were the main driving force behind the new engine. Digital terrains in the industry were dominated by hydraulic erosion – this is the erosion with strong vertical lines created by flowing water. This looks great at first, but with the market saturated with the “same old, same old”, we wanted to add something new to the mix.

In 2009, we spent a month in the US Southwest looking at various forms of erosion and how rock formations weathered in specific situations. In Zion National Park, we were in one of the slot canyons where horizontal flow of water carved the rock into smooth shapes. Or shattered mountain sides were large plates were forming most the landscape. These were the inspiration for RiverErosion and Stratifier.

Stratifier is one of my favorite nodes to use as an artist. To get a little technical, all terracing we see is a process known as quantization (to oversimplify the concept a bit). This is not too different from when you take a 16-bit RGB image and turn it into a 8-bit (256 color) GIF. The banding we see in images is considered bad, but in terrains that process gives us terraces. But terraces are never so systematic or even – in the real world.

With Stratifier, instead of quantization, we look at each little location on the terrain and see how different forces near that point would force breakages in the terrain. This results in big and small “plates”.

RiverErosion and Hydro, on the other hand, took the concept of water flowing down slopes, and turned it perpendicular to mimic the forces of flowing water like in a river or the ocean.

Geological effects are very much like the effect filters we use in Photoshop. Swirl, for example, is considered such a tacky effect. It reminds everyone of digital editing in the late 90s. Such effects used to be cool, then they became so obvious and common that they are rarely used in mainstream design.

With terrains, people don’t think of using such effects, but they can be very useful! A center-swirl looks horrible, sure, but if placed strategically, and with a judicious value, it can create beautiful warping in the terrain. If used before erosion, it can dramatically alter the landscape. I always try to use a bit of warping or filtering before eroding.

In this image below, you can see a landscape with and without a Swirl.

1 of 2

GeoColor

I’m actually very proud of what we could deliver with GeoColor. GeoColor takes a photograph, and generates color patterns for the terrain texture while following the lookup mask provided by the user. This can help artists take concept art, or photos from a look book that their art director provides, and can very, very quickly create textures – or at least a texture base – for their terrains.

Behind the scenes, we look for fluctuations in the color pattern, then combine them with the weight (how dominant a color is in a specific region) of the colors while distributing it along the mask provided. The artist can then filter it further, or take full manual control of the color gradient.

Here you can see that I took this photograph and turned it into a texture. The second screenshot shows the graph. Very straightforward stuff.

1 of 2

Here is another example. Often at the start of a project, the art director or client hands you a “look book” containing several photos and concept sketches. These tend to be simple and often in a variety of styles. By using portions of these images directly in GeoColor, we created 5 different passes for the different color sets and then combined them with appropriate masks. The entire process took about an hour.

The GeoGlyph engine is portable. With our World Machine plugin, the nodes serve as an interface for World Machine. Behind the scenes, World Machine packs up the terrain for processing and sends it to GeoGlyph for processing.

Our engine is independent from World Machine, and runs on a more modern platform (Microsoft’s .NET Framework). This means we can do things that World Machine was not designed to do by default. For example, our OpenCL pipeline can take advantage of the GPU for processing, but it works well on just the CPU as well; we can handle memory allocation and garbage collection in a more efficient way.

Currently, GeoGlyph works exclusively with World Machine as it is the most widely used terrain design software. World Machine (and GeoGlyph as a result) can export to most popular file formats.

Importing a terrain into all modern game engines is usually a very simple process – you create a terrain object and import the file exported from World Machine. The engines are smart enough to handle the rest for you. The beauty of heightfields in modern game engines is that they are automatically LOD’d at runtime. For extremely large terrains, tiled export is used to reduce the load on the engine.

Price

GeoGlyph v1 was priced at $300. We lowered the price in gratitude to all the users who supported us. We want to make it available to as many people as possible.

GeoGlyph Pro is available for $240, while GeoGlyph Indie is available for $99. We also have a free Community Edition which is restricted to 1k terrains – great for hobbyists or students.

We like being able to provide a good return-on-investment to our users. With GeoGlyph 1, by the time we hit version 1.4 – which was a free upgrade for everyone – we had more than doubled the number of plugins from version 1.0. We have plans to keep doing similar things with GeoGlyph 2, and everything else we create in the future. We already have great plans for GeoGlyph 2.2, 2.3, 2.4, and even 3.0 down the line. We’re also committed to supporting as many new versions of World Machine as we can, without asking customers to pay for an upgrade.

We post videos exploring the different features of GeoGlyph on our Vimeo channel. Recently we also launched a new documentation site that covers individual nodes in detail and provides helpful tips. It can be accessed directly from the software or here.

Dax Pandhi, QuadSpinner

Interview conducted by Kirill Tokarev

Follow 80.lv on Facebook, Twitter and Instagram

Join discussion

Comments 0

    You might also like

    We need your consent

    We use cookies on this website to make your browsing experience better. By using the site you agree to our use of cookies.Learn more