Select Page

Unity Voxel Terrain Assets

Here are some notes I have on voxel terrain assets for Unity.

There is a nice post here with some of the assets available. Although it may be slightly outdated it contains a good list for easy comparison of various assets. It also has a link to an older blog post with some other voxel resources and engines with a lot of people adding more links in the comments.

Voxeland – If you want something with great support and lots of features while still remaining fairly cheap in comparison to some of the others then you will want to check out Voxeland. It does get updates still and has excellent support. If you want biomes and a nice visual blueprint/graph layout to edit the features of your terrain then you can also get MapMagic which integrates with Voxeland. In fact it also integrates with plenty of other assets which is one of the major benefits to using these. They are by the same author. You also get full source code. I own Voxeland and MapMagic so I may be a bit biased to that combination but I’d love to give most of the others a shot too some time.

TerrainEngine looks really amazing! Unfortunately it’s also way too expensive for most people. Although if you have the money it seems quite powerful and might save you a lot of time so maybe it would be worth it. However it seems like there are some issues with communication and other unusual things going on with people getting scammed which may not necessarily be the fault of the author but still something to keep in mind I suppose. Apparently it’s coming to the asset store soon. I imagine it will be more expensive than all the others but we shall see. They are adding other engines like Citygine and Unigine and that seems pretty neat. If only the price was within our reach, we could have a chance to feel the awesomeness!

Voxel Farm is apparently complex with a steep learning curve but people can make some pretty awesome things with it. I don’t think it’s even limited to just terrain. I’ve seen games they use this in where they have buildings and spaceships and whatnot where parts can be deformed or broken. This is a little pricey and you have to pay more if you want the source code. The license may not work for everyone.

Ultimate Terrains I believe went through a long time of no updates or support but it seems to be getting some lately. It actually doesn’t look too bad. I want to try it out and see how it compares to Voxeland. Especially the performance which wasn’t superb in Voxeland from my little bit of testing so far but Ultimate Terrains looks like it might be ok. It appears to have some sort of built in block building system as well. It even looks to have a somewhat similar visual blueprint/graph builder like MapMagic has. My only concern is how well it would integrate with some other assets like Vegetation Studio or something like uConstruct or Easy Build System and how well it would work for networking. It looks like it might be pretty decent and it’ll hopefully improve further in the future if it continues getting regular updates. Also includes the source code.

MoleEngine – Unless the author of this asset can prove otherwise, it would appear as though their website is down and they don’t provide support on their unity forum post or answer any questions people have there anymore. They may still provide support by other means but I don’t own the asset so I’m not sure. It looks like they do release updates to the asset every now and then but they don’t seem like very big updates. They must be busy with other things. Either way it may do what it says it does. It may just not be very complex or feature rich in comparison to some of the others and therefore not really require too many updates. So if you want something like that then maybe this is the one for you but it doesn’t seem like something I’ll ever end up trying.

There may be others too out there somewhere. Don’t expect any of them to be too easy and do the work for you though. Especially if you plan to do any sort of networking you will likely have to write your own functions to send the updates to your clients or however you want to do it and hopefully you can work it out. Best of luck!

Making a Voxel Terrain Survival Game

I’ve done a whole lot since my last post, but I still don’t have anything really playable yet. In fact I almost had a fully working game at one point but have since taken some steps back to work on various parts of it. I’ve created numerous prototypes of various functionality including a fully editable, procedurally generated voxel terrain using MapMagic and Voxeland. I’ve purchased a number of amazing assets and have been learning to use them and getting them all to integrate properly.

At one point I had a character creation and customization screen thanks to UMA. I also had a nice looking, temporary, static terrain which I created in Gaia. I also have done some experimenting with terrains in Terrain Composer 2 which is a really nice system. However those weren’t editable/mineable which is one of the main things I want in this game. I also had multiplayer working with chat and a dedicated server running. All that is sort of going to get a rework and an update. It’s a lot of work but I’m in no rush since I’m only working on it as a hobby in my spare time.

I’ve started with the terrain. Using MapMagic and Voxeland I am able to create the kind of terrain that I want. These are awesome assets which when used together can create the infinite, procedurally generated, player editable terrain complete with biomes, shorelines, trees, plants, grass, rocks, etc. I’ve been working on this lately and its pretty fun to play with and seeing what kinds of things I can create.

