It has been a while but, truth be told, little progress has been made. Quite frustrating to have a silly “make it work better” item keep the latest alpha build from being released. I could make a few levels and send it out “as is”, but I don’t think that would be for the best. Might as well make the enemies as good as it can reasonably be done at this stage before sending it out.
What I really need is time to work things out on paper, and a long 3-hour+ coding marathon some night, to get the complex ideas down in code. I find it hard to work on this part of the game in small chunks of 1 hour or less. The next change I need to make is a medium sized one that will rework some of the enemy state machine logic for AI. I don’t want to do this over the span of several days. I need the time to modularize it a bit more and make it configurable.
One idea I had is to make this as configurable as possible and allow the level creators to toggle switches for enemy behavior. I’m not completely sold on the idea but basically it is this: Each enemy has several attributes that are definable for it, such as appearance, travel type, damage type, etc. So you could have a Whirlygig that moves randomly, moves randomly with jumping, moves randomly with jumping and lightning bolt attack. You get the idea. I think for the game’s sake I will have standard entities that follow appearance and behavior throughout the campaign, otherwise the inconsistency will just annoy the player and would be a dirty trick. But making the enemy behavior plug n’ play like this, even if it’s not as random as the above, may make things easier for myself in the long run.