4 ms·
I really like Factorio but I think it's a bit of a stretch to describe it as teaching programming or software design. Maybe, conceptually, data flow. Certain
by foobiekr 6y ago
I really like Factorio but I think it's a bit of a stretch to describe it as teaching programming or software design. Maybe, conceptually, data flow.
Certainly, Human Resource Machine does teach programming.
- _jjkk 6y agoFactorio quickly demonstrates to the player the danger and cost of bolt-on / ad-hoc / spaghetti code solutions, and likewise the benefits of a bit of forethought. Doing some pre-planning of your factory's eventual layout will have you advancing through the tech tree much, much faster (and without rebuilding critical sections all the time!)
- dlhavema 6y agoI wouldn't attributed this to programming but pre-planning in general benefits a lot of places. That goes to the comment in the article that "a bad plan is better than no plan". I totally know what you mean a spaghetti factory is just as hard to deal with as spaghetti code... until you have bots and you can actually copy paste your factory around to cut and paste your factory it's super hard to fix the problem.
- Balgair 6y agoFactorio is very close to Eagle and other PCB designing tools.
- imtringued 6y agoI have only used KiCad and I actually don't see the similarity. In KiCad you start by designing a circuit schematic first. In Factorio you start building whatever you want. You have potentially have to create your own custom parts including their physical footprint based on existing chips. In Factorio every part is already included in the "part library". The PCB design phase automatically connects parts with traces correctly. The human designer is just responsible for the layout. In Factorio you keep the design in your head and place each conveyor tile one by one. PCBs usually have multiple layers and it's common to have dedicated VCC and GND planes just for power transmission. Although the electric grid in Factorio is technically a separate layer, you have to extend the grid by placing transmission lines. I will accept that the idea of non overlapping traces/conveyor belts is similar but overall the workflow just isn't the same. To be fair I haven't actually done anything beyond following a bunch of tutorials on making PCBs. I have yet to send a design to a manufacturer. It's possible that Eagle and Altium are significantly different to KiCad but I personally stick with opensource tools and even if they may have significantly worse UX I actually love the extra challenge. Just shows that other than paying bills to stay alive nothing on this planet should prevent you from learning electronic design, mechanical design and software development on your own.