I’ve started in on a project that I’ve been kicking around for awhile- an approach to gameplay based on the node-based interfaces in apps like Maya and Pd.
What I’m thinking is to have a game world in which players can build things by “hacking” (in the Make-magazine sense) things together to create useful items. But rather than having some pre-determined set of possibilities (as in games like Notrium), I plan on having it be completely open-ended (a ‘la Pd), by keeping things as modular as possible.
What I have so far is a working mockup of the object-creation interface, implemented with Python/Pygame. A list of objects is given at the bottom, and the user can click-drag any of them to the workspace to create a node. Then, the user can create linkages from the outputs of a given node to the inputs of another. Links update automatically to maintain themselves as the nodes are moved around the work area, and deleting a node (by clicking on the X) also deletes any linkages attached to it. The nodes themselves are declared in a separate text file and can be easily added to. So far, all that’s stored is the name of the node, the image to use for its icon, and the number of input/output connections. As the object-model grows more complex, I’ll be adding information to the nodes, such as what kind of connections they require (electric, mechanical, etc) and how much of each.