▶
Shapez 2 - Devlog 001
Shapez 2 will be partially funded by the German Government via the "Computerspielfrderung des Bundes". This allows us to produce the game with a much higher quality, more content and bigger team. We are super excited and extremely grateful that we can now produce the game with all the features & content we have in mind!
Speaking about a bigger team - we are currently looking for a Senior Unity Developer as well as a Community Manager! If you are based in Germany and want to work in a small, super motivated team as well as having a huge impact on Shapez 2, please apply!
If you are curious how Shapez 2 will look and feel, you can check out this exclusive alpha gameplay stream from Giantwaffle! We usually don't allow anybody to show the game outside of the discord, but we made an exception to get early feedback. Keep in mind this is a very early version of the game with still months of development to come, but we think it already shows very nicely in which direction we are heading!
We've also updated the Store Page with current Screenshots from the Alpha! PS: We are currently not looking for more alpha testers, but follow the Shapez 2 Store Page to get updates when we do!
I wanted to give you a quick idea how the simulation works in Shapez 2, to also explain why the simulation performance will be up to 30 times better than in Shapez 1! All buildings in Shapez 2 are represented via a concept called "Belt lanes". A belt lane has basically 3 relevant parameters: Current Item, Progress, Next Lane. The lane then also has a "Belt lane definition" which stores parameters as the duration, speed, world position etc.
These belt lanes know about their next lane, so for the simulation, it is not relevant to which building a lane actually belongs - the simulation itself does not have the concept of buildings. When you place or remove a building, a graph of those belt lanes is built. In order to make sure the simulation runs at full precision, we have to build the graph and compute which dependencies every building has. This results in a flat list, which is built individually for every island (thats what we call the space station platforms internally). You can see an example of the update order here - as you can see, the buildings at the end of the chain are updated first, and the extractors are updated last. This is extremely important, since otherwise you would constantly have gaps between items on the belt (And it also means loops are less efficient - so don't build loops! :))
To better visualize and debug the simulation graph, we have created a small tool for which we ported the main parts of the C# Simulation (since Shapez 2 is written in Unity) to TypeScript. You can give it a try here, and also have a look at the simulation code here! Basically the simulation works like this: From the last lane (on the right) to the first lane (on the left), the simulation first computes how far the item can maximally progress (reading the MaxStep from the next lane). Then, it computes how much the item can actually progress based on the time elapsed, and moves it as much forward as possible. As a last step, it updates it's its own MaxStep property. You can visualize the property by checking the "Show max step" checkbox. The computation of how far an item can progress can get rather complex, because there are two dimensions to take into account: Time and Distance. An item can not progress faster than the maximum speed of the lane, which is the main limit of the throughput. However, items must also not overlap when being rendered, which is why between two items, we have to ensure there is always a distance of 0.5 units. This sounds simple at first, but can get pretty complicated. For example, if you have two lanes which have a length of 0.5 world space units and a speed of 1 unit/second, it means an item needs 0.5 seconds to reach the end of a lane. If the second lane has an item at 50% progression,it means it is at 0.5*50% = 0.25 units. if both lanes are directly connected, it means an item on the first lane can only move 0.25 units on the first lane as well, until it would intersect with the item on the second lane. This is what the MaxStep property basically stores. However, there are buildings which have lanes that have a length of 0 units, but still a duration. Imagine the rotator for example - it has 3 lanes: Input Lane, Processing Lane, Output Lane.
The processing lane has a duration of 0.5 seconds by default, but it has a length of 0 world space units. If we now look at the graph using the world space length as the dimension from left to right, it looks like this:
However if we look at the graph using the time as dimension from left to right, it looks like this:
If you look at the visualization (again, link), you will see that in the world length dimension the item just stops (and would rotate in the real game) whereas on the time dimension, it just continues to progress. Depending on the complexity of buildings, this can be a pretty daunting task to get right, especially if we want to get all buildings to run at 100% precision.
Another big problem is that we can not "hide" items, because all buildings are supposed to be fully open. In almost all other factory games, buildings are solid structures that have inputs & outputs, but they just "consume" the items and output others. Because shapez 2 is fully open, this adds a lot of new issues (but we think it is worth it!):
For example, splitters can sometimes still have overlapping items:
This is super hard to fix, because we can not simply "warp" the items, however we will cover this in another development log!
You might ask why we are doing all these efforts to put the nodes into a graph structure. The main reason for this is that we want to make the simulation 100% precise at just 2 UPS (Updates per second). This means that islands which are not currently in view can be updated at 2 UPS instead of 60 UPS. Compared to Shapez 1 (and almost all other factory games) this is a huge performance improvement - to put it into numbers, about 30 times faster. We've done some initial tests and it seems that factories with >1,000,000 buildings and thousands of islands are just fine. However, we want more - and thus we're also building the simulation to support multiple threads. Because every island is it's own graph, we can update islands independently of each other, and then update the "shared" structures afterwards. If we use 8 threads instead of just 1, this means the simulation would in total be about 240 times faster than in shapez 1. Realistically, we will hit other limits (like memory bandwidth), but in general you can expect the simulation performance to be at least magnitude better than in shapez 1, and probably also compared to other major factory games. Of course, this is only the simulation - if you choose to select ultra-high graphic settings for example, the game can still run slow if you don't have an appropriate setup. However, we are giving our best to make sure huge factories run perfectly smooth!
We've received a lot of questions about the system requirements with the all-new graphics. We know that one advantage of Shapez 1 was that it ran well with low requirements, and our goal is to make sure that Shapez 2 also runs on low end setups, which is why we will also include a "minimal" graphics mode which will make the game run very ugly, but also very fast. Tests have shown so far, that it should be no issue playing on an integrated laptop GPU for example, but we will keep you updated with definite stats closer to release! That's it for today, and we will keep you updated on the development progress - Please let us know in the comments if you liked this technical insights and would like to see more! And last but not least, be sure to wishlist Shapez 2 if you haven't yet! https://store.steampowered.com/app/2162800/shapez_2/ ~Tobias
[ 2023-04-09 13:34:59 CET ] [ Original post ]
Hey everyone! I wanted to give you an update on the development of Shapez 2, our current plans and more!
News
Funding Secured
Shapez 2 will be partially funded by the German Government via the "Computerspielfrderung des Bundes". This allows us to produce the game with a much higher quality, more content and bigger team. We are super excited and extremely grateful that we can now produce the game with all the features & content we have in mind!
We are hiring!
Speaking about a bigger team - we are currently looking for a Senior Unity Developer as well as a Community Manager! If you are based in Germany and want to work in a small, super motivated team as well as having a huge impact on Shapez 2, please apply!
Alpha Gameplay & Screenshots
If you are curious how Shapez 2 will look and feel, you can check out this exclusive alpha gameplay stream from Giantwaffle! We usually don't allow anybody to show the game outside of the discord, but we made an exception to get early feedback. Keep in mind this is a very early version of the game with still months of development to come, but we think it already shows very nicely in which direction we are heading!
We've also updated the Store Page with current Screenshots from the Alpha! PS: We are currently not looking for more alpha testers, but follow the Shapez 2 Store Page to get updates when we do!
Devlog
Simulation Updates
I wanted to give you a quick idea how the simulation works in Shapez 2, to also explain why the simulation performance will be up to 30 times better than in Shapez 1! All buildings in Shapez 2 are represented via a concept called "Belt lanes". A belt lane has basically 3 relevant parameters: Current Item, Progress, Next Lane. The lane then also has a "Belt lane definition" which stores parameters as the duration, speed, world position etc.
These belt lanes know about their next lane, so for the simulation, it is not relevant to which building a lane actually belongs - the simulation itself does not have the concept of buildings. When you place or remove a building, a graph of those belt lanes is built. In order to make sure the simulation runs at full precision, we have to build the graph and compute which dependencies every building has. This results in a flat list, which is built individually for every island (thats what we call the space station platforms internally). You can see an example of the update order here - as you can see, the buildings at the end of the chain are updated first, and the extractors are updated last. This is extremely important, since otherwise you would constantly have gaps between items on the belt (And it also means loops are less efficient - so don't build loops! :))
Belt Simulation
To better visualize and debug the simulation graph, we have created a small tool for which we ported the main parts of the C# Simulation (since Shapez 2 is written in Unity) to TypeScript. You can give it a try here, and also have a look at the simulation code here! Basically the simulation works like this: From the last lane (on the right) to the first lane (on the left), the simulation first computes how far the item can maximally progress (reading the MaxStep from the next lane). Then, it computes how much the item can actually progress based on the time elapsed, and moves it as much forward as possible. As a last step, it updates it's its own MaxStep property. You can visualize the property by checking the "Show max step" checkbox. The computation of how far an item can progress can get rather complex, because there are two dimensions to take into account: Time and Distance. An item can not progress faster than the maximum speed of the lane, which is the main limit of the throughput. However, items must also not overlap when being rendered, which is why between two items, we have to ensure there is always a distance of 0.5 units. This sounds simple at first, but can get pretty complicated. For example, if you have two lanes which have a length of 0.5 world space units and a speed of 1 unit/second, it means an item needs 0.5 seconds to reach the end of a lane. If the second lane has an item at 50% progression,it means it is at 0.5*50% = 0.25 units. if both lanes are directly connected, it means an item on the first lane can only move 0.25 units on the first lane as well, until it would intersect with the item on the second lane. This is what the MaxStep property basically stores. However, there are buildings which have lanes that have a length of 0 units, but still a duration. Imagine the rotator for example - it has 3 lanes: Input Lane, Processing Lane, Output Lane.
The processing lane has a duration of 0.5 seconds by default, but it has a length of 0 world space units. If we now look at the graph using the world space length as the dimension from left to right, it looks like this:
However if we look at the graph using the time as dimension from left to right, it looks like this:
If you look at the visualization (again, link), you will see that in the world length dimension the item just stops (and would rotate in the real game) whereas on the time dimension, it just continues to progress. Depending on the complexity of buildings, this can be a pretty daunting task to get right, especially if we want to get all buildings to run at 100% precision.
Visualization of Items
Another big problem is that we can not "hide" items, because all buildings are supposed to be fully open. In almost all other factory games, buildings are solid structures that have inputs & outputs, but they just "consume" the items and output others. Because shapez 2 is fully open, this adds a lot of new issues (but we think it is worth it!):
For example, splitters can sometimes still have overlapping items:
This is super hard to fix, because we can not simply "warp" the items, however we will cover this in another development log!
+3000% Simulation Performance
You might ask why we are doing all these efforts to put the nodes into a graph structure. The main reason for this is that we want to make the simulation 100% precise at just 2 UPS (Updates per second). This means that islands which are not currently in view can be updated at 2 UPS instead of 60 UPS. Compared to Shapez 1 (and almost all other factory games) this is a huge performance improvement - to put it into numbers, about 30 times faster. We've done some initial tests and it seems that factories with >1,000,000 buildings and thousands of islands are just fine. However, we want more - and thus we're also building the simulation to support multiple threads. Because every island is it's own graph, we can update islands independently of each other, and then update the "shared" structures afterwards. If we use 8 threads instead of just 1, this means the simulation would in total be about 240 times faster than in shapez 1. Realistically, we will hit other limits (like memory bandwidth), but in general you can expect the simulation performance to be at least magnitude better than in shapez 1, and probably also compared to other major factory games. Of course, this is only the simulation - if you choose to select ultra-high graphic settings for example, the game can still run slow if you don't have an appropriate setup. However, we are giving our best to make sure huge factories run perfectly smooth!
Graphic Requirements
We've received a lot of questions about the system requirements with the all-new graphics. We know that one advantage of Shapez 1 was that it ran well with low requirements, and our goal is to make sure that Shapez 2 also runs on low end setups, which is why we will also include a "minimal" graphics mode which will make the game run very ugly, but also very fast. Tests have shown so far, that it should be no issue playing on an integrated laptop GPU for example, but we will keep you updated with definite stats closer to release! That's it for today, and we will keep you updated on the development progress - Please let us know in the comments if you liked this technical insights and would like to see more! And last but not least, be sure to wishlist Shapez 2 if you haven't yet! https://store.steampowered.com/app/2162800/shapez_2/ ~Tobias
[ 2023-04-09 13:34:59 CET ] [ Original post ]
shapez 2
tobspr Games
Developer
tobspr Games
Publisher
Coming soon
Release
GameBillet:
19.99 €
Game News Posts:
46
🎹🖱️Keyboard + Mouse
Overwhelmingly Positive
(7837 reviews)
Public Linux Depots:
- [0 B]
shapez 2 is supposed to be the long-awaited sequel to the original shapez - an automation, management & factory-building game currently available on Steam - built for audiences both new and old.
Our aim with shapez 2 would be to create a worthy successor to our original title - one which has a much higher production value, more content, better replayability and, crucially, looks more visually pleasing - this means that we’d like to include many more features for you… And we’ve outlined some of our ideas below!
Though we're still working on the prototype, we've got a solid vision of how the game could look - one that we'd love to share with you and get your feedback on. We would also like to point out that funding for shapez 2 isn’t yet fully secured - so whilst we’ll do our best to see this project through to completion, the outline below is our vision for our ideal game, rather than a set of specific promises.
Gameplay Overview
The goal of shapez 2 is to build, automate, and scale your factory in order to process increasing numbers, types, and colours of shapes! You’d be building machines, placing conveyor belts, and designing vast networks in order to transport your goods. Whilst to begin with you’d be focused on extracting pure shapes from the ground, you would soon discover a vast array of colours - unlocking an even vaster number of combinations... And, well, then the fun begins.All sounding a bit familiar? Don’t worry, we plan to shake things up a bit this time… As you’ll see below.
2D + 3D
shapez 2 will, by default, have a 3D view. However - we know how crucial being able to build efficiently is, so you will be able to seamlessly toggle between 2D and 3D!Layers
Complementing our new 3D view, shapez 2 will also feature multiple layers! Whilst in shapez there was only one additional layer (the wires layer), shapez 2 will provide players with up to 3 layers to switch between. You'll be able to place buildings, conveyor belts, and wires on each of them! (And, don't worry if you like to keep things simple - the additional layers are completely optional!)View into the machines
Whilst shapez only had ‘closed' buildings (which could sometimes make it difficult to see what was going on!), in shapez 2, all buildings are ‘open' - allowing you to see exactly how your shapes are being processed! This is a big one for us - and we're hoping it'll make it easier for new players to get into the game. It'll be a much more visual process!New engine, better performance, better accuracy
We're writing shapez 2 completely from scratch in an entirely new engine! This'll allow us to maximise performance (using all available cores & GPU power), leading to vastly improved performance, even with our new 3D visuals. (It's actually insane to us how many different buildings shapez could handle, considering it's basically a website!)Islands
shapez had a very uniform map (which severely limited exploration) - and that's something that we wanted to change this time. In shapez 2 space will no longer be unlimited - instead you need to craft islands to expand your base!This feature works well with our next one… Mass Transport!
Mass Transport
With the addition of new biomes, you'll be needing new infrastructure to transport your resources over long distances! In shapez 2, there will be a mass transport feature unlockable through the research tree. (More on that later!)Whilst these may not look exactly like trains, they'll behave in a very similar way!
Pipes & Fluids
Another new addition for shapez 2 - pipes! Not only will there be a number of new fluids, but colors will be fluids rather than being transported on a belt. (Not to worry, though - you'll still be able to package them on belts with a new building that we're introducing!)Research Tree
On the topic of replayability, we're introducing a new research tree - featuring a number of branches designed to make progress less linear! Whilst there will still be a main branch (i.e. cutters, rotators, pipes, stackers), there will be additional sub-branches, allowing you to focus on each of the available buildings and unlock upgrades for them (for example, the 180-degrees rotator is an available upgrade after unlocking the default rotator. You don't have to unlock it, but if it looks useful to you, go for it!)Blueprint Library
This was a feature that was actually planned for shapez, but sadly never made it into the original game. We'll fix this in shapez 2 by adding a complete blueprint library, as well as the ability to load/share blueprints easily!... and more:
- Modding support
- New shape mechanics
- Multiple game modes
- Customizable game creation
- All-new soundtrack
MINIMAL SETUP
- Processor: 3Ghz+ dual coreMemory: 4 GB RAM
- Memory: 4 GB RAM
- Graphics: DirectX 10.1 capable GPU wit 1024 MB VRAM
- Storage: 2000 MB available space
- Processor: 3Ghz+ quad coreMemory: 8 GB RAM
- Memory: 8 GB RAM
- Graphics: DirectX 11 capable GPU with 2048 MB VRAM
- Storage: 2000 MB available space
GAMEBILLET
[ 6089 ]
GAMERSGATE
[ 3241 ]
FANATICAL BUNDLES
HUMBLE BUNDLES
by buying games/dlcs from affiliate links you are supporting tuxDB