Sinister Soups Serving Musings On Game Development and Play


Designing S3: An Introduction

If you take a look at my About Me page, you'll see that one reason why this blog exists is to eventually serve as a design document for a game I've wanted to make for a long time now. I've been putting off this intro post, even as I develop drafts of actual design articles, but I think the time is right to start revealing information about what this game is and what my goals are in designing it.

The game I intend to someday make happen is called Setting Sun Saga, and it is a turn-based tactical RPG based closely on the model of Final Fantasy Tactics.

Why a FFT clone then, if we should call it that? Because FFT is one of my favorite games of all time; because I have many ideas about how to make my own game of this type, as well as a setting and the beginnings of a story I want to present with it; and because there are not many games of this type made anymore. What few tactical RPGs are released these days inevitably come out of Japan, don't take themselves seriously, and don't use FFT's unique approach to character classes or unit initiative, both of which I consider integral to the game's appeal.

In any case, though FFT will be the basic model for this game, which I will refer to as S3 from this point on to save on some otherwise tiresome typing anytime I wish to refer to it, below are some points I plan to emphasize in my design that will distance it from FFT and make it its own game.

  • A completely custom setting, with a set of classes, abilities, and mechanics that hopefully feel new and different.
  • More non-linear and player-driven narrative, taking cues from some of my other favorite games, like Planescape: Torment and the Fallout series, I hope to give this game a little bit of the freedom and meaningful choice that those classic western PC games offered.
  • New and interesting battle mechanics, with a major goal being adding interesting new decisions while maintaining FFT's surface simplicity and making sure that the unit stats and combat results remain clearly understandable.
  • More emphasis on custom units, one of my biggest problems with the original FFT is that you get a large roster of special story units as the game goes on, and these characters are clearly much better than any custom units you may have been cultivating. This is the opposite of what I want for S3, where I plan to keep the roster of special characters very small, and add depth and unique characteristics you can give your custom characters, to foster your connection with them and increase their utility.
  • Greater control of unit development, I want to stay away from the trap a lot of Japanese RPGs fall into, where characters' stats develop arbitrarily because they happen to level up while in a specific class, for example, leading to arcane hacks like trying to de-level them or otherwise working around the game if you want your characters to develop in a specific way.
  • Mechanics not limited by hardware, the Playstation, the original platform for FFT, didn't have an FPU. Consequently, all the formulae controlling the game are designed to work using only integer math, and while I definitely have no desire to fix things that are not broken, I will be reviewing systems to see if they can be made more robust on modern hardware.

So there you have it, hopefully now you have a clearer picture of the kind of game that S3 will be.

In the coming weeks, I will be posting articles about specific aspects of the game design, and I hope you will join me in discussing these deisgn decisions and provide your feedback on how to make Setting Sun Saga a success.

Filed under: Designing S3 2 Comments

Star-Crafting A Fun Online Experience

You realize that this is nowhere near enough pylons, right?

It should come as no surprise that Starcraft 2 will include a matchmaking system as its default method of starting multiplayer games. Blizzard went that route with Warcraft 3, to ensure that players could find good challenges for their teams and be ranked on fair matchups, as is necessary when you have a ladder system to support.

While the system in Warcraft 3 was good for its time, it could also be said that it had its flaws, chief among them its propensity for matching you with people who would proceed to curb stomp you.

At least, as a rather mediocre RTS player, that was my experience with the thing, and judging by the Penny Arcade strip linked above, I wasn't alone.

Luckily, Blizzard seems to be working to ensure that Starcraft 2 doesn't have the same problems. I had already heard that it would have different ladders for different skill levels, so that the more casual fans of RTS, like myself, might actually have a chance to compete with others on their level. Now, a recent article at the Escapist reveals some other steps they are taking to address problems with skill mismatches.

Their first major improvement is limiting each copy of the game to creating a single account, rather than allowing unlimited accounts like their former games. The reason this is important is because there is a certain breed of griefer who likes nothing more than to stomp on newbie players, a practice apparently called "smurfing," which they can only do by creating new accounts with no win history. If they tried this with an experienced account, the game's matchmaking would never match them with the a newbie player, since it tries to match very closely based on skill.

Handily, by limiting you to a single account, you can't go around creating what are essentially griefer or troll accounts, whose sole purpose is to ruin other peoples' experience. It also integrates nicely with Blizzard's recent update to a single-account Battle.netsystem, which now integrates WoW accounts as well, and will definitely be required for future Blizzard products.

The other thing mentioned in the above article, is that they are considering adding some slack to their matchmaking. Apparently, right now, the matchmaking in Starcraft 2 is too accurate, to the point that players are pretty much always matched on an even level. While this is fair, it leads to poor pacing for someone playing a night of Starcraft 2. Every game they play is a breathless, tooth and nail fight, and it doesn't allow the more relaxed play one might get playing a more novice opponent, nor the extreme challenge of facing a better player, which many people swear by as a means of improvement.

Ultimately, I think Blizzard is on the right track here. Exceptional matchmaking, combined with limited accounts to ensure honest skill levels means that both great players, and the really terrible ones (like, again, myself) can have good, exciting games without undue frustration, and I can definitely see the benefits of a slight random component to ensure a more interesting gaming session.

If I were them, I would actually consider going a step further than pure randomness, and think about how they can craft the sort of pacing they want. Since they seem to already be thinking in terms of a series of consecutive games, a session if you will, it wouldn't be too hard to start coming up with heuristic rules to give players the sort of experience that they desire, or alternately, that Blizzard wants them to have.

For example, if a player loses a couple of games in a row, maybe the system adapts to give them a few easier matchups, to give them some breathing space and a chance to try to apply what they might have learned from their defeats against a less demanding opponent. If they are willing to give players this kind of control, they could even allow you to choose from a preset difficulty, or "experience" that they'd like to have that night. Maybe I choose the Relaxed experience, and am only matched with opponents who are my level or lower, while another player wants a Meat Grinder, to hone his skills or just wrack his brains, and is therefore matched only with people of significantly higher level.

Of course, I'm sure Blizzard is already thinking about these sorts of things, and there are challenges there, such as making sure that someone who wants an easy experience is only matched with players who want a hard one, or you just get the same sort of griefing play this whole thing tries to avoid. Still, it'll be interesting to see what lessons Blizzard pulls from the current closed beta, and how the online RTS landscape will change when Starcraft 2 is released.

Filed under: Game Design, Games 2 Comments

Spam In My Soups

It's depressing how efficient spambots are. Even though this blog is nowhere near popular, they are exceptionally good at clogging the tubes with literally dozens of garbage comments a day, especially on the posts that show up fairly high under specific Google searches.

I wonder if anyone else here has a WordPress blog and has found good solutions for this problem? I have looked at several possible plugins, but I'm a little reticent to put one into use without knowing the pros and cons or different solutions. I suppose the simplest solution would be some sort of captcha test on comments, but I'm not crazy about adding a layer of extra work for anyone wanting to post a comment, ideally I'd like something effective but non-intrusive.

Is that a fantasy? Does anyone know a good plugin that they could recommend?

Filed under: Notices No Comments

Source Control For The Hobbyist Developer

I've been working on an XNA game project with some friends in my free time, and as any professional developer knows, it's much more difficult to coordinate changes to a programming project without some sort of source control solution. While we did without in the beginning, it came to be too much of a hassle, and last night I finally set up source control repository for us. I was thinking that it might be helpful to others, and to myself for future reference, to outline the solution I ended up using, and how I set it up.

Firstly, what is source control? Source control is a way to let multiple people edit the same resources, whether that's documents or source code, without their edits stomping on each other. While there are different ways to accomplish this, the method my friends and I are used to involves checking out files from a central repository, editing them independently, and then checking them back into the repository. If multiple people check out the same file, then the first to check changes in can do so freely, while everyone who checks in after that needs to first correct any conflicts their checkins might have with that first person's changes.

Ultimately, for our home work, we wanted a system with a decent GUI, that was simple to use, and worked more or less how we were used to. Since there are a lot of sites out there that will host repositories using the Subversion (or SVN) source control system, and there is a popular shell integration application called TortoiseSVN which allows you to work with SVN without using the command line, this was the system we ended up going with.

