After thinking about ways to play as the hero and using enemies as weapons, I decided that I would make the player a villain who summons and sends out minions to attack the AI-controlled hero.
I created a mock-up of the UI:
You can see that the hero’s status is listed at the top, and the player can see how many resources are currently available, along with what minion types can be produced. They will have different costs and varying abilities. Or, at least I’m planning that they will now. When the deadline looms, I might have to limit the variety.
You can also see the world map. I didn’t spend too much time drawing out everything, but the basics are there. The hero is visible and moving around the world, searching for weapons, health, dungeons, and your castle. There will be obstacles, such as trees, mountains, and water. There will be towers/dungeons. Whenever a tower/dungeon is cleared, the hero gains access to new areas. Eventually, the hero will find your castle, and you’re done for.
Unless, of course, you can get your minions to do their job, hunt down the hero, and kill him first!
I mocked up a close-up of that first area as well:
The star is a weapon upgrade. The heart is health. The barrel/spindle thing is supposed to be the tower. Circles are obstacles. I moved the man around, imitating what I expect the AI should look like. In doing so, I realized that I needed to figure out what visibility the hero will have. It wouldn’t be right for him to make a direct line to the castle. He’d have to explore, so I think he’ll have a fog of war to deal with. He’ll normally be in exploration mode and can see a few squares around him in any direction. If he spots a location with a weapon, health, dungeon, or castle, he’ll switch to “Move me there in the fastest way possible” mode. If he encounters an enemy, he’ll go into Fight mode, unless he has low health, in which case he’ll be in Flee mode.
I also realized that I needed to decide what happens if he sees a target, starts moving toward it, but spots a new target on the way. Should he move to the new target? Should he ignore new targets? I decided he should have a queue of targets, and then I realized a prioritized queue would be best. If he sees a weapon upgrade, he’s going for it first. If he spots health, he’ll only go to it first if his health is low. If he has perfect health, he’ll ignore it. Towers/dungeons/castles will be the last targets he’ll go for. This way, if he has low health, sees a weapon upgrade and a tower, he will head towards the weapon. If he then sees a health upgrade, he’ll go to the health upgrade first, then go back to the weapon, then head to the tower.
But what should the player be doing? I want the player’s main action to be clicking on locations to place enemies for the hero. At the top of the screen, you’d click on the enemy you want to purchase, then you’d click on the world map to place the enemy. Obviously you shouldn’t be able to overwhelm the hero with enemies right away, so your limited resources would stop you. Also, do I want the player to be able to place enemies anywhere, or should they only be placed in specific areas/spawn points? If the player can place the enemies anywhere, then the hero is simply going to be fighting them right away. If, however, there are going to be specific spawn points, such as the tower/dungeons, then the enemies will need to explore and find the hero, and it gives more importance to the fact that the hero is not only getting to new areas but also eliminating your spawn points whenever a tower/dungeon is cleared.
With a few hours of prototyping, I think I understand my game design that much better.