Categories
amusing iphone

The ultimate excuse for iOS developers…

Rebooting again, everything killed thanks to Xcode4, I thought of xkcd’s comic on “compiling”, and a little modification came to mind:

Appropriately, working with Xcode3 often suffered from time wasted for the weak compiler to churn through relatively tiny projects. We’ve moved on – Xcode4 has a much better compiler/linker/build toolset – but it’s brought it’s own (worse) problem to replace it…

Xcode4 commits IMHO the second-worse (*) sin for an IDE: serious memory / CPU leaks; run it for long enough (as little as 1 hour) and it will crash badly, and drag down your whole computer with it. Since you cannot work without the IDE, this means you waste hours every week just rebooting over and over again. Apparently, OS X has little protection against rogue apps – the whole OS seizes-up, mouse cursor stops working, etc.

Varies from machine to machine, and project to project. e.g. high CPU machines (fast Quad-core) seem to be affected only very rarely (if ever). With some machine/project combos – e.g. dual-core machines around 1.6Ghz CPU – this happens multiple times a day, every day. They’re fast machines, generally – it’s just that Xcode has some fatally bad code somewhere. Xcode3 on the same machines was fine.

(*) – worst sin: data-loss; an IDE that corrupts your source code / build settings. Those just make me lose the will to live.

Categories
games industry web 2.0

GameStop Network: (possibly) the World’s worst Advertising proposition

(a.k.a.: “how not to advertise on the internet, lesson 101 for Advertising Agencies who have no idea how “advertising” works, or what it exists for”)

Tonight, as I tried to show someone a game, it took 12 – twelve! – refreshes of this page
before Gamestop would stop replacing a URL with a flash advert for something unrelated.

The advert was for cat food. !. !!. !!!111!!!!!!!11. Some stupid crap that I don’t want, and which Gamestop *should know without doubt* that I’ve seen 50+ times before; they know this because every time I view that page, I’m logged-in to the Kongregate badge-tracking system (via cookies and auth).

(they also know that I have *never* clicked on the ad; it doesn’t take genius to work out that I have zero interest in the product, and that every time they show it to me, they are almost certainly damaging the client – what kind of ad-agency is so stupid as to *not* realise how bad this is?)

Maybe … they are very, very stupid – and deliberately pissing-off players with adverts they’ve already seen – or, perhaps, they are charging advertisers 50 times (or more) to show adverts to the same individuals over and over again. It damages the website’s reputation, so presumably (educated guess) reduces the usage of the Kongregate domain; I’d be surprised if they’re doing it without some kind of remuneration…

(NB: this new take on ads did not exist until GameStop purchased Kong; I feel reasonably confident in guessing that neither of the Greer siblings had anything to do with this insanity)

If I worked for the advertising agency that had an employee who was stupid enough to sign this deal with GameStop, I’d be suing for breach of contract, fraud, or negligence right now; this is *not* how advertising works. Not even the most basic level of 1990’s-era checks have been put in place: IMHO either GameStop is screwing their clients, or they’re just really, really stupid (I’m betting on the latter).

Categories
games design programming

Love failure: make better games, faster

In my experience, most people can grasp one, but not both, these concepts when prototyping a game:

“If you fail, there will be dozens more”
“failure is ok! That’s what prototyping is for, so go crazy!”

Too often, I meet people who go crazy – but only once. It ends horribly, and they give up in shame.

Just as often, I meet people who make lots of stuff, quickly – but it’s all generic derivative crap; they never took creative risks.

The linked article above is a must-read for any serious designer: it’s a post-mortem from the Experimental Gameplay Project guys (“design + implement a new game every week for a whole semester” – if you haven’t played the games, or read about the concept, I can’t recommend it enough). I *frequently* tell wannabe-game-designers to go do exactly the same themselves – there’s no better way to learn the art and craft of game design.

Other choice quotes from the article include:

… how bad can it be?

“Although they were utter failures, the whole team was thrilled to take such a bold risk to prove the failure of audio-only gameplay, and I could point with pride to my hideous creations.”

… for all those misguided individuals who still think designers shouldn’t learn to code:

“Each member of the team had to be comfortable with all aspects of game development. Everyone was responsible for their own programming, art, sound, and everything else that went into the final product.”

(as Designers, you should aspire to be the games-equivalent of a Product Manager: making the final, shipped product come together as an awesome whole, rather than locking yourself in a cupboard doing your little niche thing, and ignoring the end-product)

