Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I've played Factorio since 0.13 and am a professional programmer.

It bothers me that people see an equivalence between Factorio and Programming. There's some degrees of programming-like problems, such as spanning trees, graph theory, tree-theory, etc. etc. But Factorio is grossly simplified to comp. sci problems in general.

In particular, the Factorio build tree starts at (Iron/Copper/Stone/Coal/Oil) and ends with (Red/Green/Blue/Purple/Yellow/White science).

Most problems are solved with backpressure. The one exception is oil production (Crude-oil -> Heavy/Light/Gas), which can bottleneck other productions. (Ex: if Heavy oil is deadlocked, light-oil is also blocked). But with an "infinite sink" of science (blue/yellow science uses a lot of Petroleum gas), this problem is solved by simply playing the game more.

------------

Real world programming problems are far more complex. Graphs in fact loop more often, simple trees are rare. Data-organization is far more complex.

In contrast, Factorio has a large number of "valid solutions" because its a simpler problem. Keeping things "simply" a tree with only one multi-output (oil production) really is simple in the great scheme of things.

That said, it is more complex than most games. OpenTTD is more complex when it comes to transportation patterns (path signals, entry, exit, and combo signals, block signals. Tunnels, bridges, etc. etc.). I would recommend Factorio players to try OpenTTD, and see if they can create higher-bandwidth OpenTTD routes than Factorio's simplified train system.

------

I know some Comp. Sci. I'm going to make my n-way balancers off of Benes Networks and CLOS Network designs. But I look at "circuits" and see "vector programming system" and not actually a wire-like / circuit system. The things that are "like programming" aren't very clear IMO. Its somewhat rare for me to actually need to use combinators / circuits in Factorio, because the default actions of all entities "just works" most of the time.

Wube / the original designers are clearly good programmers. The system / game they have made "feels like the fun part" of programming, where you connect mostly-completed systems together in a chain that almost always works. That's because the difficult part of design / architecture has already been done for us by Wube.

Actual programmers designing an API for widespread use come across the same problem. You wanna create an interface that's easy to understand and fun to work with. Wube is clearly good at this. But that makes us at best, the "script kiddies" who simply are laying out Wube's designs, more so than actual "programmers" who express ourselves.

IMO anyway. This isn't a bad thing. The fact that its fun despite all this is a huge degree of success from Wube.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: