We’re working on a new shape type that’s coming to shapez 2: Crystals. These crystals will massively shake up the endgame and come with a couple of handling instructions.
Before we get into it, be sure to wishlist shapez 2 if you haven’t already! It really helps us out with the release of the game.
While we’re still in the early development stages of crystals, we would like to walk you through how they work and our vision for the mechanic. Be sure to let us know what you think!
Please keep in mind that the current visuals for the crystals are placeholders and will be changed before early access.
What are crystals?
Crystals are a brand new shape type you will encounter in the final stages of the game. They’re pieces of solidified colored paint that are quite brittle in nature and should be handled with care. This fragility means crystals come with their own set of rules and mechanics, which will shake up the production order you’re used to and provide greater depth and diversity when it comes to producing shapes.
You'll come across the basics of crystals in the final milestones of the game. The more complex crystal milestones will be an optional challenge for those who dare.
Creating crystals
Crystals are created using the Crystal Generator, a machine that will turn any paint you pipe into it into a hardened shape. The shape the crystal takes on depends on what you use as a mold: the Crystal Generator will fill up any empty spaces – including supports – of the shape you send through the machine up to the uppermost layer of the shape.
Doesn’t matter if you’re a bit square or a star – as long as the space is occupied by any shape, even other crystals, the Crystal Generator will not pour paint into it. Additionally, crystal isn’t any specific shape, like a circle or a square, and cannot be painted after hardening. It’s 100% solid ‘crystal’ with the color of the paint you used to create it.
Handle with care
The tricky thing with crystals is their aforementioned fragility; if you’re not careful with them, they’ll shatter into millions of incredibly tiny shapes, unfit for production. That’s to say, they break and disappear.
So, when it comes to keeping these crystals intact, there are two rules to keep in mind:
1. Separating (cutting, swapping) two or more connected crystal parts will cause all adjacent crystals to shatter. Crystals can be safely separated from normal shapes (molds), however.
To help you determine when two crystals are connected, here is the code:
2. Dropping crystals on top of another shape using a Stacker will cause the dropped crystals to shatter. Shapes can be safely dropped on top of crystals, however.
A brand new challenge
The inclusion of crystals will seriously change up the way you need to think about creating shapes. It essentially inverts your production; instead of directly producing the shape you need, you need to produce the exact opposite and leave the spaces you want the paint to harden in unoccupied. The molds themselves could be considered an intermediate-level shape goal, with parts that can either be discarded or reused continuously.
Considering the fragility of crystals, it’s wise to delay the inclusion of crystals in your production chain as long as possible. Prepare everything you can, produce the ideal mold for the crystal shape goal you need, and only pour the paint after everything else is done.
If your shape goal only requires one color of crystals, you will only need one mold. However, if multiple colors of crystals are required, you’ll need one mold for every color and pour the paint in stages. Once all the different crystal components have been poured, combine the crystals using a half swapper, for example. Just remember: do not separate or drop crystals!
That’s all we have to share on crystals for now. This mechanic is still in early development, so be sure to let us know your thoughts on this addition! You can join the discussion on the shapez 2 Discord server.
If you like what you see, be sure to wishlist shapez 2 to support the game and stay up to date with development!
It’s been a little while since the last devlog. We’ve been very busy with the Gameplay Reveal trailer from two weeks ago, which was then followed up by Gamescom.
However, we’re back now! So let’s discuss what we’ve been working on since devlog 007.
News
As previously mentioned, we finally released the Gameplay Reveal Trailer for shapez 2! Thank you to everyone who joined us for the premiere and supported the trailer.
In case you missed it, you can find the trailer here:
If that got you as excited as we are, be sure to wishlist the game and follow shapez 2 to stay up to date with the news!
The astute among you may have noticed a second logo at the end of the trailer. We are working with Gamera Games – who you may know from Dyson Sphere Program – to publish the game in Greater China & Japan. They will also handle the Simplified Chinese translations for our announcements and devlogs!
Additionally, we have enlisted the help of Game Drive, a games marketing agency. As we’re moving ever closer to the Early Access release next year, marketing becomes more and more important for the growth of the game, so we need some extra manpower!
Alpha 7 Build
Alpha 7.4 of shapez 2 is currently available on our Patreon and has been for a bit. A lot of the changes you’ll read about below have already been implemented in this build. If you’re interested in giving this new build a go, be sure to subscribe to our Patreon to get access, alongside a host of other great benefits!
Devlog 008
So with all that out of the way, let’s dive into the new devlog.
Rendering & graphical performance
After watching the trailer, a lot of you had questions about the performance of the game. Once you really got going in shapez 1 and made a huge factory, or made a make-everything-machine or two, the simulation could start to lag quite badly. So understandably, when people saw the graphical uplift of shapez 2, people assumed this would make things worse. Well, fret not!
Unlike Shapez 1, Shapez 2 is made in Unity with C#. This gives us a lot more tools to optimise the simulation and prevent unnecessary use of your system’s resources. One of the changes is that the game now supports multi-threaded processing, so the simulation and the game won’t run on just one of your CPU’s cores. The biggest change however, is how we handle off-screen simulation. Instead of just fully simulating everything in your factory at all times, we’re limiting the simulation of the portion of your factory that isn’t currently on your screen to just 2 times a second – down from the full 60 times a second – while still running at full precision. You won’t notice a mechanical or visual difference at all. However, it’ll make sure the simulation runs smoothly regardless of the size of your factory.
We stress tested this system on a mega factory of 360.000+ buildings and it works great. In fact, you saw this very factory in the trailer! Our goal here is to allow for about 1 million buildings on a modern PC build for the release of the game.
Do keep in mind that the massively improved graphics will mean you most likely won’t be able to sneakily play Shapez 2 on the school computer as you could (and we know you did) with shapez.io. You will require a bit more computing power to run this at a smooth frame rate; without any tweaking of the settings, that is!
To counteract the increased resource demand of the game somewhat, there will be a host of graphical options to tinker with, alongside a ‘minimal mode’. This mode will reduce the visuals to an absolute minimum and allows Shapez 2 to be played on laptops. This mode has been tested on a Microsoft Surface Pro and runs fine!
Exact minimum and recommended system requirements are to be determined and published closer to the release of the game. If you want to give it a try right now though, be sure to download the free alpha version through our Discord server! As the game still has a lot of optimisation to go in its current state, it’s safe to say that if your PC runs Alpha well, it will be able to run it in the future.
Trains progress
We know you’re excited for space trains, and we’re working hard to make them a reality. You’ve seen them in action in the trailer, so you’ll have a good idea of the vision we have for them. Do keep in mind that the trains are still subject to change.
However, a lot of work still needs to be done to make trains fully operational, but we’re on track to have the trains depart for Early Access next year. We hope to do a devlog dedicated to trains in the future, once they’re finalised.
Barreling
In devlog 006, we introduced you to the world of fluids. One of the topics we addressed here was fluid packing and cross-island transport. As there’s no way of moving fluids directly between islands, you’d need to produce barrels to keep the fluid in, fill the barrels, then move it by your preferred mode of transportation. Once at your destination, you’d empty the barrels and pump the fluid back into your pipe system.
We feel like the process of producing barrels didn’t quite fit. Having to deliver shapes somewhere to produce the barrels made fluids a hassle to use. It didn’t add anything interesting to the mechanics, just more tedium.
Instead, the Fluid Packer building will take the fluid and ‘freezes’ it into blocks that can be transported however you wish.
Auto pinning side goals
As the side goals are very important for your progression through the game, we want to make them a bit more prominent. Now, side goals are automatically pinned if you produce the shape they require.
We will continue working on the early game and research experience and are planning to add a full tutorial.
Visualisation layers in overview mode
We added brand new visualisation layers to the overview mode. You watch a neat little demonstration here:
The layers now include:
Islands grid
Shape Patches
Fluid Resources
Shapes
Explored Areas & islands
Tunnels
Train Items
Train Lines
Train Stations
You can enable multiple layers at once, or even all at once if you hate being able to see what you’re doing.
Island selection toolbar
We added a new Island Selection toolbar, allowing for quick and easy access to the different types of islands you can place. You’ll also be able to select multiple islands and delete them all at once. It’s easy to accidentally delete a lot this way, but don’t worry, you can undo everything if you mess up.
Packer Building
We’ve been working with the Packer and Unpacker buildings. The Packer building allows you to stack many shapes of the same type and color and pack them into one item. The Unpacker, as you may expect, does the opposite.
The main purpose for these packs is to transport the shapes via train. Pack the shapes, insert the packs into a train, remove the packs from the train, then unpack everything again. It’s also great for massively increasing the throughput on a belt, as long as you have enough Packers. Details on how this building will work together with trains, will come in the devlog dedicated to trains.
Graphical Improvements
A lot of time has been spent on improving the graphics of the game across the board. Improvements have been made to the materials of the Space Station, all buildings, the playing field as well as global lighting effects. We hope you liked what you saw in the trailer!
One of the main improvements we’ve been working on is LOD (Level of Detail). For those who don’t know, a common technique to increase performance is to lower the LOD of models that are far away from the camera. This technique is especially important to make the game run smoothly when zoomed out, like in Overview mode.
We don’t want the decrease in LOD to look jarring when you zoom out though, so we’re trying our best to make this look smooth and as unnoticeable as possible. This is done by having multiple stages of LOD, so the transition from one LOD to the next isn’t as big. We’re also fading out the shadows now, instead of simply removing them.
Now, we’re finally caught up! Again, apologies for the lack of devlogs lately. Now that the trailer is out and we have some reinforcements, we hope to bring you new devlogs every other week.
If you’d like to support the game, please wishlist the game here on Steam and follow the Shapez 2 page if you’re not already. It really does help us out a lot.
Shapez 2 is all about building the biggest shape-producing mega-factory you could imagine. With the infinite canvas of space to exploit, it’s up to you to create a machine that can extract, cut, paint and assemble the shapes you need to progress and grow your factory. Start off with the humble gray circle and work your way up towards increasingly more complex shapes while unlocking new machines, upgrades and modes of transport along the way.
You can play shapez 2 however you like! Make a spaghetti belt factory even you no longer understand, or optimize every little detail in the production process. Make one big mega-factory, or split the production chain across multiple smaller factories that you connect by space trains. There’s no threat of alien invasion or worse: running out of resources. Take your time, experiment and build a factory you can truly be proud of!
Thank you for your support
Whether you’ve been with us from the early days of shapez.io or are only passing by just now, we thank you for the time and support we’ve received over the past couple of months and years. We owe much to the community, and without you, shapez 2 simply wouldn’t be possible.
Help us test the game
Eager to give the game a go? You can join our Discord server to access the public build of shapez 2 and give us feedback on the gameplay and the stability of the game. If you’d like to support us early, head over to our Patreon! Patreon supporters get access to the latest alpha build whenever a new one releases. Together, we hope to bring the Early Access of shapez 2 to you in 2024 in the best possible shape it could be.
Be sure to wishlist shapez 2 on Steam! Indie games like shapez 2 heavily rely on wishlisting to reach a broader player base. We’d really appreciate your support, and you’ll be kept up to date with news about the game!
First of all, I apologize for the short break on devlogs. We are super busy working on the reveal trailer right now (which we want to showcase somewhere in August) which is why I simply lacked the time to do those detailed devlogs!
News
Be sure to wishlist & follow Shapez 2 to receive important updates and notifications about playtests!
Our team has grown, so that we are now 6 people in full time, and about to become 7!
Currently we are: Tobias - Producer / Developer / Game Designer Daniel - Lead Artist Nils - 3D Artist Dimitri - Game Designer (part time shapez, part time secret unannounced kiwi project) Lorenzo - Developer Stefan - Community support + Quality Assurance Nicko - Developer (Starting in July)
Alpha 6 Builds
We are currently working on finalizing Alpha 6 which will still take a while, but if you are interested in trying it out and get involved in the development process as early as possible, our Patreon Supporters already have access! Subscribing to Patreon also gives you a few other benefits, like exclusive discord channel access, live Q&As, Steam Keys and more.
Alpha 6 will probably launch as a Steam Playtest, but we will announce that in a later news post!
Devlog #007
Alright, time for a new devlog! In this devlog, I want to go over the changes we've made since the last update:
New HUB effects & indicators
The visuals of the central hub have been reworked! First of all, there are now indicators that show you whether the shape you currently deliver is required for any research. A red "X" means you are definitely delivering a shape that is used nowhere in the game (very useful!).
Also the hub now glows more the more shapes you feed in :)
Progression
Alpha 6, as the first alpha, will have actual progression! We expect around 10-15 hours of gameplay already. We also made a small tool to help us balance the research tree, which you can check out here!
Overview Mode Improvements
The overview mode (when you zoom out far) got a lot of improvements and also visualizes trains & tunnels now properly. However, it is still very much work in progress!
Megafactories
For our trailer we started to build a megafactory already, and here are some impressions!
We still need to add a lot of graphics optimizations (a lot of things are still rendered at the highest lod, regardless of the distance) but the simulation can already simulate factories that big! The factory in the screenshot consists of around 360,000 buildings.
As you can see, the idea is that in the endgame, instead of building your buildings individually, you build modular islands (like a "stacker" / "cutter" island) and blueprint / reuse them! Basically like playing shapez 1, but you built the buildings (=space stations) yourself :)
Tunnels
Tunnels are a way to transport shapes up to 10 space station chunks wide, but only in a straight path. We updated the visuals, although tunnels are still work in progress, game design wise!
New Placement UI
When placing space stations, you now have a proper "blueprint" look, as well as indicators what shapes you are about to mine:
Same goes for buildings:
And you now also get indicators during placement:
Improved Research UI
The research UI has been improved quite a bit. The main milestone is now shown much more prominent, and you can now also see which milestone unlocks which upgrade:
New shape patch visuals
The shape patch got reworked, and you can also see the reworked materials here:
HUB Island Improvements
The HUB island has been improved visually, but there are more changes to come!
Also the notches have been improved, and they now glow when a catapult is placed:
Updated pipe meshes
Pipes have been updated (even after the last devlog) and also upward/downward pipes now show the fluids correctly:
Updated Shape Miner + Extractor Visuals and Animation
The shape miner space station has also been improved and now has a (WIP!) animation:
The extractor is now also connected to the shape patch:
Updated Main Menu
Finally, here's a screenshot of the updated main menu:
----------
I hope you enjoyed the devlog and the new style of showing the changes from the last update! Wish you a great start into the week!
~Tobias
PS: All screenshots are taken from Alpha 6, which is already available to our Patreon supporters.
Wishlist Shapez 2
Be sure to wishlist & follow Shapez 2 to receive important updates and notifications about playtests!
Shapez 1 didn't have fluids, and colors were simply items that you could mine, just like shapes. The painter would then take those items as an input and modify the shape color:
This worked, but for Shapez 2 we wanted something more interesting and also more "visual" and easy to understand. This is why we are introducing fluids:
Fluid Extraction
The first step to acquire fluids is to find a fluid resource on the infinite map. In the area close to the HUB you will be able to find the 3 primary colors: red, green and blue. Farther apart, we can imagine that there will also be secondary colors, but that's not settled on yet.
We still haven't figured how those fluid resources should look, so they are still placeholders in the game. Daniel already made some concepts for them, but all of these are super early!
Once you found a resource to mine, you can place a fluid extractor island on it. Again, this is only a placeholder:
There is already a concept for it as well, but again, very early!
On the miner itself, there will be a fluid patch, similar to the shape miner, where you can place pumps to extract fluids. Pumps currently extract 1200 Liters per minute, but this is not final. Currently the unit used to measure fluid volume is liters, although we could imagine introducing additional units in case we ever want to add steam for example.
Fluid Transport & Simulation
To transport fluids on the island, you can then place different types of pipes. There are straight, corner, junction and cross pipes. As everything in the game is open, we wanted the pipes to also be open so you can see the fluids actually flow through your factory!
Fluids are simulated at a fixed tickrate right now. Basically every pipe has a "storage" called "FluidContainer" internally. The size of that storage is 50 L for pipes currently. Every container then stores the current flow to the adjacent containers. When updating the simulation, it basically goes like this:
1. Iterate over all containers and "spread" fluids. Every container can only store one fluid at a time, so once it is "tagged" with that fluid, it can only store that fluid until it is entirely empty again. More about that in the "Mixed Pipes" section.
2. Compute & propagate pressure differences Pressure in a container is simply computed as value / maxValue. The simulation then tries to achieve a state of "balance" where all containers the system have the same pressure. However, just trying to average the container levels won't work great, because then the throughput will be extremely low at some point. Thus, instead of storing only the pressure, we also store a flow rate, which is determining how much fluid from one container flows to another container in one tick. The flow rate only changes very slowly, and increases / decreases based on the pressure difference. There are still some issues that a lot of fluids simulations typically have, for example dealing with waves. But we already have a few ideas how to tackle them!
3. Clamping & clearing In the last step, all containers that are empty are now un-tagged, so they can receive a different type of fluid again. Also in case any container did over- or underflow, it will be clamped.
While the fluid simulation can be a little technical, our goals is and was that if you just want to use fluids, it should be intuitive and "just work". With the current system in place and the visual indicators, we feel that already is the case, but we are very interested in your feedback!
Mixed Pipes
Since mixed fluids in the same pipe wouldn't really make sense, we don't allow them. Instead, every fluid container can only store one fluid and is tagged with that. Transfer between containers then only works if they have the same fluid:
There are also buttons to flush pipes or the entire network, in case you mess up.
Secondary & Tertiary colors
In order to produce secondary and/or tertiary colors, you can mix colors with the color mixer:
Cross-Layer Transport
Fluids can be transported up and down, however, in order to transport them up you will have to place a pump:
The pump will limit the flow to one direction, so you can also use it as a gate to prevent backflow:
We are also considering to add a building just for that, in case it becomes a commonly used pattern.
Instead of going for an overly complex system, the rules for cross-layer transport are very simple: Fluids only go up in a pump, and they go down in regular pipes. This should be very intuitive and still allow for some interesting designs. However since it's not final - let us know what you think!
Buffering
In case you want to store some fluids, there is also a fluid tank, and because of the cross-layer pipes, you can also stack them on top of each other:
Keep in mind that, because the simulation effectively averages the pressure, the tanks will only fill once you have a surplus of fluid in the system.
Painting
There will be different types of painters in the game, for now we have planned a topmost painter and a full painter. The topmost painter only paints the highest layer of a shape where as the full painter paints the whole shape (and needs more paint in exchange).
Here's an early concept of the topmost painter in action (the animation is currently broken):
As you might have seen, there are multiple inputs - and again, due to the multi-dimensionality of the game, you can build some pretty cool & compact setups!
Fluid Packing & Cross-island transport
If you read the past devlogs, you might wonder how you actually transport fluids between islands, since there is no building space for pipes in between.
Disclaimer: The following mechanics are work in progress and we don't know whether they will end up exactly like this in the game. However, let me explain what we have right now!
To transport fluids, first you have to produce barrels. Barrels are produced from shapes, and the size & color of the barrel depends on the used shape:
Once you produced the barrels, you can now fill them using the fluid packer:
Then transport them between islands and unpack them again.
Since barrel production is pretty slow, you can also recycle the production by returning the empty barrels again (as seen in the above gif)
We are not 100% certain this feature will be a great fit, so be sure to leave your feedback on it, so we know whether you like it or not!
Color Blind Support
As soon as colors are a crucial part of the gameplay, we have to think about color-blind support as well. We are still looking for good ways to make it easier in case you are affected, such as patterns, or different symbols for fluids. If you have any ideas please let us know!
Wishlist Shapez 2
I hope you enjoyed the devlog, and I wish you a nice remaining weekend!
And as always, be sure to wishlist & follow Shapez 2 to get a notification on important updates:
First of all, I want to apologize for the late devlog. A lot of stuff is happening right now, and it's hard to find time in between!
News
We are slowly growing the team - last week we welcomed Lorenzo who will help with the Development, so there are now 5 people working full time on shapez 2!
New Soundtrack
Shapez 2 will ship with 40 minutes of soundtrack from Petter Sumelius, the composer who also made the amazing shapez 1 soundtrack!
Additionally, there will be a supporter edition that will add additional 40 minutes of soundtrack to the game, composed by Petter as well!
Wishlist shapez 2
Be sure to wishlist & follow shapez 2, so you get a notification on any significant updates!
And if you want to try out the current alpha, be sure to join the shapez 2 discord!
Devlog - Research, Progression & Blueprints
Please note: A lot of content shown here is subject to change. While we are already satisfied with the new research system, we can not guarantee it will end up exactly like this in the final game.
Recap - shapez 1
In shapez 1 you had a linear level system, where you had to deliver one certain shape to complete the level and unlock the next technology. Additionally there were 4 different upgrades where you could increase the speed of buildings.
While efficient, this system leads to some issues. First of all, having a purely linear structure means that even if the next level contains a building / technology you don't need or want, you still have to unlock it to progress.
Additionally, it means that the replayability is not really good, because every playthrough looks exactly the same, without a lot of meaningful choices.
Which is why for shapez 2, wanted to rework the system.
What we tried - and didn't work
Our first approach making a big research tree. There was a "main" goal section in the middle, but otherwise it was just all research nodes in one single tree:
(The image is quite large, you can click to enlarge it)
However, during playtesting, it showed that this was way too confusing. It was almost impossible to figure out which upgrades to go for next, which ones were more important or even required, and which not.
Thus, we decided that we needed to go for a hybrid approach instead.
New approach - Categorizing upgrades
To make the upgrades easier to understand, we started separating them into 3 different categories:
Milestones
Milestones are upgrades that unlock new technologies which allow you to produce new types of shapes. These upgrades are required for the progression within the game and can not be skipped, for example painting shapes. Milestones are supposed to be large goals you work towards for a while, while also pursuing other goals in the meantime since they can take a while to complete.
Basically we went over all upgrades and asked the question "Will the game experience be bad if the player doesn't unlock this?". For the current alpha, we already ended with 14 milestones, although we plan to add a lot more content, even for the early access release.
QoL Upgrades
Quality-of-life upgrades are upgrades like the storage, counter-clockwise rotator, decorations, labels and so on. These are upgrades that you can go for if desired, and they can make a lot of sense for your factory, but they are not required to progress in the game. Thus, you have a lot more choice if and when during your playthrough you want to unlock them.
"Flat" Upgrades
Flat upgrades are upgrades like Belt Speed, Platform Limit, HUB Size which just have different tiers (i.e. Belt Speed 1, Belt Speed 2, ...). Those upgrades are supposed to be infinite, but we haven't figured this out exactly yet.
Organizing the upgrades
To connect the upgrades together in the research UI, we started with a linear progression at the top. We put the milestones in a linear order, which is very similar to the levels system in shapez 1.
Then we started categorizing the QoL and Flat upgrades into different categories like Transport, Processing, Fluids and so on. Each category got their own little tech-tree, in which you can unlock the QoL upgrades, as well as an area at the bottom for the flat upgrades to better separate them:
The QoL and Flat upgrades can depend on previous upgrades, as well as milestones. For example, if a QoL upgrade requires red circles, it will most likely depend on the "Painting" milestone. This is also shown so you have an idea which shapes you can already produce, and which ones need new technologies first.
You can also pin all upgrades to your screen to track them:
With this change, you now have a lot more control when to unlock optional upgrades, while still having a guideline through the game progression! While we really like the new system, we'd love to hear your feedback and thoughts on it though!
Random Goals - Replayability
While the new system makes the replayability a little better, it's still not great. Thus, we are planning to add a "seed" to the research tree.
All shapes you have to produce are then randomly generated, instead of predefined. There is a standard seed (0) which is the default research tree, but you can enter another seed to get an entirely different set of shapes.
This means that whenever you want to start a new playthrough of shapez 2, you don't end up having to produce the same shape again and again, but instead every time it's a new one!
Additionally, this also allows us to have a much better difficulty setting than just increasing the amount of required shapes for every goal:
Basically, we will develop an algorithm that allows to create a shape requirement, given a set of currently available technologies and desired difficulty. The more difficult, the more steps (like cut, rotate, ...) and resources need to be chained to produce the shape.
If you then play on "easy" difficulty, you will get shapes that require far less steps than on "insane". Of course, in the beginning of the game both modes will still require simple shapes (since you can't produce more complex ones) but especially in the end of the game it will be a huge difference!
We hope that this makes the game a lot more replayable and I'd love to hear your thoughts on it!
Blueprints
A big, if not the biggest complaint in shapez 1 was that blueprints unlocked a little late. Basically the issue with blueprints is, the earlier they are unlocked, the simpler the blueprint shape needs to be (because you can't produce more complex ones at that point).
For shapez 2, we wanted to change this, so we came up with the idea of blueprint points:
You unlock blueprints very early, and in order to gain the blueprint points (BP), you need to deliver a certain shape which is then converted into points:
Once you unlock new milestones, you also unlock new shapes you can deliver to more efficiently generate the blueprint points:
Basically if you deliver the left shape, you get 1 blueprint point, whereas you get 100 if you deliver the right shape.
Copying structures or islands then cost blueprint points, and exponentially more the larger the blueprint or island is:
This allows us to make blueprints available a lot earlier, but still having interesting blueprint shapes later in the game!
Let us know what you think about this as well!
PS: There will also be a blueprint library - you can already share and load blueprint strings in the current alpha, but we want to make it easy to also create collections of blueprints, store them, share them and so on! But more on that in another devlog!
In this devlog I wanted to share some insights how the map in shapez 2 works, which is mainly based around the concept of building space stations platforms.
Here's a quick screenshot of how the islands look like, although it is already outdated:
However, to understand why the concept ended up the way it is, we need to look at how shapez 2 evolved:
IMPORTANT NOTICE: This devlog includes a lot of old screenshots, alpha footage and placeholders. The final game will look very different!
How it started
Back in July 2022 when I started prototyping shapez 2, this is how it looked:
As you might notice immediately - I actually started with a hexagonal grid. This originated from a survey on the shapez 1 discord, and was basically my starting idea to distinguish shapez 2 from shapez 1:
It quickly evolved, and starting from the beginning I already wanted all machines to be open:
However, once I actually started to implement basic belt placement, I ran into the first issues already.
Placing straight belts on a hexagonal grid is possible, but only in 3 directions. This leads to weird looking sharp-turn belts. Disabling sharp turns didn't make it any better though, since then connecting machines got really annoying, and you still can't have straight belts in all directions:
Additionally, symmetry and tilable designs are possible, but work very differently in a hexagonal grid:
Which is, after long consideration, I decided to drop the hexagonal grid, in favour of allowing to build multidimensional factories (which we will cover in another devlog!).
Infinite map?
I definitely wanted to have an infinite, procedurally generated map for shapez 2. However, to make it look more interesting than in shapez 1, initially I wanted to introduce a concept of "Biomes". Biomes could be areas that contain exclusively red color patches for example. This would also incentivize the new mass transport features.
Here is a first overview how it looked with those different biomes:
The result was not pleasing, but because I wanted to keep shapez 2 abstract, I couldn't just introduce styles like "Forest " or "Water" which would have made it more interesting.
Thus we came up with the "Islands" concept (they are still called like this internally), which evolved around the idea of, while still having infinite space, having to build the playable area yourself:
The idea was that you could craft islands by using shapes:
Basically better islands would cost more and/or better shapes, and they could also have shape and color resources.
After a few iterations, we simplified the crafting dialog:
However, while playtesting, we found that the crafting mechanic wasn't really interesting. The main issue was that the organic factor was entirely missing, thus every playthrough would be the same. And I didn't want to introduce randomness into the crafting, since that would not fit the concept of shapez.
To fix this, we decided the resources should instead spawn procedurally on the map again, and to mine them there will be special miner "islands":
Here is an early screenshot of the map, although the resource distribution is temporary and will change!
I hope you can already see at which scale you'll be able to build within shapez 2!
Modular Designs
Another feature of the islands was allowing to build modular - the idea was that in the lategame, you no longer have to build individual islands but instead you have an island that contains only cutters or stackers and you can rearrange them - building on a much, much larger scale. The idea was basically that these modules are like a building from shapez 1, but instead it was built and designed by yourself!
(If you want to find out more about building modular, Giantwaffle showed it during his exclusive stream of the alpha)
This is a first draft how I wanted it to work:
Art Style Change
During the transition, we also introduced an art style change, which is a topic for another devlog! However, because we changed to an "Abstract Space" style, the islands now became space station platforms:
Island Layouts
I wanted to have different layouts of islands which allow for interesting combinations, while not being too simple. Inspired by the idea of "Pentominos", every island consists out of chunks which are up to 16x16 tiles large.
The layouts for the islands are not determined yet, but we will try to make sure that every layout has a use and it doesn't get too much of a puzzle (i.e. there should be some puzzle aspect - but it could also get very frustrating if the layouts don't fit together nicely).
Inter-Island Transport
Additionally to the mass transport (trains - covered in another devlog) we of course also need local transport between islands.
To make the islands actually meaningful, it was clear that we can not just allow transport on all sides of the island. Otherwise, there would be no actual difference to an infinite map.
Thus, we came up with the idea of "notches", only allowing to transport shapes at certain locations of an island:
The concept is very simple: There is a building (we call it "belt port" internally) that allows you to catapult shapes over a certain range. Because the distance between two islands is higher than the maximum range of the belt port, transport is not possible. But because the "notch" has 4 tiles that are closer to the other island, these are the places where you can exchange shapes between islands.
A notch allows for 4 of these buildings per layer - so once having unlocked 3 layers, that means effective 12 belts throughput (throughput of the belt ports is identical to the belts):
Notches are displaced, so that if both islands have a notch at this location, you actually get twice the throughput:
As you can see, they are also bi-directional (which is actually something we are considering to change - let us know what you think!)
Island costs
We spent a long time thinking about the costs of the islands. Since we removed the crafting mechanic, at this point the islands were entirely free to place.
The first idea was to make them still cost a certain shape. However, then we figured it makes a lot more sense to instead keep them free, because it would fit the concept of shapez best - buildings are free as well, after all.
This incentivices playing around with the islands, rearranging them, deleting them without having any penalty attached to it.
To still reward building optimized factories, we then introduced a "limit" to the maximum chunks you can place, which can be increased via research. Every island consists of multiple chunks (as shown above), so larger islands are more "expensive". But because it is just a limit and not a cost, you can just play around find out what works best for you!
As you can see, the cost if the island (4 chunks) is shown when placing it, as well as the current usage and the limit.
Of course, the limit can be increased via research, and we actually want to make it an infinite research so your factory can grow forever!
Further topics
Writing this devlog has actually been incredibly difficult, because there are so many more topics I could dive into, but even writing this together already took quite a while! (Which is why I had to delay it by one day).
However, I wanted to already give you an insight on what topics you can expect from further devlogs:
- Fluids & Fluid packaging - Multidimensional factories - Crystals - Trains - Research Tree - New blueprint system & currency - Art style change - ... and so much more!
If this was an interesting read to you, please let me know in the comments so I know the devlogs are appreciated!
And if you want to stay informed about the upcoming devlogs, giveaways and more, please follow the Shapez 2 store page:
Follow to get updates
PS: In order to get updates, be sure to wishlist AND follow Shapez 2, since just wishlisting doesn't give you any notifications on new events & updates!
Please note: This devlog might contain spoilers regarding shapez 1, if you haven't completed level 20 yet.
Recap from shapez 1 - The old system
In shapez 1, the stacking basically works like this:
If you combine two shapes, let's say, two halves, it will combine them on a single layer:
However, if you try to stack shapes that have overlapping parts, the right shape will stack "on top" of the other shape, effectively getting smaller:
The reason for the upper shape is getting smaller is making sure you can still read both layers.
It can get more complex quickly though - what if the shapes only partially overlap? In this case, you will produce an overhang:
If you now try to cut this overhang, the right side "falls down" and gets bigger again:
Here for example is how you produce a shape that has a "floating" piece which is not connected to anything else (like in the logo):
Using this mechanic is required to produce the logo (level 20) shape - and it can be very unintuitive. In fact, it is so unintuitive that we got hundreds of bug reports about "broken stacking mechanics" so far!
The reason to change
When making a survey in the shapez 2 discord about the stacking mechanics, this is what we got out of 927 votes:
A) 31%: I have completed level 20 in shapez 1, and figured the solution on my own B) 51% I have completed level 20 in shapez 1, but I looked up the solution fully or partially C) 3% I stopped at level 20 D) 15% I stopped before level 20
Seeing that only 18% stopped at level 20 or before - it shows that this is really represents the core audience of shapez, having played the game at least for 10 hours +.
And yet, out of the 82% who completed level 20, effectively 62% had to look up the solution on the internet!
This showed us that the mechanic definitely needs a change, and this is what we did in Shapez 2.
Stacking in Shapez 2
Our goal for Shapez 2 was, besides of making all buildings open, making the game more accessible. This also includes making all mechanics feel like a challenge, but not like a bug, and thus they have to be intuitive.
I'll simply show the exact same setup from above, but this time in shapez 2. (PS: There are alpha builds available in the discord, if you want to try it yourself!)
Again, if you combine 2 halves, it looks like this:
If you stack 2 shapes that have overlapping parts, it looks like this:
If you stack 2 shapes that only partially overlap, it looks like this:
So far so good - but what happens if you now try to cut the overhang?
As you can see, there is now a little animation showing how the overhang is falling down and resizing to its original size.
This also applies if you try to build a floating shape:
As you can see - the overhang now falls down as well!
This means that floating shapes, which are not connected to any adjacent shape, are not possible in Shapez 2 - are they?
Let me introduce you the new pin mechanic!
Pin Pushers
To allow to produce floating shapes in shapez 2, we wanted a mechanic that makes more sense and also looks "reasonable" with the new 3D environment - having parts just float in the air would look weird and inconsistent.
Thus, we are introducing a new mechanic - the pin pusher.
It introduces a new "shape part" type (Short code: "P-"), that is a little different compared to the other shape parts. It effectively removes a whole quadrant and replaces it with a single pin.
Utilizing the pin, you can create floating shapes again:
This makes whole process a lot more intuitive. And you can produce some pretty .. interesting shapes! Notice how the right shape is actually the "a" from our new logo - a shape you can only produce in Shapez 2!
The algorithm
The shape stacking logic has been created completely from scratch in Shapez 2. It now does an actual, physics based simulation of the shape (which is of course cached, so it's very efficient).
The first step is identifying "groups" within a shape. 2 parts of a shape count connected if:
- They are on the same layer - They are adjacent quadrants (i.e. top right and bottom left wouldn't connect) - Both are a "full" shape - that means, not a pin
A group is connected physically, so it means that when it falls down, all parts fall down by the same amount.
After identifying the groups, we run our "physics" simulation which basically applies gravity to all groups, until the shape is not changing anymore.
This might sound rather complex at first, but the behaviour is actually a lot more intuitive if you try out!
PS: Again, there are alpha builds available in the discord, if you want to try it yourself!
PPS: If you are interested in the exact details - you can find the C# Source here! We are always happy to get suggestions on the code, just like in shapez 1.
Further mechanics
The floating shapes mechanic was a beloved mechanic from a lot of veteran shapez 1 players, and we are very well aware that the pin pusher mechanic simplifies the process quite a bit. Especially for those who love (hard) puzzles, there is now a gap.
However, don't worry - this is why we are introducing additional shape mechanics as well, such as crystals!
Be sure to follow the Store Page to get notified about new devlogs covering those mechanics!
PS: Did you notice all GIFs loop seamlessly? This was actually a lot of work! If you like the devlogs, let us know in the comments so we know it's appreciated :)
The response to the latest devlog was super positive, so I thought I'd try to give you more regular updates now! This devlog is covering the topic of cutters, rotationally dependent shapes and much more. Enjoy the read!
Cutters have often caused confusing in shapez 1 already. Here's a quick reminder how they work:
Basically the right side of the cutter always outputs the right half of the shape, no matter the orientation. There is actually a good reason to not just cut the shape in half like a wedge on a belt: It would break blueprints.
Imagine having a blueprint with cutters and rotating it - the blueprint would now work differently, being effectively useless.
However, we felt that this is still a suboptimal solution, since there were frequent "bug" reports of the cutter not working, which was due to a misunderstanding how it works.
For shapez 2, we wanted to revisit this mechanic, and here's what we ran into:
Making the cutter 'open'
As mentioned in the previous devlog, one step to make the cutter more obvious was to make it fully animated:
However .. Besides of the animation & mesh being work in progress, I'm not sure this makes it any better at all to be honest. While the process is more visible - it's still very hard to determine how the cutter will cut.
Camera Rotation / North indicator
Another issue is - while the camera rotation in shapez 1 was fixed, you can fully rotate the camera in shapez 2. In order to determine how a cutter will cut, you now also have to factor in the camera rotation. For example, if you revisit the gif from above - are you wondering why the cutter is putting the right side on the left belt?
This is actually because the camera is rotated by 180 degrees - the cutter is actually facing downwards. To better show in which direction the camera is currently facing, we added a small compass:
As well as a small indicator (WIP!) on the shape:
Belt Relative Rotation
At some point, there was the suggestion for belt relative rotations. What does this mean? Basically, right now, all shapes always point upwards. This means that the cutter also always has to cut from top to bottom.
If the north of the shape would now be aligned instead towards the direction of the belt, the cutter could always cut in that direction, because even if you rotate the cutter, you'd get the same result.
While this would partially solve the cutter issue - it now introduces a whole bunch of other issues. For example, as you can see in the gif, it's now extremely hard to predict how the stacker will combine the shapes, because they rotate on every belt corner. Which is, after quite an extensive discussion on the shapez 2 discord, we decided against it.
Rotation for Research Goals
Another issue we ran into: In which direction would you actually have to deliver the shape into the hub? In shapez 1, the shape had to be rotated in the correct direction in order to be accepted.
However, can you spot the issue on this screenshot?
Because the camera is rotated by 180 degrees, it looks like you would be delivering the shape in the correct rotation, while in fact you are delivering a shape that is flipped.
This lead to a lot of confusion - and even bug reports like "HUB is not accepting shapes".
To avoid this, we simply now allow the shape to be delivered in any rotation into the hub (However - if you are looking for a more hardcore experience, we are considering to add an achievement to deliver all shapes in the correct orientation! And probably also an option in the game creation settings, although probably not on the initial release).
PS: Did I already mention the artists are currently reworking the hub? Follow the shapez 2 store page to receive future updates!
Operation Previews
Another improvement we made to make using cutters (and other buildings) a little easier: Whenever you are about to place a building, it shows you the predicted output:
Simplifying the onboarding / "Light" Cutter
We've been really trying a lot to make the cutter easier to understand, however even with all the improvements, the cutter can be hard to understand.
Because the cutter is the very first processing building you unlock, we felt that it can quickly overwhelm new players.
Thus, we came up with a solution - A "light" cutter which only outputs one half of the shape, and trashes the other side. This avoids the whole directional conflict, has a much simpler animation, and is easier to understand:
(The mesh is a placeholder)
Later in the game, you can then unlock the full cutter as an additional unlock, effectively "flattening" the difficulty curve a bit, while you can still choose to rush it.
And the great thing is, the light cutter still has its use case after unlocking the full cutter: If you only need one half of the shape, it's more efficient (space & throughput) to use the light cutter.
Follow & Wishlist!
Be sure to follow Shapez 2 on Steam to receive notifications about future devlogs!
Shapez 2 will be partially funded by the German Government via the "Computerspielförderung 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!