Plans and Progress

By far the most frequent question I get is “when will Pirates and Traders 2 be done”. The answer to that is the annoying – but unfortunately accurate – “when it is done”. Software development is my passion, but developing games is only the part of that which I do for fun. This means I have to balance game development time with all the other activities of my life, which means my work hours are limited, irregular, and ultimately need to be at least a little fun (otherwise I burn out). The latter is one of the reasons why I decided to combine the three projects that I’m currently working on – it may not be the most efficient way to develop, but being able to switch contexts every once in a while or experiment on something different, is one of the ways in which I maintain motivation. But I digress; the point of this, of course, is to note that this situation makes it completely impossible for me to say when anything will be done. There are just too many variables that can affect the situation.

What I can do, is try to describe the status of things right now, and what I hope to do in the coming months. Just … keep in mind that all developers (myself included) are invariably hopelessly overconfident, so take any timelines here with the huge grain of salt that it deserves.

Small Battles is currently in a playable state; i.e., you can start up a battle, take your turns, have the AI take turns, and at some point you either win or lose. There are a few bugs in the gameplay still and the AI is still not good, but overall, I believe that the game engine is solid now (testing has not turn up any crash bugs). At the moment, I am working on adding some of the remaining missing features (e.g., making it possible for the player to deploy their forces) and handling the end of multiplayer games, but once that is in place, the game is pretty close to being release-worthy. Assuming no unforeseen issues, I hope to get most of this work done by the end of the month, and would like to try and release an open beta of Small Battles before the end of the year.

Pirates and Traders 2 development is going well. The story engine is looking good, sea combat works, and map movement is OK (the latter two still need some tweaks, though). A big part of the work remaining is to script the port interactions, and develop the user interface to give proper feedback. It’s not difficult work, but it is time-consuming; and given the things on my calendar for December-January, I’m not going to get through that work on this side of the New Year. Once I’m done, though, I plan to do the first round of beta testing. I would love it if this was possible to do before the end of the February, but that is probably my optimism talking.

Dwarf Kingdom shares a lot of code with Pirates and Traders 2, so a lot of the work that needs to be done there is stuff I’ll be doing while working on the latter. In addition to that, of course, there is a bunch of game specific mechanisms that need to be implemented. Some has been done already during earlier work on the game; the rest is waiting to be done. This has been taking longer than I would like it to, but my hope would be to move right from the beta of  P&T2 to implementing the last remaining bits of this game, and hopefully starting up that beta during the summer of next year.

So that’s the plan. In a perfect world, where I could guarantee spending 15-20 hours of my free-time a week working on that plan, this might even be doable. In the real world, though? Not a chance… one, if not all, of these goals are guaranteed to slip. So when they do… don’t be too disappointed. But there you have it.

TLDR; games are done when they are done.

Character Generation in Pirates and Traders 2

Seeing as how I just posted a peek at the character generating screen from Pirates and Traders 2, I thought it might be an idea to write a few words about it.

intro_traitsPlayers of the original game will feel that they are in familiar territory with this screenshot. I am retaining the basic character creation structure from the old game, as I’ve always been fond of defining the character through “backstory”, rather than just doing a +1/-1 skill choice.  The mechanism is a classical one, of course – it was used to excellent effect in several old RPG games such as Ultima IV and Challenge of the Five Realms. I’ve never heard anyone complain about it, so I assume most of the people playing the game are OK with this as well.

A new element in the starting creation is that your character now also starts out with personality traits (as shown in the screenshot). These personality traits provide bonuses (e.g., your fearless character gains a bonus to willpower in combat – i.e., less chance of breaking) and also affect what other characters think of you (e.g., fearless characters tend to be admired by others). The traits are not equally useful, but none of them are useless. For example, being craven might seem like a bad trait (since it is a social handicap and can negatively affect your battle performance), but it comes with a hefty bonus to perception (being afraid, means that you are always attentive to danger), and the likelihood of suffering fatal wounds in battle are significantly reduced.

