The core mechanic of this game is the shadow/wall walking concept. This is the one major feature of this project that is not part of building up my general game making toolset, but instead is a complex system specifically for this game’s concept. Because of this I am planning for this feature to get additional development time than the game’s other features.
The ideal for this mechanic is for the player, at any point, to be able to instantiate the shadow walking avatar on whatever surface their near and, with speed and ease, be able to move from the floor to walls anywhere in the environment, along with some additional features like minimal physical interactions with specific props, though these can be added later.
What needs to be looked at now, and is the current objective, is testing out, and trying to understand different ways the wall walking system could work, that would be feasible for my game, and how those different methods may affect the game worlds design.
Possible Technical Routes
A planned system, where I map out all the walkable surface, and have specific triggered transitional points, is one way this could work. It’s pros would be likely:
- More stable and predictable.
- More directable – how should input orientations, translate to different surfaces can be predetermined to fit for example.
- Can handle tricker, more complex areas with consistently than a dynamic system.
However it’s cons would be:
- Requires essentially two versions of a level in design, that have to be kept in sync.
- Has a high workload to get working.
- Slow to apply changes to and for prototyping.
A dynamic system would be the more organic approach. Using some algorithm the avatar would determine the proper rotation and speed based on the direction it wanted to go and what information it got back from it. It’s likely pros would be:
- It can be easily placed into any environment and work, without prior set up
- Could lead to a lighter workload down the line.
- While not editable would have a constant way of working, it would be more organic.
However it’s cons would be:
- It would be less controllable and prone to errors.
- It would be less directable, the way it is will always be the same.
- It is likely to have more limitations in what it can do and be applied to.
Both routes have their pros and cons, however for now I have decided to look into a dynamic system. For one thing it will hopefully help me understand more about how, conceptual this kind of mechanic could work and, even if buggy, a system that could be initially implemented would be ideal for prototyping. More importantly if the dynamic system proves reliable in the earlier stages, and any limitations predictable enough to work with, it could greatly reduce the project’s overall workload.