Another great asset I’m integrating everything into is Ultimate Survival. This asset is about to release a major update with some awesome looking features. It seems like it will be pretty amazing and I can’t wait. The developer has delayed a release for quite some time due to various reasons including a hard drive crash and people are really starting to get impatient but I think it will be well worth the wait.

Some assets I’ve purchased:

Node Canvas – They describe this as a “Visual Behaviour Authoring framework” on their page. It’s sort of like visual scripting. It has great docs too. It’s similar to the more popular PlayMaker asset but includes full source code. It’s also kind of similar to blueprints in Unreal the way you can create nodes and hook them together to make things happen.

Inventory Pro – I plan to use this for inventory management if I can get it integrated with everything else properly. It has integrated ok with uConstruct and UMA and possibly even Forge Networking, but Ultimate Survival has it’s own inventory system that would have to be replaced but I believe they are adding the ability to do that eventually.

TENKOKU Dynamic Sky – I’m currently using this for a full blown weather and sky system with a day and night cycle. I really like it and I think it makes things look great. I may try other similar assets some day to see how they compare but so far I don’t regret getting this.

Relief Terrain Pack – This is a pretty complex asset for making your terrains look nicer. I haven’t taken much time to figure it out yet but Voxeland and MapMagic have some sort of integration with it so hopefully I can make them look nice with it some day.

ICE Creature Control – I’ve played with this one for a bit and it seems quite powerful and has some amazing features. This will power the AI in the game.

Ultimate Survival – Pretty much the core of the game will be from this asset. Or perhaps the next generation of it when they finish this one and release their fantasy mmo style asset they mentioned at one point. But for now this one will do the trick. I may eventually end up implementing my own leveling systems or maybe I will use RPG All-in-One for that sort of thing if I can get them to integrate properly.

RPG All-in-One – This asset has some bugs and is currently undergoing some updates. Though it’s slow going but it looks very promising. I managed to get a little prototype with it working. I had a fire mage character and some spells and monsters but they were having trouble walking sometimes. If the author keeps updating this and fixing bugs then some day I suspect this will be pretty great. It allows you to create crafting recipes, level up your character, have skills with levels, spells, all sorts of goodies. They even added a minimap in the last update. Unfortunately it is almost unusable for me in it’s current state.

uConstruct – Runtime Building System – While Ultimate Survival includes a building system of it’s own, this asset will likely be far superior to it in terms of performance and integration compatibility with other assets. I had managed to get this to integrate with UMA and Inventory Pro at one point and it was just a matter of adding some more custom building parts and customizing everything a little further.

Master Server Framework – This wasn’t always free and open source and I bought it when it wasn’t. I couldn’t do much with it but it seems like it’s probably quite useful to some people. I did get it working and it does what it says it does but it wasn’t something I’ve used for a game yet. Maybe some day though. I am glad it became free and open source though. The same thing happened to Forge Networking and it’s pretty great that these assets went this route because I feel that it will allow them to mature faster, and better and not die out if the developers don’t have time to update them all the time because the community can still push fixes for them.

Voxeland – The voxel terrain engine I decided to go with for now. One of the only ones that still gets updates on the Unity Asset Store last I checked. Most of the big games probably go with Voxel Farm but I’m not a huge fan of their pricing plans, especially since I’m planning on making this game free. Another expensive but awesome looking one I wish I had the money for was Terrain Engine which isn’t on the Asset Store. But for now Voxeland is going to have to do the trick. If you have a bigger budget you may want to look at Terrain Engine or Voxel Farm. If not then Voxeland or making your own system may be the way to go.

MapMagic World Generator – When mixed with Voxeland this will provide player-editable/mineable, infinite terrain with biomes. I haven’t actually purchased this yet but I certainly intend to when I get some extra cash.

Script Inspector 3 – This is an editor tool which lets you edit scripts right inside Unity. I no longer have to wait for Visual Studio or even Mono Develop to open. This opens right up instantly. I don’t always take the time to import this but it’s very handy when you just want things to be quick and seamless and not have to wait or switch windows. Works great for me.

Some other assets that I found which are actually free and useful:

DOTween (HOTween v2) – This is a very handy tool for animating things. Especially for making your UI look fancy but I suspect can be used other places too.

