1. FOUNDRY
  2. News

FOUNDRY News

DevBlog #42 | Foundry Fridays: Long Distance Transportation

Hello everyone!

Today it is time for an update on an often requested gameplay feature: Long distance transportation.
Our ore patches can be quite far out, especially once you made it to the mid or end-game. Many of you brought up that it is not very feasible - and neither fun - to build so-called “conveyor highways” to bring in your ore to the main base.
We always planned for mechanics which allow movement of goods over a long distance in a simplified way, and today we show you the first of those technologies: Transport Ships.


With them you can move all sorts of goods from one landing platform to another. The platforms are very large, so the technology isn't made for moving goods from one place inside your factory to another, it is for when greater distances need to be covered.

I will go into detail on how they work further below, first I want to talk about long distance transportation in general. Although this isn’t a guarantee, we ultimately plan to have multiple long distance transportation methods. Our transport ships are the first type. The other ones aren’t as time-critical now that the gameplay issue of moving large amounts of items to a different spot is solved, so don’t expect others to arrive quickly. But we do know that you all want trains and we’re going to look into it after we have launched into Early Access.

[h2]Transport Ships[/h2]
Let’s have a look on how to set them up and how they work. It all starts with two platforms, the target (drop-off) and the origin (pick-up) platform/station.


You set a name for the target station, let’s say “Xenoferrite Smeltery”, and assign it at the origin station so that it knows where to move the items. Multiple origin stations can have the same target station assigned. That means multiple ore mines could deliver to the same central pad if you want to set it up like that.


After that you need to configure the conditions on when the ship should start, you get detailed control on how they should behave. You can select either a percentage of the inventory or a certain amount of time passed. You can also combine them to create something like “both need to be true” or “just one of those needs to be true”.



Once the configured conditions are fulfilled, your ship will take off and fly to the target station. There it will unload and then fly back home. The way flying works is that they ascend upwards in a straight path, until they are outside of the buildable area and then they will fly straight to the point above the target station, where they will descend down again. That means both platforms must have an empty path upwards (must not be blocked by terrain, buildings, …). Their screen panels warn you if that is not the case.

There is no distance limitation, but the further they fly, the more they need to recharge once they are back home.

Here’s a video of them flying:
[previewyoutube][/previewyoutube]
Please keep in mind, this is work in progress. Animations, balancing and other things may change a bit and/or will receive more polishing.

[h2]Wait, you can go inside?[/h2]
Yep, you can. There’s an interior and a pilot and you can jump on and ride from one station to another. Currently you need to guess the time it will take off (depending on the conditions set), but we’re thinking about adding some option to tell the robot pilot to just go now if you need a ride. Although we might also create a second system for that. Using cargo ships for personal travel seems slightly wasteful.


I hope you have enjoyed today's FOUNDRY Friday and I hope to see you next time!
-mrmcd



Follow us on socials:

Stay tuned for more news!

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

DevBlog #41 | Foundry Fridays: Regrowable Plants & Trees



Welcome everyone to another episode of FOUNDRY Fridays! My name is Michael aka Lxi and I’m the “oldest” member of the team. I joined MrMcDuck roughly six to twelve months after he started this awesome project and it has been a fun ride ever since! It’s exciting to see how the game has developed so far and your feedback has been a crucial part of the journey. Therefore today’s topic is about an often requested feature I’m currently implementing, the possibility to regrow plants and trees.

If you want to design a factory surrounded by nature you won’t have to design it around the existing plants and trees anymore. We’ll provide you with the tools necessary to plant trees and plants wherever you like from seeds.

[h2]How does it work in detail?[/h2]
When you mine a plant or tree there is a possibility that it drops a seed beside the biomass you normally get. Currently it’s planned that each biome has two types of seeds: one for plants and one for trees.



Once you have obtained a seed you can use it like a building to place a plant/tree from the seed family. Use the radial menu which plant/tree you want to plant. Your plant or tree won’t spawn at its full height once placed, but will need time to grow. If you mine it shortly after placing it, you will get the seed back, so you don’t waste any seeds by accidentally misplacing it. As it’s growing larger it will yield a percentage of the biomass you would receive when it’s fully grown once mined, depending on the growth percentage.


Growth speed is accelerated for demonstration purposes.

[h2]I don’t want to mine 1000 trees to grow my own forest![/h2]

Great! We don’t want you to either! That’s where our new building, the Greenhouse, comes into play. The Greenhouse will be able to duplicate a certain type of seed by inserting a seed alongside with some other items/liquids. However duplicating the seed won’t work every time, there is only a percent chance that the Greenhouse will do so. This way we introduce a new kind of production cycle/gameplay: You will need to build “seed loops” and only extract the overproduced seeds to keep it going. Hint: The balancers provide a great way to help you achieve this by using the output priority setting.
Unfortunately I can’t show images of the Greenhouse yet, since the model isn’t yet finished.

