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! :)

Artwork starting soon for Pursuit of Power 2

September 17th, 2013

It’s taken me a lot longer to update my blog than I had anticipated. I just got married and life got really busy leading up to the wedding! I am starting to get things moving again and will try my best to update my progress more frequently.

I did finish most of the code for dynamic scenery. I grabbed some placeholder pieces of trees and created a design that puts those pieces together. The tree placement and other factors are randomized, which makes the trees look pretty varied. I am happy with the result. It will look even better with the production artwork, which will also have much more variety.

Speaking of artwork, I am excited to have Mark Jones making the artwork for Pursuit of Power 2! I am currently putting together the design document that describes the assets. There is a lot of artwork going into the game, so it is taking a while to complete. I hope to have it mostly done by this weekend… at least enough to get started in the next 1-2 weeks. I am really looking forward to seeing Mark’s new artwork in the game!

I have revised my schedule slightly to focus more on artwork and unit design for the remainder of 2013. I am trying to get all of the important stuff done now, so I am ready for a Kickstarter campaign during December. This time I will focus mostly on funding some of the game assets, which I think is a very reasonable goal. I will talk more about it in the next few weeks, so please check back again :)

World scale and scenery details

August 17th, 2013

I increased the scale of the world by changing the dimensions of the tiles. The width and depth of the tiles are now each 20% larger. The scenery scale is related to the tile dimensions, so now trees and other obstacles are larger as well. The structures are bigger too and will be increased further before the artwork is created for the fortresses and towers. The troops are roughly the same size, which looks more natural when compared to the other larger entities. In addition, the increased world scale provides more room for the scenery details, which I just finished implementing.

I started by adding some code to provide a foundation for randomizing the world. I decided to save values for a primary and secondary seed value used during randomization. Each tile then generates a random number based on the seed values to produce a primary magic number and a secondary magic number. Those numbers are saved for each tile in memory. The scenery details use the tile magic numbers to produce random variations. For example, the magic numbers determine scenery detail type, offset position within the tile, and whether or not the detail is flipped horizontally in order to create another variation.

I have set the coverage of the scenery details to roughly 20% of the world tiles. However, any larger scenery obstacles will take priority over a smaller scenery detail, so the actual amount should be lower. I could also decide to weight the scenery detail types with different percentages, which could be influenced by the base terrain type. This approach would be useful if certain types are more appropriate for certain terrain. Right now I am planning to have around 100 scenery details, depending on various factors. I currently have the scenery details set at 25×25 pixels, which seems to be a good size.

I’m happy with the result, even with using placeholder scenery details that I pulled from existing assets. I’m starting to work on the dynamic scenery design now. It will use the same randomization scheme to create variations. If I need some additional randomization I can use the secondary magic number for some of the components. I hope to have a basic implementation for the dynamic scenery finished in about a week.

Then I will focus on the asset layout, so I can begin the artwork process as soon as possible. I really want to start showing the game with art assets that are intended for the new design. It’s been a year since I made a video, so that is a priority too. The rest of the year will be quite busy, so keep checking my progress :)

Initial terrain redesign

July 30th, 2013

I took the first 2 weeks of July off, so I could relax before the next game dev push. I had been working on Pursuit of Power 2 for most of the past year while having a full-time software job. I decided that I had earned a break :) After my mini-vacation, I started the next milestone, which is PRE-ALPHA 3. For this milestone, I am focusing on improving the graphics in many ways.

I am almost done with the initial redesign for terrain. My previous design was very restrictive due to the way that I used to blend the terrain between tiles. My new design is much more flexible and works great with detailed textures. I still have more work to do with the edges, but I think that the blending is much better now. The screenshot below is using some different placeholder textures just to show how the terrain can be much more detailed with my new design. The actual look, scale, quality, etc… will be different for the release version. My intent is just to show the increased level of detail when compared to the previous method.

Initial terrain redesign

