Debuff icons and troop focus cost

April 14th, 2014

In a previous update, I mentioned that troops can be affected by combat debuffs. I also stated the importance of identifying those debuffs since they are used for powerful combos. I now display the active debuffs for each troop as a row of icons under the rage tier icons. I use a consistent position within the row to help identify the type of debuff. It works pretty well and I will continue to tweak the icons.

In addition, I changed the way troops are counted towards the max amount. The troops have been placed in tiers that determine their relative combat effectiveness. Higher tier troops cost more power and cost more troop focus, which is a new concept I added to the game. Instead of just using the max troop counter, I now use max troop focus. The same 100 max value is used, which would equate to the 100 max troops in game, if they are all tier 1 troops. Each tier costs that amount of troop focus (1, 2, or 3 troop focus).

This separation should encourage different army combinations and allow for more powerful units. Without the troop focus, I would not be able to balance the units if some were stronger. I have also always liked having some really strong units that can take on a group of weaker ones. It makes the combat more fun too.

I had to modify the computer AI to work with the troop focus cost. The attack triggers assumed max troop count. I added some code to use the current troop focus instead when calculating the triggers so they work properly. Otherwise, the armies just build up and never attack anything. The fights look pretty balanced.

Right now the fortresses are probably too strong, but that is good. I haven’t added additional zealot connections yet, which will help tip the balance. Plus, the leaders are purely defensive now, just building towers around the fortresses. When I start to teleport them to the attack targets, I will be able to use the combat abilities to break the defenses. That will be fun to code and even more fun to see in action :)

Currently, I am working on the next pass for troop abilities. I left some of them essentially blank, until I had time to implement them. I am going to spend extra time working on the combo abilities since they are very important. The leader abilities will add a dynamic component to combat, emphasizing the skill of the player. I definitely want to ensure that the gameplay has room for good players to differentiate themselves. I don’t want it to be just a zerg-fest. Leader abilities and banner zealots will be focal points in that regard.

Check back in a week or so, to see if I keep-up my weekly update streak :)

Computer AI : sending zealots to attack target

April 6th, 2014

I added some more intelligence to the computer players. The AI will now send zealots to attack targets, which is pretty much required to defeat a fortress. Previously, I just sent zealots to unprotected portals after the fortress was destroyed. This worked OK before I started to balance the gameplay. Once I added the tiers and modified the combat values, fortresses became much more difficult to defeat.

The computer player will send zealots to its current main attack target. They usually start to head over before the attack, which helps since they are slower than normal troop units. This way the attack troops sync up better with the zealots at the fortress destination.

In addition, I have a counter that allows repeating attacks instead of just moving to the next target if defeated at the current fortress. This tweak takes advantage of the damage done during the previous attack. I plan to add a lot more intelligence to the attack logic. Right now I just want to make sure that the computer player has a reasonable chance to defeat a fortress. That allows me to continue adding gameplay while balancing the combat values.

Next, I will probably implement the tiers for troop types. Each leader class has 6 main troop types, which will be separated into tiers (basic, heroic, elite). The higher tiers are stronger and also cost more power to summon. Each tier requires another concentration slot too, which limits the total number of troops that can be summoned at a time.

For example, basic troops might cost 500 power and take 1 concentration slot. Heroic might cost 1000 power and take 2 slots, while elite cost 1500 power and take 3 slots. This helps balance the game while allowing for powerful units.

At some point, I will add unit information to the web site to give a better idea of the combat gameplay. I’m trying to make more time for blog updates too. Thanks for stopping by :)

More artwork and gameplay changes

March 31st, 2014

I have made more progress with the artwork since my last blog update. The image below was taken from the map editor in game. It shows an early version of the grass terrain, details, oak trees, and rock formations. There are actually 2 styles of the oak tree, which will be changed to the pixel art style for the final version. There are also no shadows yet and that will change soon. Basically, this is just an early version of the assets to give an idea of the art style. I hope you can see the potential like I do :)

Early version of the grass terrain, details, oak trees, and rock formations

I made progress with the gameplay too. I tweaked the combat effects in several ways. First, I combined the three leader abilities for crowd control into one state so only one can be active at a time. These leader abilities can be used to help control enemies when they break fear/stun/mez and have built-up rage. Enemies will have a visual effect associated with both incapacitation and leader crowd control abilities.

