Saturday, 16 June 2012

2D Tile World: Part 1

I have been a bit quiet on here recently, but this doesn't mean that I haven't been hard at work. I have spent some amount of time creating a projects page on this blog which I will attempt to keep updated with the notable projects I have worked on. I have also spent some time tidying up one of my older projects, Anaconda, which I will probably talk about in another blog post at some point.

However, most of my recent time has been spent with a new project. This one is making use of my previous work on value noise (the technique that was used to calculate the 3D terrain in Project Alpha) but implementing it in a 2D environment.

I decided to do this as I wanted to see how versatile this technique truly is, also a 2D world will be easier to turn into an actual game. So far I feel like I have had a lot of success in producing an interesting looking world and I have a very basic feature set in place.

As a picture paints a thousand words and I can't be bothered to write thousands of words, here are a few pictures that show what the project currently looks like:



All of the terrain you see here has been produced using value noise, just like in Project Alpha. However in this case, the resulting output is a tile type such as dirt or grass, rather than a height value. Also note that there is water with some very basic fluid dynamics.


Here you can see some flowing lava, complete with lighting of the surrounding tiles. The world that is generated can be vast and full of caverns compromising of different materials such as dirt, grass, rock, sand and fluids such as water and the lava seen here.

To give an idea of the size of the world that is currently generated, I also added the ability to view an overview of the level, which looks like this:

The map view of the world. The map view in exactly the same way as the normal game view, just at a lower resolution and with the colours removed.
I have been very happy with the first results of this project. So far I have a pretty good looking procedurally generated world with a nice retro look. The next step is to add something that resembles a player character and gameplay, which will likely be a simple game reminiscent of other titles such as Terraria and Dig-N-Rig. The plan is to have a player character that can mine blocks,  place blocks, take damage from lava and place light sources. Hopefully there will be more updates on this project soon...

No comments:

Post a comment