Say I have the general engine working and the only thing missing is a story line.
Let's take the Pokemon games as an example: How would I implement surfing if I don't want to check wether the next tile is a water tile on every step I take? (I assume this would be horrible performance wise) The guards will let me pass once I have delivered some juice to them. How would this be done?
The second one should I should be able to implement with a state machine. Am I correct in understanding that a state machine is an enum(java) with my different states?
The other thing I am a little bit confused about is Events. For example how would I implement that if I step on a certain tile my character dies - again without checking this for EVERY tile I step on. I believe the tile would need to call some sort of Event that then kills my character. How should I write my "EventHandler"?