I’ve learned that sometimes you let the gameplay unfold as part of the process. One simple design decision can eventually lead to a new gameplay idea that becomes an important feature of the game. I trusted that process when I was working on the multiplayer code a few months ago.
I had to sync the zealots between server and client with some new code since the requirements were different from my normal entities. I don’t like sending any data to clients that they can’t see in order to prevent cheating. However, I decided to break that rule initially in order to simplify the design. I didn’t want to waste time implementing a more complicated and time consuming design when the gameplay could change, negating the need for it.
As mentioned in my previous blog post, I was able to test the zealot code between server and client by making another change. I made all zealots visible to make sure they were sync’d correctly. I was able to do that since I send all zealot data (using an efficient design). I then decided to keep that change because it made the game feel more alive.
Recently, I began to streamline the user interface. It made sense to help players determine when those zealots were attacking their fortresses. After all, they could see them and the code has that information. That led to some additional code to track self, ally, and enemy banners for each fortress. So you could click on a fortress and see what banners are attempting to reach it. Furthermore, I total those stats for each player so you can get a representation of current threat level.
For example, you might see that 5 enemy fortresses are targeting your own fortresses. Then you could determine where the attack is heading and identify those zealots on screen. That gives you some time to manage your own fortresses, possibly reconfiguring your banners while adding towers and troops. But it would also be cool to convey that information in a more creative way than just displaying numbers. That’s what led me to a new gameplay concept that I have started to design.
I will add a game avatar that is part of the user interface. For instance, it could be a skull that changes in appearance depending on the current game state. It could talk to you - “the enemy marches to our gates!” I would have a lot of “flavor” voice overs for various game events, such as effective use of leader abilities, allies coming to your aid, etc. I can also change the music tempo according to what is happening in the game.
I think that will add a fun element while also being an effective way to convey situational awareness to players. It is inspired by games I used to play such as Fantasy Empires. It is also a good example of how a simple design decision for multiplayer code can lead to a new feature involving a game avatar. And I’m sure I will continue to evolve that feature as well.
Besides that stuff, I made a lot of other progress, which I will quickly summarize. The damage for leader abilities is more consistent, which allowed me to make them more potent. The computer AI is now more effective when attacking. The leaders of computer players will flee more reliably before dying. They can defend fortresses too instead of just being offensive with their abilities. Gaining ownership of an unprotected portal is also more fair due to processing all banners before deciding the “winner”. Previously the first one to process could gain ownership with less banners.
The user interface was revamped so last selected owned fortress is always displayed. That makes it very easy to summon troops to a rally point while remaining focused on the current battle. Fortresses can be “tabbed” to select next. Leader abilities are always shown too. The selected entities will determine the center interface bar, such as moving troops. I will move some information to interface icons (like troop count) instead of text. Plus many more enhancements.
In addition, the first pixel art animation for troops is almost done. It is an armored shadow knight with a sweet looking axe. I will start adding screenshots soon to show the new pixel art and interface changes. I expect to start Internet multiplayer testing mid November. My Kickstarter should be around the end of the year. I’m really happy with how Pursuit of Power 2 is progressing