Game Framework – Free – I tested this a bit and was planning to buy their full package for making a mobile game but haven’t actually yet. It works great and has great tutorials for making a nice game that can even make you some cash while you work on your masterpiece.

Acrocatic: 2d Physics Based Character Controller – I plan to use this along with the Game Framework asset above. I’m going to wait until the new developer releases an update to it and see what useful things they add.

TextMesh Pro – This used to cost money but got bought by Unity so now it’s free and it can make some really amazing looking text!

DPLoadScreen – I’m sure there are probably other ways to go about making a load screen or other ways to reliably detect which things are loaded but this was free and pretty simple to use. I managed to get it integrated into the game fairly easily.

Critias Tree System – This seems to create better performing trees. I haven’t actually tested it but I want lots of trees so it might be necessary to integrate into the game.

Line Endings Fixer – Automatically fixes those warnings about line endings not being right.

Nakama – A pretty amazing looking networking asset complete with server, chat, groups/guilds, friends, user accounts, saves, and a whole lot more. Very clean and simple to use. Gets a lot of updates. Very promising looking. Works very well.

CMD+ Game Console Debugger – This didn’t work in Unity 2017 without removing a line that checks for Unity 5 in one of the files. But once I removed that then it works fine. An in-game console for running commands. Easy to create and add your own commands. You can also add buttons to the interface. All I think it’s missing might be auto complete.

SmartConsole – Another in-game console which actually does have auto complete so you can just press tab and it will fill in the rest of the command for you. It seems like it works great from my testing. I can’t decide to use this or CMD+.

 

Alright I think that’s good enough for now. Another thing to note is that UMA has undergone a major update and is pretty amazing. I really am looking forward to the time when I have all of these assets integrated together into a game. Then I guess I’ll just have to customize everything and make it look unique and add all the other features I plan to add. It’s going to be fun!

Terrain, Inventory and Building

Hello Everyone!

I’m still chugging away at this when I have time. I’m pretty busy with work these days but I’m still working on making this game. I keep thinking I should write in this blog more often so I am.

So far I’ve experimented with Terrain Composer 2 and it’s pretty sweet! I don’t think it’s quite ready to use yet though, for me at least. Partially because I am planning to have infinitely generated and procedural terrain and I don’t believe it has streaming built into it yet. I did create a terrain with it though and may play around some more with it and start with a static terrain for now. I also discovered that Unity has plans to rework their terrain system eventually so maybe the ability to have voxel terrain that players can edit in the game will be built right into Unity some day. I don’t particularly want to pay hundreds or thousands of dollars for Voxel Farm or TerrainEngine and it seems all the other similar assets on the Unity Asset Store aren’t being actively worked on. It also seems like probably wouldn’t have as nice of performance. So it seems like having non-editable terrain will be the way to go at the start until I can either afford VF or TE or Unity adds a better terrain system.

I also decided to get an inventory asset. I was thinking about getting ORK Framework or RPG All In One but they were a little too expensive for me and I missed the 24 sale on RPG All In One. The one day I don’t look at the asset store, go figure. So I got Inventory Pro on sale during the madness sale. It doesn’t have networking support built into it but it sounds like the author has at least built it with networking in mind and so I am just beginning to integrate that in with Forge Networking so let’s see how that goes. It has a lot of really nice features and seems pretty intuitive so far. I don’t find it to be as horrible as some people in their reviews seem to indicate. All the code is there so you can copy it to your own classes and change it if you don’t like it. It’s way, way, way better than starting from scratch which might not always be the case. But so far I’ve been lucky and haven’t really purchased any completely horrible assets. One thing about Inventory Pro is that it doesn’t yet seem to work very well with Unity 5.4 so I had to downgrade back to 5.3. I think it’s probably for the best anyway for now since some of the other assets also seemed slightly buggy or gave warnings so I’ll just stick with 5.3 for now.

What I really like about Inventory Pro is that it includes a simple interface for adding new items, currencies, equipment, crafting recipes, language, and settings. It also supports integrating with UMA which I’m excited to learn more about because that’s another asset I’m planning to figure out and use. I like that for items you can add different stats and rarities too. The way everything integrates together is really great. The currency system is nice too how it allows you to convert from one currency to the other and all the little options to customize things, I don’t know if I could imagine anything better for that. I haven’t played around much with equipment or crafting but they seem pretty nice too. One thing is for sure, this is going to be an ongoing process of integrating into the game and adding new items and equipment and whatnot. I have it mostly integrated already but there are a couple little issues I’m still working out. I also want to integrate the chat from Forge Networking into the notice screen or visa versa.

