Voxel based sandbox survival: Forgotten Lands

The goal for this game
So I’ve started on a ‘simple’ game, my first to be exact. I started the project with the purpose to learn programming, but as I learned more and more, the project has been one of my spare time-eating hobbies. When i started this project I had no knowledge on programming at all.

Some of the game’s (planned) features:

  • Sandbox voxel world: Explore to infinity and beyond!
  • First Person perspective
  • Medieval setting, but not restricted to historical time ages
  • Survival
  • Inventory
  • Skills
  • Advanced, physics-based combat
  • Lots of weapons and tools
  • Crafting and deep technology tree
  • Resource Gathering ( ores, wood, food, etc. )
  • Animals, hostile or passive. Certain actions can make certain animals behave aggressively towards you

Anyway, A while ago I uploaded a video of the first build (very early alpha). This video shows the basic workings of the game such as basic character customization, character skills stats, inventory and an item system. Note that the objects and models shown are just temporary placeholders. I will make some better models later, for now I just want the game mechanics to work.

video updates:
Update 1 - Basic Mechanics

Update 2 - Inventory Player Stats

Update 3 - Crafting

Update 4 - GUI Reworked

Update 5 - Cooking

Update 6 - Voxel terrain Item serialisation

Update 7 - Improved voxel terrain




Progress can be seen on the trello page

Please tell me what you think! Also if you like to see progress in this project, don’t forget to subscribe! :slight_smile:

1 Like

So are there any comments on this? Any wild ideas are welcome :wink: I’ve made some progress in the meantime, will make a new video soon

Still need a good name for it though :slight_smile:

1 Like

Nice work for your first run at programming.

Since this is your first game, and primarily being used to learn, here are a few thoughts you could work into a title.

Bokken (its a wooden sword used in asia for weapons training)
Pell (medieval sword training)
Quintain (medieval lance training)

Looking good so far :slight_smile:

Thanks for the replies! I will look into your suggestions khanstruct :wink: I need more 3D art to give the game a better look though, so that’s what I’m going to do now I think. Could anyone tell me how to make an animated bow? I’ve seen something like shapekeys but I don’t think they work in Unity without buying the megafiers pack? I’m using blender as my 3D application :slight_smile:

You’d have to rig it up mate

Not sure how to do this in blender though. In maya you just create joints then rigid bind to the bow mesh
After that it’s a simple matter of keying where the joints are at different times

Ah… you might be able to go onto BlenderCookie and ask one of the authors there to make a tut for you.

This is stuff from the BurgZergArcade Hack Slash Tutorials ^^

that’s right ^^ I learned alot of C# programming from him :slight_smile: I’ve extended the game from his basics and adding more to it. I found it hard to set up the basics so this was a great help to me! :smile: Anyway I’m trying to make the game different from his further on

Yeah :smile: I am programming since 6 months…and haven’t anything good ^^

I like how far you’ve come so quickly, but a big part of game creation/design is creativity. If you want to learn 2 skills at once, program something more creative. I really like it so far though. Remember to keep it simple scripting-wise, don’t overwhelm yourself. Good luck! :slight_smile:

Thanks! I’ll try to make something different than there is already. For example, I did some searching on procedural terrain, but that goes way too far for my programming skills. Like you said, I’m not going to overwhelm myself so I want to make a simple system set up first :slight_smile:

So, a quick update on my progress:

I’ve tried to set up some sort of basic crafting system. Currently I have a class handling the craftingstation (anvil, oven, forge and such). When you walk in reach you can click on the object and this will open a window. I’m thinking of placing buttons inside that window, which each represent an item to craft. When you would click on the button it will check your inventory for the required items and tools, and if present, will craft the corresponding item, add it to your inventory and consume the needed items. The idea is a bit like the way runescape did this. I think this might be the most simple solution for crafting, but also a bit boring.

So, this idea brings me to 2 questions:

  • How should I handle the required items check? Right now my inventory consists of a List with types of “Item”, mostly the different resource items are recognized by name, but how do I check for these items?

  • What would you guys like to see, the way of crafting I’ve currently in mind, or would you prefer another way of crafting in the game?

Great job so far. Especially for it being your first game.

