Thursday, 20 March 2014

Veure - The Game That Isn't

It's a sad fact that life has an annoying way of taking precedence over dreams. Several years ago I was working on a project codenamed Veure (the Catalan verb "to see"). People in my field would routinely ask me what it was about, but I didn't answer. I wanted it to launch as a surprise. Today I have to face the reality that my vision is greater than my free time. Running a successful business with my wife, traveling to conferences all over Europe and the US, along with trying to raise a daughter have meant that free time is something I have in limited supply.

Veure was nothing less than my attempt to create an MMORPG in Perl, but I'm a stubborn cuss and refuse to admit that Veure is dead. Who knows? Maybe this post can rekindle interest in it. 

(Clicking on any image brings up a larger version of it).

Ship's manifest for the Bootlegger "Serenity", a modified Corvette
with a small, hidden cargo area supplementing the main cargo.
Here's the backstory taken from the archive pages in the game.
The Catastrophe 
Civilization ended three centuries ago. No one knows why. 
Mankind spread throughout the galaxy but was attacked en masse everywhere we lived in an event known as The Catastrophe. Planetary defense systems were turned on the planets they were defending. Stations across the galaxy had their air vented, life support systems shut off and databanks purged. Reactors went critical on ships. Humanity, across the galaxy, was about to be extinct in the space of just a few hours. 
Then the attack stopped. No one knows why. Planets were uninhabitable. For every station with survivors, there were at least a hundred more without. Most human knowledge was destroyed. Books were an anachronism, so the databank purge wiped out most of what humanity needed to continue surviving. Those with skills were quickly called upon to spread their knowledge, but it was piecemeal. Without the massive databanks, human technological advances came to a halt. We are even unsure of the year. 
Today no one knows how to build a starship or one of the massive wormhole jump gates that many star systems have. However, we've enough knowledge to at least repair them — if we can scavenge parts from dead stations or ships. 
This is humanity today. Most of human history has been lost. Much of our existence is a hard-scrabble lot, trying to simply stay alive. Mankind's reign has been reduced to a 40 light-year sphere, centered on Sol. Humans still take pilgrimages to Sol to view the remains of Earth — and to hope that one day we can regain our former glory. 
But who attacked humanity and why? More importantly, are they coming back?
So, think "Mad Max meets Star Trek", minus aliens (unless it turns out that aliens were behind the attack, one of the prevalent theories of the survivors).

An archive page describing one of the four affiliations in the game.
The cockpit background indicates that we're on board a ship.

The intent behind Veure was nothing short of creating a text-based MMORPG (Massively Multiplayer Online Role Playing Game), running in a browser, but with the richness of gameplay of a graphic MMORPG such as World of Warcraft or Everquest. I've always had an interest in games and written some, but about four years ago, I read about Joe Chedburn. He's the creator of, one of the largest text-based games in the world. At the time of the article I read, Joe's site was earning £50,000 ($82,000 US) a month and the his company was valued at around £1,000,000 ($1.65 million, US). And it's gotten even bigger since then.

Game play in is simplistic: choose crimes from a list to commit and see if you succeed. Take classes at university, get a job. Work out in a gym. Beat people up. That's the vast majority of the game play (aside from social interactions with other players) and this company was valued over a million dollars five years ago when it was smaller!

As it turns out, Torn City isn't alone. Hobo Wars has been running for six years and has about 16 people listed as current staff. You're a hobo, you collect cans, beat up other hobos, race your shopping cart, beg for money, and so on. It's also one of the most popular text-based games in the world.

A view of a port at a jump gate. You can go to other
stations or take a wormhole to another star system. 
And then there's Kingdom of Loathing. It's a funny, quirky game that's been running for 11 years and has been doing quite well.

So how do these "free to play" games make money? When you start looking at successful MMOs (Massively Multiplayer Online games), average revenue per user (ARPU, in industry jargon) works out to around $1 to $2 per month per player. Garner 25,000 dedicated players and you have a successful business model. However, that seems to assume in-game micro transactions. There's another model where you play for free, but can donate a small amount of money per month to be able to develop faster as a player. I haven't found any decent stats on them, but Torn City was earning its $82,000 a month from players donating $5/month per player. While there are other factors that impact this (paying less per month by buying an annual donation), this suggests around 16,000 paying players for Torn City, with many more playing for free (as of this writing, there were over 22,000 users online in the past 24 hours).

Traveling to a station you haven't visited earns you experience.
"Credits" are N/A in this screenshot because the character has his own ship.
My research indicates that beginning players don't pay, but if the content is compelling enough, they tend to pay as they get further into the game.

My research also revealed something else: there's a huge amount of money to be earned in text-based MMOs, but most of them are, well, dull. However, I initially thought that the reason people keep playing them for the same reason they obsess over Minecraft or 2048: it's fun to think about strategies and how to "win". Further, because these are text-based games that run in the browser, when you're at work, you can quickly switch to the game tab, play a bit, and then get back to work. You can't do that with Eve Online.

Threaded forums. Note that I put accidentally put IDs in the URL structure.
That's a mistake from both an SEO and site design standpoint.
As it turns out, that's far from the entire story. When I was first putting together Veure, I assembled a small team of top-notch developers who wanted to help. One of them, chromatic, urged me to buy Richard Bartle's Designing Virtual Worlds. Bartle created the first MUD (Multi-User Dungeon) and is one of the pioneers of MMORPGs. This book completely changed my approach to Veure. One key thing stressed is that there are four general types of players, with most players switching playing styles from time to time.
  1. Explorer – how much of the game can I discover?
  2. Achiever – how far can I advance?
  3. Social – how can I interact with other players?
  4. Griefers – how can I hurt other players?
I tend to be an achiever/explorer. I'm less of a social player and I'm not a griefer. My playing type colored my view on gameplay. By reading Bartle, I better understood other aspects of games, such as handling player death, managing the economy (not easy!), creating social features, and so on. If you want to explore creating MMOs, Bartle's book is a bit dated, but it's nonetheless a fantastic, non-technical introduction to how these games work.

The rotating star map shows where you are in the game.
Click here to see a working version of this star map.
So why didn't I launch Veure? Because it's not done. After almost a year of off and on hacking on it (hey, I had a day job and a wife!), our daughter was born and Veure was put into deep storage. The other developers were in similar situations: it's easy to crank out a quick open source library that scratches your personal itch; it's not easy to create a full-blown MMORPG. After three years I started hacking on Veure again but there's only so much one person can do.

My initial strategy to attract devs was to offer a top-notch development stack (sadly, I turned down one after my roster was full, sorry Ian!). Currently it's:
The rules were clear: if something needs to be fixed or refactored, go ahead. If you can open source something which doesn't give away gameplay, feel free (the Perl modules Readonly::Beginlift and Test::Class::Most are two examples. The Javascript 3D rotating star map is another) The promise was that for all of your free hard work, there's a definite possibility of a firm maybe of getting a working business going that everyone can share in. If it didn't work out, at least you had something fun to hack on. But as someone who's been part of The Perl Foundation for years, I know how hard it is for volunteers to find free time. Plus, given that I have turned down people asking me to do work for free on the off chance of making money later, it's a hard model to sustain.

Veure sits there on a private github repo with gobs of documentation, plenty of tests, a few open bugs and roadmap to nowhere. My company has toyed with the idea of hiring a developer to work on it, but that initially becomes a money sink instead of a money source. I believe in Veure and in investigating the market, I know I have something unique and compelling, but we're not yet ready to hire people to work on it. There's a lot more to be done and I can easily see throwing money at it for a year (for a single dev) before the alpha. That's a lot of money; even more so when you realize we can have this developer earning us money instead of simply consuming it. Thus, my struggle to figure out another model. I've considered a kickstarter or crowdtilt campaign, but without even the alpha ready, that seems like a non-starter. Plus, who wants to throw money at Yet Another Browser Game?

Most stations have training areas (gyms) where you can work out and
build your stats. Work out too hard and you have to rest (and hope you
don't get into combat). Note that the background is now a space station
because you've left your ship.
Basic gameplay involves flying from station to station, completing missions, exploring different star systems, trading, fighting, all while trying to figure out what almost destroyed humanity.

I still need to implement.
  • The Elite-style trading system
  • Missions and jobs (repeatable missions)
  • Combat
  • Education
  • Email
  • Salvage runs on abandoned stations
  • ... and much more
Who knows what's going to happen with it? My research still convinces me it's a viable business model. There's a significant hole in the text-based MMO market and Veure fits neatly in that hole. Not being able to complete it is one of the single biggest frustrations in my career, but I've been trying to single-handedly create something that large teams build. I'm pretty proud of how far I've come, but there's a time to recognize sunk costs and consider moving on.

One interesting thing is that many aspects of the system were generated randomly via software rather than me sitting down and doing significant design. For example, the station players start out on is called "Lost Dreams Station", but that's the only station I've manually named. Originally, the software assigned it the name "The Death of Baghdad." Oops.

Another example is the wormhole routes. My algorithm created more routes to a star the closer it was to Sol. However, it also generated several route networks that don't connect to the other networks. I thought about this and decided this was a feature and there are gameplay aspects: some wormhole gates are broken and enough players with engineering skill working over time can try to repair them. What's in those "hidden" star systems? That's actually been fun because then I use the randomness of my game generation algorithms to open up my thinking and let me consider ideas that had never previously occurred to me.

Another interesting feature of the game is time. You may have noticed on the screenshots above references to things like 304.219.59.586 GCT. Or the "traveling" screen which shows the character arriving in 491 units. What does that mean? From the archives:
Galactic Coordinated Time 
The exact date in the galaxy is unknown, so time is measured in years since The Catastrophe (AC). Years before The Catastrophe are not tracked as humanity is uncertain of what happened beyond scattered documents. 
Time across the galaxy is measure as GCT — Galactic Coordinated Time — and is loosely based on old Earth years. It has four components, year, day, segment and unit:
  • year 
This is the number of years since The Catastrophe, a year being roughly 365 days. 
  • day 
The number of days in the year, a number from 1 to 366. Every fourth year (roughly) is a leap year, but the origins of this practice are unknown. However, so many time systems have this built in that this practice has been retained. 
  • segment 
The day is broken up into 100 segments. Each segment is almost a "quarter hour" of old Earth time. 
  • unit 
Each segment is broken up into 1000 units. Each segment is slightly less than a second of old Earth time. 
The official format of GCT is 
304.219.59.586 GCT 
The above example represents 304 years after The Catastrophe, the 219th day, 59% of the day has gone by and a bit over half that segment has transpired.
Traveling via wormhole to another star system.
Note that the background has changed to stars.
All dates displayed in the game (even forum posts) are in GCT. A segment is 1% of the day and works out to about 14 minutes. A unit is approximately .86 seconds. When traveling, 491 units is around 422 seconds, or about 7 minutes. If multiple players want to coordinate an activity, they can specify it in GCT and not worry about time zones.

Time's also important because traveling to a different in-system station is instant (a concession to gameplay), but traveling between star systems is not. Thus, if someone put the nanochondrial boosters for up for auction and you've desperately been wanting them, you might be in the Ross 154 system when the item is located in the Tau Ceti system. You could bid from Ross 154, but your bid will be delayed (as would be your seeing the item up for auction) and if there's a bidding war, you could never win unless you bid an outlandish amount. Thus, you might need to frantically travel to Tau Ceti to ensure that you could bid in time — an expensive proposition.

I also wanted immersion in this game, hence the changing backgrounds, skipping the traditional time system, and numerous other tiny things. All forums, except the "off topic" forum would require players to stay "in character", so if you wanted to call someone 笨天生的一堆肉 (a stupid, inbred sack of meat), that was fine, but calling someone a "liberal faggot who sucks Obama's ****" would not be OK. It's not because it's insulting: it's more likely to kill immersion.

So I still have hope to get Veure launched some day, but right now I don't know how to get from here to there.


  1. Your ideas are intriguing to me and I wish to subscribe to your newsletter.

    No really. The progress you made sounds impressive, considering how few of round tuits you have. I had a similar idea a long time ago - basically reimplementing the old STAR TRADER game with an eye on pushing towards a turn-based version of Elite. It used CGI::Application. That's how long ago we're talking about. Got lost having fun generating random star maps and system layouts, then my project died when the real world demanded my attention.

    Hopefully you can figure out a path for your game. Sounds like fun to make and to play!

    1. Thanks, Brian! I'm fortunate in that I'm a very fast developer, so that's how I have been able to make so much progress.

      Also, when I was at FOSDEM recently, I showed my work to a number of other people there and there was a universal "wow, I want to play that!" reaction. Of course, they were saying that to my face and that colors reactions, but it both energized and frustrated me. I saw the hole in a lucrative market *and* people were agreeing that they wanted my product, but another contract came along and I had to stop. Maybe I should change my nickname from Ovid to Sisyphus :)

  2. So glad you're talking about this in public now - there have been several times I've wanted to talk to other folk about the project when they've been playing with similar ideas ;)

    1. Wait, what? This blog entry isn't private? :)

      Seriously, though, the GCT structure I have above came directly from our chatting about that issue in London.

      Out of curiosity, how much "RPG" is in those other ideas, and are they really story driven? It seems like Asian game creators are doing so well because they spend a lot of time on story and less on flashy graphics. As one writer described it, the Western game industry is like several Hollywood studios trying to film the same script.

    2. Oh story driven - that's what brought Veure to mind. One women was talking about a mashup of something like Torn with No idea if she did anything with the idea.

  3. Sounds cool. Though you already had a significant impact on my free time the last 3 years. You won't get me as easily again!