Wednesday, December 31, 2014

Adding More Variety to Events

Hey Everyone! This months build the focus has been on the event system in the game. We are really trying to increase the variation in the different kinds of events that you play through in the game. If you want to jump straight in and see for yourself then here is the build...


One of the biggest changes that is in this new build is the ability for us to chain events together in order to create a story that spans many events. Ultimately, every region in the game will have a handful of event chains that go along with the randomly generated event. These chains will give a story to that area that you can follow along with and if you complete the chain then there will be great rewards to help you on your journey.

Starting an event chain


An example of an event chain is the new "City in Distress" event. In this event you will enter a port city and find out that it has been being harassed by pirates. They will ask for you to help and if you agree then you will be tasked with eliminating these particular pirates. After accepting, you will see the pirates on your map and can go and destroy them. When you then return to the city they declare you a hero and give you a large sum of gold. We will be adding many such chains to the game over the course of the next months.

Another thing that we are working on is increasing the visual variance between events. This has required some re-factoring the code to make it easy to script out what kinds of things should show up in the event. There are now a few different ship types that you will see in encounters and when you go to a port there is a dock there. We will continue enriching the visuals over time and of course Kurt will be hard at work making new tiles and whatnot to spice things up. Another visual change that has been made is adding dynamic lighting. When the event takes place at night or sunset then this lighting will be used which gives some nice visual variance.

Night event with dynamic lighting


One thing that you will notice right off the bat is that the graphics used for the sailing scene have changed. Ultimately, we are trying to give this scene an ancient map sort of feel. You can get a little taste of this with the new ship and town icons. However, all of this is very much early works in progress and the islands are still developer art, so this really is just a taste.

New WIP map icons for sail scene

Last but not least, Riley has gotten a few more demo tracks ready and they have been added into the game. Right now they are just playing in order as you go through the different events. However, in the future we will probably tie specific music tracks to specific events depending on their mood.

As always, we love to hear feedback and ideas. Leave your thoughts in the comments!



---- v0.12 ----
- Added in demo tracks for towns and game over
- Events can now be chained together to form quests
- Refactored event system to make it easier to add more props into a scene
- Pirate surprise attack event now has small boats the pirates come from
- Town event now has a large dock
- The camera is now constrained to the area of the event
- Added dynamic lighting for characters
- Fixed some bugs in the fog of war on the sail scene
- Added a simple event chain for a town in distress
- Change the sail scene to use some new WIP icons

Sunday, November 9, 2014

Privateers

The big news this week is that we have finally named the game! And it is...


We spent a long time going over lists of names to try and come up with something that we thought would fit the different aspects of the game. Ultimately, we chose Privateers because it is a very open ended name that expresses the freedom that you have to pave your own way in the world. We think that this reflects how we envision the game play turning out in the end.

Of course, with a fancy new name and all we should give a fancy new build, and here it is...


In this build the main focus was to redo the sailing experience in the game and explore how it can be more interactive and fun. As a result, there is a whole new game play experience around sailing now instead of just cramming into a little UI window.

Sailing around between islands

With the new sailing experience I am really trying to achieve the feel of a table top game. You get an overhead view of the map and you can select where you want your ship to sail to next. Then, the AI takes a turn and things can happen on the map such as ships moving around, leaving a port, or even attacking you. In later releases, I really want to enrich this experience so that each turn seems important. Also, we will increase the variety of things that can be interacted with on the map. For instance, we might add a giant sea monster which roams the map which you could choose to engage with. I am also toying with the idea of adding some ship to ship combat into this mode as well, but I'm not sure exactly how that will play out yet.

Designing regions for random map generation

Another big change that comes with the new sailing experience is random map generation which occurs for each play through. We have built a system which allows us to design hand crafted regions which have specific islands and events in them as well as randomly generated pieces as well. Then, these regions are generated and placed in order to form the map. So far, I have only made 3 different regions so there is a lot of repetition. However, we will progressively fill this out so that each play through has different interesting regions for you to sail through. This will really increase the replay-ability of the game.