My next step will be to increase the size of the tile dimensions in order to allow for better scaling. I want to make the scenery and structures larger so the scale is better versus other entities like troops. Then I will change the source textures to fit those dimensions, with the intention of having 9 different base terrain types. The terrain will then have what I’m calling a detail layer on top of the base terrain. This layer will contain entities such as rocks, flowers, vegetation, and other details that help add variety to the terrain. They will have depth so that troops and zealots can walk through them.

The details will be pseudo random in placement and orientation — possibly color too. They will not be displayed if a larger scenery entity is placed on top in the editor. Some of those obstacles will be based on a new dynamic system that I am going to design this August. That system will attempt to create varied trees and rock formations by using multiple pieces per item. Those scenery pieces will be scaled, rotated, and colored to ensure that there isn’t any repetition. Furthermore, I hope to create a “shake” effect when powerful spells are cast nearby. I think that would be a cool visual.

After all of those changes, I will work on the layout for assets. That’s important so I can be ready to begin the process for adding new artwork. I hope to start that process early October. I’m really excited to see all of the new systems in action with the production quality artwork. I will try to add screenshots along the way, as I add the new systems, using placeholder artwork until I get the new assets. Thanks for your interest and please visit again to check on my progress :)

Some gameplay tweaks and additions

June 25th, 2013

I’m almost done with the current milestone. I’ve been able to complete most of the tasks, although I had to push a few things off to future milestones. I also made a few tweaks to some of the gameplay concepts described in the previous post.

Portals no longer share specific technology to destination portals. I wanted to streamline the technology process since I think there would have been too much micromanagement with choosing tech to share. It was also tough to separate types of technology that would be shared from bonuses that would not be shared.

Instead, I now just increase the progress of the technology being upgraded at the destination fortress. Each friendly source portal connected to a destination portal will add a “tick” of progress equal to that of the local fortress. For example, one source portal with continuous zealots will double the technology progress, two will triple it, etc. This design is more consistent too since any enemy portals will have the opposite effect where the progress will be disrupted by that same amount.

In addition, portals no longer summon any troop type.  Each fortification is responsible for a specific troop that can be summoned from the portal when it is built. The fortification has upgrades that are related to that troop, where the available upgrades are limited according to the tier of the portal. As the portals are upgraded, more options become available for those fortifications. The same fortification can be built multiple times at a fortress. There are 4 fortification slots total.

I will allow players to queue summoning troops. I also plan to tie the summoning to the fortifications so 4 troops can be summoned simultaneously at each fortress. I will have a fortress options bar that has all available troop types and zealot actions for the selected fortress. This fortress bar will always be displayed even when not selected, changing when a fortification or portal is selected at a different fortress. The selected structure will show upgrade options in a different options bar. I will make sure that the GUI is streamlined to make the fortress management easy for players.

I have some basic upgrades in place, but most will be added over time. I am aiming to have 6 unique troop types for each leader, as well as a unique flying guardian and zealot type for each. There will be 6 fortification types to match the available troops. Portals will have 3 types to show the current upgrade tier. With 3 different leader types, the artwork requirements will add up quickly. I hope the variety of troops and structures help make the game fun and interesting.

Finally, I added some code to upgrade a portal so it has a guardian protecting it. Right now, it’s just a simple attack that is powerful and can be used while the portal is invulnerable to attack. Eventually, I will add a cool effect of a guardian that looks like a shimmering image, protecting the fortress from harm. Also, players will be able to research a zealot ability to send the guardian to a destination fortress. If the guardian makes it to the destination, it will attack enemy portals and dump remaining health as prestige to friendly portals or those not owned by any player. This means a guardian could destroy an enemy fortress and then automatically claim it if enough prestige remains to meet the requirement.

I’m going to finish a few gameplay tasks before completing this milestone. I want to increase power yield for upgraded portals and add some basic upgrades for zealots. I might add some basic fortification upgrades too. I only have a simple health increase option at the moment for testing. Maybe I will add the troop queueing and multiple summoning too. Some more computer AI for upgrading would be useful to test the effectiveness of upgrades. I will see how much gameplay I can get into the game during this last week. The next phase is mainly for artwork, so I want to finish as much gameplay as I can before I start that phase.