1. FOUNDRY
  2. News

FOUNDRY News

DevBlog #59 | Foundry Fridays: Data Cable System

Hello everyone!

In today's FOUNDRY Friday I am going to shed light on one of the core features of our upcoming update, the data cable system.

In case you’ve missed it: Update 1, Cables & Creations, launches on the 13th of August and you can find an overview here, or watch the new Update First Look Dev Stream on our YouTube channel.

[h3]What is the Data Cable System?[/h3]
First I want to broadly summarize what data cables are and what you can do with them. Generally speaking, the data system can be used to programmatically interfere with many different machines. Think of data cables like Ethernet. They allow you to read data from various machines (for example read the contents of a logistics container), and to process such data (arithmetic, logical and conditional operations), the results of which can be used to control machine behavior (for example to disable a machine based on a certain condition).


It is hard to speak of it in abstract terms, but it is a lot easier to understand when we’re looking at examples. Therefore the next section will cover how the system looks in terms of gameplay elements, so that you can get a better understanding, and then we are looking at a few examples.

Finally I want to mention that this is an advanced gameplay system that isn’t forced onto players. It is optional and not required to complete the game. For the more sophisticated players however there are opportunities to further improve your factories and make them behave the way you desire.

[h3]Gameplay Mechanics, Part One[/h3]
The core of the system is a new item, the data cable. It is a one voxel sized object that represents a data cable, when built next to each other they automatically merge together and form a data network. Similar to the way pipes work, but you don’t need to manually select the shapes (like curves, T-crossings, …) to build the cable networks you want.


All supported buildings have a data cable connector (will be highlighted as soon as you have the data cable equipped), that in the same way automatically connects to any adjacent cable.


Once a machine is connected to a data network you can configure it on a special interface opened through the handheld tablet and let it behave the way you want it to, for example configure a battery to broadcast its charge percentage.



Data networks are made of signals, and a signal is made of two things, the signal type and the signal value. In FOUNDRY there is a signal type per game item and on top of that there are a bunch of custom signals representing letters, numbers and colors. Some of you might have seen similar systems and will immediately know what's up, but for the ones of you that are reading something like this for the first time: Stick with me, it’s less complicated than it sounds, I promise!


[h3]Example: Disable a loader or belt depending on item count in a container[/h3]

Once a logistics container is connected to a data cable network it will automatically broadcast all its content. Let’s assume it contains 200 Biomass, that means it will broadcast a signal of the type “Biomass” with a value of 200.



If the same data network is connected to a conveyor belt or loader, we can set the “enable based on condition” setting and tell the machine to only operate if a certain condition is true. An example would be to configure that the machine only operates if there are more than 100 Biomass items in the logistics container.

[h3]Example: Turn off lights based on time of day[/h3]

Solar panels can broadcast the sun angle in degrees (0-359), this then can be used to configure lights so that they are only enabled during certain times of the day. Conserves power and might look better!

Note: Because of their size not all lights have a data cable connection, however transformers can also be disabled should you have your lights on an isolated building wall or ceiling.

[h3]Example: Generators that only run when your batteries are low[/h3]

Batteries can broadcast their charge rate in percentage (0-100), this can be used to tell back-up generators to power up so that your factory doesn’t run out of power.



Stretch–goal: If you keep the condition simple (charge rate below 20%) the generators would most likely circle rather rapidly between an on and off state as they would raise the charge rate above the threshold and then after they shut down it would quickly fall below the threshold again. However, through advanced logic you could set it up so that those generators should start as soon as the charge rate falls below 20% and only stop once the charge rate is back up above 80%.

[h3]Example: Make a light switch[/h3]

We have custom data system interaction objects, like buttons, levers or static data sources. Use a lever to make your own light switch, all you need to do is link the lever to the lights you want to remote control and configure the signals accordingly. In that case that means you pick a signal your lever should broadcast and tell the lights to listen to it.

This signal-type based logic allows you to connect multiple lights to the same data network and potentially use different levers with different signals to control different lights without the need of having multiple data networks.

[h3]Data System Buildings & Data Manipulation[/h3]
Together with the data cables this update will also bring a few related machines that can be used to further interact with the data system.

Data Processor
The data processor allows arithmetic and logical operations on signals. It supports the basics like add, subtract, multiply and divide, but also more advanced operations like modulo or logical AND, OR and XOR.

It comes with an optionally configurable condition so that you can easily set up something like “subtract 10 if value is above 20”.

Data Evaluator
Use this to check for various conditions, basically a “if-then”-behavior. Supports all regular comparison operators like equals, non-equal, smaller, smaller or equals, and so on.