The next feature I want to add is the ability to build buildings. I’m looking at uConstruct and think I might get it next time it goes on sale. I tried testing the free demo version out but it didn’t want to work properly for some strange reason. I might have been using Unity 5.4 at the time though so I might give that another shot some day and see how it goes. It seems to be possible to integrate it with Inventory Pro and Forge Networking so that’s pretty exciting. It isn’t all that expensive anyway so I don’t know if I can wait for a sale. Once I have uConstruct I’m not sure what else I would even have to get next. Maybe something to make the graphics look prettier, shaders, models, trees, I dunno, but I don’t really care so much about that stuff just yet. Especially prettier graphics since my computer probably could use an upgrade.

uConstruct – A runtime build system for Unity.

TerrainEngine – A framework for procedural terrains or objects.

ORK Framework – An RPG engine for Unity.

RPG All In One – Another RPG system for Unity.

I Have Something Brewing

I’ve managed to create a basic game with a title screen, character naming screen (someday will be a character customization screen), and a world you can romp around in. Furthermore, you can host or join a server and see and chat to other players romping around in it too!

You can choose your character’s name, which it saves to a local file and loads next time you start the game and you can change it again if you like. Eventually this screen will use something like UMA to create a customizable character.

Once in the game world your character can walk, run, jump, crouch, chat, explore. Eventually I’ll make her shoot a bow. I’ll also make footsteps make different sounds based on what you’re walking on, I had that at one point but removed it temporarily. I’ll also have to make the water make noise and add swimming at some point. And eventually add clothes and tools and weapons and so forth.

Using the amazing Forge Networking I’ve managed to create the networking features. Including on the title screen which allows you to specify an IP address to join, Browse servers, Search LAN, or Host a server. I haven’t fully implemented the Browse Servers screen yet or the dedicated servers but that will come. Forge Networking is also responsible for the chat system.

Once in a world there is some beautiful terrain created with the wonderful Gaia which makes it quick and simple, while also offering a lot of flexibility. This is just a placeholder for now until I can manage to figure out how to use something like Terrain Composer to generate terrain on the fly and allow it to be editable by players. This way they can dig in the dirt and built stuff.

Next on the TODO list is preventing players from falling through the terrain, if they fall too far teleport them back up. I’ll have to use a spherecast for this and make sure there’s a safe spot for them at the top so they don’t spawn inside of anything.

I also want to make it so we can set the spawn location for players and maybe optionally allow them to spawn randomly around the world, so long as they don’t spawn in the water.

And of course the chat system could use some work and the chat window could fade out after some time and come back up again when you press T to type more.

Another thing I have to do is make it so your animations play for other players and visa versa. Right now it only shows animations locally on yourself but not on other players. This shouldn’t be all that tricky but I just haven’t done it yet.

I’m looking forward to the new Forge Networking Remastered and the new Terrain Composer to see how they work. I don’t have any extra money to spend yet on more assets but I’ve wanted to check out MapMagic eventually and see if I can use it too as it sounds quite nice.

So many things to do, but I’m having a blast! I can’t wait to get back into it. So I won’t.

Here are some potentially useful links:

Unity Multipurpose Avatar (UMA) – Character customization at runtime. Open source and free and awesome!

Forge Networking – Add networking to your game, bypass limitations and do it with ease.

Game Framework – They also have a whole series of tutorials on creating a nice little game interface, much like the ones you see on mobile games. Also pick up the Extras Bundle to get their other awesome assets!

Acrocatic – This is a little 2D game framework with lots of character features like double jumping and running up walls

Gaia – Terrain generation tool which makes it quick and easy to create nice terrains.

Terrain Composer – Another terrain generation tool with more features, a new version coming very soon which looks amazing.

MapMagic World Generator – Looks quite impressive and I really want to try it out.

Cubiquity – Open Source and free voxel terrain generation tool. I managed to get this working in Unity and it seems pretty useful. I’m not sure if I want to use it or not though yet but I haven’t found anything remotely close to as good for free or even cheap with the ability to edit terrains at runtime.