The first thing you need to decide if you want to use TortoiseSVN is whether you want to have a local repository on your computer, which you can use to track your own changes to a project you are working on, but which you can't easily give other people access to, or if you want to have the repository stored on a server so that team members on multiple computers can all access and edit it easily.

In our case, the latter was the only logical choice, a local repository only makes sense if you are the only one working on a project, so we looked for a service site that would let us host a repository easily. We ended up going with XP-Dev, a service we chose because it allows free hosting of up to two SVN repositories with 200 MBs of space available, and also gives you a lot of rather nice tools as part of your account to make project management easier, tools like forums, a wiki, a blog, and bug and task tracking.

There are very many different hosting sites like this, however, so you may be able to find one that gives you even more space for free, if you need it, and they all offer subscription options as well that give you more space and unlock more powerful features.

Once you have an account set up, you will be able to create a repository for your project, and you should get a URL that you can use to access your repository. On XP-Dev, the repository URL looks something like this:

At this point, you are ready to install TortoiseSVN; you can get the installer at their download page. While it is installing, consider where you want your project to reside on your computer, you will need a directory that you designate as the root of your repository, so that Tortoise can download a copy of the repository there for you to edit and then check back into the repository on the server. In my case, I wanted to make sure the repository was obvious and easy to find, so I created a directory called D:\SVN\Projectname.

Once you have your directory ready, and Tortoise successfully installed (you will need to restart Windows for the shell integration to work correctly), you can then start setting up your repository. Assuming your repository on the server is empty at this point, move whatever folders you are going to be managing to your SVN\Projectname folder, right-click on the SVN\Projectname folder and select the TortoiseSVN --> Import option.

Import option, with equally relevant SVN Checkout option above it...

You will be prompted for the URL of the repository, which you should have gotten from your hosting service, and when you click OK, for your credentials to access that repository. Assuming there are no hiccups with your credentials, it should then upload the contents of your SVN\Projectname folder to the repository on the server, and the first revision of your project will be up and running!

While this put the files you want into your repository, it doesn't actually register that this directory is a local copy of the repository, and so you won't be able to use Tortoise to check in file and folder changes yet. To do this, you must now right-click on the SVN\Projectname folder, and select the SVN Checkout option, which will download the files back from the repository, and mark them as local copies that you can edit, and later commit to merge them back into the repository.

Once you have done this, you should see the folders in the SVN\Projectname folder with little green check-mark icons on top of them, indicating that they are fully up to date. If you edit any of these files or folders, the icon will change to a red stop sign, and when clicking on any file or folder in the repository directory structure, you will be able to use the SVN Update command to sync up to the newest version of the repository, and the SVN Commit command to check in any changes you have made.

SVN Update and SVN Commit commands available once you have checked out the repository.

A few other useful tips for working with Tortoise and SVN in general:

  • Since Tortoise is a shell extension, all of its functionality can be accessed through the right-click menu in Explorer. There are many nice options here to help you manage your files and your repository.
  • When you go to commit your changes, you will be given a list of files that will be added with your check in, as well as any modified files. You can double-click on any of the files in this list to see the difference between them and make any changes.
  • If the list of files that will be added on a commit includes files built as part of the project, binaries or obj files you don't actually want cluttering up your repository, you can simply right-click these files in the list and choose to ignore entire directories or specific file extensions. Those files and folders will not be uploaded to the repository, and will not show up in subsequent commits.
  • TortoiseSVN has a very nice manual available in the docs section of their website. The manual not only covers Tortoise itself, but also has some good info about SVN and best practices for setting up your repositories and how to use it on a daily basis.

Hopefully, this has been helpful to anyone out there looking for a quick and easy explanation of how to set up source control for a personal project. It seems to be working out pretty nicely for our team, and I wish you good luck in your own endeavors!


Am I Dreaming?

A heavy, complex RPG? Set in space? With fleet battles, a big focus on ship customization, and the chance to develop and manage ship crews?

Surely this cannot be? Surely such a game could not exist, let along be out right now on the Nintendo DS? Such a thing simply doesn't happen, dreams like this do not come true!

Hopefully I don't wake up before Amazon ships my order...

Filed under: Games No Comments

Regularly Scheduled Programming

As you may have noticed, there was no new post last night, I just didn’t have anything compelling to talk about yesterday, and decided not to force the issue. I have a number of half-formed post ideas in mind, but none of them are at a point where I think they are worth writing yet.

Part of the problem, I think, is an overabundance of games this month! I don’t want to have every post just be a mini-review of a new game, a trend I’ve fallen into in recent weeks, but with so many new games that I am trying out, it’s hard not to focus on that.

Just in the past two weeks, I picked up and played Heavy Rain, Battlefield Bad Company 2, and Final Fantasy XIII. Now, this week, the first proper expansion to Dragon Age is out, and next week Just Cause 2 will make a splash.

I don’t really want to write about each of these unless there’s something compelling to say, and I have at least one other project in the works that takes much of my focus these days; so I will try to have a proper post Thursday, and to continue my usual update schedule, but bear with me if I’m a bit overwhelmed this month to keep to it!

Filed under: Notices No Comments

Final Fantasy XIII: A Love Letter

Dearest Final Fantasy 13,

I had heard the rumors, slandering you on the internet. They called you a disappointment, they said you were linear and shallow, and that you shame your family's good name.

Do not listen to them, sweet Final Fantasy 13, you are a masterwork of Creation. Your beauty knows no bounds; no game on this earth has finer cutscene assets, masterfully integrated with your sleek gameplay.

And you are more than just your luscious pixels, my love. They complain that you are linear, that they cannot explore you freely, like the perverted spelunkers that they are. But what of it? Why must you open yourself up to their awkward groping of your world?

You are a storyteller. You weave epic yarns that lesser games cannot appreciate or imitate, and you can damn well tell them however you choose. By tightly controlling where our hands may wander, you lead us on a well-paced journey, with a non-linear narrative structure that tickles our minds and pulls at our heartstrings.

So you have no useless towns or ubiquitous NPCs to quip about how times are tough; you don't need them to immerse us in your world. For that you give us people, a cast of characters more well-defined than we have ever seen from your disapproving ancestors. It is your soul, it is your empathy for a group of characters brought together, for once, under believable circumstances, their interpersonal conflicts realistic and on display, that attracts me to you so.

And to say that you are shallow, that you offer us too little to do together, this is just picky, worthless whining. Know that I'm glad of your honesty, my love, you needn't play mini-games with me, nor waste my time by hiding collectible garbage for me to seek out if I wish to win your heart. You offer me deep character customization, and a frenetic, exciting, and yet deeply strategic battle system.

When we play at combat, you and I, the experience is more intense and pleasurable than they can fathom. You are so smart, my dear, you always know the best commands for our little group, so long as we have learned an enemy's weaknesses. I can rest easy leaving to you what specific actions the team will take, and though you are not selfish, and you will let me decide for myself if I so desire, I would rather focus on the high-level strategy so that our cooperation becomes a lithe dance of death and destruction.

They may say you play yourself, and in their lurid fantasies perhaps you do, but you and I know better, my love. We know that if I leave you to handle the group's commands, I can focus on the best way to stagger our foes, leaving them weakened and defenseless to our joint assault. We know that with you handing out orders, I can pay attention to how the battle unfolds without being overwhelmed, and I can shift the entire party's combat roles at a moment's notice to respond to changes in the tactical situation.

Do not let them break your beautiful spirit, my lovely game. You may be different, you may not be what they expected, but you are still a lovely soul, on both the inside and the out.

I love you Final Fantasy 13, and I wouldn't change our time together for the world.

Devotedly yours,
Chris Ciupka

Filed under: Games 1 Comment

More Civ 5 Info Emerges

Looks like with GDC in full swing, Civilization 5 previews are starting to show up.

There isn't a lot of info yet, but what little I've seen sounds interesting, with the biggest change being that only one unit is now allowed per tile, meaning no giant stacks of units moving across the map. This also means that you should be able to set up a unified front more easily to stop the enemy from getting through.

Here's one pretty good article talking about the changes revealed so far.

Filed under: Games No Comments