As a player, you should want to chose traits that fit with your playstyle, and the kind of character that you wish to play. Did I mention that you can both gain and lose traits during the game? So, e.g., if your “Fearless” character continually turns down challenges to duels and runs away from battles, people will eventually see through the facade, and you lose both the trait and the benefits that come with it.

One element in character creation that exists in the old game that disappears is the ship selection. In the new version, here, the starting ship is tied to the character template you choose. Instead, the full version of the new game will contain a number of different starting backgrounds (I’ve got 10 planned, so far) leading to a variety of starting ships.

Another difference from the current game is that the difficulty level will be customizable, even beyond the current level. I haven’t decided on exactly which parameters will be possible to tweak yet, beyond those already mentioned (i.e., wind effects on the world map). Generally, I would like to make it so that players can tailor the game to their preferences within reason.

Of course, the quick-start option will remain, for those people who prefer to just jump right into the game with a reasonable, pre-generated character.

Authorial direction, replayability, and player narrative

Some years ago, while I was still working actively on the Imperium project, I wrote a bit on the subject of Narrative in strategy games, where I speculated on whether less structure in a game story actually gave richer narrative. As Will Wright pointed out in his 2007 SXSW talk: “Players invariably come up with stories about what they did in games. They’re never describing a cut scene.”

This relates a lot to a discussion I’ve seen repeated a few times when browsing the interactive fiction community – whose story is being told? The traditional interactive fiction/choose-your-own-adventure (CYOA) approach is very author-driven; even though you – as the player – are making choices, you’re making them within a tightly limited framework. Every action – every connection – in the game has been painstakingly mapped out by the writer. Which is pretty amazing, because doing this is a huge amount of work (if you don’t believe that, try to write even a small choose-your-own adventure sometime). But I’m not convinced it is the right approach in a game.

Interactive fiction has been making a strong come-back on mobile devices, with many of the past masters returning to bring their CYOA books to an entirely new audience. It turns out that people like to read good stories (who would have guessed). One problem I do have with these games, though, is their limited replayability. Once you’ve seen the good ending, there is very little incentive to go back and play again. The more choices a game includes, the fewer players will actually get to see it. This is actually one place where the book medium is superior to apps/games; if you’ve finished playing through a CYOA book, you can always page through the book and see what other endings were possible without too much effort. That is rarely possible in a digital gamebook.

I really like the approach to solving this that Inkle Studios have taken, where they essentially allow the player to “rewind” the game to any previous choice, and continue on from there. It is still an approach tied up in the “physical” origin of the medium though; which is why I find the approach taken by Failbetter Games (Fallen London) more interesting. Sadly some of the really cool blog posts they did on this seem to have disappeared, but basically, the game(s) are based around these multiple short chunks of text (storylets). These texts are intentionally kept short, because – as noted on their site – player’s will skim any text that they are forced to read more than a few times.

The storylets are tied together by the stats/traits of the players – completing a storylet rewards the players with a stat/trait, and as the player gains these, more and more stories open up to the player. This is a branching narrative, but one where the player drives the narrative to a much greater extent than in regular IF. These are the stories that player’s enjoy retelling. I find the mechanisms for this fascinating.

I hope to attempt something very similar in Pirates and Traders 2. Player’s of the original will already be familiar with the text-based missions in the game; a few of which tie together in longer “epics”. This is actually pretty similar to the Storylet concept, except that the glue binding the stories together is either non-existent (the small random missions), or completely deterministic (the epics). My plan for P&T2 is to create more missions that are loosely coupled with each other, with the glue being player character’s traits and relations to NPCs (compared to Fallen London, that may perhaps be the unique aspect of my approach). So in one game, story A leads on to story B, whereas in the next story A occurs, but you never see story B or – if you do – it occurs in a completely different context. This is key to replayability in a narrative – each re-telling of the story has to be unique.

As a writer, it means abandoning much of the authorial control over the story flow, and trusting in the game systems and the player. At it’s best, this can result in some amazing narratives, especially if one can get the story aspects to respond closely to the choices and actions of the player. There are no guarantees that what the game system puts together is a cohesive story, though – the game essentially relies on the player’s ability to smooth out any inconsistencies, fill in the blanks, and put together a sensible narrative from the different parts presented. This is the player’s story – not the writer’s.

