Latest entries »

One of our guiding philosophies is that you should be able to play Conclave in whatever way works best for you. Want to burn through the game in a weekend playing solo? Totally fine. Want to take one turn a day with three friends? Equally fine.

That philosophy was also part of the reason we first developed the game for the browser. Since it doesn’t require anything fancier than JavaScript to play, just about any web-enabled device can be your portal to the game, and modern browsers support increasingly sophisticated graphics and audio.

Still, the browser isn’t everyone’s preferred gaming platform. It’s slightly less convenient than launching the game from its own app, and the browser’s “chrome” hinders immersion a little bit. In addition, Steam remains one of most popular ways to discover and play games, and it’s PC-only.*

Windows client

The Windows client’s login screen

With that in mind, a few months ago we began exploring the possibility of a desktop client of the game, and yesterday we released a beta version for Windows. Mac and Linux versions should be available next month.

We had a lot of options for how to turn Conclave’s existing browser app into a desktop one. Several commercial development frameworks, among them Awesomium and Qt WebEngine, allow you to embed a stripped-down browser engine in a desktop app. Ultimately we chose to work with the Chromium Embedded Framework (CEF), a well-maintained open source project that provides a C++ API. Like many of the commercial frameworks, CEF is based on the same core code as Chrome, which we know works well with Conclave. It’s also used by a number of popular applications with needs similar to ours, such as Steam, Desura, Battle.net, and Spotify.

So far we’re quite happy with how development has gone. Because CEF provides virtually all the capabilities of Chrome, the Conclave desktop client needs only a thin wrapper of its own code for each operating system — a very important consideration for a two-person development team like ours. In addition, the framework isn’t bloated by functionality we don’t need, keeping the file size of the client to a minimum. If you ever need full-fledged browser functionality for one of your own apps, it’s worth a look.

* Speaking of Steam: Conclave is on Steam Greenlight! If you’d like to see the game come to Steam and get exposed to a larger audience, please vote for it on our Greenlight page.

Gamers without borders

One of the nice aspects of developing a web-based game is that your players can come from nearly anywhere in the world.  As far as platforms go, the browser is about as ubiquitous as it gets, especially if you use HTML5 and JavaScript rather than Flash.

Still, Conclave’s audience hails from a surprisingly wide swath of the globe.

Map of Conclave's audience

Where Conclave’s visitors and players come from

According to Google Analytics, these are the countries you’re most likely to be playing from:

  1. U.S.
  2. Brazil
  3. Egypt
  4. United Kingdom
  5. Thailand
  6. Canada
  7. Australia
  8. Indonesia
  9. New Zealand
  10. Netherlands

This data comes from looking at internet traffic, not anything that’s personally identifiable.

I think it’s nifty that all the continents except Antarctica are represented in the top seven.  Overall, there’s almost exactly a 50/50 split between the U.S. and other countries.  That’s a pretty good showing for the non-U.S. part of the world considering that we’re based in the U.S. and have so far only been able to demo the game here.

For fun, here are the top ten cities that Google has identified:

  1. Cairo
  2. New York
  3. San Francisco
  4. Seattle
  5. London
  6. Bangkok
  7. São Paolo
  8. Los Angeles
  9. Alexandria
  10. Singapore

Although Australia isn’t represented here, Adelaide just missed the cut at #12.

Occasionally we’re asked what technologies we’ve used to develop Conclave, and now seems like a good time for a blog post on the subject since we’re in the middle of making some upgrades.

Ruby on RailsConclave’s engine and other server-side components are written in Ruby and use the Rails web framework backed by a PostgreSQL database. All the animations and interactions in the browser are handled with JavaScript, HTML5, and CSS; we chose to avoid Flash since it’s not supported on iOS devices. We make heavy use of the jQuery library, and we’re looking at JavaScript frameworks like Backbone, Angular, and Ember as our codebase grows.

We host the game using a service called Heroku. It provides a platform that runs on top of Amazon Web Services and takes care of many of the details of deployment and server administration: balancing load, keeping servers patched, restarting instances if they go offline, backing up our database, and so on. Without Heroku, we’d have spent a lot more time writing scripts and handling those tasks ourselves instead of developing the game. We recommend checking into it if you’re creating a web app.

