While simple, this scheme has a couple drawbacks which have become quite obtrusive in my game design. First, it limits me to defining one interaction per object per state. This means, for example, that if I want an object such as a coffee cup to be something the player can pickup, I can not also have it be something the player is able to look at since I can only define one interaction. A second drawback is that a player clicking on an object may not be in fact attempting to interact with it, they may simply be trying to walk towards it.
I've decided that the play scheme needs to be updated to allow for multiple types of interactions and to force a player to indicate that they are actually attempting to interact with an object. The direction I am going to take in implementing the first component of the change is to cause a small in game menu to open when a user chooses to interact with an object which exposes more than one type of interaction. For instance, if a player can either "look" at or "pick up" an object, when the player indicates that they want to interact with the object, they will see a menu with these two choices.
|The general idea|
Deciding on the best scheme for the second component of the change has proved to be somewhat more cumbersome. This is due in large part to a restriction I have placed on myself, limiting input to left mouse clicks. I have placed this restriction on myself in order to allow games made with the engine to be played on devices such as an iPad. Currently I'm planning on having a player indicate that they wish to interact with an object by double clicking on the object, but I have not settled on that yet.
Side Note: An interesting consequence of the first component of the change being made is that it makes it easier to code interactions from a distance (ie, allowing a player to look at an object from across a room without having to walk up to it).
Side Note 2: I'm readily accepting feedback from anyone who is a point and click game enthusiast (or who has at least played one in their life) concerning the control scheme I've indicated