Experilous

The crescent appearance of a planet from space, being lit from the lower left.

Today brings a new version of Worldbuilder! The primary focus has been on the presentation of the planets. Much work has gone into getting away from being limited by a low-resolution triangle mesh during rendering, and instead doing far more on a per-pixel level. It has also made it significantly easier to add lighting and to handle a wider variety of map projections.

A demo is available for download, and the full product can be purchased from the store page. (Once purchased, you’ll continue to have free access to future updates.) If you have already purchased Worldbuilder, the downloads can be found here.

For now, Worldbuilder remains Windows-only, and requires OpenGL 3.0 as a minimum.

Major Feature Improvements

Below are highlights of the improvements. You may also read through the full change log, but it doesn’t have any pretty pictures. (Note that this version is regrettably incompatible with saved *.wgen files from earlier versions. Too much changed to make compatibility feasible. Such is the nature of software during it’s early life cycle.)

The same set of globe visualization layers are still available, but are all updated to include pixel-level detail and optional lighting.

A picture of three views of the same planet, the left showing a lit biome view, the middle showing elevation data, and the right showing tectonic plates.

All of the visualization layers can now be applied to any of the map projections just as easily. Here are the five currently available layers, plus a tiled version of the biomes layer with a grid overlaid, using the vertically oriented Cassini projection which is distortion free along a longitudinal ring through the planet’s poles.

A picture of six map views of the same planet, showing biome, elevation, temperature, wetness, tectonic plates, and a tiled biome view.

The lighting model can be enabled for maps too, enabling you to easily see, given a star position at any latitude/longitude, what parts of the planet are in daylight and what parts are night.

A picture of a planetary map, lit so that only the portions of the map that would be experiencing daylight are bright.

The old tiled view is still available if you want it, and the thickness of the grid lines can be adjusted.

A planetary map with hexagonal grid lines, and each cell filled with a single flat color.

If you still want the per-pixel detail, but wish to keep the grid lines, you can do that too.

A planetary map with hexagonal grid lines, but with full per-pixel detail within each cell.

The roughness of the land features can be controlled as well. The significance of both high-frequency and mid-frequency details can be adjusted. In the following three images, high-frequency details are emphasized in the left image, mid-frequency details are emphasized in the right image, and both frequencies are emphasized in the middle image.

Three images of the same landmass, one with high-frequency detail, another with both high- and mid-frequency detail, and a third with only mid-frequency detail.

And as before, parameters exist to get a variety of planet types. Below we have a lush world, a dry world, and wet island world.

A picture of three different planets, one of which is lush, another dry, and a third wet with many islands.

And lest I forget, I added a Randomize button to the random engine seed parameter. Now it takes just a single click to generate a new planet with the current parameter set. Thanks to Michael Jones for the suggestion!

A picture of a textbox with random text in it, and next to it a button with the label "Randomize"

What’s Next?

Many of the changes have yet to reveal their full potential, since a lot of the work was to the framework underlying the Worldbuilder generation system. The changes to rendering will make it easier to add text and illustration support. The ability to place labels on the map or globe and style them will be an immensely critical addition for turning Worldbuilder into the product I imagine it could be.

I’m also now in a good position to start using the graphics card not just for rendering, but also for generating planetary details, again at a high resolution rather than the basic triangle mesh currently being used. Besides, the models I use for tectonics and weather are lacking anyway, so it would make sense to substantially rework them at the same time. The goals would be across the board: higher quality, variety, detail, and speed. Also, I’d really love to take this opportunity to add rivers an other inland bodies of water.

But before I tackle those two major feature sets, I think I’ll spend a few weeks adding smaller usability improvements, such as persistent preferences, better data export methods, and a nicer screenshot saving interface. Work on version 0.2.0 took longer that I would have liked, and it would be nice to get a few small quick updates out before I take on the risk of another large feature.

10 Comments

Comment by Aleksey — 2015/08/11 @ 12:34

On one PC it didn’t start. Said a library with a very long name was missing. On my home PC it starts, but shows black screen and an error: Executing module “Create Perlin Textures”. (Error:[string “BasicModuleSuite.lua”]:1557: FreeImage_SaveU: failed to open output file (png)

Comment by Aleksey — 2015/08/11 @ 12:38

Fixed it with removing path from the LUA script.

Comment by Aleksey — 2015/08/11 @ 12:41

Looks like my first comment didn’t show.
It doesn’t run on one PC, saying it can’t find a library with some long name.
On my home PC it runs, but displays black screen and an error in BasicModuleSuite.lua: 1557.
Fixed it with removing the path from file that it tried to save to around that line.

Comment by Andy Gainey2015/08/11 @ 13:16

Yup, I had a couple of embarrassing errors. They ought to be fixed now; package can be re-downloaded.

Comment by Anonymous — 2015/08/11 @ 13:37

Thanks for the update. It looks nice, but my graphics card died recently leaving me with the built in one on my i5-3570. When I run the exe it says I only have openGL 1.1.0 while I need 3.0. Any way to get around that?

Comment by Andy Gainey2015/08/11 @ 13:55

From what I see on Intel’s site, your built-in graphics should still be capable of supporting up to OpenGL 4.0. I suspect that the relevant drivers have simply not yet been installed, and so the drivers shipped with Windows are being used, and Microsoft has never updated them past OpenGL 1.1.

These look to be the drivers you’d need: https://downloadcenter.intel.com/download/24973/Intel-HD-Graphics-Driver-for-Windows-7-8-8-1-64-bit
This page might also have further information: http://www.intel.com/p/en_US/support/highlights/graphics/3cp-hd2500gfx

Comment by Dara — 2015/08/11 @ 14:32

This looks great! I’m looking forward to trying out this new update. :)

Comment by Andy Gainey2015/08/12 @ 15:50

@Alex, thanks for the bug report. I can’t believe I never encountered that, given how many maps I’ve generated, and how often I’ve been working on the tectonic plate view, but it was easy to replicate once I was searching for it. The fix has been uploaded as version 0.2.1.

Comment by Michael Jones — 2015/09/02 @ 17:02

WOOHOO!

I absolutely cannot wait to start using the update!

Leave a comment