Updating the rendering engine

After implementing the trees and a few new types of vegetation, I’ve noticed that the frame rate is starting to suffer. This is mainly because it’s trying to draw so many polygons (need to implement some kind of terrain LOD system), but also because my layout at the very core of my rendering code isn’t very tidy. When I started the project, the rendering engine was very specifically geared towards rendering terrain. Then when it came to adding water, entities and vegetation rendering I very lazily hacked in a render list to handle them.

Now I’m at the point where I really need to spend some time thinking about how to make nice clean rendering code, and how to implement it. I’ll probably release another alpha version once I get these changes in place, but there won’t be many big visible things different from the current version when that release comes around.

So I just wanted to keep everybody informed on what I’m up to. I’ll post some screenshots on my Indie/ModDB and Facebook pages when I have anything good to show!

P.s. commenting is now fixed and enabled on my blog posts (oops).

Trees

I’ve started implementing trees to the game, and I’ve discovered it’s HARD to make trees look good! I still need to make some much higher quality textures, and a few different tree models, but here are the first screenshots:

Screenshot of pine trees 1

A view of many trees on the terrain

Alpha version 0.08 released!

Download it here

Voxelaria Alpha 0.08 Screenshot

It’s been a while since my last update, but I’ve been busy working on a lot of areas of the game. I’ve finally got it to a point where I’m happy to put out another demo.

Download it by clicking here

Watch the release video and read the changelog below for more information.

Changelog:

-- Changelog - (0.07a to 0.08a)

Added:
	+ Updated faster and stabler physics.
	+ Built-in console. Press ¬ or # or ' to use. Check
		README.txt for a list of commands.
	+ Inventory. Press TAB to enter the inventory screen.
	+ Bump and specular mapping on in-game entities.
	+ Spawnable physical objects. Right clicking will spawn an
		object on your head.
	+ "NoClip" mode. Press T to toggle flying or walking.
	+ Vegitation ground-plants. Plants will grow in certain
		areas and blow around in the wind.
	+ Crouching! Press Shift.
	+ Digging speed limiting
	+ Digging is no longer cube-based.

Fixed:
	* You can no longer dig through the bottom of the world
	* Physics is MUCH more stable. You should no longer be able
		to fall through the terrain, even when travelling
		at great speed.
	* Game now properly exits from memory every time it closes
	* Many, Many optimisations.
	* Lighting system is much cleaner. Still not perfect at chunk
		borders, though.

Removed:
	- Removed right-click to build.
	- Removed 'floaty' underwater physics. Will re-implement
		a better system soon.
	- Removed game intro 'cut scene'
	- Disabled game saving/loading. Will be re-implemented soon
		with improvements.
	- Removed cube-digging block tool.

First demo version released!

Voxelaria Demo - Alpha 0.07Click here to download.

I’ve built a (very limited) demo version of the game in it’s current state, which anybody can download and play with for free.

Because most of the features are very incomplete at this point, I’ve disabled a lot of things (crafting, player damage, spawning of objects, etc.). I’ll try to keep releasing a demo version every 1-3 weeks, or as quickly as I can implement features.

A lot of the development I do is still very experimental, so the game will change and features will be added and removed throughout development.

Click here to download Voxelaria Demo 0.07 Alpha.

The demo will allow you to start a new game and have a walk around. You can press B to toggle between terrain-building mode or normal mode (indicated by a spade at the top left). In building mode, left click will dig, right click will build.

If the game isn’t working for you:

At this point the game is for Windows only. I may work on porting it to Mac/Linux in the future, but not for the initial development of the game.

If the game won’t start – you probably need to download the latest XNA framework. Get it here:

http://www.microsoft.com/download/en/details.aspx?id=20914

 

 

 

 

 

 

Progress Report – Gameplay

Over the past couple of weeks I’ve been working more on gameplay aspects of Voxelaria. I haven’t put out any updates recently, so here’s a screenshot and a short description of what I’ve been doing.

Temporary Inventory Screen

Inventory Screen - First Draft (Click to enlarge)

This is the first draft of the inventory screen. It shows my basic ideas of how I’d like the inventory to behave in game, but the style and layout all need work. Items can be combined to produce other items, they can be visually inspected, and many items will be able to be ‘used’ from the inventory (this may be things like eating, drinking, or using small items that you’ve created).