Besides Heroku, we use a few other services with Conclave. A critical one is Pusher, a WebSocket-based service which we use to notify other players when you type a chat message or submit an action. Two others play no part in the game’s functionality itself but are very helpful for keeping it running smoothly. The first is New Relic, which monitors our performance and provides reports that help us track down anything that’s bogging down play. The second is Airbrake, which automatically sends us debugging information whenever an error occurs. If you’ve done much development, you know how much easier that makes it to reproduce a bug.

While we’ve been happy with the technologies we’re using, nearly all of them have alternatives. Consider our experience a data point in your own evaluations, and if you have any questions or suggestions for us, let us know in the comments.

This week we released the entirety of Conclave‘s first campaign, Legacy of the Dweller, which increases the total number of adventures available to 25 and completes the primary story arc introduced in the very first adventure.

While in some ways this is just the starting point of the game’s life – we’ve got additional features to implement, improvements to make, and stories to explore – it’s also a major milestone, perhaps not unlike a birth. With that in mind, here’s a look back at what we’ve developed for Conclave over the last several months of its gestation.

Legacy of the Dweller

One of many new locations found in Legacy of the Dweller

  • Improved graphics & sound: Combat now displays simple animations and sound effects for your actions, and Sam Hulick composed a fantastic soundtrack for the game.
  • Quests that scale from solo to four players: Quests adjust combats based on the exact number of players in your party. Before, quests had only “small party” and “large party” variants.
  • New item slots and usable items: Items are no longer just hand-held weapons and armor, and some grant you additional abilities you can use in combat, not just passive bonuses.
  • Increased depth to combat: Combat now pays attention to line of sight and includes hidden traps both mechanical and arcane. Conditions like inspired also have opposing conditions like dazed that will trump them, making combat a little less simple.
  • More significant story decisions: The decisions you make can affect ensuing combats, with either characters or their foes starting damaged or with a special condition. They can also lead to …
  • Distinctions: When acquired by your party, distinctions unlock special options in the story as well as new items in the Vault of Arms.
  • Discovered items: Speaking of new items, you’ll occasionally find them on your quests as well, and these won’t be ones you can obtain through the Vault.
  • Customizable character progression: When you level – and characters can reach level 10 in Legacy of the Dweller – you now choose from among a large set of abilities based on your stats and skills, giving you a way to tailor your character to your own style of play.
  • Friends lists & presence: You can keep track of your favorite players and see when they and anyone in your party are online.
  • More intuitive stats: We converted character stats to use the same scale so that a +1 to Agility has the same impact on Dodge as a direct +1 Dodge bonus, making the system much easier to understand. (A +1 to Agility has other benefits, of course.)

While it’s taken us a little longer than we’d hoped to reach this point, we’re pretty happy with that list of changes, and we hope you’ll check them out. Expect to see more in the coming months.

We haven’t posted much recently, and there’s a good reason for that: we’ve been very busy cranking out features and improvements to Conclave. Here’s what we’ve accomplished since the last time we posted:

Usable items

The Runehammer and Alchemist’s Pitch are among the new utility items.

  • Leveling up lets you customize your character by choosing which abilities to learn and which traits to increase.
  • We also added a slew of new abilities, including ones that let you create terrain on the battlefield and abjure magic-using foes.
  • We introduced usable items to the Vault of Arms. These items take up a new utility slot in your inventory and grant limited-use abilities for your characters, such as a Brace of Knives you can throw or a Stone Draught you can quaff.
  • Quests play atmospheric music tracks composed by Sam Hulick of Mass Effect 3 and Baldur’s Gate: Enhanced Edition. We’ve revealed three tracks so far and will have several more in the final release.
  • Combat features animated token movement, with additional visual effects coming soon.
  • Character creation offers 30 portraits to choose from, with three options for each combination of race and gender. All the portraits feature striking art by Chris Rahn.
  • The user interface indicates whether your party mates are online.
  • The game’s numbers and mechanics now use a common scale so that you no longer need to wonder how a +1 Agility bonus compares to a +5 Dodge bonus.
  • You can play multiple characters at the same time in different tabs of your browser.
  • We’ve streamlined the user interface for quest selection.