After seeing you chop down that tree I’d call it ‘Uber Wood Cutter’ or something :slight_smile:

I’d strongly suggest getting NGUI and porting your GUI over to that. Unity’s GUI is terrible to work with and bad for performance.
I think it’s on special now for $45.

Once you use it you won’t go back and it’s got some great drag/drop/inventory example tutorials you can use.

Other than that good job. Will be good to see some multiplayer down the line too!

Thanks! Multiplayer is certainly something i want to try in the future! I have done some research in it, but i’m still confused about it. So for now I want to stick with something simpler :stuck_out_tongue:

I knew about the NGUI, but I don’t have any budget for the game (yet) and it’s only my hobby right now. And I don’t want to invest in it when I don’t even know if it will ever get finished. But if it gets to it, could be something to try out! Also, I’ve heard some rumors about Unity Technologies making a new GUI system?

So, any respones the these questions?

I got your name; Log Reaper

p.s. looks interesting.

Thanks, I might consider your name :slight_smile:

In further news, I’m now able to saw logs into planks. However, I’m a bit strugled with math. The way it is set up right now:

  • A log with x amount of quality (float)
  • A tool with y amount of quality (float)
  • And a skill used to craft the specific item, which is an int
  • A bit of randomness in the result

Now, I want the final Plank quality (float) to be affected by these factors. The log’s quality is the maximum quality the plank can have (so you can never make a higher quality plank out of a lower quality log). Then the tool quality ,skill and some luck determine what the final quality of the plank should be.

So, could anyone make me some kind of formula to mess around with? After I implemented this I’m going to make an update #2 video :wink:

Thanks!

anyone with a solution yet? I can’t seem to figure it out : /

This sounds a lot like wurm. I’m not sure what wurm uses for its calculates for item results, but here is just some idle guessing/chatter:

Quality should depend on these factors:

  1. The quality of your components (average them all)
  2. The quality of your tool
  3. Your skill in that area

Find the one with the least value. That is the lowest possible quality result.
Average the three. That is the highest possible quality result.
The result is a random number, from the least possible value to the highest possible value.

Producing raw materials from ore or trees is a special case, you only have 2 numbers to average instead of 3. Let’s say you have just started the game. Your chopping skill is 1. You have a 10 QL axe.

The lowest value is 1 (your skill).
Average 1 (your skill) and the axe ql (10). The result is 5.5. That is the highest possible value.
So now, the QL you assign to the tree you chop down is a random number between 1, and 5.5. Let’s say you assign it a 4.

Ok, so let’s say you want to chop a log from the fallen tree.
Take the quality of your components and average them. You only have 1 component (the tree), it has a QL of 4.
The quality of your tool is 10.
Let’s say chopping down that tree gave you a skill point, and your skill is now 2. This obviously isn’t wurm lol. Anyway…

The lowest possible value is 2.
The highest possible value is the average of the three, or 10+4+2 = 16/3 = 5.3333.
That sucks…the highest possible value is a little lower than 5.5…but the lowest value is higher. Plus…we only had to average 2 things before, from now on we use an average of three. Remember, only items created from raw materials (standing trees, ore veins) average with 2 items.

So you will at least produce a log from the tree of QL 2 instead of maybe 1. Yes, the max possible QL is a -little- lower…but not much.

If you just chopped down another tree, you would produce a possible fallen tree with a QL that ranged from 2 (not 1 this time) to 10 (your axe QL). That means a possible QL from 2 to 6, instead of 1 to 5.5 for your first tree.
And so on it goes. You slowly produce better items.

I don’t recall if wurm limits the maximum QL of an item you craft to the average of its components, though. Like…if you have a skill of 100, and a tool of 100, can you produce a 66 QL board from a 1 QL log. Seems like that would be impossible…so maybe the math needs to be worked on :wink:

Anyway…this is just ramble. It may break down in some cases, I haven’t planned this all out in depth (yet) :slight_smile:
Hope that is of some interest to you, and use.

By the way…I would advise you store player skill as a float. You may just display it as an int…but with this system, every point counts.

When players are all the way up at skill 90…if it takes three months to get to skill 91, you darn well might want to show their progress all the way down to the thousandths! It could be a huge psychological factor for them. At -least- they could see some progress!