Factorio – Visualizing construction material dependencies
The discussion highlights Factorio's gameplay, focusing on resource automation and complex dependencies. Sander Huisman shares code for visualizing these relationships using Mathematica, emphasizing the game's addictive nature.
Read original articleThe discussion focuses on the game Factorio, where players must build a factory to create a rocket and escape a planet. The game involves mining resources, automating production, and managing complex dependencies among various materials and components. The author, Sander Huisman from the University of Twente, shares code that interprets the Factorio wiki to visualize these dependencies. By using Mathematica's graph technology, the code generates dependency trees for different science packs and other components, illustrating the intricate relationships between items needed for production. The complexity of the game is highlighted through examples of various science packs and the satellite, which requires numerous resources to create. The post concludes with a warning about the game's addictive nature and encourages exploration of its various elements.
- Factorio requires players to automate resource production to build a rocket.
- The game features complex dependencies among materials and components.
- Mathematica's graph technology is used to visualize these dependencies.
- The author provides code to generate dependency trees for different items.
- Factorio is noted for its addictive gameplay.
Related
Factorio Fluids 2.0
The Factorio Friday Facts detail the game's fluid system overhaul. The new algorithm simplifies fluid flow with segments, improving efficiency, throughput, and distribution while addressing previous issues. Sacrificing realism for gameplay, the update aims to enhance player experience.
What Do Software Engineering and Factorio Have in Common?
Software engineers enjoy playing Factorio for its parallels to real-world engineering tasks. The game's mechanics offer insights for optimizing resource flows and scaling strategies, mirroring common engineering practices. Factorio's features simplify scaling and optimization tasks, inspiring smoother software development processes.
Principia
Principia is an open-source physics-based sandbox game for Windows, Linux, and Android, allowing users to create and share levels, with recent updates and a vibrant community for collaboration.
Satisfactory Hits 1.0
Satisfactory has launched its 1.0 version after selling over 5.5 million copies. It features multiplayer collaboration, extensive gameplay, new features, and encourages consideration of environmental impacts.
Science-based games and explorable explanations
The article highlights the shift in education towards science-based games and interactive tools, promoting intrinsic motivation and deeper understanding in subjects like physics, quantum mechanics, and machine learning.
The flowcharts are generally made with Foreman2 [https://github.com/DanielKote/Foreman2], yet another external tool
Both the calculator websites, https://factoriolab.github.io and https://kirkmcdonald.github.io also have both Sankey and Box-line flow diagrams
In-game calculator mods are Rate Calculator (that just shows the production ratios of selection), Helmod and Factory planner, don't have flow diagrams afaik
---
But with the new 2.0 DLC Quality and Recycling mechanics which makes every graph connection quintuple and bidirectional, the difficulty to calculate what's the best way to craft something of high quality is going to skyrocket
The real innovation was just teased at the end. Balancers (systems of belts and splitters than evenly distribute the contents of n belts to m belts) are tricky to get right and compact and so far as I know are only human-designed. A mechanism to automatically design them would be very interesting.
digraph { a -> b -> c -> a }
Here's minimal syntax for drawing directed graphs with image nodes, in the style the Wolfram example uses: digraph {
node [label="", style="none", shape="plaintext",
fixedsize="true", imagescale="false",
width=1.0, height=1.0]
copper_plate [image="Copper_plate.png"]
copper_cable [image="Copper_cable.png"]
copper_plate -> copper_cable [label=" 50 trillion"]
}
Satisfactory has a range of useful tools like this to plan your factory (if you don't want to do it manually), and they can quickly explode in complexity.
At first it's mind-bogglingly daunting but breaking it down into smaller parts then addressing them down the DAG makes it more digestible. When you finally complete an end goal it's very satisfying.
Until this week, I had a fancy tree visualization similar to the article's content (except that the location of the nodes was hardcoded). I spent quite some time to implement it and get it right, and it was difficult to maintain and update when adding new content.
Also, one feedback that I got from early testers is that this is confusing, and they didn't know how to read it.
I think that the main problem is that in such a graph, it is difficult to know if a branch means "A is an ingredient to make B" or "A is a machine that you can use to make B".
I spent time this week replacing it with a dumb list showing individual recipes in the form of an equation like "A = B + C", and I find it not only easier to understand, but also way cheaper to maintain.
You can see the previous version in one of the screenshots (fifth thumbnail): https://store.steampowered.com/app/2597060/Astral_Divide/
And the first draft of the new version: https://mastodon.gamedev.place/@sebc/113327870376150885
Then you can go figure out how many iron ore mining drills you need to keep a purple science factory running.
Thank you for sharing!
Related
Factorio Fluids 2.0
The Factorio Friday Facts detail the game's fluid system overhaul. The new algorithm simplifies fluid flow with segments, improving efficiency, throughput, and distribution while addressing previous issues. Sacrificing realism for gameplay, the update aims to enhance player experience.
What Do Software Engineering and Factorio Have in Common?
Software engineers enjoy playing Factorio for its parallels to real-world engineering tasks. The game's mechanics offer insights for optimizing resource flows and scaling strategies, mirroring common engineering practices. Factorio's features simplify scaling and optimization tasks, inspiring smoother software development processes.
Principia
Principia is an open-source physics-based sandbox game for Windows, Linux, and Android, allowing users to create and share levels, with recent updates and a vibrant community for collaboration.
Satisfactory Hits 1.0
Satisfactory has launched its 1.0 version after selling over 5.5 million copies. It features multiplayer collaboration, extensive gameplay, new features, and encourages consideration of environmental impacts.
Science-based games and explorable explanations
The article highlights the shift in education towards science-based games and interactive tools, promoting intrinsic motivation and deeper understanding in subjects like physics, quantum mechanics, and machine learning.