Aetherius is a voxel based game experiment being written in Java with LWJGL. It provides a procedural universe that runs infinitely in every direction across infinite worlds, with thousands of materials. All the non-procedural content is made with a suite of software that ships as part of the game. Aside from the pre-baked content and the modder, the game also procedurally generates content from mixing and matching an abundance of components that the player has the ability to add to or remove from. This content includes NPCs, Quests, Machinery and Materials. Aetherius is a true sandbox. The player can toggle every single aspect of vanilla gameplay, and construct their own game rules to suit themselves. It is fast approaching a viable alpha test phase.

Report article RSS Feed Creating unique ore patterns

Aetherius generates a different seamless texture for each ore voxel. Here's some of the theory behind the idea. :-)

Posted by JustSuds on Nov 22nd, 2012
Article

Whenever you mine something in a game, you can always tell what it is. Usually because the game reliably uses the exact same texture or model to represent the ore. Its a tried and tested system. It works. But doesn't it get stale? You need to dig out 150 pieces of iron. 150 pieces of iron ore that appear, sound, and act identical. It always takes you x.y seconds to mine that one ore.One thing Aetherius does, is ads variations to almost everything. Colours, patterns, time periods, sound effects. The variances in voxel colours, and sound effects are already implemented. They're subtle, but you know they're there. They don't appear significant individually, but when combined they go serious lengths towards breaking the monotony of the landscape and gameplay experience. They break that "drone" effect (or maybe they just hold it off).

Example of colour variance

One of the most significant variances will be the patterns. You may have noticed in our screenshots, Aetherius doesn't use textures at all. Eventually we will add support for texture packs (already implemented, just not accessible through the menu yet, not till we have a larger and more stable amount of materials), but the vanilla experience will not be textured. Instead, we generate patterns. These patterns will have different properties per material; roughness, saturation, colour variance, contrast. These will give the appearance that every single voxel is in fact unique. Take a look below:

Under the "per voxel" heading, you can clearly see the borders of the voxels. These black lines would usually represent the edges of the textures. Just after the right edge, the texture would start to repeat from the left again. We've chosen to take a different route. We generate textures on the fly from our pattern parameters. To do this, we take a sample of Simplex noise (shown to the right) and we interpret it according to the pattern supplied. The result of our simplex calculations is a floating point value between 0.0f, and 1.0f (in the image, we interpret 0.0f to be black, and 1.0f to be solid white, with everything in between being represented by a different shade of gray -- many more than 50 :D) So with low abundance, only the whitest whites (approaching 1.0f, maybe values greater than 0.998f) might be used as "bits" of ore. Each sample is slightly different, so with high colour variance, the differences between samples will be used to exaggerate the contrast in colours of "bits".The beauty of simplex noise is that the results are reliable. Notice that nowhere in our sample is a bright white pixel adjacent to a dark black one. The results of simplex noise are actually a set of randomised gradients. That is at a certain resolution, every point is either black or white, and represented by a direction. Then as the algorithm traverses along that direction, you get a smooth shift between the black and the white point.Aetherius actually uses Simplex noise for almost everything. Almost everything is slightly varied, and absolutely all variation is derived from Simplex noise. This allows us to have hundreds of materials of the same type next to each other with a guarantee that the textures align perfectly and never noticeably repeat.

Post comment Comments
Taco_Guy
Taco_Guy Nov 22 2012, 6:48am says:

Cool, adds some variation to the game play.

+2 votes     reply to comment
.JAS
.JAS Nov 23 2012, 2:09pm says:

This is very impressive.

+1 vote     reply to comment
Post a Comment
click to sign in

You are not logged in, your comment will be anonymous unless you join the community today (totally free - or sign in with your social account on the right) which we encourage all contributors to do.

2000 characters limit; HTML formatting and smileys are not supported - text only

Icon
Aetherius
Platforms
Windows, Mac, Linux
Developer & Publisher
DefeatThePurpose Entertainment
Engine
Custom Built
Contact
Send Message
Official Page
Ae.theri.us
Release Date
TBD
Game Watch
Track this game
Feature
Browse
Features
Report Abuse
Report article
Related Games
Aetherius
Aetherius Single & Multiplayer Adventure
Related Engines
Custom Built
Custom Built Commercial Released Sep 1, 2007
Related Groups
DefeatThePurpose Entertainment
DefeatThePurpose Entertainment Developer with 3 members