Enduring Life Inventory system Devblog

6 posts Page 1 of 1
Zweshi
Posts: 19
Joined: Sat Sep 05, 2015 10:30 am
 
by Zweshi » Sat Nov 07, 2015 1:45 pm
In Todays dev blog we will be showing off Enduring lifes inventory screen and system. The inventory system is built on a ”One page fits all” solution to make sure that all relative information can be viewed easily by the player at anytime. The inventory is built on four components, Backpack space, hand space, area inventory and player equipment. These components come together to create the full on player inventory. All these inventory components operate on the same mathematical system both under the hood in terms of systematic function as well as the limiting of what objects can and cannot be picked up due to weight and size.

The inventory system works on a grid system, meaning that different size objects occupy differing amounts of inventory slots, for example a loaf of bread occupies one hand slot or two backpack slots whilst a helmet occupies two hand slots or four backpack slots.
The only inventory area that does not work like this is the Area inventory where all objects occupy one slot each. The reason for this is that the area inventory is a non-interactive inventory that is simply a indicator for the player to see what is around him easily.


For the more tech savy among us the inventory system both server and client side together is about 6000 lines of code not including the .GUI file or other hook-in systems such as durability, database saves, crafting etc. As the inventory is a top tier system that others draw from it needs to be highly interoperable in many different ways, one way that signifies this is how objects are saved and read to and from the database in our system.
Our system allows all needed information to be retrieved by reading one string of data connected to the object in a correct formula to determine the objects state, type, durability etc. This gives us great flexibility in terms of read capability, on the fly adjustment, as well as a very low performance impact from the system as a whole due to the fact that we are not in need of a heavy object class for pick up objects.
Our main concern when building systems for our game is the performance effect on the server system in ”passive” scenarios as well as peak performance impact, or in other words how well does the overall system cope with large concurrent usage both actively and passively. The goal in mind when designing the system was to keep the maintained server load low allowing for high concurrent usage without putting additional strain on the server simply by more players being present, which in turn means that the server has a larger overhead to cope with peak usage. This has been achived largely by the fact that the inventory system does not require heavy object classes to handle in world objects thus reducing the drain on the server system due to player activity in the game world in relation to the inventory system.

The central issue then becomes how to lower the amount of calculations being done upon usage of the system reducing peak load. Our answer to this question is our ”one line all info” principal coupled with a standardised read formula lowering the amount of information needed to be gathered significantly for a objects inventory status to change.

Image

Hand Inventory:
The hand inventory, or hand space symbolises the player capacity to carry objects in his or her hands. The hand inventory consists of four inventory slots, two for each hand, and can be utilized in different ways, either by holding four small objects, two medium sized objects or even one large object occupying both hands at the same time.
The items held in the hands inventory are also the items used for the quick slot bar where you can assign keyboard shortcuts to quickly switch to these objects.

Backpack Inventory:
The backpack inventory space is the inventory space unlocked by equiping a backpack and can be used to carry most small to medium sized objects provided that they are not to large for the backpack or weigh to much for the backpack to handle. Different backpacks will provide you with differing amounts of space both in terms of inventory slots and the weight the backpack can handle. The better the backpack the more you can put into it essentially, with 20 inventory slots being the maximum number of slots for the top of the line backpack.

Player Equipment Inventory:
The player equipment inventory is the graphical interface for the players clothing. This part of the inventory is split into 6 different slots and are as follows: head, chest, vest, backpack, legs and feet. In each of these slots items can be equiped to make your character look the way you want as well as provide improved survivability and carrying space. All clothing within the game provides some sort of protection against climate and is a important part of surviving as hypothermia is ever present. In addition to providing protection against climate a lot of gear also provide protection in a fire fight with other players, a helmet for example will give you a better change of survivial in a fire fight.

Area Inventory:
The area inventory shows a graphical overview of what is around the player at the time of opening the inventory. This inventory is a non-interactive inventory meaning that it displays information to the player but it is not supposed to be used as a drag and drop hub for what is on the ground this interaction is done by simply pressing the button ”E” on your keyboard.



