Install Theme

Your web-browser is very outdated, and as such, this website may not display properly. Please consider upgrading to a modern, faster and more secure browser. Click here to do so.

PleasingFungus's Devblog

Indie game developer. Previously made Manufactoria and others; currently working on 'Silicon Zeroes', a CPU puzzle game at http://store.steampowered.com/app/684270/ . Old games on pleasingfungus.com .
Sep 18 '13

Design Philosophy Change: Wires

From the beginning of MDE2’s design - even back when it was just MDE - there have been two central design elements for the player to manipulate. The player selected and placed modules on an invisible, infinite* grid, and then connected them by drawing wires along that same grid.

Over the last few weeks, I’ve increasingly come to believe that this was a huge mistake.

The thing with wire management is that it’s not interesting. It’s not sexy. It’s annoying, tedious, and frankly, deadly dull. And that’s the only thing that the grid-placed wires do for my game. They still turn into a horrifying tangle in the late-game, despite not colliding with each-other: in fact, they’re probably worse because of that, because of the torturous paths you’re forced to use for late-considered wires, if you’re not going to redesign your entire CPU over… wire pathing.

Here’s the simplest example of the problem:

image

In the current system, trying to set this up requires something like five minutes of painstakingly dragging out wire after wire in such a way that they don’t run into each other while going from port A1 to port B1. Without the wire grid constraint, it would take literally four clicks.

I’m fine with puzzles being challenging on an intellectual level, but there should be no mechanical barrier to translating your intent into action: or, at least, as small a barrier as possible. This? This is a nightmare.

Not only is wire drawing unfun for players, it’s an enormous sink of development effort. ‘Wires exist in space’ is a constraint, and trying to enforce it has resulted in numerous bugs and countless hours wasted trying to force something that, well, doesn’t really matter. And the weeks wasted trying to get automatic wire-dragging working, and the days spent implementing the current, half-baked version…

So. Enough. Here is what wires need to be, for gameplay: a link stretching from one module port to another. So, that is what they will be. The visual representation is secondary, and easily compromised. Players may not be able to configure the exact layout of their wires in the way they can now, but who cares?

*In the same sense that Minecraft generates infinite worlds. Meaningfully infinite.

  1. pleasing posted this