I also want to take the time to also call attention to the new outfits that have been added for the human characters. Kurt put together a bunch of different pieces of clothing which we can mix and match and tint to get a large variety of looks. Also, there are specific clothing that can be used for different people groups in the game going forward. For instance, in this build, merchants always wear a red coat uniform to make them appear different. Also, I know that Kurt has been doing a lot of brainstorming on different people groups that you will encounter in the game and what kind of cultures they will have.

A bunch of different looking human characters


Lastly, there is a little treat in this build which is an early preview of some of the music which Riley is working on for the game. During the opening menu you will hear a tune in which he is exploring the instrumentation which he is going to be using for all of the tracks going forward. I think it really is setting the tone of the game well!

As always, thanks for taking the time to give the game a try and we would love to hear your feedback in the comments below. Here is a brief summary of the changes in this build...



---- v0.11 ----
- Refactor sailing screen completely to be more interactive
- Add new clothing variations for humans of different types
- Crew now drop their items on death
- Added branding for new name "Privateers"
- Crew now quickly regenerate life and refresh cool downs after an event completes
- Monk's cool down reduction now works correctly
- Sail scene is now broken into regions which can have their own designs and are distributed randomly
- The sail scene now has fog of war
- Towns in the sail scene generate neutral ships occasionally

- Added new music to the menu screen



Wednesday, October 8, 2014

The Tactical Advantage

Hey guys! This build has some of the most dramatic changes to the game play that we have made so far. The focus has really been on evolving the core game play that occurs with each event. It includes a new tactical mode in which you can pause the game and give commands to your crew. Also, we have added classes to the crew which make them unique for playing different roles during battle. You can play the latest build here...


Just for the sake of bragging, I will show off a beautiful sunset picture that I took while on vacation in Hawaii this week. The early mornings were still free for me to get some indie dev work done.

This was the backdrop for my past 2 weeks of game dev'ing

I am really excited about being able to take tactical command of your crew during a battle. This adds a much more cerebral element to the game in which you can plan out what each crew member should do next in order to survive an encounter. As a result, the interface is now something pretty similar to the game "Dragon Age" where you can give commands to your party as well as take direct control of one of them. While playing the game, press SPACE to pause it. While paused, you can click where you want your crew members to move or attack. Then, press SPACE again to un-pause and they will follow those orders.You can use TAB to switch between which crew member you are controlling at any given time.

Giving tactical orders to your crew

I am trying to decide if I like the blend of tactical and action or if it would be better to remove the direct control aspect and only have tactical control. It could be that the blend will just end up being confusing for players and not actually add any fun. I would be really interested to hear peoples thoughts on this in the comments after they have tried the build. Though, as I mentioned above, the blend did work pretty well in "Dragon Age", so I know it is possible to make it work.

The other main change that is in this build is the addition of classes for each of your crew. Every class has bonuses which change how the class is used best. The bonuses include things such as increased health or faster attack speed with bows. Also, each class has a special ability such as a healing spell or the ability to stun enemies. Ultimately, creating a good complimentary class composition for your crew will be critical to success in the game. Also, finding the right items to compliment each class member will be critical to reaching the full potential of that class.

Browsing through your crew

Along with the class abilities, some items now have actions which are used in a similar way. For instance, there is a spell scroll which can be used to heal crew members just like how the monk can for his ability. Right now there are only a couple items that take advantage of this, but I intend to have unique actions tied to most of the items in the long run.

On a separate note, we have a team update which is that we have found a music composer to join the team. Our composer Riley is going to whipping up some awesome pirate tunes so people can look forward to hearing those in the future! He may also by involved in helping with sound effects and doing some of the coding for the game (depending on how much time he has).

Lastly, I hope everyone enjoys trying out the new build and remember to leave me your feedback on what you think about the tactical game play. The next build is going to include an art drop from Kurt to liven things up and we will be announcing the name of the game very soon. The list of significant changes in the build is below.