Limitation of movement principal and Division of labour:
The inventory system is one of the game system contributing to these two principals, the idea that long term roaming should be limited is signified by the fact that the inventory space is very limited forcing the player to sooner or later establish some type of base camp to operate from reducing the roaming range.

As well as the limitation of movement principal the inventory also contributes to the Division of labour principal. The idea that you as a player although powerful need to band together with other to truly thrive within the game world. One way the inventory contributes to this ideal is by limiting the amount of active equipment a player can have(Weapons and equiped gear) making a squad which can have many different specialised players a great option in any combat scenario or indeed within non-combat proffesions as well such as building or crafting.

Example:
Here we have a example of the inventory in action, note that in the picture below the player is standing next to a loaf of bread. Within the inventory screen this is correctly represented in the area inventory by showing the icon for bread. Now the player will pick up the bread...

Image

As you can see in this screenshot the bread has been picked up thus removing it from the Area inventory and moved it in to the main hand inventory slot one.

Image

Thank you for following us for this devblog join us next time when we showcase our building system.

Enduring life now has its own website visit us at: http://EnduringLifeGame.com

Feel free to reach out via social media.

Jonas Twitter: Zweshi – Lead programmer / 3D artist
Ilias Twitter: Badsik1k - Lead 3D artist / Lead 2D artist
Patrick Twitter: PatrickComan - 3D artist

Regards
Image
JeffR
Steering Committee
Steering Committee
Posts: 942
Joined: Tue Feb 03, 2015 9:49 pm
 
by JeffR » Mon Nov 09, 2015 7:58 am
That sounds pretty interesting. I especially like how you can hold several small items in your hands at once, which I don't think I'd seen implemented before.

I dunno if you have anything like it, but is there a way to quickly shove stuff you're holding in your hands into your backpack, or drop it on the ground in the event of suddenly finding yourself in need of defending yourself?
Zweshi
Posts: 19
Joined: Sat Sep 05, 2015 10:30 am
 
by Zweshi » Mon Nov 09, 2015 8:44 pm
@ JeffR

Hey Jeff!

The quick switch functionality, or as i like to call it: "the In deep shit maneuver" ( :D ) is currently being worked on and will be provided by the quickslot bar (The clipboard at the bottom/middle of the screen with 4 numbered bars in picture 2 and 3) which is part of the PlayGui. You are able to select items in your inventory and dynamically keybind that item to the 1,2,3 or 4 keyboard keys by draging and droping the item to the quickslot bar. If you were to bind say a weapon to the "1" key and then press it your character would drop what is currently in his hands on the ground and equip the bound weapon into his hands instead.

Cheers!
Jonas
JeffR
Steering Committee
Steering Committee
Posts: 942
Joined: Tue Feb 03, 2015 9:49 pm
 
by JeffR » Tue Nov 10, 2015 3:49 pm
Pretty much exactly what I was thinking :P

Very nice.
Julius
Posts: 28
Joined: Sun Apr 05, 2015 6:45 pm
by Julius » Fri Nov 20, 2015 2:10 pm
Can you fix your website so that it doesn't need horizontal scrolling at 1366x768? Thx :p

Inventory system looks nice so far, any chance that it will be released as a general Torque3D resource under an open source license?
Zweshi
Posts: 19
Joined: Sat Sep 05, 2015 10:30 am
 
by Zweshi » Fri Nov 20, 2015 9:07 pm
@
User avatar
Julius


Hey Julius!

We do have some issues with our website for some resolutions and platforms that we have plans to fix, the lack of tilability in the horizontal axis is one of them.

When it comes to the inventory i cant give you good news, the inventory is not going to be released as a resource as its proprietary technology written specifically for our projects.

Best regards
Zweshi
6 posts Page 1 of 1

Who is online

Users browsing this forum: No registered users and 3 guests