Keep in mind that all of this is work in progress and might change in some ways, but it feels like this is the right amount of depth we currently want for this feature. Looking forward to your feedback!

All the best,
lxi

Follow us on socials:


Stay tuned for more news!

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

DevBlog #40 | Foundry Fridays: Localization System

[h2]Hello! Hallo! ¡Hola! こんにちは! 안녕하세요![/h2]
Greetings, everyone! I'm Roman, also known as Zirus, and I've joined the FOUNDRY team back in April. Though I'm new to Foundry Fridays, I'm eager to share some exciting improvements we've been making to our Localization System.

[h2]Why the Upgrade to our Localization System?[/h2]
Previously, our Localization was based on simple key-value pairs. But, as we and FOUNDRY's codebase have grown, we've seen the need for a more robust system - especially when a tiny typo could lead to a big headache:



Key

Value



Welcme to Foundry!

Willkommen in Foundry!


Noticed the typo in "Welcome"? Fixing it leads to a lost translation as it ends up being a new key:



Key

Value



Welcome to Foundry!



To address this, we have implemented improvements to the System using unique identifiers for each phrase, which ensures consistency of translations across all languages. We'll look into this more in depth a bit later, but let's take a look at the things that actually need Localization first.

[h2]The Three Pillars of Localization in FOUNDRY[/h2]
Localization in Foundry stands on three pillars:

[h3]Static Localization[/h3]
Upon starting the game, static elements like information messages and headers are set in your chosen language. This content remains constant throughout your experience.


[h3]Dynamic Localization[/h3]
Your in-game actions prompt real-time Localization changes. For instance, the plumber tool adjusts its messages based on singular or plural contexts, ensuring an immersive and accurate gaming experience.



Singular

Plural






[h3]Templates[/h3]
Templates are the backbone of FOUNDRY's content - every machine, crafting recipe or item has its own template. Such templates may have translate-able variables, for instance their display name.



[h2]Enhancing Consistency by Introducing Unique IDs[/h2]
To bolster the integrity and consistency of our Localization System, we've introduced a unique identifier for each translatable phrase. Picture these identifiers as serial numbers assigned to each snippet of text, ensuring that every translation is anchored to a stable reference point. This means that even when the English source text is altered - whether to correct a typo or to update a phrase - the corresponding translations remain reliably linked.

Here's a practical illustration of this system at work:



ID

English

Translation



WELCOME_MESSAGE

Welcome to Foundry!

Willkommen in Foundry!


With this structure, we can address any textual errors without disrupting the existing translations across different languages. This new approach provides a safeguard against the common issue of 'lost' translations that occurred under our previous system when making corrections or updates to the source text.

Certain scenarios may still necessitate a reevaluation of the translation themselves though. For example, if the original English text is updated to the extent that it alters the context or meaning, the translations would need to be revisited to ensure they still convey the intended message accurately.

[h2]The Big Export: Optimizing the Translation Workflow[/h2]
In our pursuit to optimize the translation process, we have developed a specialized parser. This tool is designed to automatically generate Localization files in a format called "portable object". This change streamlines our workflow, making it easier to update our project on CrowdIn.

[h2]Validation: Ensuring Precision in Localization[/h2]
In the complex landscape of Localization, maintaining a clear overview of existing unique identifiers is crucial. To manage this, we've integrated a robust Validation System, designed to be a steadfast ally in the Localization process. This system automatically flags any discrepancies such as overlapping IDs or absent context comments. Here's a glimpse into the kinds of issues it helps us avoid:

[h2]Preventing Duplicate IDs from Causing Confusion[/h2]


ID

Value



MACHINE_EMPTY

Machine is empty



MACHINE_EMPTY

Machine is currently empty


Encountering duplicate IDs with different assigned values can create conflicts within the Localization System, as it relies on IDs to determine the correct text to display in-game. This scenario can lead to inconsistencies, which our Validation System is adept at identifying.

[h2]Avoiding Redundancy with Different IDs for Identical Values[/h2]


ID

Value



MACHINE_EMPTY

Machine is empty



SELECTED_MACHINE_EMPTY

Machine is empty


It's possible to inadvertently create different IDs for the same value. Our system detects such redundancies, alerting us to streamline our Localizations and prevent unnecessary complexity.

[h2]Context Comments for Clear Translation[/h2]
Context is king in translation. To aid our translators, we embed comments within each Localization call, providing them with the necessary background to deliver accurate translations. These comments are essential, especially when viewed in tools such as CrowdIn, where they guide the translation process. This is why the Validation System informs us about calls where these context comments are missing. Here is an example how these comments look in CrowdIn:


