I put it down for a few weeks to tinker on something else, but came back to Mesh a couple of days ago. I imagine the development for this game will continue to proceed in fits and starts. It’s not the best idea I have for a game right now, but it’s a fairly known amount of work and it’s an interesting problem space.
This update includes:
- mesh editor!
- from the main menu, press ‘u’ to enter the 5×5 editor
- click to add/remove pixels
- invalid placements get an ‘X’ over them–all PixelSlots must be connected to the main brain
- press ‘esc’ to return to the main menu
- data persistence: grabbed a datamanager from a previous project and set it up to save your edits
- free pixels now fade after a couple of seconds, which gets rid of some clutter
- added a bunch of board constants (with an eye towards much larger play spaces)
- the board will now expand to the next logical size if your starting mesh would go “out of bounds”
- added “breakage” — if a mesh pixel loses its connection to its brain, all of those pixels will break off
This mesh editor will serve as the basis for a couple more editors to come. Though the one presented to the player is 5×5, it can support any dimensions. With a little more work I can retire my google doc and just edit enemies directly in the game. The next step will be to build a path editor, which is essentially the same thing but with more restrictions (consecutive moves must be adjacent and backtracking is legal).
Once I’m happy with the mesh and path editors for creating enemies, I’ll try to go nuts and get the level count up to 20-25 or so with “basic” enemies in various board sizes. The next big chunk of work is sub-meshes, which are essentially the AI enemy meshes, but attached to another mesh. To start players will probably be limited to predefined behaviors (i.e. horizontal and vertical oscillators, spinners, patrol loops), but at some point I’d like to let players design their own submesh behaviors. I’m hoping the addition of sub-meshes will make the game dramatically more interesting and sandboxy.
Outside of the core mechanics, some design ideas are starting to gel as well. I’m thinking the player will start on this micro 5×5 editor, but unlock larger editors as they progress. A sub-mesh would be limited to the next editor down (so a 10×10 mesh can hold a 5×5 sub-mesh, which might be able to hold a 3×3 sub-mesh). Each “arena” will have an entry fee and a reward ($$$). That’s enough structure to build a pretty massive upgrade cycle—-purchase more pixels, new pixel types, unlock larger editors, unlock new sub-mesh behaviors.
Ultimately I’d love to put in a PvP mode. I looked into various flash socket servers and Node.js, but the amount of work just to do a proof of concept would be pretty substantial. I’m going to focus on “finishing” the single player prototype before I even consider tackling multiplayer.