In addition, we’re well on our way toward completing the full campaign of quests, which will include revised and expanded versions of all our current quests plus about the same number of totally new ones. Here’s one of the new maps you’ll encounter:

Bower

We also have a number of other features in development, such as friends lists, line-of-sight targeting for ranged attacks, and more ways that your party’s choices can affect how the game and the story play out.

We’ll keep you posted. In the meantime, we always appreciate hearing from you on our forums and our feedback app.

Developer Diary: Breaking open the black box

Black box

Level 2 + Agility 7 + Light Blade 14 = ??

Players have been asking for years what checks are, and how exactly we resolve attacks and other uncertain situations in the game.  Many have written long forum posts with theories about how the numbers are crunched in Conclave, making their best guess at how useful a +5 attack bonus is, how painful a -2 penalty to Strength must be, and what your chances of success, great success, and epic success are at any given time.  So far, every guess has landed far from the mark – and that’s not something to be proud of.  We want Conclave’s resolution system to be easy for players to understand and apply, even while making sure it supports all the concepts in the game and offers a variety of possible results to many actions.  Right now, the system does the latter, but not the former:  it’s too much of a black box.

Conclave’s resolution system can be broken down into two pieces:  finding score differentials, and using them to find a success range.  Any time we need to see if an entity succeeds or fails at something, we calculate a score differential, derive the success range, roll some virtual dice, and get a result.  This whole process is called a check.

A score differential is a comparison of some aspect of an entity that’s attempting some action – attacking a foe, sneaking past a guard, wielding the Earth Rune – against some aspect of the thing it’s trying to affect with that action.  For example, a hob thug trying to hit a character compares its Attack score versus the character’s Melee Dodge.  The result is a positive or negative number, which is the score differential.  If that thug has an Attack of 12, and the character has a Melee Dodge of 7, the score differential is a 5.

We then use a set of equations to map the score differential to a range of probabilities for achieving different levels of success or failure, all on a percentile scale.  That’s the success range.  I won’t get into the details of the equations for deriving success ranges here, in part because they may well change in the coming months; the important thing to understand is that, given a score differential, they tell you the % chance that you’ll fail, succeed, succeed well, or succeed awesomely.

The big problem with score differentials right now is that some of our scores are on an entirely different scale than others.  Specifically, traits and level are on one scale – a scale where numbers are generally between 1 and 10 – and skills are on a scale between 1 and 100.  This means that every time you want to make a comparison between, say, my Tactics skill and your Insight trait, we are comparing apples to oranges, and have to do a conversion.

This might not sound so bad, and indeed it’s no big deal for the computers running Conclave.  But the need for conversion makes it harder for players to understand what’s going on with any given check.  I may personally know that a +5 to attack (your attack being based on your weapon skill) is roughly equivalent to a +1 to your Strength, but how is a player supposed to realize that?  Even if we educate players as to how the calculation works, they are stuck constantly having to make a division-based conversion each time they want to weigh the odds and figure out how much a given bonus or penalty might affect them.

It gets worse, though.  The conversion of skill scores to the same scale used by traits and level is not strictly divisory.  (If you want to skip this part, don’t worry:  the whole point is that the math is unnecessarily complicated and confusing, and there’s no need to go through the confusing complication in order to get it!)  See, the problem is that skill scores go up at different rates right now, depending on whether you are good at the skill or only okay.  Every archetype has a skill in which they are primary (e.g., Beacons are primary at Persuasion) and another that’s secondary (e.g., Beacons are secondary at Polearm).  Each level, you get 7 skill points towards your primary skill, and 3 towards your secondary.  This means that, as you reach higher and higher levels, the disparity between primary and secondary skills grows greater and greater.  Left unchecked, this would mean that a level 10 Beacon is vastly better at Persuasion than at Polearm, even though the difference is fairly minor at level 1.  This forces us to include a “normalization factor”, where your skill total is divided by your level when we calculate your final score for a score differential.

All of this works – and even works well – from the perspective of coming up with good probabilities of success under the wide variety of situations where we want to use checks.  But it’s an absolute beast to try to understand and apply, as you can see from the above explanation.  Heck, it can be challenging for us to intuit, and we designed the system!