---- v0.10 ----
- Add tactical crew control (press space to pause)
- Fixed several bugs around how the crew work
- Player can now control any crew member equally
- Crew now have special abilities which can be used
- Actions can be queued up while in tactical mode
- Items can now have an action attached to them
- Improve item tooltips to be easier to read
- Added a window for browsing your crew
- Lots of UI improvements
- Added game balance framework to help with tweaking the balance in the future
- Add a handful of new items but most of them aren't fully complete yet
- Did an initial balance pass. Much more to come though
- Added Heal area action
- Added Stealth action
- Added Stun area action
- Added Mutli-shot action
- Added Rogue class
- Added Barbarian class
- Added Monk class
- Added Archer class

Saturday, September 13, 2014

A Sweet New Style

Hey again everyone! This weeks build is all about style. Kurt has been cranking away in order to pump out a bunch of new sprites and animations for the characters in the game. So far, we have humans (with different hair styles), twerps, fishmen, giant robots, sea golems and gas skeletons. They all looks really sweet so check out the latest build below and give it a play.


I will keep this post pretty short because most of the new stuff you should really see by playing yourself. Nonetheless, below are some screen shots of some of the new characters. However, you really have see them in action to really appreciate the awesome animations.

Trying to survive a robot attack

How did sea golem's get on my boat!?

Twerps spawning from a portal

Another new feature that is introduced in this build is the ability to go on an excursion onto an island. In the future we plan to do a lot of different events that will take place on islands, but for now there is just one simple one to test the feature. Most of the work this release went into building a framework that can randomly generate islands on the fly. So, pretty much every island that you go to in the game will be a little bit different. The system is pretty interesting as it uses an alteration on a classic midpoint displacement algorithm in order to generate the terrain. In the future as we fill out the island content much more, so I am sure that I will have more to say about it then!


Wandering around a random island (test graphics)

As always, thanks for following along and beware of the many bugs you are sure to find in the build! Below is a list of the major changes in the build if you are interested. Also, don't forget to leave your thoughts in the comments.


---- v0.9 Ship Notes ----
- New more realistic water sprites
- Add new human sprites
- Make humans NPC's able to equip and use various types of weapons
- Add Twerp enemy type which is small and fast
- Add framework for random island generation
- Add new Twerp Portals event
- Add Steam Robot enemy type
- Add Gas Skeleton enemy type
- Add island event (test graphics only)
- Major perf improvements to the sprite manager system
- Add Fishman enemy type
- Add Sea Golem enemy type
- Make enemies able to have multiple attack types
- New Portals event type

- New events for new types of enemies

Saturday, September 6, 2014

1 Million Downloads

This post is just to take a moment to celebrate that I recently crossed the 1 million downloads line for all of my games. It is a pretty exciting milestone as and indie developer, and I am really thankful to all of the people who have taken the time to download and enjoy my games. It is a huge joy to read all of the reviews and comments and see that people like them for the same reasons that I do! So, the journey took about 3 years and the following graph tells the tail...

Windows Phone downloads (~982k)

Most of my success has been on windows phone where I still receive about 300 downloads a day even though I haven't updated my most popular game Legends of Decent for well over a year. You can see a few large peaks in the daily downloads which represent times when my game was featured on the front of the windows phone app store. Otherwise, it has been a stead crawl most of the way.

Windows 8 downloads (~19k)

I ported the game to windows 8 shortly after the OS was launched, but haven't been able to find the same success there. However, the 19k downloads were still part of getting me over the 1 million line, so I guess it was worth the effort. I have often wondered how the game would have done on android or iOS, but I think that I did benefit from the visibility that I got from being in a less crowded marketplace.

Nonetheless, by far my proudest achievement has been how well reviewed Legends of Descent has been ever since launch. I still get a new 5 star review every few days, which is really incredible.

Reviews for Legends of Descent in the US

Anyways, it has been a fantastic journey and I hope that my next game will be as well received as this one was and can put me on the road to the next million (or 10)!


Thursday, August 14, 2014

Artificial Stupidity

That's right, it's time for a new build. The main focus in this build has been to improve the AI of the NPC characters in the game. Also, you can now hire crew members which will fight on your behalf in events. Check it out at the following link and the full change list is at the bottom of the post.