Data Sources
Data sources are objects that broadcast one or more configured signals. There is a static signal source that will constantly broadcast the signals, a lever-version that you can interact with in world space and a button that will only pulse the configured signals once.



Data Memory Cell
The memory cell listens to a certain signal on an input network and will indefinitely store the last non-zero value, which can then be broadcast on the output network. It can listen to a reset signal which will reset the stored value as soon as the reset signal is present (not zero).


[h3]Gameplay Mechanics, Part Two[/h3]
I know that many of you want to know the specifics and limitations of that system, so this paragraph is for our technically versed user base:

  • Data networks are updated 60 times a second, once per game tick.
  • On a network all signal types are constantly present with a default value of zero, which makes it hidden in the UI.
  • Signal values are whole numbers in the range of a 32 bit signed integer.
  • Signals values are additive, multiple machines broadcasting the same signal will have their values summed up.
  • Data manipulation buildings do not require power as the result of breaking data systems because of missing power would be too frustrating.
  • For certain buildings and operations there are advanced signal types like “Each” or “Any” that can be used to perform bulk-operations.
Yes, you can build those types of things...
[h3]More to come[/h3]
This is the first iteration of the data system and there are more features planned, we have quite a few ideas for more data system buildings. A few examples would be screens that can display certain signal values, a way to create your own notification system (for example to receive a notification when an ore patch runs out of ore) or more creative use-cases like creating your own light shows.

We feel that the current update has a good feature-set to make this into a meaningful addition and we’re looking forward to hearing your feedback and to see what you will build with this system.

Hope you’ll enjoy the upcoming update,
-mrmcd


Follow us on socials:


Stay tuned for more news!

https://store.steampowered.com/app/983870/FOUNDRY/

Cables & Creations Update coming August 13th!

Hello everyone!

We are happy to announce that the new FOUNDRY update with a cool name "Cables & Creations" is coming next week, August 13th!
Upgrade your advanced processes and gain unprecedented control over your factory operations with the new Data Cables, or expand your creative horizons while delving into Steam Workshop with the addition of mod support. Endless possibilities will be there waiting to be explored when Cables & Creations come together in this update.

[h3]Watch the recording of the Update 1 First Looks stream with the Devs on our YouTube Channel![/h3]

While the full patch notes will be revealed upon release, here is the list of the highlights:

[h2]Data Cables[/h2]
Revolutionize your production lines with Data Cables. Connect and transfer data between machines, build your own logic and streamline your production process by setting precise conditions for machine and logistic operations.

[h2]Mod Support[/h2]
Customize your production lines in ways you couldn’t have imagined before with community-made content. The Steam Workshop offers a treasure trove of creativity to expand your factory.

[h2]World Generation Resources Settings [/h2]
Customize your experience and adjust the quantity and richness of ore to suit your playstyle, ensuring that each new world you create is perfectly balanced for your needs.

[h2]Liquid Transport Ships[/h2]
These vessels move essential materials and are specialized in transporting liquids and gases. This addition ensures that your factory's liquid resources are managed with the same efficiency as your solid items.

[h2]New Decorative Blocks [/h2]
Add flair to your factory with new decorative blocks. Whether you're building for function or aesthetics, these new blocks help make your creations stand out.

[h2]Utility Buildings[/h2]
Benefit from more lighting options and faster escalators to move around your factory quickly, improving navigation and management.

[h2]Better Screen Panel Accessibility[/h2]
Easily read and interact with controls on your machine panels even in dense factory configurations or on small screens with the improved screen panel accessibility.


Quite a lot of stuff, right? If you want to know what else we are working on, check the roadmap video we released recently!

Follow us on socials:


Stay tuned for more news!

https://store.steampowered.com/app/983870/FOUNDRY/

Watch the Devs talking about FOUNDRY Roadmap!

Hello everyone!

We revealed our Roadmap a while ago, but we never properly commented on the content of it — and now it's time to fix it! Watch the video on our YouTube during which the developers will talk about their plans for every specific feature and what is the reasoning behind each of them:

[previewyoutube][/previewyoutube]

Don't forget to subscribe to our channel for more cool video content!

Follow us on socials:


Stay tuned for more news!

https://store.steampowered.com/app/983870/FOUNDRY/

DevBlog #58 | Foundry Fridays: Mod Support

Hello everyone!

For this Foundry Friday I wanted to talk about the upcoming Steam Workshop support along with a some of the modding tools that we will be releasing in the next update. But before we get into the details, there's one 'mod' that we've made to the Foundry team that I'm extremely excited to share with you...

We are extremely proud and honored to have Erkle join the Foundry Team! For those of you who've been following the modding channel on discord, you'll already be aware of all the cool mods Erkle has been creating for the game such as the tweaks and blueprint systems. Given how familiar
Erkle is with modding Foundry, teaming up just made sense. Now lets talk about some of the modding tools we're adding this update...

[h2]Steam Workshop Support[/h2]
The first thing to mention is that we're adding Steam Workshop support to Foundry. This means you can now share/download all your favourite mods through the workshop. There's also now an in game mod menu where you can manage your mods:


[h2]Game Tweaks[/h2]
The next thing to talk about is that we've(Erkle) integrated Erkle's game tweaking system directly into the Foundry. Some of you who've been following the modding channel on the discord have already been using this sytem to make tweaks of your own. For those of you who are unfamiliar with the tweak system, it lets you create/edit recipes, research, items, machines etc just by creating a few simple text files. Here is an example of a tweak that changes the machinery parts crafting recipe so that it now produces 4 items instead of 1:

CraftingRecipe:
_base_mic_i:
output_data:
- identifier: _base_mic_i
amount: 4


[h2]Foundry Mod Kit(Early Access)/Foundry Asset Packs[/h2]
The last thing two things I wanted to talk about are The Foundry Mod Kit and the Foundry Asset Packs. The Foundry Mod Kit is a Unity project which lets you bring in your own new assets such as new textures/models/materials into the game. The Foundry Asset Packs allow you to download Foundry game assets into the Mod Kit to use as a template which you can then change/replace/kit bash as you please.

Here's an example where I've downloaded the Assembler I Asset Pack into Unity:



And then with the help of our art director(Jason), we created a new Erkle themed assembler called the ErkleFab. The ErkleFab uses new materials/model/animations while still reusing the screen panels from the base game:



And here it is in game:
[previewyoutube][/previewyoutube]

Here's another example I used to test the mod kit where I've taken a modular sci fi base building kit from the Unity Asset Store and turned it into a mod. You'll notice that the sci fi lights actually affect the voxel lighting system and the new sci fi doors have new models/materials while still using the existing door switches from the base game:
[previewyoutube][/previewyoutube]

The SciFi base building kit, the ErkleFab along with many of Erkle's other mods such as the blueprint mod will be available on the Steam Workshop as part of this upcoming update.

A big thanks goes to Zirus, Jason and Erkle who've done a lot of work to put this whole system together! We're all very excited to see what kind of mods you guys create!

Thanks for listening!
-Cheerio

[h3]Check out the roadmap to find out about other planned features![/h3]

Follow us on socials:


Stay tuned for more news!

https://store.steampowered.com/app/983870/FOUNDRY/

DevBlog #57 | Foundry Fridays: Screen Panel Pass

Greetings Founders! I’m trying really hard to make that stick

We have been hard at work on the next update, tinkering away on systems, recipes and buildings - as well as a few surprises. But, I wanted to take some time to show how we have addressed a very common piece of usability feedback, the almighty screen panels.


[h2]The Problem[/h2]
As you know, Foundry features a world space UI on many of our machines, adding a sense of immersion and context as you interact with these devices. It’s a great mechanism for allowing you fine grained control of a building, even as your factory grows in complexity. We have done a ton of work to make these world space interfaces performant and scale with your builds- but in many dense configurations (or when playing on small screens like the Steam Deck) it can be difficult to both read and interact with these panels. Even more common, is that a friendly loader blocks you from getting right up against the panel.


[h2]The Solution[/h2]
It’s hard to take credit for this solution, because it was directly suggested numerous times in feedback reports and on the game's official discord. When looking at a screen panel you can now press interact (E) to open up a screen space representation of the UI. This UI is consistently placed in the center of your screen and does not block other screen space UI interactions, like moving around your inventory.



This new UI space panel has much larger, more readable, text. Your mouse opens at the center of the screen each time, and the UI is consistently placed/sized, which means configuration movements will be consistent between panels. And for those prone to it, you also have a locked camera rotation helping reduce nausea.


Right now we have the interaction set so you need to look at the panel to interact with it. We did this because a few buildings have multiple panels, but it may be possible to tweak the system so you can interact with the panel simply by targeting the larger building. We are still unsure if the context of having interacted directly with the panel is worth the loss in usability of being able to sloppily interact with the building. I’m really looking forward to hearing different thoughts on how this should be rolled out.



[h2]Quality Of Life[/h2]
We have received tons of feedback on how to make the minute to minute experience of Foundry better, but we are always looking for more. What’s the one thing you wish we would fix/improve/rework in Foundry to have a better time? Let us know in the comments or on the official discord.

Cheers,
-Mark

[h3]Check out the roadmap to find out about other planned features![/h3]

Follow us on socials:


Stay tuned for more news!

https://store.steampowered.com/app/983870/FOUNDRY/