Google+

Amberfell Landscaping

2

9 May 2012 by Ian Davis

This is the first of three posts today (if I get them all written). One of the things I’ve been working on since last week is the generation of the game landscape. I’ve started with a fairly traditional approach: perlin noise. I’ve written a perlin noise implementation which can produce noise like the following:

There are other implementations available for Go, but none as standalone packages.

I use noise to generate the height of the terrain with further noise functions to generate soil depth, rock formations and tree distribution. Here’s a couple of screenshots of the result:

It’s important to scale the noise just the right amount otherwise you get very dramatic landscapes. These might be ok for a first person game but they’re really hard to navigate in isometric views:

The best thing about the new landscapes is that Amberfell suddenly becomes very explorable. I find myself wandering around looking for interesting landscapes and hidden corners. Hopefully I’m really going to be able to enhance this effect with some of the surface features I want to add such as ruins to explore. A lovely sky would be great too.

Here’s a video of me exploring a little. I’m zoomed in to show off the landscape but I don’t think it’s particularly playable at that zoom level.

2 thoughts on “Amberfell Landscaping

  1. voidlogic says:

    Very cool. Has the Go garbage collector been able to keep up, or have you implemented custom object pools?

    • Ian Davis says:

      Yes, the GC is keeping up just fine. I experimented with running it every frame to ensure quick collection of the few objects that had been created for that pass but in the end it wasn’t needed.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 1,721 other followers

%d bloggers like this: