March 28th, 2012 by adam

I’ve recently been playing the excellent Realm of the Mad God – a very fast-paced 2d co-operative shooter. My feeling is that it’s going to be one of the most important games of 2011/2012, as it continues to grow in popularity. Typical experience of this game is that within 30 seconds of being dumped into the main level, you’re surrounded by monsters, and then surrounded by other players, all on the same screen as you, blasting away in a rainbow of colours.

Sounds good. As if that’s not enough … it’s the guys who’ve been working with AmitP (Amit J Patel) (Amit maintains one of the best up-to-date collections of links and algorithms for indie game-developers). If you haven’t seen Amit’s pages, I recommend browsing through the blog – his links collection is OK, but his blog posts on algorithm design are excellent. If you get as far as the posts on “how I auto-generated a realistic 3D-world”, you may notice a striking similarity to the 2D worlds used in RotMG …

Anyway, it parallels an idea for an MMO shooter I’ve had kicking around for a long, long time. For me, it’s been a delight to see what works (and doesn’t) about the core ideas. The RotMG authors have done a great job of making a fast, simple, quick, easy-to-grasp game.

The Good

Fast. No barriers to play

This is how MMO-shooters should be: fast, furious, permadeath – but very quick to get back into the fray. You should expect to die tens of times every hour.

Permadeath – but paralled with some perma-advancement

Your progress is split evenly between items (which can be banked) and avatar stats (which are lost forever upon death).

Perma-advancement increases variety, unlocks new features

With 10 classes, there’s plenty of variety – and each class can only be unlocked by achieving a minimum level of progress with one or more other classes.

NB: this part could be improved and expanded IMHO. In particular, the classes are wonderfully varied – but merely unlocking classes isn’t enough these days. Plenty of games have shown that permanent-unlocks work best when there’s a variety of game-features in there. Also, the classes themselves would work better if there were some cross-effects (c.f. Diablo 2′s Lord of Destruction expansion, which had abilities in one class improve abilities in your older classes, re-vitalizing them for re-play)

Free game, paying is optional – payment kicks in when you’re most bought-in to the design

Free players get a tiny storage for permanent items (1/50th of what paying players get – it’s not enough! … so pay!), and are only allowed 1 class “alive” at once.

In a delicious twist, if you don’t pay for the game, the only way to take advantage of a newly-unlocked class is … to commit suicide … since you’re only allowed a single character per account (unless you pay)

You can ONLY benefit from other players, never suffer

(there’s actually a case where you can suffer, sadly – Thief’s get killed as a secondary-effect of other players teleporting to them, since the game doesn’t have a “prevent people from teleporting to me” flag)

This is the one that should have most wannabe-MMO-designers sitting up and paying attention. If you group-up with other players:

  1. You all get the same experience-points as if you’d single-handedly killed every monster
  2. You get the points just for being nearby – no need to score hits just to “tag” it for yourself
  3. Mob strength is constant, but player damage is multiplicative on number of players present

Net effect:

Every player is willing and eager (*) to collaborate with every other player, without words being exchanged, without fear of being ripped-off.

In a game that’s fast paced and frantic, you don’t have to keep pausing to negotiate. Other players can ONLY benefit you, so … run with them.

(*) – or just ignores the other players. Their presence doesn’t provide negative impact on you. It’s only their absence that is negative (in game-design terms).

Interesting design choices for lag

As a real-time game with dozens of players on screen at once, lag is guaranteed to effect gameplay. We’re always saying “try to work around lag through game-design changes”, so here’s the decisions they made:

  1. When packets are lost, everything moves in exactly the same direction it was going, at exactly the same speed, forever
  2. “Speed” used above is the “on-screen speed, including any rubber-banding effect”
    • FAIL: this means monsters and players often move MANY times faster than they are allowed to – so that when the lag stops, the side-effects are magnified
  3. Your avatar can’t be hit NOR damaged while it’s missing packets from the server
    • For the early parts of the game, this *almost* completely fixes lag problems
  4. Projectiles (bullets etc) that your client didn’t receive are queued up and sent to you all in one go once the packet-dropping stops
    • FAIL: this multiplies the damage output of enemies (NB: not players!), breaking all the designed-in balance in the game
    • In mid to late game, this ruins the gameplay – players end up running around never seeing a single enemy, because if you’re close enough to see it, a single flicker of lag will cause you to receive ZERO damage initially, followed by MORE damage than the monster is capable of – delivered instantaneously
  5. The client is authoritative on player liveness/death
    • MILD FAIL: in effect, coupled with the other features of the game, and the lack of lag compensation … this means you CAN and SHOULD (and, for some cases, effectively: MUST) cheat. You can run a bot on your machine – and if the network is less than perfect, you have to, in order to play the game properly.

Overall, apart from the massive security flaw (where anyone could write a bot to be invulnerable – and the developers are encouraging them to do so), it seems very close to a good solution for an MMO shooter.

I’m surprised by the way they approached the “save up the enemy bullets, then unleash them all at once”. My guess is that it wasn’t designed, it was just an accident: maybe they took a slightly lazy approach to compensating for lag (they don’t), and the net effect is this. It looks very much like what you get when using TCP for game-data packets (I really hope they’re not using TCP; if so, most of the lag is the developers’ own fault)

The Bad

I’ve unlocked half the classes, and looked at what classes other people play (and which classes rise high on the leaderboards). There’s good variety, and almost all the classes get used – even the beginning class, the one you get for free, works well.

Except one.

Unfortunately, at around 50% through unlocking the special classes, one of the classes is horribly unbalanced. The Assassin (which is supposedly an upgraded Thief – but is a massive downgrade) is almost impossible to play. The special ability fails completely when there’s lag (which is frequent in this game), and the class is the weakest, lowest-range of the lot. Looking around, you rarely see Assassins (I suspect: you only see them when people are desperately trying to upgrade them, to get past this dull and frustrating point in the upgrade tree).

Worse, because the *only* way to unlock the higher level classes is to reach the level cap with this class … you’re forced to play it. Over and over again. Watching the bad game-design … over and over … and over … again.

Every time the assassin dies, it’s like another twist of the knife:

We know you don’t enjoy this

We know that a mistake in our game design has you stuck here

(and our overall game design makes that “mistake” into “a disaster”)

We know that this whole process is turning “a class that wasn’t much fun” into “a class you hate”

And there’s nothing you can do about it!

So, single-handedly, it’s driven me to *not* purchase any game credit. I’d enjoyed the game enough to that point that I’d already decided to buy it – and if this had been on iTunes, I’d have paid already. But since it’s not an iPhone/iPad game, and paying for it is a bit more difficult, I hadn’t made the payment yet.

As it stands, I’m still playing occasionally, but now it’s for research rather than for enjoyment, which is a great pity.

Monetization: money thrown away

I think the developers are missing an ENORMOUSLY successful way to make money from this game. In fact, it’s so big, I suspect they could increase their revenues by a substantial multiplier.

With a permadeath game, there really is no need to actually delete the dead character. If the player isn’t paying, they are forced to kill their character sooner or later to change characters.

Taking a leaf from Flickr’s book, why not keep ONE single character in storage, with a tempting “buy now, for goodies *and to have this one returned to you, ready to play*”?

I’d set it so that when you change class (if you’re a free player), only the last character of the PREVIOUS class is retained. If you switch from Warrior to Knight, you can die many times as a Knight, and your Warrior remains on ice. But if you then grow tired of the Knight and switch to a Rogue … the Warrior is tipped out, and replaced with the last Knight you had.

i.e. you setup the exact flow of decision-making and options and “safety” that the player would have had, if only they’d purchased sooner, and allow them to benefit from it retroactively – if only they make the decision to pay.

Of course, it’s a very limited “retroactively” – it’s a sampler, to let you see the benefits of paying.

(*) – Flickr’s early promise was “upload your photos in highest resolution, you can view them for free – but only low-res versions. HOWEVER, we keep the high-res versions for you – forever, for free – until you decide to purchase a subscription. At which point, not just your new photos, but ALL your photos, become magically available at highest res”. It was a great way of simultaneously offering a high-value to paying customers, while making non-paying customers feel they weren’t committing themselves to loss. It reassured a lot of potential customers at a time when Flickr wasn’t yet famous, and most people weren’t yet “hooked” – it bridged that gap.

Analyse this

So, the interesting question is: how common is this problem?

Are the dev team correlating “players who pay” and “the point at which they pay”?

More importantly, are they correlating “players who DON’T pay” and “how their experience differed from the average”?

The last time I saw an MMO with a level-based kick in the teeth this bad … was in Tabula Rasa. We had a point where poor signposting by the quest designers meant many players were given quests that were many levels too hard for them, and effectively impossible to do. Those players died over and over and over again in a short time – and they hated it.

The dev team knew “you’re not supposed to do that quest”, but often they (randomly) gave it to new players as the first quest. I wasn’t privy to the arguments over whether this needed to be changed (and there were definitely arguments), but I did see the analytics that eventually got produced. They showed an almost perfectly smooth, averaged, graph of player behaviour – bar a big notch at this particular location. It stuck out like Rudolph’s nose on a snowy day.

I wonder if there’s a similar notch in RotMG? For a game that’s almost *designed* to drive people to rage-quit … what stats do they see on “what the last thing was before a player stopped playing forever?” … and what stats do they see on “…stopped playing for a long time, but eventually came back”?

March 19th, 2012 by adam

TheChaosEngine – private forums hangout for games-industry professionals. There’s an epic thread on there where people post projects they / their team / their employer has published on iPhone. It’s currently 40 pages long, so I went through and pulled out the links to the iTunes pages for each game.

NB: these run the gamut from “my first iPhone app” to “large-team of developers working for multinational publisher”. Quality here will vary hugely – YMMV!

Also, interesting to note … these are listed in order of posting to the forums, so … as you go down the list, you’re seeing an evolution over time of personal/indie (and occasionally “big team / AAA”) games on the app store.

TCE games, in first-launched order (earliest first)

  1. http://toucharcade.com/2008/12/12/ivory-tiles-a-unique-iphone-puzzle-game/
  2. http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=298060143&mt=8
  3. http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=289208006&mt=8
  4. http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=303057162&mt=8
  5. http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=305889055&mt=8&s=143441
  6. http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=307740243&mt=8
  7. http://zenbound.com/itunes
  8. http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=307117698&mt=8
  9. http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=311115651&mt=8
  10. http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=318996099&mt=8&s=143441
  11. http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=317781445&mt=8
  12. http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=321510472&mt=8
  13. http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=323694495&mt=8
  14. http://bit.ly/ifistchaosengine
  15. http://appshopper.com/utilities/isundial-2
  16. http://bit.ly/qqq_iphone
  17. http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=333962577&mt=8
  18. http://itunes.com/app/Coretex
  19. http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=334682266&mt=8
  20. http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=334683021&mt=8
  21. http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=335955369&mt=8
  22. http://tinyurl.com/yc9bpr5
  23. http://itunes.apple.com/us/app/revz/id352513901?mt=8
  24. http://itunes.apple.com/gb/app/fm-2010/id352933624?mt=8
  25. http://itunes.apple.com/gb/app/koan/id366816832?mt=8
  26. http://itunes.apple.com/us/app/tiki-towers/id298127125?mt=8
  27. http://ultrablast.net/
  28. http://bit.ly/aurifi_itunes
  29. http://itunes.apple.com/gb/app/denki-blocks/id371685186?mt=8
  30. http://bit.ly/yatr_iphone
  31. http://bit.ly/qqq_worldfoot
  32. http://itunes.apple.com/au/app/gamebook-adventures-2-the/id375065935?mt=8
  33. http://itunes.apple.com/app/id356565414?mt=8
  34. http://itunes.apple.com/app/reckless-racing/id386234787?mt=8
  35. http://itunes.apple.com/gb/app/tiltstorm/id392545121?mt=8
  36. http://itunes.apple.com/us/app/awakening-the-dreamless-castle/id386161821?mt=8
  37. http://itunes.apple.com/au/app/gamebook-adventures-1-an-assassin/id352871101?mt=8
  38. http://itunes.apple.com/au/app/gamebook-adventures-4-revenant/id395652668?mt=8
  39. http://itunes.apple.com/gb/app/cricket-captain-2010/id406333955?mt=8
  40. http://itunes.apple.com/us/app/pocket-frogs/id386644958?mt=8&partnerId=30&siteID=0JkCNyaaKoo
  41. http://itunes.apple.com/us/app/sky-burger/id311972587?mt=8&partnerId=30&siteID=0JkCNyaaKoo
  42. http://itunes.apple.com/us/app/scoops-ice-cream-fun-for-everyone/id291591378?mt=8&partnerId=30&siteID=0JkCNyaaKoo
  43. http://itunes.apple.com/us/app/dizzypad-frog-jump-fun/id357104694?mt=8&partnerId=30&siteID=0JkCNyaaKoo
  44. http://itunes.apple.com/us/app/textropolis/id301643671?mt=8&partnerId=30&siteID=0JkCNyaaKoo
  45. http://itunes.apple.com/gb/app/kamicrazy/id299644692?mt=8
  46. http://itunes.apple.com/us/app/bubble-dreams/id400309976?mt=8&ls=1
  47. http://itunes.apple.com/au/app/gamebook-adventures-5-catacombs/id422246290?mt=8
  48. http://itunes.apple.com/gb/app/family-games/id417601428?mt=8
  49. http://itunes.apple.com/gb/app/moving-day/id395714931?mt=8&ign-mpt=uo%3D4
  50. http://itunes.apple.com/gb/app/to-fu-the-trials-of-chi/id436987555?mt=8
  51. http://itunes.apple.com/gb/app/bashi-blocks/id441051678?mt=8
  52. http://itunes.apple.com/gb/app/magnetic-billiards-blueprint/id432152950?mt=8
  53. http://itunes.apple.com/au/app/specky-mark-of-the-year/id458244379?mt=8
  54. http://itunes.apple.com/gb/app/quarrel-deluxe/id453203047?mt=8
  55. http://itunes.apple.com/us/app/death-at-fairing-point-a-dana/id445507820?mt=8
  56. http://itunes.apple.com/us/app/lap-uranus/id447548601?ls=1&mt=8
  57. http://itunes.apple.com/app/cutesy-the-quest-unicorn/id463920538?mt=8
  58. http://itunes.apple.com/app/funpark-friends/id444438531?mt=8
  59. http://itunes.apple.com/gb/app/myragdoll-3d/id444210353?mt=8
  60. http://itunes.apple.com/gb/app/puzzler-world-2/id465620717?mt=8
  61. http://itunes.apple.com/app/shark-jug/id473563382
  62. http://itunes.apple.com/au/app/mini-motor-racing/id426860241?mt=8
  63. http://itunes.apple.com/gb/app/grabatron/id481309065?mt=8
  64. http://itunes.apple.com/us/app/leapin-frogs/id487318065?mt=8
  65. http://itunes.com/apps/gravityrocks
  66. http://itunes.apple.com/app/puzzle-bonsai/id491318778?mt=8
  67. http://bit.ly/lighthousegame
  68. http://itunes.apple.com/us/app/my-coin-match/id472717295?mt=8
  69. http://itunes.apple.com/gb/app/froad/id469021974?mt=8
  70. http://j.mp/EufloriaHD
  71. http://itunes.apple.com/us/app/end-night-hd/id498102948?ls=1&mt=8
  72. http://smallgreenhill.com/ballonawall/index.php
  73. http://itunes.apple.com/us/app/rune-raiders/id497702195?mt=8

Non-chronological

These posters didn’t provide a real iTunes link – I had to hunt it down on their websites – so they’re out of order:

  1. http://itunes.apple.com/us/app/ax-raven-elite/id331999733?mt=8
  2. http://itunes.apple.com/us/app/red-card-rampage/id388957922?mt=8
  3. http://itunes.apple.com/us/app/wordsnap-contraption/id412453514?mt=8&ls=1
  4. http://bit.ly/zSf5vc
January 16th, 2012 by adam

As a free-time project, I’ve been writing a Risk clone (*) for iPad.

One of the bits I like best right now is that you can give it the URL of *any* SVG file on the web, and it automatically turns it into a Risk map.

(e.g. all the maps in Wikipedia articles are SVG files – it’s a common file format with good browser support)

This was one of those “interesting” technical challenges – I had to find an algorithm that would automatically work out which territories a human would “assume” were connected to each other.

I’m using an open-source SVG library which works fine for basic SVG files but has a lot of bugs with the more esoteric ones. I’ve already fixed a few of the major bugs (they’re now merged into the GitHub project) – but I’d like to get more SVG files to test with.

The one thing to bear in mind is that the colour-data gets wiped when it imports. So … SVG files that make heavy use of different colours or gradient-fills/pattern-fills lose detail when imported.

Also, files where none of the elements are close enough to be deemed “connected territories” … work poorly.

Everything else works fine.

So … if you’ve got any, please post a comment here with URL, or email them to me directly (address in the About link at top of this page).

(*) – I say “clone” because it’s the same genre – but the gameplay is “fixed” quite a lot. If you once loved Risk, but grew to hate it, you’ll see why I wanted to change the baic game design :).

November 21st, 2011 by adam

(I’m prototyping a new game (working title: “ChessQuest”) – original post here)

Major changes:

  1. Enemies have health, and can be killed by touching them
  2. Performance is another 30% faster (should be running OK on most phones now?)
  3. Enemies have a direction indicator (not necessary right now, but it’ll become important in a later version…)

Download link

Chess Quest-0.4.0

November 16th, 2011 by adam

That’s one higher than Jim Greer.

Finally.

October 21st, 2011 by adam

Last weekend, I was playing around with some ideas for a Chess / RPG mashup. I did some prototyping with Android (because iPhone apps can’t be shared, and Java is much faster to debug than ObjC).

If you’ve got an Android phone, try this, and let me know if it runs:

There’s not much you can do – touch and drag on the screen to move up/down/left/right (you’re the Rook – hence no diagonal moves). Bishops and pawns wander around randomly, pawns slower than bishops.

UPDATED: if you rotate the screen sideways, it’ll randomly pick a different size / zoom level. There’s four sizes, from 20×20 squares up to 100×100 squares. Player moves at different speeds based on the size too.

I wanted to make it a dungeon-exploration style, but with a Chess theme – and (like in chess) each time you complete a dungeon (kill the boss) you get to “pawn” and switch your character to the chess piece you killed.

i.e. first boss would be the Rook, second the Bishop, third the Knight, etc.

…but I’m not sure I’ll stick with that. If I get some more time this weekend, I’ll prototype a bit more.

NB: the APK above might run slow – I’m interested if it looks jerky / doesn’t work on your phone. It runs fine on an old Nexus One.

October 13th, 2011 by adam

Step 1

follow link

Step 2

app demands your date of birth, for no reason (one day … Facebook will stop being so ridiculous about this, and give the user power, rather than the advertisers. One day…)

Step 3

app fails to install (having taken your private data)

Step 4: tell them what to do with it

Bye-bye!

September 14th, 2011 by adam

There’s a new Syndicate game in development. After one of the most facepalm moments in game design – taking a unique game-genre and replacing it with an FPS, at a time when FPS market is massively over-saturated – the studio has gone one further:

“we’re taking the Persuadatron and evolving it”

It’s always possible that they’re going to make it better. On the balance of probability, that’s unlikely.

Even leaving aside the amazing decision to remove the single most important feature of the original IP – the genre itself. NB: this has been tried before: Syndicate Wars changed the core gameplay, and was a commercial failure (given the previous sales of the IP).

Sadly, it seems that in press conversations, “evolving” is often short-hand for “putting our own “stamp” on it, by changing it; it’s the change that matters, not the improvement. We MUST be able to claim this is “our” game, and not the original designers’”.

Often, it seems the thought process has gone something like this:

“the original idea was unique. At our studio, we don’t have many unique ideas – so we’re CERTAINLY not going to let anyone see how weak they are when contrasted with the genuinely strong ones in the IP we’ve just taken over.

Our cunning plan is to remove all the unique, innovative aspects of the IP, and replace them with dumbed-down, crappier mechanics that we thought up ourselves. But stick the original name on the new mechanics.

This way:

  1. we won’t be made to look stupid by our own game
  2. google searches will turn up YouTube videos of our scuppered mechanic, and people hearing “X was a great idea” will look at it and go: “Hmm. Not really”, without realising they’re looking at the scuppered version

(I’ve worked on two teams that tried to get approval for re-making Syndicate (not Wars!) over the years; I’m a big fan of the original, and still occasionally play it on an emulator. It’s amazing how much people want to over-complicate it – somehow forgetting that the original studio (Bullfrog) was reknowned for it’s quirky/bizarre/unusually inventive game designs, and that they’ll have a lot to live up to if they want to “extend” that)

RPS says it best:

designer Rickard Johansson: “I don’t want people to stop playing the old games, but time has moved on.”

Has it? Has it really? Perhaps he didn’t notice that Starcraft 2 outsold most of EA’s (and everyone else’s) portfolio last year. Perhaps he didn’t notice that SEGA refer to Total War as one of the major jewels in their crown. Perhaps he didn’t notice that Valve are spending a fortune on a DOTA remake. Perhaps what he really means is ‘publishers will give us a bigger development and marketing budget if we make it a first-person shooter.’

August 31st, 2011 by adam

I couldn’t enter this LudumDare competition on a technicality, but here’s my entry which plays by the spirit of the rules. I took a total of 24 hours (out of 48), of which only 12 were actual design + development (see below). Hopefully next time I’ll be able to do it properly, and actually compete. I’ve kept to every rule, except that I did my 48 hours time-shifted :) from everyone else (two successive Sundays, instead of a contiguous Saturday + Sunday).

Screenshot + Android APK

Download link (APK – you need to know how to install APK’s manually (google it if you’re not sure, it only takes 5 seconds)):

Escape From the Pit

Aims

  1. Make a LudumDare entry as an Android application – none of this easy “make it in Flash” or “make it in java” stuff – let’s go for a full mobile game, designed, developed, and launched in exactly 2 days flat!
  2. Use an Entity System (c.f. my long-running series of articles, and also the public Wiki I created), and show that ES’s facilitate you writing new games VERY VERY QUICKLY
  3. Make a game that was mildly challenging and (almost) enjoyable

Failed to officially enter the competition, but otherwise succeeded…

Background

LudumDare challenges you to write an entire game in under 2 days (technically: 48 hours – it’s up to you how much of that you sleep). You can’t even design it in advance – there’s a theme that’s only decided shortly before the 48 hours starts.

LudumDare was the weekend before last – but I had to work that weekend on urgent day-job stuff. Like: I had to work all day Saturday, and there was no way out of it. So I couldn’t do the same 48-hour stint as everyone else.

Also, I know from previous experience that the “48 hours in one stretch” is very different from – say – “12 hours for 4 days”. When you do a 24 or 48 hour game, you tend to only manage a certain percent of “productive” hours. The challenge of designing + building something from scratch forces you to keep taking “time off” to go think about what do next.

So, I kept a diary of hours worked, and hours taken “off” as well. I’m confident I’d have fitted all of this – development time AND down-time – into the 48 hours. But I had to spread it over 2 successive weekends :(.

Day 1

(3 hours) – install Eclipse and the Android plugin, and the Android SDK. Document what I’ve done (1 hour) and check I can re-do it at will. Google, please wise-up and fix your install process – it’s not changed in almost 2 years, and it SUCKS

(1 hour) – install some extra Android OS versions, get the emulator working correctly, get projects imported, get everything in source-control, get empty app running on hardware device. Ready to start project!

— NB: everything up to this line I should have done before the contest started. If I were the kind of person that had free time on weekdays. Which sadly I’m not —

(1 hour) – getting Android base classes up and running. Takes a while: Android is insanely badly designed for the “Core application” part. Needs hundreds of lines of code to make a Hello World app that *actually* works as an app (Google’s code example that does it in 4 lines is fake: no real app could do that).

(3 hours) – on the beach, not working

(4 hours) – upgrading the open source Entity System Libraries on http://entitysystems.wikidot.com to support a bunch of features I’ve been using for a while in my own projects. This required writing a lot of stuff from scratch (using my own old source as inspiration), and integrating some improvements from patches/forks that other people had submitted.

— NB: everything up to this line I could have done before the contest started. Interesting though that I thought this was going to be “about to start writing the actual game” and I’ve only finally got to the point where I can write my first line of game-code —

Day 2

(0.5 hours): trying to make textures in Photoshop. Photoshop really sucks. Half the online resources for making the kinds of textures I want require PSP’s unique filters/effects – useless :(.

(0.5 hours): get a single sprite to appear on screen. A couple of idiot errors in one of my libraries – plus Google’s Eclipse plugin being really really bad at understanding “the scroll bar” (bug in ADT: it implements the world’s only non-static scrollbar)

(1 hour): random maze generation (using: http://en.wikipedia.org/wiki/Maze_generation_algorithm#Randomized_Prim.27s_algorithm ) that makes nice mazes, printing out onto the screen, still with my default “starfield” background. Rotating the screen is causing the entire game-state to be regenerated – includkng the maze – which was an accident, but actually helped A LOT with testing the maze algorithm (just tilt to re-run the algorithm instantly)

(0.5 hours): learn how to do Android input-handling correctly; en-route, discover I’m missing the SDK docs, and set about downloading + installing them … + updating my blog instructions on how to install Android to include “SDK docs” as a section.

(2.5 hours): discovering MAJOR bugs in Google’s basic “touch handling” API for Android – including bugs on Google’s own website source code, and an API designer on crack who broke the core Java contract didn’t document it. Not Happy.

Day 3

(1 hour) – implementing a collision detection system that does proper swept-collisions, but works OK with the poor fine-grained control of touch input

(1 hour) – added filters to collision detection so I could have background images that the player will NOT collide with
(previously was colliding with every on-screen rendered sprite). Also added a very simple lighting system where squares that the player has walked close to or upon gradually light up, showing how much has been explored

(1 hour) – refined the user-controls so you can hold your finger still and character keeps moving in that direction. Added handling in collision-detection system to allow character to slide along walls and into side-passages without the player having to stop and be ultra-precise (pixel perfect!) in timing the change of direction.

(0.5 hours) – added an exit, fixed bugs in the maze-generation (if started on a right or bottom edge, it crashed)

(1 hour) – fix Android’s brain-dead handlig of Bitmaps, giving a big speed boost, and re-learning how to use DDBS memory-allocation-tracking. I’m now auto-caching each bitmap inside my Sprite object. Sigh. There’s no easy workaround: Google says “don’t use getter methods” but Google also says “don’t call our getDrawable method more than once”.

(1 hour) – added ghosts, made them move around the map nicely, and collide with player was *automatic* on first compile (freebie from using an Entity System!). Also made arrows float nicely in same place on screen even while scrolling.

(1 hour) merge code from laptop back to desktop. Finally add the “win” conditions that makes the app playable!

Source Code

To make this game, I improved the basic Java Entity System up on the ES Wiki, and added some usability improvements and features. I created a whole new page for it here:

http://entity-systems.wikidot.com/rdbms-beta

NB: It’s called “Beta” simply meaning “second generation (beta == second letter of greek alphabet)”. Not because it’s a beta-quality release :).

Source code to the game itself is also up on github right now – https://github.com/adamgit/Game–Escape-from-the-Pit – although that’s a closed repository at the moment. I want to double-check there’s nothing included that shouldn’t be before I set it to “public”.

August 25th, 2011 by adam

…or at least tries to, when Chris Lewis comes out with quotes like this:

“you can be very confident we seek to maximise our own advantage to ensure the playing field is even, and certainly plays to our advantage”

Wait, what? An “even playing field” is one which “plays to [Microsoft's] advantage” ? Hmm. Talk about a crushing sense of self-entitlement…

“we just want what our consumers want from us.

If [developers don't give us free stuff which we don't pay for], Microsoft reserves the right to not allow the content to be released on Xbox 360″

Wait, what? Are you saying that what “our consumers want” is to be prevented from playing the games they want to play (“Microsoft … not allow the content to be released”)?

I’ve seen a lot of bullsh*t over the years from weak-willed Marketing department employees who feel that “not saying a bad word about their boss’s / employer’s incompetence and greed” is the right way to do a job, but … this is especially bad.

I think Chris needs a bit more practice at the technique of:

“say what the person you’re trying to brown-nose wants you to say, no matter how much it makes you look like a pathetic, stupid, snivelling idiot”

August 4th, 2011 by adam

TL;DR – notch reckons “it’s a scam” (I wouldn’t go that far – “scam” is a strong word, I reckon they’re just too naive/ignorant/foolish/arrogant to realise what a huge mistake they’re making)

My gut feeling is: this would be a terrible investment. By comparison, the middleware companies that sell for tens of millions of dollars usually don’t seek this level of investment until AFTER they have many licenses / sales already. Euclideon seems to be asking for money BEFORE demonstrating that any games company can do anything useful with it.

In the games industry, we have a name for this particular kind of exuberant, short-sighted claim:

“Infinite Monkey Engine”

(apologies to Demis Hassabis, a nice guy who created the term “Infinite Polygon Engine” intending it to be genuine. It backfired horribly when it turned out to have little or no value in game terms; IIRC it only shipped in “Republic: The Revolution”?)

IMHO … The Euclideon folks have shown no signs (in public) of being aware of what a complete waste of time and money their technology “probably” is. They apparently haven’t (bothered to?) spoken to any games-industry companies – this should be an absolute requirement LONG before they raise funding above the $50,000 level.

Maybe they have; maybe their own PR is a big confidence-trick – they know how misleading/wrong their claims are, and they’re just trying to keep potential competitors fooled. If so, I’d say that’s a rather … short-sighted … strategy.

More likely: they’re full of their own inventiveness, and have nowhere near enough startup / business experience to have run the analysis on *why* this tech isn’t used *any more*.

(public signs so far suggest they’ve picked up an old tech, convinced themselves it’s new and novel, and don’t realise that it’s a dead-end that the industry has already rejected)

July 24th, 2011 by adam

Typical. Just as I finally brave the source code to Master of Mana (neé Fall From Heaven; the most popular / succesful mod for Civilization 4), and fix a major bug that’s bothered me for ages … the main server at masterofmana.com goes offline :(.

Anyway, if you’re playing the Fey, and you’re tired of the fact it becomes impossible after a certain point – when you put Faeries onto ships, they self-explode, turning the tile into land (usually Never-Never), here’s the fix. It’s especially bad for True White Faeries – which means “all of your top units” beyond a certain point in the game.

Edit the file:

[C:\ ... path to your Civ4 folder]\Beyond the Sword\Mods\Master of Mana\Assets\Python\Wildmana\Civs\CvFaeries.py

Find the following lines (very near the top):

		if pUnit.isHasPromotion(iPromWhite):
			iSnowChance=20
			if pUnit.plot().getOwner()==-1:
				iSnowChance+=-10
			if pUnit.plot().getOwner()==pUnit.getOwner():
				iSnowChance=-100
			if iSnowChance>CyGame().getSorenRandNum(100, "snow fall"):
				pUnit.plot().setTerrainType(iSnow,True,True)
			if pUnit.isHasPromotion(iPromGreen):
				if pUnit.plot().getFeatureType()==-1:
					if CyGame().getSorenRandNum(100, "Faerie plant trees") <= 75:
						pUnit.plot().setFeatureType(iForest, 1)
			if pUnit.isHasPromotion(iPromTrueWhite):
				pUnit.plot().setTerrainType(iNever,True,True)

		if pUnit.isHasPromotion(iPromTrueGreen):
			pUnit.plot().setFeatureType(iEternal, 0)

and replace them with this: (NB: because Civ4 is scripted in the horrid Python, you're going to have to be careful to get the indentation correct manually; Python is wonderful, except for this one feature - it makes sharing code changes like this much harder than it should be :( IMHO)

		if pUnit.plot().isLand():
			if pUnit.isHasPromotion(iPromWhite):
				iSnowChance=20
				if pUnit.plot().getOwner()==-1:
					iSnowChance+=-10
				if pUnit.plot().getOwner()==pUnit.getOwner():
					iSnowChance=-100
				if iSnowChance>CyGame().getSorenRandNum(100, "snow fall"):
					pUnit.plot().setTerrainType(iSnow,True,True)

			if pUnit.isHasPromotion(iPromGreen):
				if pUnit.plot().getFeatureType()==-1:
					if CyGame().getSorenRandNum(100, "Faerie plant trees") <= 75:
						pUnit.plot().setFeatureType(iForest, 1)

			if pUnit.isHasPromotion(iPromTrueWhite):
				pUnit.plot().setTerrainType(iNever,True,True)

			if pUnit.isHasPromotion(iPromTrueGreen):
				pUnit.plot().setFeatureType(iEternal, 0)

Yep - it's really that simple (insert one line, and re-indent the ones below):

"if you're at sea, don't turn the ground your ship is on into land. Because that will destroy the ship, you, and everyone else nearby"

I'm pretty sure it wasn't intended to do that - it would be an ultra-powerful ability to create land - automatically - instantly for the cost of a cheap ship and a level-1 faerie. If you really want to play that way (if you can be bothered), it's easy to create a Giant's Causeway like that in the current build of the game, making land out of the dead bodies of the Fey. But it's a very dull way to play, and it feels more like an innocent oversight...

PS...

If you're not playing Master of Mana, and wondering why anyone would care about a Mod for a game that originally shipped *almost 6 years ago*, then I strongly suggest you buy yourself a copy of Civ4 + Beyond the Sword expansion (usually bundled together for $30 or less), download MoM, and find out what you're missing.

The modded game is IMHO highly illegal - they stole art liberally from many many copyrighted sources - but the bulk of the content is their game-design, and that's fantastic. Many times better than many games released today - and (partly thanks to the lack of legal assets) the authors charge nothing for it.

The saddest / greatest thing about this IMHO is that 2KGames / Take Two did so little with this modding community. Beyond a few token steps (the dev team made the sensible decision to hire some of the leading mod authors, IIRC) they pretty much ignored it. They're making substantial money out of the mod authors - Civ4 should not still be selling as expensively as it does, and I'm sure this mod is the main reason it does - but they could have made a lot more. Look to Valve, and imagine what might have happened with a little more visionary leadership at Firaxis and Take Two...

July 8th, 2011 by adam

“[with Android] We just can’t get complicated applications functioning with any kind of speed (if at all) … it’s not because we’re stupid or don’t know the platform well enough”.

(From this month’s Develop – an article by the the CCO of Somethin’ Else)

Develop is trade-press, for professional game developers (mostly coders, IME). No further explanation was given.

Kind of hard to believe, considering our own experiences on the platform. I asked a few others for their considered opinions. First three reactions:

  • “WTF?”
  • “Bollocks”
  • “Bullocks”

Hmm. I’m intrigued to know what they can code on an iPhone 3GS, but not on the more powerful Android phones from 2010 (let alone the ones from 2011).

July 7th, 2011 by adam

The Code is about to start, and Adrian’s on good form here with some concise bashing of ARG-design stereotypes:

“the ‘inverted pyramid’ model of engagement for ARGs and transmedia! But I don’t like it

feels like a post-facto justification of why only a few people get really engaged in most projects by suggesting that what you’re making is just way too awesome/hard for the public, who’ll have to make do with lightweight stuff (yes, like Flash games).”

He’s been banging this drum since PerplexCity, but IMHO there’s been comparitively little success. He’s long been wrestling with ways to make that actually work in practice, as opposed to a believable bit of theory. From the tone of this blog post, I’m pegging this as “one to watch”, and see if there’s a big step forward.

Something else to highlight, too; something *I’ve* been banging on about for a long time:

“The fact is, most people are smarter and more engaged than you might think.”

4 games, 4 *educational* games, on the BBC (who publishes some of the best pre-school games / learning content in the world). Fingers crossed this does something new and novel *and which actually works* :).

June 10th, 2011 by adam

Minecraft is great. But it has one major problem: the narrative of each world is destroyed as it is created. Unless you work hard to do otherwise, the history of your relationship with the world is lost very rapidly. There’s no strata, no wearing, no signs of your involvement – just a too-clean result.

I found myself often deliberately “preserving” key moments in my worlds, such as:

  1. never alter the place I spent the very first night, except enough to allow a tunnel out into whatever larger base/home I turned it into
  2. as much as possible, build structures WITH the landscape instead of AGAINST it; the contours of my buildings, roads, railways are very little altered from the land that they’re build on / in / around / underneath / through
  3. mine and house entrances made as subtle as possible; e.g. all-glass exits from the water that are almost invisible from a distance, but glow slightly blue at night

So, here’s an experiment: a playthrough of Minecraft, but doing frequent git-checkins (approx once a day/night) to this github project.

I don’t even know if it’ll work; in theory it should – I’m versioning the Save directory for a single world – but I haven’t tried importing it to a new PC / install of Minecraft yet.

Feel free to try it – checkout the first checkin, see if you can load the world (NB: the save-directory is named “versioned” on my copy of Minecraft; you might need to name the containing folder the same).

Then try using git to advance through the different checkins, and see if you can view the world as I explore and modify it…

June 5th, 2011 by adam

There were a few games that came up in the 10 games you should have played session at GameCamp which I’d never heard of / played. One of these was SpaceChem – sounded interesting (the 5-second description was something like “great game which teaches you how to do real Chemistry”).

Someone else mentioned this game to me today, in passing, which reminded me to go check it out. I went to the website, looks vaguely interesting (although the site design is very ugly – normally a big FAIL in web-marketing – I’m happy to ignore that since I’m after a *game* here).

The only info I’m allowed to see about the game – no screenshots etc – is an embedded Flash video that’s taking ages to download, so long in fact that I gave up.

So I try to get the demo instead.

“requires mono”

Oh, FFS. Forget it. No, I’m not going to download 500MB (or however much it is these days) and endure extra debugging, manual configuration, etc just to install your game.

If this is a commercial operation (and it is, judging by their huge “buy now for $15″ text), then it’s a waste of time to release a Mac version that’s any more complicated than “drag one icon to install”.

The Apple Mac Store is *live*, people! It’s even less hassle to buy things there (the “drag icon” bit is done for you automatically).

More generally, if you’re going to release games, don’t tie yourself to a 3rd-party platform that requires a large download and isn’t pre-installed by default on desktops.

June 1st, 2011 by adam

Normally, I don’t allow “guest posts”, but I’m making an exception for my “10 Games You Should Have Played” series. I’ve been asking other games-industry people to write up their own lists + explanations, and that’s not always compatible with their personal/work/etc blog. When that happens, I’m happy to post them here instead.

So, here’s Richard Bartle‘s take (“co-creator of MUD1 (the first MUD) and the author of the seminal Designing Virtual Worlds” – but if you read this blog, you should already know who he is ;).

I think it’s a great list. I asked him to define in his own way what he meant by “should” (why are we saying “should”? who’s the audience? etc) and to run with it, which he did …

Come up with your own rules for a top-10, define it clearly, and share your list.

“OK, well modulo all the usual complaints about lists of 10, here we go.

I don’t have any rules per se, but I am sort of assuming that this is for people who play games or design games or want to know more about games.

Also, I’m going to go with categories rather than individual games (except in the last case). This is because it’s not the games themselves that are necessarily important so much as what you get from playing them. I will, however, give an example of a game in each category that I myself have tried.

1) A game you have bought but haven’t played yet.

You should always have a game ready to play. I don’t care what it is, but unless there is one you’re never going to expand your gaming horizons.

For me, right now that game is “Victoria II”, which I’ve installed and read the manual for but haven’t actually started to play. The reason I haven’t started it is because I bought “Mount & Blade: with Fire and Sword” and snuck that in front of it in the queue. Once I do start it, I’ll be looking for another game to play when it’s completed – hopefully not another damned sequel…

2) An abstract game.

Games can be many things, but unless they have gameplay they’re not games. An abstract game only has gameplay. To understand games, whether to design, play, or study them, you need to understand gameplay; an abstract game shows you the game mechanics with everything else stripped away.

You need to play one. You may, if you’re keen, try think of a skin for it, but that’s not essential.

In my case, I guess the game would be “Chess”. I captained my primary school Chess Club, but my interest in the game waned when I realised that the openings were always the same and that people who were less good at the fun, thinking part could win by doing the boring, memorise-the-openings part. That came straight from an appraisal of the clear-for-all-to-see mechanics.

That said, I’d also like to give a shout-out to the altogether more obscure “Besikovitch’s Game”. Now that’s a mechanic with potential…

3) A tabletop role-playing game.

Everyone thinks they know why they want to play games, but they also need to know why everyone else plays games. They’re not going to get that unless they understand what it means to be part of the game. In a tabletop role-playing game, with the other players right there next to you, there’s no escape: you have to participate, you have to involve yourself, you have to become part of the game, part of the narrative. In short, you have to live the game. Unless you’ve lived a game, how can you ever hope to understand what’s gamingly possible?

For me, the hours I spent playing “D&D” with my friends in my late teens were some of the best gaming experiences I ever hard. I wish I’d been able to get a “Call of Cthulhu” group going, mind you, but it came out too late for me.

4) A spectator sport.

If a game is good enough that people will pay to watch it played, you need to understand what it’s like to play it. This gives you an insight into the theatrical aspects of games that you wouldn’t easily get from merely observing the performance. You don’t actually have to be any good at the game, and the game itself doesn’t have to be all that good either (in my case, “Snooker” fits both those categories); the important thing is to understand what gives a game presence. I don’t care whether it’s high
skill, clever strategy, viscerality, physicality – if you don’t play it, you won’t appreciate it.

In my own case, I played “Association Football” (yeah, soccer) at school (attacking midfielder if you must know); I was good, but we were never taught any skills or anything and most games descended into kicking matches. I nevertheless found out what made it “the beautiful game”, though.

5) A game in which you can lose actual money.

There is a dark side to games, and gambling gives people a chance to sense it. Personally, I don’t like playing games for money at all; however, a lot of people love it. Everyone has their limits, though.

For some, gambling games are at their best when the amounts involved actually hurt if you lose them; for others, it’s the amounts that can be won that make the difference. The point of playing a gambling game from the perspective of this list is to gain an appreciation of the morality of games. When something stops being “just a game” and starts to take over the player’s life, that’s potentially a bad thing. Unless
you’ve seen it (or something close to it), you’re never going to understand that fully. Gambling games let you do that. Warning: you run a big risk with this if it turns out you’re the one who gets hooked…

For me, I used to play “Poker” with my friends over lunch when I was 17 or 18. We played for Tic-Tac mints. This was before “Texas Hold ‘Em” got big, so we’d play mainly “Draw Poker”, “5-Card Stud”, “7-Card Stud” or, occasionally, “Montana Red Dog”. We stopped playing when one of my friends, who consistently lost, had to borrow money to buy more Tic-Tacs; I decided things had gone far enough, and called
the lunchtime sessions off. From that point on, no way would I design a game that deliberately tried to addict someone to it.

6) A game released in the year you were born.

Most games are built on the foundations of games that went before them, and an appreciation of their history means you appreciate the games themselves more. Games have a very long history (indeed, they go back into prehistory), but a modern game is unlikely to quote directly from ancient archetypes. They’re more probably going to quote from games from the generation before them. You therefore need to
play a bunch of old games to see where the advances were made. Unfortunately, “old” is a relative term: what you think is old might, to me, seem fairly new. What’s old enough for both of us is something from the year we were born in (or a year close to that). Play a game from back then and see how things have (or haven’t) changed. Bonus: you’re almost guaranteed to notice the gameplay more than you do in a (what currently looks) slick, modern game.

For me, the old game would be “Diplomacy”, which was released commercially in 1959 (the year before my birth, but that’s near enough). Ah, what a game! It’s trapped in its time, because it needs 7 players and could only really be played by post. Play-by-email is even more of a niche than play-by-mail was, so it’s not a game that is played a lot nowadays. Lovely mechanics, though!

7) A really bad game.

Some games are just BAD. The mechanics are all wrong, they’re unfun, or no fun, or the rules are ambiguous, or they drag on and on, or there’s a dominant strategy, or … well, the list continues. If you play such a game, you can ascertain what it is that’s bad about it; this will enable you to avoid similar games in future and to avoid
making similar mistakes in any games you design yourself (see next point). The more you understand about games, the more you’ll be able to find the games that are right for you.

For me, tempting though it is to nominate “Trivial Pursuit” as the game that laid waste to the British board games industry, I didn’t actually play that. However, my personal pick is one that I’m sure many other people will share, too: “Monopoly”…

8) A game you wrote yourself that no-one else has played.

Game design is actually quite hard to do well. You’re not going to know quite how hard unless you try it yourself. In the attempt, you’ll come to understand more about games and what makes them tick – but only if you actually play the game (if
it needs more than one player, play it against yourself). If you actually are a game designer, this is something you will have done many, many times before, of course; just make sure you keep on doing it.

For me, well, all game designers have a corpus of games in various stages of completion that they have never shared with anyone else, simply because doing the design itself was the fun part.

I’m a bit low on computer games in this list, so I’ll go for one I did called “Mombasa” about the exploration of Africa. It’s not all that good, but the point is that I wouldn’t know that if I hadn’t played it…

9) An MMORPG.

This is because I co-wrote the first virtual world, and therefore the more people who play these, the higher my kudos rises.

I’ll list the last MMO I played through up to the level cap as my example here: “Rift”. I came away not so much impressed by the game itself but by its developer, Trion Worlds, which is more understanding of its players than any other developer I’ve
come across except perhaps CCP.

10) “Mornington Crescent”.

It’s actually called “Finchley Central”, but I’ll go with the version that’s best known. This is a very simple game, the rules of which, in their entirety, are as follows: players take it in turns to name London Underground stations, and the first to say
Mornington Crescent wins. This is a game everyone should play, because it gets to the heart of what a game is: what happens when you freely and knowingly bound your behaviour according to a set of rules in the hope of gaining some benefit that you might not get. You play it for just so long as it’s fun, with people who also play for just so long as it’s fun. It’s the Magic Circle incarnate.

So those are my top 10 games that people should play. If you already played them, my apologies for having wasted your time with this list. If you haven’t played them, I envy you the treasure trove that lies ahead.”

May 29th, 2011 by adam

This list is WRONG (and it’s on the Internet)

…and here’s your chance to challenge it.

This was written in a frantic half-hour with 30-odd people with many different ideas and suggestions. My role was to shepherd the opinions towards a concrete list of 10. There *was* a specific agenda/aim I had in mind – but I didn’t tell people that up-front, I wanted to let them go in whatever direction they wanted.

Now it’s done, I’m reaching out to everyone who cares about this stuff, and saying:

Come up with your own rules for a top-10, define it clearly, and share your list.

Blog it, link it back here, and we’ll see what people come up with. I’m expecting a lot of variation on the inclusion-criteria for a top-10, and (hopefully) as much variation on the games people choose / reject.

Other people’s top-10′s

The original top-10

May 2011 – GameCamp 4

A few weeks ago, London was host to the fourth GameCamp – a 1-day unConference devoted to games, game-design, and game-playing.

I wanted to give a talk, because that’s half the fun of an UnConference. I wanted to do something fun, interesting, and above-all *new*. What’s the point of giving a talk you could have given at a “normal” conference?

My Plan

I vaguely remembered that Darius had once run a session on “Indie games that haven’t had the attention they deserve” (or something like that), where he’d cherry-picked some great fun games that were relatively unknown in mainstream circles, and gave them a free boost of attention.

I didn’t feel confident to do that myself,but I knew there were plenty of people at GC4 who were much deeper into the fringe of games and game-design, and no doubt *they* knew what was out there, and had played it all.

So, one quick scribble later:

“10 Games you Should have played (but probably haven’t)”

Reality

I was afraid I’d get an audience turn up and expect me to do all the work, where I needed them brainstorming and providing the ideas themselves. I could see it easily being shaped by the (lack of) variety of the first few suggestions, so I set out to come up with a wide range to kick off.

With a full TEN MINUTES before the start, I roamed the hallways, looking for victims. I spotted a few familiar faces, game designers and writers I could corral, and asked them for a quick 3 “games people should have played”.

First response I got, courtesy of Adrian Hon: “Paintball”. Ah. Thanks, Adrian. You just exposed the flaw in my title. I never mentioned the words “video” or “computer”, although I’d assumed them.

Other interesting titles I was given in the hallway included: Civilization (the computer game, via Adrian), Journey to the End of the Night (via Holly Gramazio, I think), Tetris Attack (ditto)…some good variety to kick us off.

Those 10 games in full

We had a packed room, approx 20-30 people. I won’t detail the process, but in our 30 minute slot we managed a long list, with some brief explanation of the more obscure games, and then we voted on which ones should go to top-10. Fortunately, there were 10-12 games that were CLEARLY a lot more popular than the rest.

Here’s the full list (illegible with crossings-out)

And here’s the top-10, with their respective (approximate – I was counting fast!) votes:

  1. Tetris [*]
  2. Portal [*]
  3. SimCity [*]
  4. The Secret of Monkey Island (either/both) [11]
  5. Hitch-Hiker’s Guide to the Galaxy (text adventure) [10]
  6. Mario Kart [10]
  7. Zelda (any/all) [10]
  8. Deus Ex [9]
  9. Day of the Tentacle [9]
  10. Populous [9]

[*] = so many I didn’t bother counting; more than 2/3 of the audience.

March 7th, 2011 by adam

Courtesy of Tom, I played the DA2 demo a few days ago. It’s the first Bioware game I’ve played that was so inherently dull and boring I lost all interest after 10 minutes. This rarely happens to me with any game, let alone one from a mega-studio like Bioware. I suspect, in fact, it’s just a really bad demo – the real game is nothing like this. I hope.

Intensely detailed (intensely sexualised) player-characters, but otherwise a depressing art-style (grey on grey with a backdrop of de-saturated blood – i.e. red-tinted grey – and an overcast sky of … multi-hued grey. Oh, and the enemies use a single-hue pallette too: grey).

There was some classic Bioware-ism in the intro itself – sounded and felt like NWN redux – same focus on narrative, but with an engine so badly broken it miserably failed to lip-synch (in a way that no other studio has done so badly for more than ten years), and the eyeballs appeared to have been sucked out, and replaced with ill-fitting glass bearings.

Hmm.

That kind of amateurism on the engine anim/renderer worked OK with something as rickety as NWN and even NWN2 – but now Bioware has a major Uncanny Valley problem: all other parts of the character models are intensely detailed textures, with oodles of shaders to give realistic skin textures, bright detailed eye irises, etc. And then the armour goes and interpenetrates the main character *in the pre-made intro movie* so badly she’d be dead of blood-loss before the scene was over (seriously – she’s got 4 inches of metal digging into her chest – medical EMERGENCY!)

But the worst part is simply this: the game had no depth, no sense of player agency, and no reason for you to care. Characters were randomly dropped in your face with zero explanation of who they were or why they were there, and you were expected to give a flying monkey’s – but since they were all immortal, and overly whiney, I found it hard to. Then they’d randomly disappear with no explanation other than a brief cutscene implying that “everything you just did was a waste of time HA HA! start again from scratch”.

Original? Hell no!

(I compare this against NWN2, whose opening sequences I remember well. Exact same idea, but pulled off with less over-dramatization, and a lot more clarity. Even though the NWN control-system meant it was often viciously confusing for the first few minutes unless you’d played NWN-1 before)

This has never happened to me in an RPG, except the truly dire ones. Same trick (again) was used in Assassin’s Creed 1, and lead to a lot of misery among players – but the joy of AC often kept people playing. At least until they got bored of walking everywhere.

But most people I know never appreciated this device existed until / unless they’d achieved a moderate mastery of the game. I.e. you had to play the game for 3+ hours and then *start again from scratch* in order to really appreciate this conceit. It was a nice idea, but I suspect overall a fail (note: just how differently AC2 approached the issue) – people got bored and dropped the game. But even that was given to you with decent narrative explanation – and believably.

Dragon Age 2 tries the same trick, but does it less cleanly, and smacks the player in the face, with no excuse given. Just: “I’m a game designer. You’re the less-important people who buy my works of art. Sucks to be you.” This is the antithesis of most good game-design. Also: not original. In fact, these days it’s almost a cliche. Sure, Bioware were one of the first major studios to do it, but … AC1 + AC2 + AC3 continue their worldwide domination, with bajillions having experienced life as Altair, Ezio, et al … so this is no longer a niche way to start a game.

And then I found this recent interview with the Lead Designer. I also found a bunch of players complaining that Mike Laidlaw may have missed the point when trying to “fix” Dragon Age with his sequel.

(giving me flashbacks to the fail that was Ultima 8, and the designers belief + claim that “Ultima 7 wasn’t good because you could bake bread – don’t worry, we’ve taken that out”…leading to horrified reactions from players: No, you really don’t understand: baking bread is EXACTLY what made Ultima 7 great)

In the interview, Mike is apparently “excited” by the use of narrative to replace / control the game. I’m not quite sure why; this is nothing more than what NWN2 did, many years ago (from the same studio!) – only it worked more in hand with the player back then, less against them. And without the gratuitous breasts-and-faces-covered-in- … *cough* blood *ahem* … shots.

(I’m not complaining, I’m just saying: the art direction on this project clearly had *someone* who was determined to get facials (of the pornographic kind) inserted into a live computer game. It’s funny, but it’s not subtle, and it’s hard to ignore – especially with heaving bared breasts, straight out of the old D&D covers where over-excited artists were depicting all women in “suicide armour” – holes in the most lethal of places, more a fashion statement than believable chain-mail)

In practice, it seems suspiciously as though Bioware has set a frustrated Author to design the game. The narrative conceit is OK if you wanted to watch a movie, but it takes away so much from the “game” aspect of the game that anyone looking for … game … ends up disappointed. And, as noted – the graphics engine is FUBAR.

A second opinion

So, Tom is a professional author (books), and until recently was a commissioning Editor for a major international political and literary magazine. To use a horrible phrase: he breathes words. Always has. And he really hated DA2′s start, because of all this failed narrative. I was zoning out at this point after a 20-hour day, but it seemed he was saying something like: this narrative is NOT inventive, it’s obvious, pointless, badly written, and would have been better off being left out entirely.

In summary

For me, there’s two major fails: the intro gets in the way of the game … and then does the one thing that an RPG is never allowed to do: invalidates everything the player has done to date.

When my characters started levelling up, I found I couldn’t care less. I’d already had my characters taken away from me once, with no choice in the matter (not even an illusion of choice). I’d spent several minutes with them auto-killing everything in sight, and now I was offered a bunch of bland and meaningless figures, all of which had LITERALLY no relation to anything I’d been doing up to that point in game … plus some bugs in the mouse-control for the level-up screen meant it took 6 clicks just to get to the screen. Level up was presented as an optional (and irrelevant) aspect of the game. There was no indication it would make an iota of difference.

Compare this with Diablo (the first one – go way back, to when Blizzard was a tiny company by today’s standards). See how exciting and in-your-face and *immediately relevant* they made every level-up. Despite IMHO achieving exactly what Mike claims the DA2 team were aiming for: “You get to an RPG and fire it up, and … it hits you in the face with a thousand stats. Those stats are very cool, but you may not be mentally or emotionally prepared to deal with them as your first thing to do in the game,”

Mike – please go and play Diablo. I think you’d enjoy it. There’s no stats at all, until you need them.

Oh, and the colour-scheme for DA2′s level-up screen, I believe – and I’m not making this up – was light grey text on a dark grey background.

Apparently, Dragon Age 2 is “The Game Of GREY!”. Certainly, the demo has convinced me (sadly) not to play again unless forced. I’m sure there’s a good game in there … somewhere … if you can get past the boringness. Maybe someone will hack it and provide a way to skip to the fun parts? More likely (I hope) the demo just isn’t representative of the real thing. Or, if not … roll on NWN3…

March 5th, 2011 by adam

A year old, this quote, and the original source is from EA marketing (i.e. accuracy / provenance needs to be carefully checked), but still interesting, from Joey Brezinski:

“Its so sick trying to take a video game trick and make it reality, it just takes way longer with your feet then the sticks..

I can think of a trick, do it in the game and see how it works visually…the mechanics, weight distribution…then go do it in real life with a headstart I never had before. It just takes longer and hurts more in real life!”

(found via this very long and interesting article on the history of Skate video / camera work. NB the quote is a long long way down and unreferenced, but the EA marketing page seems to the be the original source)