So it’s time for an overhaul to the calculation of the scores we use in determining score differentials.  Here’s the big change:  skill scores are going away entirely.  If you have a skill, you have it; if you don’t, you don’t, and that’s all there is to know.  Some checks are skill checks:  for those, you’ll get a bonus if you have the skill.  You’ll still have a chance of success if you lack the skill; it just won’t be as high.  Specifically, we’ll take your level, add the trait that’s related to the skill in question, and add a skill bonus to that if you have the skill.

This allows us to calculate all scores for score differentials using a single equation based purely on addition.  We don’t have to divide skill scores by some factor to get them on the same scale as traits and level, nor divide them further by level to keep primary and secondary skills from growing widely variant as characters grow more powerful.

How will this affect you as a player?  First, your character sheet is going to look a bit different.  You’ll just see skills, not skills plus skill scores.  Your attack and dodge scores will be lower, because those were based on skills scores.  Attack, dodge, skill and check bonuses granted by equipment or abilities will be lower too.  However, this is all just a change in scale, and it means that if you get a +1 bonus, whether it’s to Strength, Bludgeon skill, or directly to attack, it always has the same effect on your chance to hit with your maul.

All of this is subject to change by the time the final version of Conclave rolls out.  We might put these changes into testing and find that players hate them.  But we feel pretty confident that the basic theory here is correct, and that we’re taking a good step towards making Conclave a game that models all sorts of situations well, but is still easy to understand.

Hmm… what’s this?

Arthur claims a sword from the Lady of the Lake: the magical “cut-steel”, Excalibur.  Bilbo burgles a simple golden ring, whose magic will change the face of Middle-Earth.

What are we talking about?  The glint of treasure:  finding items on your quests.

Treasure is one of the oldest traditions in the fantasy genre and, with it, of RPGs.  From 1st Edition AD&D’s extensive random treasure tables, all the way to World of Warcraft’s set items, crafting, and party treasure divvying options, loot has been a major component of the fantasy RPG experience from the get-go.  And so Conclave’s lack of found items stands out like something of a sore thumb.

After the Kickstarter, we plan to finally add found treasure to Conclave.  However, we will be doing it in our own way, reflective of our goals for the overall Conclave game experience.

1.  There won’t be lots of it.

Many RPGs hand out tons and tons of loot, most of it junk.  They provide so much of it, in fact, that they have to provide ever-bigger backpacks and stashes, hotkeys for rapid selling, color-coded rarities, even pets that can be ordered back to town to do your treasure-selling for you.

For a realtime RPG, this can be a good approach.  If, in your game, players are offing monsters fast enough to measure the results in KPM (Kills Per Minute – if not Per Second), then you have a lot of opportunities to drop treasure if you see fit.  Indeed, you can make loot collection one of the primary purposes of your game.

Conclave operates on a different time scale, more deliberate and drawn out; for some parties, a combat may take a week or more to complete.  We also shoot for a more realistic approach to the existence of treasure in the world:  our hob raiders are not treasure piñatas, ready to burst into piles of kneesocks of bravery and +5 armored pantaloons of volcanic wading.  For both these reasons, we don’t expect to be dropping items left and right.

Instead, finding treasure should feel special and unusual in Conclave, like it does in a good genre movie or book.  This is not to say that we want to leave you feeling deprived, starved for treasure, just that it shouldn’t either be an everyday occurrence in your characters’ lives.  It also means you shouldn’t be carting around boatloads of it to sell at some fictional shop with bottomless coffers.

2.  Make treasure fit your characters’ needs.

What happens in a game when a party finds a valuable item, and it’s not really right for anybody in the party?

First, the party has to spend time figuring that out in the first place.  This takes time.  Then they need to find somebody to whom to sell or trade the item.  After that, they have to figure out what to do with the cash or item that they received.  Do they share the cash?  Create a party stash?  If they receive another item, who gets that?  And so on.

What happens in a game when the party finds a valuable item, and it’s useful for more than one character?  Now we get into the wonderful world of divvying up treasure, and trying to make sure that everybody feels like they got an equal share of what was found (which almost never happens).