The crafting system is simple to use – you simply combine items to produce other items. In the above screenshot, I’m combining a stick, a bent piece of rusty metal, and a nail to create a simple axe. The axe’s durability and effectiveness will be directly determined by the items that you use to produce it, and some items can be left out or substituted if you are low on supplies. The visual outcome of the crafted item also directly relates to the items used to make it. If you find a stick on the ground with a unique feature (maybe a burnt end), when you use it to make an axe you will see the burnt end on the handle of the final axe.

Another big addition to the game is more accurate physics. The physics system used to create a capsule shape to approximately mimic the shape of the model being simulated, but this looked pretty terrible on most items. Everything rolled much too easily. The new system is very lightweight and it can simulate many varied objects fairly accurately. Sticks will roll correctly, bent sticks will roll reluctantly, and rocks will rest on their flat faces.

Another (small) feature that I’ve added is a very rough “first person view” hand in front of the player which holds the tool that you’re currently using.

I’ll get a video up soon, and I’m hoping to have a free alpha version of the game ready to be downloaded by the end of this month.

New Youtube Video

I finally got around to recording and uploading another YouTube video. You can watch the video by clicking the image below:

The Voxelaria Project Alpha 005 - Water and Lighting

The Voxelaria Project Alpha 005 - Water and Lighting

This video shows my progress on water, lighting and vegitation.

- Luke

Progress Report: Oceans and Invisible Things

This week I spent a lot of time working with the core of the engine – the invisible stuff which is very important but never gets seen. I did however get a good amount of time to write one shiny visual thing – an ocean shader. It has waves, ripples and specular reflection, and I think it fits in quite well with the world.

Reflection from Sunset (Click for larger image)

Large Ocean (Click for larger image) Close up of the ocean

The world feels a lot more complete with an ocean, so soon I’ll start work on the more gameplay specific features, such as building tools, inventory and health. I’ll also try to get another video up before next Monday.

-Luke

Building in a smooth world

[This post is about The Voxelaria Project, the first game that will be made using the Voxelaria engine.]

The Voxelaria Engine terrain is smooth. At the core it uses a similar approach to Minecraft’s block based terrain, but a smooth mesh is generated around the grid of volume-based blocks.

This system has great advantages when rendering realistic looking terrain. It’s possible to create smooth areas, rocky ‘sharp’ areas, overhangs and caves. It’s very dynamic when it comes to natural looking terrain.

However, the system does have it’s disadvantages. The main disadvantage that I’m faced with is building structures. The Voxelaria Project is heavily inspired by Minecraft, so building will be an integral part of gameplay. But due to the way that the Voxelaria Engine terrain mesh is generated, if you try to build a clean flat wall then it will become ‘attached’ to the ground, which will in turn have some smoothing effect near the base of the wall. Even if the wall is set to full density (like rock), there will be a bevel near the ground or ceiling. This means that you’ll never be able to build a clean looking building if you’re limited to building it with terrain. It does sort of make sense – if you were to build something from piles of dirt and rocks that you’ve hacked from the ground, it’s not going to look clean. But for most buildings, it just won’t be acceptable.

So I need to create a building system on top of the terrain engine. Terrain will still be totally editable, and if you really want to then you’ll be free to make a house from piles of mud, but there will also be a much more advanced system in place for building structures using the materials that you find in the environment. I’ll release more information about this as I work on the system.

- Luke

Alpha #003 – Terrain and Skies

Youtube - Video Alpha 003

Watch Video Alpha 003 on YouTube

Today I managed to finally get a video uploaded onto Youtube. It shows the progress that I’ve made over the past two weeks.

Aside from all of the core changes to the engine (It’s a lot more optimised and organised now), I’ve implemented a new sky shader, a very simple terrain generator and the ability to dig/build on the terrain.

There’s still a LOT of work to do, but make sure you check out the video, subscribe, and follow my progress on the blog – I’ll be implementing more and more exciting things into the engine each week!

- Luke

Early Terrain Progress

Here are some screenshots showing the current version of the engine. The terrain is around 630 meters square, and has some fancy features implemented.

A simple terrain map (Click for larger image)

Read about the new features after the jump.

Read more »