[h2]Modding: Empowering Community Creativity[/h2]
Our new Localization System is crafted with the modding community at heart, streamlining the way modders integrate translations into their creations. This modder-centric design allows for seamless utilization of the existing Localization framework during the development phase, ensuring that mods are as language-accessible as the core game itself.

From the initial coding stages to the final touches, modders should be able to:
  • Employ the system to handle in-game text, providing a consistent experience for mod
    users.
  • Export their content into "portable object" files, which are standardized for easy
    translation management.
  • Utilize the Validation System to preemptively catch and correct any potential issues
    with duplicate IDs or missing context, which is crucial for maintaining the integrity of
    the mod's Localization.
  • Load these translations during the game's startup, making sure that no matter where a
    player is from, they can enjoy mods in their native tongue.

Our goal is a robust and accessible environment that empowers modders to share their work with a global audience, removing language barriers that could previously hinder the full enjoyment and reach their creative efforts.

[h2]In Closing[/h2]
We strive to make Localization intuitive for everyone involved - gamers, translators, and modders. Should you have any feedback or suggestions, please feel free to reach out to us on Discord.

I hope you enjoyed this little sneak peek into how we handle Localization. Thanks for
reading!

Cheers, Zirus



Follow us on socials:


Stay tuned for more news!

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

Take the survey about Foundry and Check out the screenshot contest results!

Hello everyone!

Thank you so much for playing our Demo during the last two weeks! We received a lot of positive feedback from you that gave us a lot of energy to work even harder on the upcoming Early Access.

We would love to learn more about your motivation and interests in general, so we invite you to participate in a survey and answer a few questions. We’ll read through every reply so it will be very helpful for us!

TAKE THE SURVEY

Moreover, we are happy to announce the winners of the screenshot contest. Check out our Discord to know who won Paradox merch or a reference in FOUNDRY!

Follow us on socials:


Stay tuned for more news!

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

DevBlog #39 | Foundry Fridays: Next Fest Recap



Hello everyone!

Our team is very happy that so many of you played our demo during Steam Next Fest. For that we want to thank you wholeheartedly and it will be today's topic for our FOUNDRY Friday blog.

[h2]Next Fest Recap[/h2]
Let us begin with a look into some numbers, around 100.000 people played our demo during the past week. You sent us around 5.000 messages of feedback through our ingame feedback tool (and we read them all!). There were several hundreds of Steam forum posts, many thousands of Discord messages and hundreds of Reddit & Twitter(X) posts and comments.
Our community has always been a key focus for us and we could not be any happier to see it so active. Your feedback is invaluable and will help us make a better game.

Additionally we have been constantly ranking high on the top lists of “Trending” and “Daily Active Demo Users'' which secured us frontpage exposure. This helped to get the game more prominent and made us more confident that there is great interest in FOUNDRY.


[h2]What’s next?[/h2]
The feedback you sent was overall very positive, yet you provided us with lots of suggestions on how to improve the game further. We are currently working towards our Steam Early Access launch and we will try to incorporate as many of your suggestions as possible into the game - many of them will only be possible to add after our Steam launch though. We are not ready to reveal exact release dates yet, but keep an eye on our socials and steam page as something is always going on there. We'll keep you posted!
While most suggestions were smaller features like usability improvements, there were two big topics that were heavily requested:

[h3]The goal[/h3]
Many of you expressed that you need more reason to play the game than to unlock all of the research tree. We have good news here: This was always planned, and to a certain degree that will be part of our Early Access launch. We cannot reveal too much yet, but FOUNDRY will provide you with certain narrative milestones to work towards. However there is not going to be a story, quests or other things like that, as at its heart the game will remain a sandbox. But there will be some background lore to discover.

[h3]A pressure mechanic[/h3]
A sort of pressure (be it enemies or other sources of danger) was always heavily requested and kept being the most asked feature after receiving your demo feedback. And before we get into the topic: If we ever add a pressure mechanic, it will always be optional and you can turn it off - we know that many of you do not want any sort of pressure and FOUNDRY will always allow for that sort of gameplay. That being said I agree that the game could be improved by some sort of pressure mechanic. One reason is that it helps with the goal mentioned before. Another reason is that for many players the source of motivation is to achieve something in time (meaning they played “well enough”). In its core a pressure mechanic means you need to produce a sufficient number of items or reach certain buildings in time, fulfilling that motivation. It also provides additional content and mechanics, resulting in more gameplay variety. We are not giving any guarantees about it, but will definitely be looking into what sorts of pressure mechanics could fit FOUNDRY and its narrative.


This concludes today's episode and we will keep you up to date on how our game develops towards the anticipated Steam Early Access launch. In case you missed the Demo, it’s still available until Monday!

Thank you all for reading and see you soon!
-mrmcd

Follow us on socials:


Stay tuned for more news!

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