With Conclave, we want to try something different, which is to make sure that characters get items that are pretty obviously good for them.  We don’t want you to have to spend aggravating time arguing over who gets what, or trying to figure out what do with an item nobody wants.  Will this be as realistic as giving players awkward treasures?  No – but realism is not the only thing we are going for.  We also want you to feel excited about the direction your characters’ equipment is going, to feel like it is part of the story, and not feel either like it’s something you must worry about overmuch.

3.  Managing treasure won’t become a primary activity.

Ultimately, we don’t want Conclave to be all about the treasure.  There are plenty of other games that do a great job of making treasure the focus of play.  With Conclave, however, we are aiming for a distilled approach to the whole tabletop roleplaying experience.  We want to deliver you the best of tactical combat, the best of group decisions, the best of storytelling, the best of socialization – and the best of treasure.  In each case, we give you a focused version of the experience, and one that does not require you to devote more time to it than you need to.  This is part of how we keep Conclave flexible, and convenient, a game you can play any time and any place you want.

By making treasure both unusual and well-tailored to the characters in your party, we distill the treasure experience in the game to its fun essentials, and avoid wasting your time.  When you receive an item, you’ll know it’s worth paying attention to.  You may or may not make use of it; that’s fine.  But you know you won’t be bothered with supposed “treasure” that is ultimately just dross.

We’re intentionally staying away from more specifics in this post.  We want to save some surprises, and still have a number of details to work out for ourselves.  But we hope this exploration gives you a sense of the philosophy we are applying to the presence of treasure in Conclave, and how it fits into our larger goals for the game.

If your party likes to play Conclave together at the same time, you’ve probably encountered the most dreaded foe of all:

Another player has acted!

We hate this message, too.

The game displays this message whenever you submit a combat action after another player has acted but before the game has updated your view of the combat to reflect it. Since you might want to change your action based on the result of the previous action, the game cancels the action you submitted and gives you a chance to redo it after updating your view.

This definitely isn’t ideal: your action might still be what you want to do, and in any case it’s just plain annoying to be interrupted. We’ve done a lot of work to make the game run smoothly when you’re playing asynchronously, and one of our priorities is to make similar improvements to realtime play; a big part of that is reducing the number of times you see the “Another player has acted” message.

We’re tackling the problem in two ways. First, we’re making some changes that will reduce the amount of time between one player submitting an action and another player seeing it. That will reduce the window of time in which submitting an action will trigger a conflict and cause you to be interrupted by the message. As a bonus, these changes will reduce the time it takes for chat messages to appear after they’re sent; realtime conversations will feel a bit more … well, realtime afterward. (For those of you curious about the technical details, we’ll be switching from the simple “pull” approach of periodic AJAX polling to a more efficient “push” approach where we maintain a persistent connection and send updates as they occur.)

The second way we plan to tackle the problem is by indicating when other players are online and in the process of taking action. Many chat programs will tell you when a person you’re chatting has started typing, which lets you know that you might want to wait until he or she has had a chance to finish. We’ll do something similar, but for action-taking.

Between the two, we think you’ll see a lot less of the “Another player has acted” message, and the game will be more responsive to boot.

Developer Diary: Character Customization

One of the major features we will be adding if our Kickstarter is funded is character customization.  Today, I’ll be looking in detail at what that means, and the new options you’ll be afforded once we’ve developed this feature.

When you level a character in Conclave, you get some mix of the following benefits:

  • A new ability
  • More skill points
  • A new trait point
  • More Health

In the beta, you have no control of any of these:  every character follows a preset path that is determined wholly by your archetype.  For example, all level 2 Vanguards get +7 to Bludgeon, +3 to Tactics, and gain the Persevere skill.  Once character customization is in place, however, you’ll have options with ability choice, skill point assignment, and trait point assignment.

Finishing Blow

Will your Rogue choose this at Stealth 30?

The most important of these is ability choice, because Conclave’s combat is so heavily ability-driven.  Sure, your various stats matter, but their effect is subtle, behind-the-scenes.  Abilities are what define what you can do, and take front stage because you select from them over and over.  Put another way, abilities are much of what create characters’ identities in combat.  And today, those identities are pretty narrow.  All Runecasters focus on damaging, ranged magic, with a touch of protective buffing.  All Rogues rely on striking vulnerable foes in melee.  And so on.