I’m looking forward to finding out how well that works.

Creating real characters in games

Yesterday’s article about NPCs by Austin Walker definitely struck a chord with me, and got me wanting to write on the subject of characters and personality in games again. One of the big differences between Pirates and Traders 2 and its predecessor will be its addition of persistent characters – and with it – persistent personalities. I haven’t invented a snazzy name for it like “The Nemesis System”, but what I’m planning to do is not far removed from it.

The idea is not inherited from Shadows of Mordor, though; these are game design ideas that I’ve played around with for many years. In fact, in the first ever interview I did as an “indie developer” back in 2005, I wax lyrical about using personality models to drive narrative. I love character-driven games, and have literally tons of scribbled design notes and research papers on the subject. Which makes it all the more ironic that when I finally published a game, I ended up building a game engine that made adding persistent characters in the game almost impossible. It’s not that I didn’t try but – but as I’ve mentioned a couple of times on Facebook – the code in Pirates and Traders has some nasty peculiarities, caused by the way the game got developed. At some point, I simply had to decide whether to implement persistent characters properly, and risk breaking the savegames of thousands of players, or leave well enough alone. I chose the latter. To this day, there is at least one annoying bug in the game that I believe was caused by my (half-finished) attempt to improve the character model. If you’ve ever encountered a character #MissingVariable, then you know what I’m talking about.

The engine which will power Pirates and Traders 2 and my collaborative project with Ashton Saylor – Dwarf Kingdom – basically rebuilds this aspect of the game from scratch. As I described last year, there will be a lot more persistent characters. And as can be seen in this early screenshot of Dwarf Kingdom, characters will be generated with personality traits.

I’ve commented a bit on the consequences of the Facebook pages, but probably not all in one place. What does it mean? First and foremost it means that you will have repeat encounters with characters, in different times and places. And your interactions with them earlier will inform their opinions of you later, and shape their future (i.e., pretty similar to the Nemesis System in SoM). So – for example; you might do a few good turns for the governor of Eleuthera, and become good friends with him. Which is nice, but not really all that useful, seeing as how that settlement is little more than a few huts on an island. But then he gets promoted to Governor of Port Royal, and suddenly you have a friend in control of the central British port of the Caribbean.  Or lets assume that you started a rivalry with another pirate captain. You exchange some words with him in random tavern encounters. Perhaps you grabbed a prize that he intended to take. Bad blood. As the heat grows on all pirates, perhaps he secures a pardon and is given a powerful ship and license to hunt down pirates. Guess who he will be looking to hunt down? The idea of the game mechanics is to have the potential to generate lots of these kind of small stories.

It’s difficult to go into details on exactly how all this will work, because … it’s complicated. I’m not even sure it will all work the way I want it to. Although, there are games that have experimented with these elements in recent years (one being the fascinating Redshirt by Tiniest Shark), there are not many of them. The trick is to find the right balance of psychological simulation and pragmatic game mechanics that still results in a fun game. But the four key ideas that I believe that I can build an interesting system around are:

  1. Personality traits. Most importantly, characters will not be just stats. They have traits, backgrounds, and motivation which (at least partially) guide their actions and their reactions to what you do. These will (mostly) be procedurally generated, so that the same base story may well play out differently from game to game.
  2. Character agency. A pet peeve of mine in RPGs. If character’s have their own motivations, they must also show agency – otherwise it’s just text. NPCs won’t just wait around for you; they’ll act and interact – with you and others – in order to further their own agendas.
  3. Relations as a journey, not a goal. Another pet peeve of mine. Why is it that most games have you becoming BFFs forever as the goal of relationships? Doesn’t reflect real life as I know it; I’m friends with people because I like them – not because I hope to gain some great bonus artifact when I score +100 relationship points. I want to try and play with the incentives a bit here; perhaps remove explicit incentives altogether. Because gameplay were you do something because you feel for it, rather than just because you gain a +4 cutlass is the kind of stuff that – IMO – makes for awesome stories that stay with you.
  4. Conflict is not just about villains or violence. I particularly want to experiment with the former. Relationships between characters should not depend on agreeing with another character as strongly as possible; in real life, it is possible to be friends and still have differing opinions. This goes hand in hand with character agency; sometimes the antagonist in the story isn’t necessarily a moustache-twirling Captain Hook, but the conflicting priorities of your boatswain. And the conflict cannot simply be solved by murdering everyone who opposes you.