Writing PlayerPrefs, Fast – This looked like it could be useful. Especially for mobile development to speed up saving and loading of playerprefs.

Voxel Farm – Looks really, really nice but I have no money and I don’t really like their licensing scheme.

Procedural World – This guy knows his voxel stuff! Works on Voxel Farm.

Unreal Engine 4.12 seems nice

Lately I have been learning to make games, of course. I’ve played with Unreal Engine for awhile before and never really got too far because I really don’t want to learn C++. So I’ve been learning to use Unity and so far I’m really liking it. I really enjoy playing around and learning how to do everything so far. I purchased a few assets and have been learning to use Forge Networking for the past couple days and things appear to be going well. It seems my previous 15-20 years experience in programming translates to making games fairly well so I am pretty motivated by that to keep going.

I’ve planned on making a few smaller games but couldn’t resist playing around with the assets I purchased and beginning to see how I might work on my larger survival type game. So far things are coming along nicely and it’s quite satisfying indeed. I can’t wait to get more done, but I am forcing myself to write about some of it here first.

Forge Networking seems awesome so far and I’m glad I went with it over the competition so far. The developers and support seems pretty great. Some of their documentation/videos seem slightly outdated but I imagine that will get a revamp soon enough because they are working on Forge Networking Remastered which seems like maybe a complete rewrite. Either way, this seems to make networking things quite simple as I have been able to get my players to spawn in the world and a basic chat system implemented with very little effort. Now to make it all work perfectly. Exciting stuff!

I also purchased Node Canvas which seems pretty nice but will take a little more time to figure out how to use completely. This is a visual scripting tool which is somewhat similar to Unreal Engine’s blueprint system in that it is visual scripting where you drag little nodes around. There were several other visual scripting assets but I opted for this one because of some of the great reviews and the fact it was on sale. Actually all of the assets I purchased so far were on sale.

Terrain Composer and Gaia are some other tools I purchased for terrain generation. Terrain Composer 2 looks really nice and I can’t wait for it to come out. I mostly purchased this because of the drop in price as well as the fact I will get TC2 for only $15. I’m really hoping I can use it to generate terrain at runtime that players can actually edit by digging/mining, etc. but I suspect getting editing to work will take some work.

Gaia seems alright, it makes fairly nice looking terrain and is simpler to use but I don’t think it supports as many features as Terrain Composer.

I have my eye on Map Maker but I was hoping it would go on sale before I got it and I don’t have any money left to spend on assets. In fact I probably shouldn’t have spent what I did and kind of wish I could get a refund due to all the unfolding drama.

Unity’s new restructured pricing model seems to have a lot of people up in arms and plenty of people appear to be saying they may switch to another engine. They seem to be quite concerned about it all and this has me a little concerned too because I just spent well over $100 on assets from the Unity asset store which is more than I planned to spend. This got me checking things out and I realized that yesterday a new version of Unreal Engine came out, version 4.12.

I loaded it up and so far it seems to be more efficient from what I can tell which is awesome. It seems to have a lot of new features too. I’m not sure how much time I should spend messing around with it but it does seem to be nicer on system resources now than when I made my previous post complaining about it so that’s pretty great.

One of the interesting things about Unreal Engine is that it’s open source and the community can contribute patches to it. This is something I’ve always liked and tend to work with is open source software a lot and release most of my things as open source. I can only imagine that in the near future Unreal Engine will far surpass any other engine out there because of it being open source and because of it’s current feature set which makes it easier for people to use, especially without having to spend a lot of money on assets. Note that their source code is still copyrighted and covered by their EULA but it is open and available to look at, learn from, modify or send them pull requests for bug fixes or new features.

Unity has a new release coming very soon as well with a lot of support for VR. VR is all the craze these days and I don’t even have one and I may never have one since I lack the funds. But they do seem quite neat and people are making some interesting things with it. I feel like I’m probably missing out on things but that’s alright with me. I can barely make normal games yet and barely ever play games anymore anyway since I am spending most of my time making them. I probably should go work on something that actually makes me money though so I can afford such fancy gizmos. Maybe I will use Unreal Engine 4.12 for this since it seems much quicker to work with than Unity.