So, why do I title the post "Artificial Stupidity". Well, the reason is that there isn't really much intelligence involved. The enemies aren't very smart, but rather simply follow a predefined behavior in a way that makes them appear to be smart. One of the most important pieces of appearing to be intelligent is to be able to find your way from one place to anther. In the world of AI, this is called path-finding. There are TONS of algorithms which can be used for path-finding and each one has its own merits and drawbacks. The one used most commonly in game development is called A* (and it is the one I am using as well). I won't go into the details about it, but if you are interested in algorithms then you should read about it. Either way, the end result is that the enemies no longer simply walk into a wall because you are on the other side of it. Now, they will walk around the wall in order to hunt you down and kill you. Cool.

A* path-finding grid in action

The other major feature that I put into the game with this build is the ability to have a crew on your ship which fights on your behalf. Right now, this is the most simple implementation that I could make, and the only difference between crew members is how much health they have. However, there is a ton of potential to expand this system to make each crew member bring something unique to the game. In the future, I intend to add different characteristics which each crew member might have which would make them valuable. For instance, different ones have the ability to use different kinds of weapons. Also, some might heal you and other crew members. Other still might have the ability to coax enemies to attack them and they can take a very high amount of damage. Putting together a crew which has complimentary abilities will be critical to winning the game.

Hiring some crew for my ship.

In this current iteration, your crew is completely controlled by AI (and a simple one at that). They will look for the nearest enemy and go try and kill them for you. However, I plan to make a lot of changes in this regard in future builds. The first thing I want to add is the ability to assign different AI personalities. For instance, you could assign some crew to be aggressive (like they are now) but others to be defensive and to stay on your own ship and defend it instead of attacking. However, I want to go beyond this and try out adding the option to pause the game and then assign specific actions to your crew. So, if you want to micro manage your crew during a particularly difficult encounter then you can do that by pausing every time you need to and then assigning what actions you need your crew to take. This will add a new tactical element to the game which is currently missing which I think could be super fun.

New slaver ship event in which I have gotten the slavers to surrender.

Lastly, I will leave you with a small taste of what is to come in the next build. Kurt has been hard at work coming up with the actual sprites that we will be using for the characters in the game. Below is a tiny sample of some what he has come up with so far and you should be able to see them live in the game soon! As always, let me know what you think of the build and share you ideas in the comments.

New enemies from Kurt that we will be adding in soon.

v0.8 Change List
- Add path-finding to AI
- Make ranged enemies do line of sight checks
- Allow enemies to grapple across ships
- Add hirable crew members which fight for you
- Add ability to hire crew in certain trade events
- New marooned man event
- New slave ship event

Saturday, July 19, 2014

Ship Battles for Fun and Profit

After going through a phase of creative block, I am finally making significant progress again. The latest build includes the baseline tech that I will use to save games and takes a first stab at what a pirate ship battle will be like. Check it out here...


I have spent a ton of time over the last month trying to conceive of what a ship battle would look and play like in this game. Of course, it is not an option to cut ship battles when making a pirate game, they simply must exist, and must be fun. However, there are a lot of technical things to consider since the game takes place up close to the action and I can't easily zoom the camera out because the game is 2D and things would get distorted if the camera wasn't pixel perfect.


New pirate ship attack event

One idea that I considered was to have the ship battles be like a separate mini game. This way I would use completely different graphics for them and then after they had played out you could zoom down into the action again. However, I didn't really like separating the ship battles out from the rest of the game very much. Also, it would need to be coded completely separately and need its own art assets and whatnot, which would be expensive. So, I decided not to pursue that route.

Grappling between ships during a battle

Ultimately, I have settled with the idea of having the ships be stationary during the battle. Then, characters will grapple back and forth between the ships as they battle for victory. However, I will still allow the player to have some control over the actions of their ship (in future builds). I am thinking of adding the ability to attach upgrades to your ship such as cannons which you could then use to sink the opposing ship. I will have to experiment with a bunch of different ideas for how your ship will play a part in the encounter in order to find out what is most fun.

So, in the comments let me know what you would like to see in the ship battles and maybe I will add it in :-).