How To Ruin A Perfectly Good Game

I'm a big Battlefield fan, in fact, the Battlefield series is probably my favorite series of first-person shooters. I've always preferred them to other offerings due to their huge open outdoor levels, large-scale engagements, vehicles, and squad dynamics.

There hasn't been a decent PC entry in the series for a while, or at least, the last one I played was Battlefield 2142. So I was pretty excited about the newest game, Battlefield Bad Company 2, which not only has the features of earlier PC Battlefield games, but also adds destructible buildings to the mix. I preordered it, played the beta a bit, and started playing the real deal with some friends last week.

It's a damn fun game. The core shooter mechanics are solid, there are a great number of weapons and gadgets to unlock for each of the four classes, and the squad gameplay is more satisfying than ever, particularly since you can now spawn on any of your squadmates after you die.

Unfortunately, as fun as the actual game is, absolutely everything surrounding the game experience is completely horrible. The number of bugs and outright broken features I have encountered while trying to play this game is mind-boggling.

Below is a non-exhaustive list of the worst offenders.

The Server Browser

The server browser is terrible. Every time I open it, it takes forever to actually populate with games, although I can cancel the updating process to get a partial list more quickly. Attempting to use any of the filters to find a server to my liking (such as filtering for servers with Seattle in the name, or ones that are neither full nor empty) causes the list to immediately go blank and never recover unless I refresh the whole thing again.

It doesn't help that the server history and favorites features are broken. My history tab shows five servers I played on a week ago, and no matter how many new servers I go to, they never end up in history anymore.

The favorites tab is useless because my History is broken, so I can't favorite servers from there, and for some insane reason you can't favorite a server while you are playing on it, so the only way I could favorite a server would be to find it in the browser (which I can't filter) and favorite there before ever playing on it.

The only way for me to consistently find decent servers to play on is therefore the friends list, where you're supposed to be able to join the servers your friends are playing on.

Unfortunately, the friends list is buggy. When you attempt to add someone as a friend, chances are they either will never get the request, or they'll get it days later. Even after finally getting someone added, I've encountered a situation where even when my friends are online (and I can see they are in-game in Steam), the friends list says they are offline.

Thankfully, somehow, even though they are "offline" I can still join the server they are playing on. Go figure.

Voice Chat

I think voice chat was outright broken until recently, and now it sort of works, but the few times I tried to use it, people who tried to speak would break up so badly that I could only make out one out of every five or six words.

In a game where squad tactics are a big draw, this is a huge problem. I've taken to using the independent Steam voice chat when playing with friends, which means we can't communicate with any random people who might join our squad, and our overall effectiveness, and the fun of the game, are significantly reduced.


The game crashes all the time for me. Sometimes it's a crash to desktop, without any warning or any repercussions, I'm just suddenly staring at my wallpaper, and forced to restart the game and hope the server my friends are playing on hasn't filled up. Other times, it will freeze, and leave me staring at a blank screen until I go to process manager and kill it.

It's such a shame that these fundamental issues make it so hard for me to join a decent game or keep playing once I do. Like I said, the game itself is a ton of fun, and even despite all the problems, I spent a good number of hours this weekend honing my rather poor shooter skills.

Bad Company 2 is a case study in how not to release a PC game, this kind of stuff is killer, turning off huge numbers of people who aren't as resilient as I am. Who cares how good your game is if a ton of people who paid for it can't even play it?

On top of that, a lot of this stuff is based around problems that should be solved by now. It's 2010, and the number of shooters that have managed to ship with working server browsers must be in the hundreds by now.

If EA and DICE couldn't fix these problems themselves, they shouldn't have tried, they could have gotten Steam integration into the game and let Valve solve their problems for them.

Filed under: Games No Comments

Boarding Party: Part 2 of 2

Check out Part 1, to read about Pandemic, Chrononauts, and Dominion.

Race for the Galaxy

Race for the Galaxy is another competitive solitaire game, and if you've never played similar games like Puerto Rico or San Juan (as I hadn't when I first sat down to play it) you may find it incredibly confusing. The rules to Race for the Galaxy are not easy to figure out if you're not playing with someone who's played before, and while the instructions are thorough, something about the way they're written makes it really hard to piece together what you should be doing.