This will still be true for 1st level characters once customization is in place.  Every Rogue will still start out being able to go Into the Shadows and Dash about.  But as characters level up, they’ll grow more and more divergent, exploring a larger ability space defined by their skill point allocations and their player’s interests.  We are really excited about this, as we’ve never meant for your archetype to be a railroad for character development – that was just a necessary expediency during the beta.  In the future, you’ll see Vanguards who are shield masters, and those who are battlefield tacticians; Beacons who are true masters of the polearm, and others who are focused on inspirational healing; Rogues who love dirty tricks, alongside Rogues who are dueling experts; True Bows finding perfect clarity in the magic of True Sight, or with a battery of trick and utility shots; Runecasters who manipulate terrain, or use Lore to uncover the secrets of their foes.

As you level, you’ll be able to select from a variety of different abilities to add to your character.  We have at least twice as many abilities defined for characters as are actually available within the game currently – and that’s just for characters levels one to five.  Once character customization is open, all those abilities will be available to you.  However, most have specific requirements that your character must first meet before you can access them.  The majority of these are skill-based:  you’ll need a Bludgeon score of 15 to access Sweeping Blow, for example, or a Lore of 30 to choose the new Secrets of Mortality.  Others have trait requirements (e.g., Agility 8 is needed for Twin Strike), and still others require that you already have some other ability (e.g., the new Gale needs both Air Rune and Runecasting 20).

I’ll leave you with a few abilities that might make their way into the final version of the game, though no doubt they will be tweaked after playtesting; I hope these inspire you to think about new directions your Conclave characters could take in the future:

 

Rippling Earth

Requires Earth Rune, Runecasting 20

Major action

All squares in a 5-square line emanating from you become rough terrain.  Check your Runecasting against the Agility of each combatant in those squares.  If you succeed, the combatant takes 5-7 bludgeoning damage.

 

Part the Veil

Requires True Sight 20

Minor action

All unnoticed foes within three squares are revealed and become dazed.

 

Battle Rage

Requires Fortitude 7

Minor action

You become enraged.  You must be at least lightly wounded to use this ability.

 

Riposte

Requires Light Blade 20

Minor action

Until the beginning of the next round, if an adjacent foe attacks you, make a free attack with your weapon on that foe.

 

Oration

Requires Persuasion 20

Major action

All inspired allies recharge a random ability.

Conclave’s music and art direction

By now most of you have probably seen that we’re running a Kickstarter to fund the last stretch of Conclave’s development. (And if you haven’t, go check it out! This blog post will be here when you get back.) We thought we’d talk a little more here about aspects of the game and the development process that we could only touch on briefly there.

One of the pleasures of developing Conclave has been getting to watch (and hear) Sam, Chris, and Devin turn our ideas and sketches into works of art that evoke our setting in a visceral way. Take Sam’s initial composition, “Turn of the Age”:

Each of the five races of the Kin is represented musically in the piece:

  • cello for the mezoar
  • the chorus of voices for the lumyn
  • drums for the forgeborn
  • flute for the nix
  • harp for the trow

In addition, Sam came across a rare stringed instrument used in medieval times called the viola da gamba, which he uses to suggest an ancient and otherworldly (but not alien) atmosphere.

Chris also weaves details of the setting into his character portraits. Two of my favorites are ones he’s done for the nix:

Long ago the nix discovered Spiritcraft, one of the five great magical Traditions. Though the Tradition has since spread to other races of the Kin, the nix retain a strong affinity for the beings of living magic that seem to spring forth from Orn. You can see one example in the first portrait, though not all spirits are as cute as that one.

There’s a more tragic tale behind the second portrait. One of the last realms to fall was Charn, which was betrayed and usurped by the great Spiritcrafter who became known as the Heresiarch. The nix in the image still wears the hawk-inspired armor of a soldier from that northern land in honor of his ancestors who died defending it.

Powered by WordPress. Theme: Motion by 85ideas.