Furthermore, each leader class will have a unit that debuffs, which will all stack and be displayed as small icons under the rage tier bar. These debuffs will have powerful results when combined with player and heroic unit damage abilities. The icons will help players identify good targets for those abilities during battles. Finally, the remaining combat effects will include various buffs that have visual effects to indicate when they are cast.

In addition, I added many of the unit abilities and continued to define the roles. Each leader class has a unit for every role, but the combat abilities are unique. I think that this approach will ensure the leader classes are balanced while making the gameplay different. I have concepts related to each class type too. The units of each leader class will borrow from their arch types of knight, stalker, and mage. Those concepts will be explained in detail later.

Fortresses are setup to upgrade structures automatically. The speed of upgrading depends on the banner zealot connections. Therefore, players indirectly control the upgrades through those connections. There are other upgrades that players can choose and those will also be affected by the banner zealots. I want a high-level upgrade process to reduce micromanagement and hopefully give a fun alternative for upgrading. Higher tier structures are stronger and do more damage. Likewise, troops with higher rage tiers do more damage too.

I have a lot more to say about the gameplay. I will start updating the web site soon so it reflects the current design. I also plan to give a thorough explanation from the start of the game to the end when I have some free time. Right now I am focusing on my main gameplay tasks as well as changes required for the new artwork. This will be a busy month! Thanks for reading :)

Combat mechanics

March 9th, 2014

I finished most of the unit design for troops and structures. I also implemented a lot of the core design for the combat mechanics of those units. That meant replacing my old combat effects with a new combat state concept. The new design contains the current rage level, immobilization state, and up to 12 active combat effects (e.g. buffs and debuffs). I use this structure to efficiently update network clients for state changes. Part of the design works for local games too.

The immobilization state reflects whether a troop is feared, stunned, mezzed, or not immobilized.  Each leader class has an elite troop type with one of those effects for its special ability. Only one can be active at a time. Immobilization prevents moving or attacking. There is an additional effect when the immobilized unit is hit by an enemy. For instance, a feared troop might generate a lifetap for the attacker, replenishing some health.

While immobilized, a troop will gain rage instead of decreasing over time. When a troop reaches the max tier 3 rage level, it will break the immobilization. All troops are immune to immobilization effects at tier 3. Leaders and the troops that cast the immobilization effects are permanently immune from it.

The effect is essentially used for crowd control, where a group of enemies can be incapacitated to turn the tide of a battle. The downside is that higher rage levels mean more damage by those troops. Therefore, it is important to kill immobilized troops quickly. That also goes for battles where damage done to enemy troops increases their rage.

I played a few games with some of the initial combat mechanics and it was really encouraging. The gameplay is coming along great. I was able to repel a large attack by carefully using my zealots to reduce time to rebuild my fortifications. I upgraded the portals to generate more power when I had a breather. I made use of my rally points and sent reinforcements while I counter-attacked my enemies. Also, the new assets are looking good, especially with all of the combat action taking place.

I will continue adding the gameplay elements I have on my task list. I’m hoping to have a lot of the gameplay done within the next few weeks. Hopefully I will have the next batch of artwork soon too. I can’t wait to see how everything looks a few months from now! Until next time… :)

Some initial assets for Pursuit of Power 2

February 15th, 2014

I just had my first kid on Feb 7th, so I haven’t had too much time to work on Pursuit of Power 2. However, I did get some initial assets and I thought I would share them, as well as a few game concepts. Keep in mind these assets are still in progress, so they will require changes to fix some issues. Plus, the art style is different than the current placeholders, which means they won’t quite mesh until everything matches that style.

The screenshot below shows the first round of scenery details that sit on the placeholder terrain. These details are randomly placed when the board is originally created. The tree bottoms and tops are new too. They will be more overhead for the final version. The tree tops will be larger too so the scale is better versus troops. In addition, shadows will be added to tie everything together.

Initial terrain redesign

I’m planning to make the structures larger than the trees. The detached structures summoned by leaders will be the next largest. The fortress structures will be the largest in game. This will emphasize the importance of the structures as a focal point in the game, while creating a reasonable scale between entities without getting in the way. I will start by making structures semi-transparent so troops are not blocked visually. I will eventually automatically fade-out structures when troops are behind them.

After the scenery is tweaked, we will move to working on new terrain that will mesh with the scenery. Then work will begin on the structures, which will include the fortress and detached structures. I felt like the game needed more than just towers for detached structures. Therefore, I added a new type that leaders can summon. This new type will generate auras that benefit allies while being detrimental to enemies.

For example, the Shadow Knight could summon a graveyard that generates Dread Aura, possibly adding lifetaps to friendly units and a resistance debuff to enemies, which might even make certain leader abilities more potent. The graveyard could animate floating souls when active.

Damage done to enemies within range could feed the graveyard, increasing its potency and tier level over time. Each tier could improve the aura. They would drain when no damage is done, essentially only becoming active during battles in the area. Each leader class would have a unique aura structure.

Those are some of the concepts related to the aura structures, which will be revised over time. I found myself summoning towers often in battle and so I wanted to add variety. I think that another summoned structure should add some fun and interesting gameplay options for players while rounding-out the leader abilities.

As I get updated assets or new versions, I will share them. I’m going to do more work on the combat abilities and attributes for units. I will share those details too. That’s it for now! :)

Moving to ALPHA for Pursuit of Power 2

January 31st, 2014

I just finished the PRE-ALPHA milestones for Pursuit of Power 2, which took about 17 months to complete. I now have most of the major components in game. I added a lot of code since my last blog update.

I settled on the design for most of the fortress upgrade process. When you summon a portal, the 4 fortifications are automatically summoned. The fortress structures all use an upgrade refresh timer that prevents upgrades until ready. This timer is influenced by the number of friendly and enemy banner zealots that form connections to the fortress. Players can effectively speed-up the upgrade process by connecting friendly zealots. They can also prevent or slow-down upgrades for enemy fortresses. This is a very important concept, especially since the fortress will constantly attempt to re-summon destroyed fortifications when the upgrade timers are refreshed.

Players can also upgrade the tiers of the portals and fortifications. I am contemplating the possibility of automatically upgrading the fortress over time. Either way, I will most likely add tech branches for each fortification so players can upgrade their units. Each fortification is associated with a resistance type (physical, endurance, elemental, and magic). Those tech branches will be unique for each resistance type, and the chosen upgrades will determine the next options, to create the unique tech branches.

I removed the concept of prestige since the upgrade timers fill the role of differentiating each fortress. I want the older fortresses to be tougher to capture. Using one resource pool makes it easier for players to manage their units. I don’t want players to worry about resources reaching their cap too fast, which would waste them. To help that effort, I finally added queueing for summoning troops. This can be done for each fortress and the queued counters are displayed for each troop type. Players can also set a rally point for each fortress so troops can be sent into the current battle without micromanagement.

Towers can be summoned using a player ability. I balance the fact that they can be summoned fairly quickly by starting them as weaker structures. Towers automatically upgrade over time, making them more effective at killing zealots. This means that players can summon towers near enemy zealots in order to cut the lines. On the other hand, the enemy player also has time to send siege units to the towers to protect the zealot line. I want to have many situations where one player can force action by other players, which can then counter that action, etc.

I now display the current tier over all player units as a number of small icons near the health and rage bars. These graphics will eventually be different for each unit type. It is now easy to identify stronger units. Players can see the current upgrade refresh timers too.

Rage is somewhat functional for troops. As troops are hit by enemy abilities, rage begins to build. Each time rage reaches the tier threshold, a new rage level is gained and the rage wraps around. Currently I decrease rage over time, so it fluctuates during the battle. My plan is to use the rage tier to select the current ability table for each troop type. Higher rage tiers will employ more powerful abilities. Player abilities will also be able to affect rage. I have many fun ideas related to how player abilities will work in combination with troop abilities.

These are just some of my changes. I will now focus on unit abilities, computer AI, and finishing the multiplayer code. In addition, I will get the artwork in game. I had postponed that effort until ALPHA so I could make sure the gameplay was stable. My blog posts will be more frequent once I start adding the artwork. Thanks for reading! :)

Merry Christmas 2013!

December 25th, 2013

I had a pleasant Christmas, despite being sick. Seems like a good time to update my progress for December…

I finally added all 3 leader classes to the game, including their units. This was a lot of work. I am using similar combat mechanics right now, but that will change soon when I start adding unique attributes. I have a lot of those concepts detailed in the unit design document. It’s pretty cool seeing the different units in game, even with placeholder artwork and attributes.

