Thinking out loud about Carenway

I’m writing this mostly to make it clearer for myself, to make it easier for me to explain later what I hope to do.

If you read this today I assume you know who I am and where to send me comments if you wish.

Version 1 - 2007-11-06
Version 2 - 2007-11-07
Version 3 - 2008-01-20
Version 4 - 2008-02-03
Version 5 - 2008-05-11
Version 6 - 2008-05-12
Version 7 - 2008-06-10
Version 8 - 2008-06-16
Version 9 - 2008-06-30
Version 10 - 2008-07-21
Version 11 - 2008-07-24
Version 12 - 2008-07-25

Carenway will be a series of action games for computers (OS X, Linux, Win32).
I am the only person who will work on them, I will do everything - code, graphics, writing, sound, distribution, promotion. I will only recruit for QA, copyediting, and music collaborations.
Telling a good story is my primary objective, but the game system is what should initially hook the players.
I wanna make money from this thing. I have the luxury to be allowed to fail, which means that I will take interesting risks.

Game System

First Episode

The first episode game will play kinda like some sort of horizontal STG/platformer hybrid. The rules of engagement are that you are only to fire at opponents you are facing, therefore the games will force scrolling to feel like a race. However, none of the usual tropes of side-scrollers will be used. For example, getting stuck between the left border of the screen and an obstacle can’t happen, and bottomless pits aren’t. The common tropes of horizontal STG won’t apply either, especially the frustrating European traits: absolutely no cheap deaths, no situation forcing you to memorize the correct path, no attacking from behind, no shop, no generic level-design that feels randomly generated, no lifebar, and of course you won’t be able to violate the rules of engagement by mistake.

I have quite a few (sometimes mutually-incompatible) gameplay elements in my head and a very precise vision how playing will feel like, but I am still trying to decide a few things.

Basically it’s gonna be someone running to the right attempting not to get shot. The game will probably remind you in part of Sonic the Hedgehog, IGAvanias, Metal Slug, Gunstar Heroes, and recent Cave-style STG (not a translation of their games to the platformer of course, only in the feel of the games).

I may go with something different for the first episode, but I want to do this one eventually.

Next Episodes

Next episodes will generally use the same sprites in different game systems, and reuse systems with game-changing twists. Most episodes will have in common an arcade aesthetic, with a pick-up-and-play approach, using if possible no more than two action buttons. Almost every episode will be finishable in less than an hour, but you will have to practice to finish it at all if you don’t play on easy mode. All will be single-player experiences for many reasons. Since telling a good story is my primary objective, there may be a few episodes taking a format resembling a JRPG or adventure game. However, there will never be any real grind or any forcing an OCD pokémon collector mindset on the player.

Risk mechanic

A big thing I want to experiment with is the following idea:
Risk slope

This is basically taking the Risk = Reward thing one step further. It doesn’t simply mean that offensive strategies will be favored - it means that absolutely reckless strategies will be actually safer than a normal play style.

The big idea is to make Carenway a great spectator sport. In a game like ZOE2, even if you play terribly, this make for a good non-player experience, in part because it’s much harder to follow what’s going on when you’re not controlling the game. Which brings us to the replays:

Replays

Superplays of the genre on Youtube are probably a significant reason why obscure games like Triggerheart or the Milestone collection can get releases in the rest of the world. A replay feature means free promotion, and is very useful for me and players of all skills.

I’d like a few additional features to standard replay:

Accessibility

I want my games to be playable, sometimes with tweaks, by many people, including people who generally can’t enjoy commercial games. In order of importance:

However, I will not make my game accessible to the following people:

Code

I’d like to try a Ruby-based stack, but I have yet to do serious prototypes to see if it is doable without resorting to writing some performance-bound parts in C. My benchmark will be pretty simple, so long as I can push 60FPS on a Macbook with a simple 3D background and tons of sprites it’s good enough. I’ll go with Python if I see that performance issues will have me dropping to C often.

Flash, Java, and full C++ will never be considered.

OS support

Carenway games will be officially supported on OS X, Windows XP, Windows Vista, and Ubuntu.

