The wave of awesome I caught yesterday continued, knocked out working prototypes of 4 of the main behavior modules for my current Unity game project today. Selectable works with a custom SelectionManager (which needs a new name, as it’s more of a general touch input manager now) to handle focus and a selection reticule; Notable allows custom notification icons to be attached to the objects with a quick function call; Movable allows objects to follow a vector path at a configurable speed; and the tricky one, Routable provides the means to create paths for their neighbor Movable.
Still in prototype mode, so trying not to worry about performance, but so far that’s been easy, as there’ve been no performance problems yet, despite liberal use of SendMessage to objects with many components. Most of the heavy lifting and continuous work happens in the SelectionManager script, which probably helps. Some of the code is just replicating things Unity could do for me – but unity’s methods are mouse-only, while mine are set up to work with the mouse or with touches on the iPhone.
On the agenda for tomorrow: implementing a system for imposing constraints and obstacles that are applied to Routable’s paths. That one’s a biggie, and I’ll be surprised if I finish it quickly, though I’ve got my game plan for how to tackle it already in mind, and it shouldn’t be too big a problem. From there it’s on to vehicles, and got a plan for the Drivable behavior that I expect will make that one go pretty easily.
The goal of having the prototype playable in a week isn’t seeming so overly ambitious as I initially thought; well on track so far to do it!