I also added a lot of the zealot gameplay mechanics and I am really happy with the result. The banner zealots are more of a focal point with the power pulse emanating from the banner. The pulse has a priority of targets, with the highest being the destination portal if in range. That generates prestige and affects the tech research progression. The next priority is the leader troop of that zealot’s owning player, if in range. That generates a special power resource that is used to amplify leader abilities. It lasts about 3 seconds, which means leaders can maintain this resource if they remain in range.

The next priority is an enemy zealot, troop, or structure. This causes damage, and in the case of the zealots, can instantly kill the enemy. For instance, 2 opposing zealot lines along the same path would initially cancel each other out. Upgrading the source portal would increase health and damage, which enables that zealot line to push forward. This also increases the importance of certain units that specialize in mitigating divine damage (used by zealots). There are many interesting gameplay scenarios with this design that I believe will be a lot of fun.

I consolidated the leader abilities in to 6 roles that will be unique for each class. In addition, I implemented the basic gameplay for a few of them. For example, I created a sacrifice ability that absorbs the health of a player’s own targeted zealots and gives it to the leader. More importantly, this purposely cuts the zealot line, which means the zealot banner would move to the next zealot if previously continuous. This tactic would be useful when attacked by enemy units further back. The leader unit could then benefit from the power pulses to fend-off the attack. When the battle is over, the resurrect zealot ability could be used to reconnect the zealot line if desired.

Furthermore, I created another ability that enrages friendly troops, which improves combat effectiveness. Currently, I just use this to increase damage, but I plan to modify other attributes such as proc rate of special abilities. This will be a crucial leader ability that is used often in battle. I am working on some related ideas based on the concept of “seeding” rage for troops, which can then feed into some self-sustaining rage during a battle. The combat mechanics would be focused around this rage concept and the current state is shown as a red bar over the troop that reflects current rage amount. It decreases over time unless replenished.

I will continue to refine the leader abilities and make them interesting. I am mainly focused on getting the big stuff in place so I can evaluate the current gameplay concepts. It is much easier to see where I stand if I can directly test the mechanics. Some of that work includes GUI changes to interact with those mechanics. Other times, I just want to see if I can simply a process, such as when leaders summon the initial portal over a resource. To that point, I recently made claiming magic sources much easier. It is just one click on the magic source to summon the portal, which checks range and the global ability timer (around 4 seconds).

Next up, I will do some work on the power pulse resource for leader abilities. I want to determine some of the core concepts for it. I will continue getting the main components in game for abilities of leaders, zealots, troops, towers, etc. Part of that work will involve more GUI changes. In addition, I want to refine the unit upgrades, tech progression, and other related concepts.

Thanks for reading. See you next year! :)

Just a quick PoP2 update

December 1st, 2013

I’ve made a lot of progress since the last update, including additional improvements to the effects. I finally took the time to create a 3d vector class, so now the effects are using a true 3d vector. Previously, I just used a 2d point and offset for depth. That worked until I started needing more flexibility. The projectiles are more accurate now. I was also able to add more types of effects, such as for summoning towers and pulsing power from banner zealots to portals.

I also changed the way I handle world position for entities. In order to gain flexibility with artwork layouts, I had to switch to a center point for entity positions. I used to just track an edge of entities and use its dimensions to determine the other edge position. This method constrained my layout since all artwork had to be centered within the frame.

I want to have dynamic animations, which would not be possible when only half of the frame is available for profile animations (since centered). Switching to a center point gives me the option to use an offset concept, so that animations can use the entire frame for profile and other directions. I adjust the frame during the draw so the center point stays aligned with the center of the animation within the frame. The end result is that a big creature can now stretch out and swing its weapon since the entire frame can be used. The animation will still be aligned correctly due to the offset and center point implementation.

I’ve been working with Mark Jones to use this new layout flexibility, along with some other tweaks to give more frame width. I have a test layout of a large creature in game using the older method, which limited the scale. Even with those limitations, the animation looked very cool. I can’t wait to see the updated version! We are spending extra time upfront to make sure the layout and scale work well. I think it will pay off in the end. Once we have everything set, the assets will start to flow and I will be able to show some screenshots.

Next up, I am working on the unit design. I updated the task list on the forum for this milestone. It is a packed schedule, focused on artwork, gameplay, and user interface. This is the phase where the gameplay really takes shape as the units come to life. I will be adding their combat mechanics as well as upgrade progression. This is the fun stuff :) Check back later for the details! 

