Greetings again! Nekochu here to tell you about something very important that is coming up in the next release. This is so important and will change your life so much, that if everything works as intended you won’t even notice it.
What am I talking about? Modular tools of course!
For this first stage of modular tools, we have revamped all the bronze age tools and weapons to work with modular crafting. You may notice that the bronze items look slightly different, but they are crafted and work exactly the same as the old tools you are used to.
You may ask, “How does this affect me?” Well, at first this shouldn’t affect you at all. All of the work in this release is behind the scenes and visually you won’t see the potential of modular tools.
Let’s talk about the future though; that is where this new system will really start to shine. Items that can act as the “head” of a tool can be swapped out to generate new tools and the stats of the produced item will be adjusted based on the components used.
Now you’re starting to see the bigger potential! Imagine a sword that incorporates the swiftness bonus from its handle and the extra damage stat from its blade! Or perhaps you want to use a unique head of a pick that you crafted on all your future pick crafts.
We’ve only scratched the surface of where we can go with this new system but for now it lies in wait under the surface of the bronze tools. The future will decide where it grows from there!
We are fixing a lot of bugs this week and hope to push a new update soon. In the meantime, check out the latest “In The Works” video for the artisan workbench and loom here.
These past few weeks have been super busy for the team. We have been working on adding new features, tech improvements, and more content. The new stuff you saw in our “In the Works” videos are in place and we’re just working on the best part now, bug fixing!
So what have we been working on since the last update?
The most anticipated feature ever – functional doors!
You can now craft Crude and Wood Doors for your builds. Modding in your own doors is super simple. All you have to do is just add our “door.lua” script to your door object schematic.
Our revamped SkyDome now has generated clouds, a moon, and a sun that revolves around the player on a hemisphere. We just added a feature that allows the sky to transition between biomes. You’ll notice darker clouds and fog in swampy areas while the rolling hills is filled with blue skies.
Body Morph & Growing to a Teen Seed
Still an early prototype of the system but we wanted to get this out for you to play with. Food consumption will now impact your body weight. How about growing? That will depend on your crafting activity.
There are two new biomes added, Red Cliffs and Bedrock. Five previous biomes were improved but we’ll list the details in the patch notes once we’re ready.
Creative Mode Rework
Let’s not forget about creative mode! You have a new UI to play with and the option to switch to survival interaction.
New crafting stations and recipes
The artisan workbench and the loom were added without any bugs *fingers crossed*. This includes new recipes and resources to go along with them.
These are just the few things we are working on that will be released in the next update. We are working on larger systems too but not much can be said until we make more progress.
You’re probably wondering when the next patch is coming and we don’t blame you. We don’t have a set date because play testing and bug fixing can take anywhere from 1-3 weeks. We’re aiming early June if everything goes smoothly and @input_output_7 stops breaking code.
For those of you who gave us a heads up about our launcher issues, thank you! @JoshuaBrookover is on it and we’ll be making some changes to resolve the issues. We don’t have a time frame yet but he’s been working on it since it was reported.
Hey guys. This is Grim from NK here to tell you a little about how the voxel shapes in TUG are represented. This will get a little technical, so bear with me!
Many people try to think about voxels in terms of blocks. Blocks are easy to think about! Blocks can be either solid or air which are stored as 1’s or 0’s in data.
In TUG we have smooth voxel contouring that can represent a variety of shapes. Smooth shapes are hard to represent as blocks. Because there is no good way to tell if a block should be smoothed-over or not. We solve this issue by storing our voxel data as a signed distance field. A signed distance field is a grid of numbers that tells us the distance away from the nearest geometrical surface. A positive value means we are outside of the surface, and a negative value means we are inside the surface. Here’s an example in 2D for a circle:
Red values are negative (inside) and green values are positive (outside).
Each voxel is assigned a field value based on the distance to the center of the circle.
A signed distance field shape representation is convenient when it comes to adding and subtracting geometry from the world. To add another shape, we just have to take the smallest distance-field value from both shapes.
Notice how the field values outside the first circle have been replaced with the smaller field values of the second circle.
Removing geometry is also easy! All we have to do is negate the field values of the circle being removed so the inside (negative) field values become outside (positive) field values, and then take the largest field value. Adding and subtracting any shape is possible as long as a field function for the shape can be defined.
Now you might be wondering how a signed distance field is actually turned into triangles that can be rendered in-game. Remember that a surface sits where the field values change from positive to negative. We start by identifying the edges along voxels where there are sign changes.
After we have identified a surface edge, we have to find where the surface actually sits along the edge. Depending on the field values at the two edge end-points, we can place a point along the edge.
After these edges and points are identified, we use the surface-edge intersections to come up with a single vertex position for each voxel. We calculate a voxel vertex position by averaging together all of the intersection points.
There are more expensive techniques to place interior-voxel points more accurately (like Dual Contouring with QEFs), but we have opted for speed over accuracy.
Now that we have voxel points, we have to figure out how to connect them together into faces. This is done by connecting together points across edges that have sign changes.
You can see that the average points connected together do not perfectly represent the circle, but it is pretty close.
This process extends directly to 3D except that the squares are cubes, and that a cube edge has four voxel neighbors instead of two. Across these edges we connect all 4 voxel neighbor positions together to form two triangles.
I hope you have an idea about how geometry in TUG is represented underneath the hood. I hope you’ve enjoyed my overview!
If you have any questions, feel free to send me a message on twitter @NKGrim.
Don’t forget to check out the latest “In The Works” video on Creative mode rework.
Last week’s blog focused on our new skydome, which allows our artists to really push stylization with shape and color exploration. @NKDenthorn did a stellar job programming in the skydome feature because I, @TheCamboRambo, was able to pull off some slick color combinations for the environment and I am no artist. Really… check out my sweet “Seed” concept art if you think I am kidding.
Now that we have this feature, what’s next? More biomes of course! If you have been playing TUG since the old terrain generation tech, you’ll notice that there are a few biomes missing in our current build. The good news is that @input_output_7 and @x_nekochu_x is working hard to get them all back in. They were temporarily removed because it required some rework for the new terrain generation tech.
Warning! The updated biomes will break game your games saves once we have it in. We tried our best to avoid this but the biome generation code has changed significantly.
With this new update we have reworked our generation system. While a lot of these biomes will look familiar and others are being brought back from some of our older generations, the big change you will see is biomes of proper size! Gone are the tiny deserts or the smattering of trees from one biome in the middle of the other. You will see vast plains, large arid sands and polar regions tucked away in the mountains.
This update also gives us much better control over the restrictions of biome regions. What this means is that we are able to control which biome occurs next to another. So no more snowy mounds in the middle of a desert! Unless that’s your thing…
Finally one more little addition that will come out of this update is a one to one for material gathering. We’re opening up the floodgates and now when you dig a particular rock pattern, you can expect to get resources of that rock to place back into the world. There will still be cobblestone and other unique patterns but now you’ll be able to build with the cliff rocks and granite that has previously been unavailable in survival mode.
Now feast your eyes on some biomes!
Check out our latest ‘In The Works’ video of the new skydome tech and art revamp tease. The art update is still very early but we are moving towards that direction!
Cambo checking out
Good afternoon everyone! @Cambo here to give you a quick brief on what’s happening in the studio.
The last patch focused primarily on adding content and on-going tech progress. We added magic spells, critter taming and breeding, and a nifty shield for blocking. However, we had to switch gears these past few weeks to focus on the big tech stuff so don’t expect much content for the next patch. Our artists are still slamming away creating assets but they won’t be in until we have the systems ready.
Oh yea, we had a group of students from RL Turner High School AMAT program visit us this week for a field trip. A few of our team gave them a presentation on the realities of working in a game studio. I wish we had this type of field trip back in my day. Instead, all I got was a trip to the rock museum *no offense to geologist*.
So whats in the haps? The dedicated server is progressing. We are also revamping our creative mode user interface to make it more user friendly with item filters and utilizing CEGUI. We started our modular tool system which will allow you to mix and match resources for crafting tools. There’s been a lot of progress on the terrain tech and hopefully we can bring back the older biomes in the next few iterations.
Today, I have an early look of our revamped SkyBox that @NKDenthorn is working on. It’s something some gamers might not appreciate. Just imagine playing Skyrim with static clouds that never move or change forms. You may as well just run around looking at your feet.
Our current SkyBox is rendering a static cloud image, placed on a moving plane above you. This gives you the illusion that the clouds are moving but the clouds are flat. The moving plane helps with the immersion but will look warped when you look at a distance. This perspective issue is more noticeable when you are looking into the horizon.
Our revamped SkyBox now has generated clouds, a moon, and a sun that revolves around the player on a hemisphere. Possibly even planets too, yea? This will help with your perspective when you are looking into the distance. The best part is that our artists are able to customize pretty much anything in the sky.This will allow them to have creative freedom for the environment and fine tune things on the fly.
Disclaimer: @NKDenthorn wants to let you know he is no artist so forgive him for these poor examples.
@NKDenthorn will write a future tech blog once we get closer to releasing the new SkyBox.
The past few weeks have been extremely busy for me, so I did not have a chance to bring out some new “In The Works” footage for everyone.
It’s been awhile since we’ve done a tech blog, so I decided to write about what you can expect from our Phase 2 Multiplayer: Dedicated Server. I’ll even post some super high-definition renders of the advanced console interface that Josh (@JoshuaBrookover) has been working on!
So what do we mean when we say “Dedicated Server”? We already have the ability to host servers now, right? While we do have the ability to host servers now, the person hosting must be a player in the game and also be running the full version of the game in order to allow players to connect. This makes it very problematic to host a stand-alone server on a computer and just have clients connect at their leisure.
When we say “Dedicated Server” we are referring to the game running in a much reduced form (no graphics, gui, sounds, etc) than needed when actually playing the game as a seed in the world. The dedicated server is a stand-alone application that manages only what is necessary to maintain the state of the game, but does not process any systems that only a player would need. One of the biggest things we gain from this is that it will allow player count on a server to increase! This is the dedicated server:
(Figure 1: Server running and ready to be used, work in progress)
The dedicated server does not create a standard window like you’d expect with most of your programs, but runs as a console program. No graphics libraries are loaded or utilized; it doesn’t play any sounds, and there is no server player.
We use a console library called PDCurses to give us a clean-cut interactive console at runtime. It has an input area for the server owner to type commands, as well as some advanced stats across the top so at a glance you see what’s going on with your server. Each statistics box can be changed to show any other stat.
(Figure 2: Shows command input and statistic changes, work in progress)
This console will provide a lot of useful information, showing when a player joins/leaves, viewing the in-game chat, and seeing any useful debugging or warning information from the engine or Lua.
Logging is a large part of running your own server that you aren’t always keeping an eye on. Everything from system information to chat messages that pop up in the console will also be logged to a file that is specified by your configuration file. This log can provide very useful information to server owners allowing them to diagnose problems or view player’s chat logs.
So what does the dedicated server give us? With the dedicated server, a player can run a TUG server with their own hardware or service. This also gives hosting companies the ability to host game servers for the public. The dedicated server is completely configurable from a single file that allows whomever is hosting the TUG server to specify information such as number of players, maximum allowed view distance, networking ports and other useful configuration parameters as seen in the image below:
(Figure 3: Dedicated Server Configuration File, work in progress)
Our hope is that we can give any server host the ability to run TUG servers, and as we continue to improve on the Eternus Engine and TUG, be able to give them more and more capabilities with their game!
Keep in mind that we are still working on the dedicated server and we may choose to add or change some features that are seen here as we develop further. There is still a lot to do! Feel free to follow me on twitter @camfergusondfw or stop by our forums to ask any questions you may have about the dedicated server!