Ironically, once you figure it out, it's the simplest game on this list to set up, and not a very difficult game to play. It is deep however, deep and satisfying.

The basic idea of the game is to build a space empire. It's a 4x computer game like Master of Orion in card game form, allowing quick, fascinating rounds of empire building. All players draw their hands from a single deck, and proceed to settle planets, build developments, and trade resources.

Ingeniously, all these mechanics use the same cards: to settle a planet, you put down the card for that planet, and you pay for it by discarding a certain number of cards from your hand. Developments, which are like buildings, improvements, or technologies, are built in the same way, while any planets that produce resources for trade are simply marked by putting a card face down on top of them when they have produced a resource.

The game proceeds in rounds, divided into phases, during the Explore phase, you can draw cards to replenish your hand, during the Develop and Settle phases, you can build, and during the Consume and Produce phases you can exploit resources to get victory points, or to trade them for extra cards for your hand. What makes this interesting is that not every turn will have all these phases, each player must select a phase at the start of a turn, and only those phases which were selected will be played. Additionally, while all players will get to play those phases, only the player who selected it gets a special bonus during that phase.

That's pretty much the gist of it, but it gets complicated in that most cards that you have played and added to your empire have special abilities that you can use during specific phases. Therefore, you can pursue different strategies for victory by building the right things. You can attempt to win by settling worlds, conquering military worlds, or building an economy to crank out victory points.

The deck has specific ratios of different cards, so if you're hardcore about it you can learn about great synergies between different cards and play the odds, but even if you don't really know what you're doing, it can be fun to see what all the different cards have to offer.

Part of what makes the game so interesting is that because cards are the fundamental resource, every decision you make is meaningful. If you decide to place a powerful card, you will have to spend much of your hand to be able to do it, and you will lose out on whatever benefits might have been waiting there.

I haven't had a chance to play that much of the game yet, but I really liked what I saw when I did, and can't wait to get a few more sessions in. I'd recommend it to anyone interested in deep strategy in quick, bite-sized games, but try to find someone who's played it before to teach you your first game.

Arkham Horror

Arkham Horror comes in a large box filled to the brim with cards, tokens, dice, and a gorgeous map of the town of Arkham. It's a strongly themed cooperative game, set in the Lovecraftian 1920's, where a team of investigators try to uncover and stop an ancient evil from awakening and swallowing the world.

The pieces that come with it are wonderful: little decks of item cards, spell cards, skill cards; player character portraits and character sheets; monster squares, life and sanity and clue tokens; all of them look great and give you something to hang on to for dear life.

You'll need that. This game is brutal.

Pretty much every mechanic of Arkham horror is designed to make you feel like a person royally fucked. Every turn, a new portal opens in town, and monsters come pouring out. Closing a portal not only takes at least 3 turns, but requires a rare item or one of your resources (clue tokens) to seal permanently. On top of that, whenever a portal opens, other bad things usually happen, like an environmental change that makes certain checks unlucky, or a rumor, which gives you a certain number of turns to meet a condition and prevent something horrible from happening.

I've only had a chance to play it two-player, and I definitely don't recommend playing with so few people.

With only two, you have to focus pretty much all your time to closing portals, which means you don't have a lot of time to do any of the other fun things the game has to offer, and which you probably have to do if you want to be able to survive. Moving around the map, you can participate in unique encounters in every location, drawn from one of the location decks, which can net you money, items, allies, healing, or any number of other useful things.

They can also lead to a horrible death, but pretty much everything in this game can.

I have to say that despite playing with only two people (and subsequently having to... modify the rules a bit, especially since it was the first time either of us was playing), I had a lot of fun with Arkham Horror. It's a long, epic game, more like a contained RPG that doesn't need a GM than your typical board game. The attention to detail is simply fantastic, with great art and writing to get you in the mood.

I would recommend it to someone looking for a long, epic cooperative game, and with a group of at least 4-5 people willing to stay for the long haul. With the right group and the right attitude, this game will give you a suitable simulation of fighting for your life.

Filed under: Board Games, Games 1 Comment