…an observation I made a few years ago, and lead me to plan a 4-day week for our studio:

“after much investigation, it appears that you just cannot schedule creativity.”

…Scrum: start with a vertical slice of cake, and add slices, not layers:

“we found that gathering art and music with some personal significance was particularly fruitful”

(if you want further correlation of this, IIRC Jonathon Mak made the same point a few years back at GDC: Everyday Shooter sucked and was dull when he prototyped “game mechanics without animations”, and lead him down the wrong paths of improvement; you cannot take the style out of gameplay, it’s too tightly interwoven)

…how to: Simulate a prototype … in your head:

“It’s really easy! All you have to do is imagine your game audience saying, “Wow!” And then just work backward and fill in the blanks. What’s making them enjoy your game? What emotion are they feeling? What is happening in the game to make them feel that way? ”

Go read the article…

If you’re not convinced already, here’s their Handy Cut-Out List! (which won’t help much till you read it, as each line is one of the sub-headings:

Setup: Rapid is a State of Mind

* Embrace the Possibility of Failure – it Encourages Creative Risk Taking
* Enforce Short Development Cycles (More Time != More Quality)
* Constrain Creativity to Make You Want it Even More
* Gather a Kickass Team and an Objective Advisor – Mindset is as Important as Talent
* Develop in Parallel for Maximum Splatter

Design: Creativity and the Myth of Brainstorming

* Formal Brainstorming Has a 0% Success Rate
* Gather Concept Art and Music to Create an Emotional Target
* Simulate in Your Head – Pre-Prototype the Prototype

Development: Nobody Knows How You Made it, and Nobody Cares

* Build the Toy First
* If You Can Get Away With it, Fake it
* Cut Your Losses and “Learn When to Shoot Your Baby in the Crib”
* Heavy Theming Will Not Salvage Bad Design (or “You Can’t Polish a Turd”)
* But Overall Aesthetic Matters! Apply a Healthy Spread of Art, Sound, and Music
* Nobody Cares About Your Great Engineering

General Gameplay: Sensual Lessons in Juicy Fun

* Complexity is Not Necessary for Fun
* Create a Sense of Ownership to Keep ’em Crawling Back for More
* “Experimental” Does Not Mean “Complex”
* Build Toward a Well Defined Goal
* Make it Juicy!

Categories
fixing your desktop

Mac users: Regular Expressions app temporarily @ $0.99

I use regexp a lot, very useful, but OS X has weak support for them – Apple’s products rarely support regexp for search/replace.

In particular, the latest version of Xcode (Xcode 4) has no support, which is tragic. So … I wrote an app that makes it fast and easy to do a search/replace with full regexp support.

http://itunes.apple.com/us/app/regular-expressions-helper/id429461864

BONUS: it does it all in realtime – so you can see the results as you type (useful if you’re not 100% sure of the syntax you’re using).

It just went live on the App Store, and it’s temporarily at $1 – grab it now, I’ll be putting the price up after the weekend. Here’s a teaser screenshot from the v1.1 that will go up soon:

Categories
entrepreneurship recruiting

Given the chance, would you…

…trip someone over, or … Help them stand?

Visiting London, this question comes up a lot. Just now, I was on a train where as we pulled into the station the driver announced that the train on the neighbouring platform was the Express train to same final destination; he encouraged passengers to run to the other platform, and promised to wait if the other train left too soon.

I was the first person to reach the other platform; just as I arrived, the other driver started the engines and slowly pulled away.

You might pass this off as coincidence, but I’ve seen it many times first hand from London transport Employees: they delight in fucking over as many people as they can. I’ve even been threatened by London Transport staff, and was too naive to realise their behaviour was illegal.

But on a smaller scale are all the ordinary citizens who passively aggressively respond to perceived slights by barging others as they enter or leave a tube train, or deliberately walk slowly and block the pavements and escalators. When I was one of them … In my mind, I was exacting petty revenge on the woman who barged everyone out of her way when entering the train, or the man who jammed his briefcase in the closing doors so theyd re open and let him in (delaying the train and risking breaking it in the process – I’ve been on London trains that were cancelled because of exactly this).

But some years ago I realised you have a choice at each such moment; two paths lie before you, each goes to the same destination, but the journey is markedly different, and will change you; which path would you prefer to be defined by?

I still resent the petty bastards like tonights train driver who watched people run to his train then pulled away at the last moment – perhaps I even resent them more, as I think about the escalating pyramid of misery and vindictiveness they cause – but it’s also mixed with a small measure of pity, that these sad people will probably never again be truly happy, too wrapped up in their schadenfreude over others.

Categories
games industry recruiting

UK: J2EE/Web developer for games backends (Blitz)

“We are looking for a passionate and experienced individual to help with the design construction and maintenance of a variety of web-based entertainment and social media game service”

This being Blitz, the job is of course in Leamington Spa, which rules it out for most people :(.

But if you’re a web/server/java developer looking to get into a mainstream games company, could be a good start.

Categories
bitching Web 0.1

Web 0.1: flickr still doesn’t support OS X

…as in: after 5 odd years, on OS X the official uploader still “requires” you to either lose all your data every time it stumbles, or … force-crash it. Which, paradoxically, keeps your data intact. Confused? You should be.

e.g. you get 50% through uploading a few hundred photos, and your broadband has a momentary slowdown. Ten seconds appears to be all it takes. Because the flickr app doesn’t do basic error handling, it’ll hang at this point – forever.

If you do the obvious thing and hit “cancel” (there’s no “retry” button – why would you want to retry?), it deletes your data.

If you quit, it also deletes your data. (this is the mistake I made just now. That’s 20 minutes of editing image data I now have to do all over again. Sigh)

The only options are:

1. pull out the network cable, causing it to hard-crash … and “enable” the retry button
2. force-quit the app, causing it to crash … and when you restart it, it will automatically load in all the data

So, note to self: if flickr uploader hangs, FORCE KILL the ****er. Don’t do anything sensible or sane – it won’t work.

And … note to flickr: there’s quite a lot of Mac users these days; might be a good idea to start supporting them.

Categories
amusing games design

My next game will be named: Power Battle Love Magic … III

(because sequels always look better in SEO, no?)

http://www.achilleseffect.com/2011/03/word-cloud-how-toy-ad-vocabulary-reinforces-gender-stereotypes/

I’ve always wanted to do a “mash-up” of the words used in commercials for so-called boys’ toys. I did a little bit of this in my book, but now, thanks to Wordle, I can present my findings in graphic form. This is not an exhaustive record; it’s really just a starting point, but the results certainly are interesting.

The results, while not at all surprising, put the gender bias in toy advertising in stark relief.

Categories
fixing your desktop

OS X: if your laptop grinds to a halt, and it’s the OS, not the app…

OS X still has some fragility (or bugs?) in kernel-related code, it would seem. I just had my laptop go to 150% CPU usage … with no apps running. “top” showed that the rogue process was the core kernel process (PID 0) – i.e. only way to stop it is to reboot.

But I’ve noticed that some bugs related to the kernel can be “fixed” simply by hibernating and de-hibernating. e.g. with Wacom tablets, early versions of OS X 10.6 would often get “stuck” with the right-mouse-button permanently clicked. (IIRC, that got fixed around 10.6.3 – either by Apple or by Wacom)

So, I tried it today: close laptop lid, wait 1 second, re-open.

Magic! Kernel process un-f***ed itself, and system went back to normal. Many times simpler and quicker than rebooting :).

(EDIT: although … a few minutes later, I’m now seeing 0.5 second delays on keyboard interaction and mouse movement, every few seconds. Seems the OS X kernel is still FUBAR. Gah.)

Categories
entrepreneurship games industry recruiting

“if you train your staff, there’s a risk they’ll leave; if you don’t, there’s a risk they’ll stay”

On twitter the other day (but Twitter’s crashing at the moment, so I can’t find the original author).

Coincidentally, came up in a private games-industry forum today too, where someone was actually trying to argue it’s a *good thing* that their employer pays below-standard wages for all engineering staff. WTF?

Anyway, I think it’s a great quote. Just remember that “train” can be replaced with “pay” and “treat humanely”; a lot of weak company directors (and managers) talk themselves into the idea:

“If I keep my staff downtrodden, lean and mean, and low self-esteem … they’ll be forced to carry on working here, no matter how bad it gets. They won’t have the self-belief needed to leave!”

…but are too scared/panicked/stupid/lazy to think of the obvious immediate side-effect: what kind of product is going to be produced by people in that state of mind? Definitely not “quality”, or anything that will increase the success of the business…