If I can implement those four elements, I think NPCs in the game will have gone a fair distance toward my goal of making the characters feel more alive.

Unpublishing and back to blogging

My blogging for the past couple of years has been pretty sporadic, but after the latest update of the site, I want to give this a try again and write blog posts regularly. We’ll see how it goes.

Today I unpublished my very first Android app, “A Brief History of Rome”. BHR was basically an off-shoot of a simple little game I had programmed in Java to do some UI testing. During a weekend when I had a little time, I did the port to Android and published it. The reception was always mixed – some like the rogue-like strategy gameplay; others couldn’t wrap their head around a strategy game where the goal was not “world conquest” – but the feedback made me want to do something better. Which was what led to Pirates and Traders. “A Brief History of Rome” ended life with just above 50,000 downloads. Not bad for what was originally two weekends of work.

At the same time, I also unpublished the Retro versions of Pirates and Traders.

When I originally created Pirates and Traders: Gold, one of the things I promised was that I would use the money earned to improve the game with better graphics and add music. I did so, but by the time that work had been finished, the new version – today’s Pirates and Traders – looked and played quite differently from the original game. In addition to the new graphics, the RPG system had seen a complete overhaul, the map was completely rebuilt, and more depth got added to the game. But I didn’t want to publish a new app, as this would mean everyone who had bought the old version would have to buy it again, so I simply bumped up the version number to 2.0.0, and published it as an update.

Pirates and Traders 2.0.0 was a disaster. The jump from the old to the new version was huge, and that caused a lot of bugs – some of which affected savegames. It took months to clean up the mess. In retrospect, I wish I had done it differently back then, although I still feel it was the right decision to honor the promise I had made. But – as it turned out – many people actually preferred the simpler P&T gameplay of the original, to the new version and I started receiving e-mails from people asking for me to bring it back. Thus was born Pirates and Traders: Retro (and later, Old Gold). Making Pirates and Traders 2 actually the third game in the “series”… confused yet?

Unfortunately, by this point, the development of Android phones has outstripped the code in those games. I do not have the time required to go in an fix the code, and by this point, it is mostly unplayable on modern phones with high-resolution displays. So – I think – the best thing to do is just to unpublish them. The retro versions of Pirates and Traders ended up having been downloaded more than 65,000 times.

Now it’s back to work on the other projects. I would really like to be able to push the “Publish” button on one of those games this year.

A short note on ads in the free version of Pirates and Traders

Those of you who play the free version of Pirates and Traders, will notice that the new version (2.9.0), has a different form of advertising than the game had originally. Most (around 90%) of the banner ads are gone, freeing up the GUI so that the free version now gets the same UI as the Gold version. The banner ads have instead been replaced by two interstitial ads; one that is shown while the game is loading up its data files, and one that is shown when you end a game. Why is this? P&T has always contained banner ads in – I hope – a fairly non-obtrusive manner. At least, I have never received any serious complaints about these, which leads me to believe that I succeeded in implementing them fairly well. However, they also have a down-side, and one of them is – I believe – that they make the app more memory hungry. I suspect this because the free version of Pirates and Traders suffers from a particular type of crash bug that is almost non-existent in the paid version of the game – and pretty much the only difference that could cause this bug between the two games is the presence of ads in the free version. This is why I reduced the number of banner ads in the last couple of updates, and why the current version now is being tested with almost no banner ads at all (there are still a couple in, but not in parts of the game that is frequently used). The decision to try it this way was given an extra push due to a recent chat with a Google representative, who urged me to try interstitials instead. So here we are. As always, you are welcome to give me feedback either by e-mail or on the facebook pages.