I have yet to decide, depending on what it adds, whether to choose OS X 10.5 or 10.6 as the baseline for the series.
Linux versions will target the last major version (LTS for Ubuntu) of one year ago so long as it was well-updated.
Vista is probably easier to develop for, but unlike the frequent OS X versions, XP is not going anywhere anytime soon.

Alternative OSes won’t be supported (but will probably work anyway): last thing I want is to have to help Gentoo users troubleshoot their sick -fvroom-vroom CFLAGS.

Graphics

This is the biggest issue, as I still suck both at drawing and spriting. But nothing that can’t be solved.

The graphics will use low-res sprites but will not attempt to pretend that the game is running on an underpowered machine. Eventually I may add some 3D elements but the game system will keep a pixel-precise 2D aesthetic.

A lot of the background art will be pretty abstract, but in the early 90’s level-design kind of abstract, not in the “yeah so I suck at graphics but nobody will call me on it if I call it Geometry Wars” style or the high-concept “Games are a major artform because Rez was inspired by Kandinsky” kind of abstract.

The exact resolution of the playfield is not decided, I’d like something between 320×240 and 640×480, the rest of the screen being padded with a HUD. The playfield will not be resizable to allow competitive play.

I will not mix low-res sprites with high-res backgrounds and GUI, I think it looks terrible.

On LCD displays where lower resolutions look like shit, it means the graphics will be enlarged 2 or 3 times. It will be a straight upscale, using only integers as the zoom factor (2x, 3x, 4x, never 2.5x) with absolutely no smoothing - gaussian, 2xSaI, hqnx, etc… whatever the means, filtering upscaled sprites should never ever be done, no matter what.

A polished production is very important. Things like brutal transitions in graphics or an unresponsive GUI should never happen, and the polish may have to happen at the expense of cool effects.

Story

Universe

Because I have not yet a precise idea of how I will tell it and make the big revelations, I won’t say much for now. The story happens in a planet where two most influential countries are locked in an infinite war, as peace would mean ruin and destruction. For example, the occupation army of both sides acts as emergency services (police, firefighting, EMS…) in all the occupied territories (about 20% of each side). Of course, the situation is much more twisted, vicious and puzzling than this little example.

Carenway is a zone that exist in small part in the real world, but mostly in a supernatural plane. The manipulation of this zone in the context of this political intrigue will be the background of the game, but the storytelling will be more character-based than a fantasy/sci-fi background exploration.

Figuring out what the hell is going on will drive the players in the first episodes. Revealing the background intelligently in a way that makes you want to know more will be the big challenge.

For mature players

There will be much to take offense to in the game, no matter your background, as the story is likely to make many people uncomfortable with the questions raised, but I do not intend to go for gratuitous shock value.

Were Carenway a commercial game, the ESRB would definitely stick a M on it, maybe an AO even. But it’s not gonna be “Mature” in the violent, racy, exploitative, and controversial sense of this label.
In videogames, it’s OK to portray war as a gory massacre of men of war, but don’t even think you can attempt to give a textual description of the sort of shit that happens even today in wars all over the world, such as the systematic genital mutilation of civilian women in some conflicts.

I think that kids older than 12 can handle what’s gonna be in my games. If they parents would rather pretend they can’t, but can’t be bothered to spy on them, it’s not my problem.

Writing

I hate to spend the first 10 minutes of a game to hear “Welcome hero. Exposition exposition exposition exposition exposition exposition exposition exposition. To jump, press the A button. Try it! Press the A button! I will wait here! Jump (A button) to impress the old man! … Congratulations! Exposition! I watched your jump! You performed a jump by pressing the A button! Exposition, exposition. Hint: You can change the keys in the option menu.
I also hate the in-your-face “hey guys let’s explore a new theme today” kind of episodic writing.

The writing will be terse, the instructions given in a 20-seconds arcade-style tutorial, and the fourth wall rock-solid.

I only intend to introduce the main character as being main and playable by the 3rd episode, for technical and storytelling reasons.

The ending has already been written, but what happens before is kept as a flexible outline: should I manage to build a devoted fanbase, I want to be able to react to their reception and speculation.

It won’t be in chronological order. Can’t make it work this way.

Translation

I will release the game in English and provide French translations. Because the in-game dialogs use many languages, the translation will appear as subtitles to the languages already displayed in-game (including some English translation of foreign languages appearing in-game). I know it’s a weird idea on paper, but once I do mock-ups and reveal more about the universe it will make a lot of sense.

The dialogs will use an easily-editable DSL in the language I choose. (That’s in big part why I’d really prefer to use Ruby).

Keeping the game easy to translate is one of the reasons I want to keep the amount of text of each episode under 100KB.

I hope to eventually get my games translated in many languages. Especially Spanish, German, and Japanese. But I will only let that happen under my supervision to ensure a high quality translation, this is no fansub gig.

Edition

I’ll need two copyeditors in the QA process. One for the main version, since my English is nowhere near as good as I’d like, and it wouldn’t hurt even if it were. Another one for the French version, mostly for proofreading, as I’ll make much more spelling mistakes in French than English.

Sound

Music

I will record it. I make a videogamey sort of softsynth-based fusion-prog kinda sound, by jamming on the keys poorly at half of the final speed, then almost completely throwing away every take to redo it right in the piano roll view of my sequencer.

Anyway, I enjoy what I do and most people won’t hate it.

I understand how to make synths and samples sound good even if I am no pro and don’t mix on great gear (yet), so it doesn’t sound like a GM midi track played through the default synth.

I’d like to have one or two vocal tracks per episode, if I find sufficiently talented vocalists who’ll do it for free and won’t go “lol what” at the sight of the lyrics. I’ll probably have to recruit over the Internet, because locally I would have trouble finding someone without hints of a French accent, and I can’t make it work with the scenes they would accompany. I may not do this in the first episodes.

I won’t re-use level music from one episode to another but may re-arrange themes.

Sound Design

This is a big one. I want to provide a great experience.
Basically, I want to use conditional branching, mixable variants, beat-matched crossfades, beat-matched on-screen activity, and DSP effects (EQ, ducking).

In the first episode, a playthrough of a stage will always take a fixed amount of time. The music will make use of this fact to have a progressive structure suited to the level, and maybe have basic rhythm-game-inspired things like having some attack patterns hooked to the rhythm section of the music.

The music of action stages will be lacking in most of the bass range, to give players using a sufficiently loud subwoofer haptic feedback, using sub-bass stabs and drones in the SFX.

SFX

I have no experience making realistic SFX but I’d rather go with original sounds. Whatever can use an abstract synthesized sound will, but I have yet to decide what to do for the rest. I’d rather use a technique that doesn’t involve parting with money but doesn’t involve using shitty generic sounds either.

Distribution

I’d rather not use any destructive compression at all so I think an episode could take up to 200MB. Using s3 that’s $0.034 a pop, in other words $1 will buy me about 29 downloads. I’ll probably make the download a torrent and have the cdn I choose seed it 24/7, and have direct download mirrors on rapidshare, the cdn, and donated mirrors.

I think I can set my goal to serving 50 downloads per US dollar of bandwidth I spend.

Planning

If things go as planned, there will be between 8 and 16 episodes. Once an episode is ready to go in private QA, the previous one will go gold, since I have no incentive not to sit on finished episodes, but a very strong incentive to build hype for a release date. After the 3rd episode, I’d like to settle in a rhythm of 4 episodes a year. I don’t want this thing to drag on forever, so there will be an ending eventually.

Semi-open process

Once the project is ready to enter the hype-building stage, I will communicate frequently on a weblog. I’ll try to release as much insider info as possible and talk about the difficulties I encounter in the development process in a naive and honest way. However, I will always keep secret many details, to keep many surprises when you play the game. I’ll strip most of the story out of early QA builds to prevent spoilers to leak.

Money

Get popular first. Make money later.

I have yet to ask a professional for advice as to how to get in France a good and legal compromise that protects me from legal bullying but will let me keep more than half of the money I make.

On selling data

No selling the game. No fucking way in hell. Getting started in the business of selling software in the 00’s is just like getting started in the business of selling typewriters. With piracy consistently delivering a superior user experience, asking to pay the retail price is nothing more than the worst honor system ever, one that only disturbingly honest people and people who don’t know about torrents yet bother with.

Saying clearly “I worked full-time on this thing for months, send whatever please” to every player is a much better honor system. So basically it’s gonna be the Radiohead model.

Breaking even

I’m quite in a comfortable position to take big risks.

I’ll consider the project viable if I can hit the €2000/month mark within 18 months. Taxes and running expenses will claim half of it, and the rest would cover living expenses.

The big variables are:

Let’s say I can only make one download out of 100 to bring €5 and work for 6 months.
12.000 euros required, from 2.400 donators, which would require 240.000 downloads. This is clearly not gonna happen.

But if I can get one download out of 50 to bring €7 and can take only 5 months, I now require 10.000 euros, 1430 donators, 72.000 downloads, and if I spend a lot of time promoting the game, I know I can make it happen.

I want to work hard on increasing the number of downloads, and the frequency of donations, but I think that attempts to raise the average amount per donation could actually be counterproductive. Naming a figure would make people who want to give less feel bad, and maybe opt out of donating altogether, and on the other hand, people who would have made a larger donation would be incited to give less.

Making the development cycle faster will only work if I can spell out clearly that I expect “repeat business” from players.

It’s pretty hard to guess what’s going to happen. 18% of people chose to pay for Niggy Tardust and about 60% for In Rainbows (And the fact that the band is already filthy rich didn’t change anything). This is much, much more than I expected when I first considered releasing Carenway this way. No game has attempted this yet (just some timid Paypal buttons on freeware games).

On the other hand, some vendors of shitty casual sharewares claim a 90% piracy rate, and that 0.1% of downloads convert to sales.

Incentives to pay

I could do a “no release until you send this much money” thing but that’s quite a dick move, and not a good long term strategy.

The download page should have a big-ass button with “donate to download (fully refundable)” and a smaller “try before you donate”. Add a 2 months money-back guarantee. And at the start of the game, a reminder, with two buttons—”Remind me later” and “I already donated”. Basically, make it clear that if you enjoy the game I expect money.

Merchandise

No half-assed Cafepress-quality merchandise. Cheap stuff would bring little profit but may hurt the incentive to donate.

And no dorky shirts that make you look like a billboard and can survive less than 10 machine washes.

If I sell goods, I want limited edition luxury stuff sold worldwide with a big premium.

Bad ideas

Promotion

My #1 concern about promoting my game is not to be a scumbag about it. I have various strategies but I still need some time to think about them. But basically I intend to spend a lot of time talking about it all over the internet, and release demos and videos as soon and often as possible to give people things to talk about.

The game being done by only one person working fulltime is an interesting story to tell in the promotion.

The business model could bring me a lot of free advertising if I’m the first to move, but I probably won’t.

Its being available as native experiences on OS X and Linux will bring me a lot of free promotion and I need to strongly play this angle with these user communities.

Licensing

Open-source means that you have an open development process, a public code repository, good developer documentation, that you take user requests, and welcome contributions.

It won’t be open-source because my story is no wiki.

I will distribute the engine under the MIT license, but it won’t be open-source in spirit, so I won’t use that word. If you want to use it for your own game you’d better fork it ‘cause I sure won’t accept your patch if it brings a new feature.

The media files probably won’t be CC’d either. I’ll write a sort of gentlemen’s agreement detailing what I’m cool with and what I’m not, but I won’t make this thing legally binding, that’s just asking for trouble.

Of course it could be extremely real great if someone used my engine and assets to make a mod happening in the same universe, especially if the level-design is inventive and the writing is above the shitty self-insert fanfic level. That’s actually in part why I’m keeping the story flexible and full of side-story opportunities.

But the last thing I want is to see my levels slightly modified, my sprites color-swapped, given new names, and my universe pretty much ruined for the other players eager to try out mods regardless of their quality.

Protecting the quality of the experience of the most devoted players will always be my first concern, because delivering them a bad experience would lower my quality of life.