Completed PRE-ALPHA 3 Milestone

November 2nd, 2013

I just completed the final task today for the PRE-ALPHA 3 Milestone for Pursuit of Power 2. I was really busy at my full-time job this month due to another release milestone. I had to stay up to 3am the past few nights to remain on schedule for my game. It is really tough working overtime at one job and then spending another 4+ hours on my own project. This was an exhausting month! But, I was able to finish the major goals for this milestone, including a new particle effects engine.

In order to improve the visual effects of the game, I needed to first make my particle effects engine more robust. Previously, I just had a very simple design that processed a list of effects. This was very inefficient since the list gets really big when displaying many particles. Plus, it is wasteful to process particle effects that are not on screen.

My new design groups related particles together into particle systems. Each particle system has multiple emitters that can create particles using a variety of behaviors. For example, a spell cast by a troop would emit particles along a path from source to destination. The particles would be emitted at a certain rate and have different attributes that modify the visuals.

That casting effect might also have an area effect as well as other simultaneous effects. These would also be attached to that same particle system. I can then update the bounds of the particle system to include all of those emitters as they become active and go back to inactive. This greatly reduces the size of the effects list, since it just needs to contain the active particle systems. Then each particle system is responsible for its own list of effects for its active emitters.

The most important benefit is that I only need to update the timers for particle systems and emitters. I don’t do any other processing unless the particle system is on screen. This means I could have tens of thousands of “potential” particle effects without crushing the computer since only a fraction will be on screen at once. Therefore, I can push each particle system harder using more particles, which can make the visuals much more impressive.

I had to work through some challenging problems to make everything work correctly. I share one free particle effect buffer pool. If a game is paused, it is very easy to run out of buffers while navigating around the board. I have code that will free active particle systems off screen when the free buffers drop below a certain threshold. Those effects are then rebuilt and advanced to current time if they are displayed on screen again.

It was a lot more work than I anticipated, but now I have a robust particle effects engine. Next I will add some more effects for actions such as summoning a tower using a leader ability. I want to add another effect when banner zealots pulse power too. In addition, I will work on making the visuals more impressive by increasing the attributes and creating more particle behaviors. I will keep working on the visuals while I continue to make progress on the game.

Beside the particle systems, I also worked on more gameplay concepts and fleshed-out the unit design. I am really excited to implement these concepts. I think the gameplay is going to be a lot of fun! I will share more of those details in my next post. I should also be able to show some of the new artwork very soon. Mark has some really cool mock-ups of the pixel art that we are using to determine the right style, perspective, and scale.

Check back again to see the first artwork for Pursuit of Power 2 and to learn more about my progress :)

Artwork design almost finished

October 5th, 2013

I’ve been refining the artwork design document for a few weeks. I have the major stuff done. Now I’m just tweaking a few things while I finish changing some of the asset layouts in game to match the document.

I also figured out the preliminary units for each leader army. I think they are interesting and pretty varied while remaining consistent for their leader. All leaders will have a unit that fits a gameplay role so armies will always be effective and balanced. However, the units will have abilities that are taken from the leader RPG class to make them unique. For example, a Shadow Knight tank unit might have the “taunt” ability that forces enemy units to target them instead of following normal troop AI behavior. This would allow units with lower health and higher damage to remain alive longer in a battle. I will eventually release the full unit list along with descriptions and abilities on the web site.

In addition, I worked on improvements for the rendering engine. I optimized the rendering for scenery and zealots. I am planning to allow up to 1500 zealots to be displayed on the screen at once. I added code to show a semi-transparent banner over each banner zealot. As a reminder, the banner zealots indicate the first zealot in a line that is continuous to the source fortress. These zealots will have special abilities and they can transfer rage to leaders for powerful abilities. The banner effect will fade-in when a new banner zealot is active. This happens often when banner zealots reach their destination fortress and the next zealot in line becomes active.

I will continue working on visual enhancements for the next few weeks. I want to add some more interesting effects, especially for some actions that don’t have any effect right now. For instance, summoning a tower just drops it in game without any casting visual. Also, I am finishing the layout changes to make sure that the artwork design looks good in game.

I hope to begin the artwork process in the near future. I will start showing new screenshots once I have enough of the production quality terrain and scenery in game. Thanks for reading! :)