Categories
games industry programming system architecture

Central Tech: Essential strategy, or complete waste of time?

I work at a company where managing and directing a subset of the global core-tech is part of my day-to-day job, and I’ve been trying to find good, positive ways forwards. After a year in this role, I’m looking back and wondering whether it’s working for us, and where it’s been good and where it’s been bad. I don’t know what the perfect solutions are, so I’m just going to document the issues I’ve been wrestling with, and my current thoughts on what causes them, and my current ideas on what can be done to fix or avoid them. Personally, although I’m confident there is at least some role for some form of central technology in many games companies, I’m not sure yet what that role is.

Definition

Interestingly, there are no clear definitions on Google/Wikipedia for either “central technology” or “core technology” (the two main names I’ve heard used throughout the games industry). I see that as a warning that this is pretty under-explored territory I’m heading in. Cool.

The vague definition is: “sharing technology between multiple game-project teams and taking any new technology created during a game project and re-using it afterwards for other projects”.

There appear to be two major concepts wrapped up in the central-tech teams that I’ve seen. Some teams have only one of these, some have both. Usually, there are substantial examples of both, mixed within the same team. Often, the team has one focus in particular, but people outside the team in the rest of the company pick one or the other to *believe* the team has as their focus, depending upon what they personally most want out of the team. When this is divergent from the team’s own internal focus, things are off to bad start already.

Centralised technology (control, direction, authority, mandating):
– control: deciding what technology to create for “general use” by game-project teams
– direction: researching and reporting to the teams what tech is needed over the coming years by all game teams (yes, including telling teams themselves what they need)
– authority: deciding all general and long-term technology choices for ALL game teams, and making decisions on what tech teams are allowed to create and use
– mandating: forcing game-teams to use the centralised technology

Shared technology (re-use of common code, standing on shoulders of others, increased stability, decreased startup costs)
– re-use: finding code that gets written the same way on successive projects, and turning it into a library then never re-writing it again
– standing on shoulders: getting a domain expert to write difficult code once, turning it into a library, so that people who don’t understand enough of the tech to write it themselves can leverage it into future games without having to learn it themselves
– stability: using code in multiple successive projects so that eventually, after a few projects, it is extremely heavily tested and bug-fixed, much more so than any code written and used for the first time in a given project
– decreased startup: reduce the amount of time after a project goes into production that it takes to get the “first playable” version of the game running, because a lot of “typically useful” code already exists; unlike “re-use”, this is NOT necessarily code you will keep in the long-term – it’s just a leg-up to get you started quickly

Problems (real or perceived)

In some cases, Central Technology / Core Technology teams have been growing on game development companies like mould on a piece of bread in recent years – gradually expanding their remits (and team sizes) until they end up affecting (usually negatively, despite the best of intentions!) every part of game development. I’ve had lots of experiences with centralised tech depts, although all of them in the games industry – interestingly, I never saw any software company even consider doing this when I worked in mainstream IT (across various industries), only games companies. And it seems a relatively recent phenomenon, too – at least at the scale that we see nowadays.

Typical problems cited by game-teams and third-parties affected by coretech (NB: these may not be fair!):
– a bunch of non-game programmers inventing arbitrary (undirected by user) solutions for potential (not verified because no concrete use-case) problems for not-yet-existent (haven’t started production yet) projects
– forced upon game-teams who have to twist and force their game into the inflexible (already built, without knowing the game-teams requirements because the game-team wasn’t around at the time) mould of the now-built core-tech (ask any EA employee about centralised technology initiatives…)
– generates pointless tools that are always in search of a problem to solve

Ultimately, the more bitter and cynical end of the spectrum of those who’ve experienced coretech come up with something that veers towards one of:
– it’s an excuse to spend infinite amounts of money forever without clear benefit and no oversight or restraints on feature set or spending
– it’s an excuse to take freedom and power away from game-teams and centralise it under an authority who has no reason to care if the game ships on time or with most appropriate feature-set

I suspect those two ultimate, generic criticisms map to the two typical definitions – the former to “shared tech” and the latter to “centralised tech”, although I’ve not looked at that in detail.

Most (not all!) of the experiences I’ve personally had in games companies have been failures, some narrowly (managing to achieve good things, but failing at what they were originally setup for), some spectacularly (failing to provide anything good at all, and even dragging down one or more game-projects with them). Some flailed about and killed projects in their wailing death-throes, others gorged on the corpses of the projects they’d killed and rose again from the bones of what was left, like some undead creature (which is a worrying precedent: “how do you kill that which has no life?”). It’s fair to say my experiences have been mostly bad ones :) … BUT: until it was called “central tech” or “core tech” the *same kind of initiatives* (re-using code, centralising decision-making, making powerful proprietary libraries) seemed to work well, generally, in teams that I was in or working with. The failure cases seem (at least in my small amount of experience) to be a relatively modern problem.

What’s the point?

Speaking to people throughout the company where I currently work, and working with some of our pre-existing core-tech teams, I’ve found myself more and more asking a simple question: “why do we have Core Tech?” The answers have been illuminating…

“to write everything-including-the-kitchen sink, then on each game project only use the bits you need”
“recycle code from an existing project”
“I don’t know”
“write code that can be used and re-used in multiple projects”
“share the really cool and difficult stuff that one team did with other teams so they can benefit from its brilliance”

This has made me realise / remember a couple of things:
– non-programmers, and many inexperienced programmers, grossly underestimate the ratio in development time/cost between “making code that solves one problem” and “making a generic solution to a whole class of problems of which the current problem is just one example”. The first explanation described above is usually prohibitively expensive by *a large factor, maybe even an order of magnitude*, but many people seem unaware of this
– CT is sufficiently ill-defined and *poorly marketed internally* at most games companies that many internal dev staff genuinely don’t know why it exists or what purpose it’s supposed to be solving, let alone have the opportunity to rate the success or failure at that purpose
– many people notice that game development often involves re-solving or re-performing similar tasks, and wish for a perfect world in which you only ever have to do one “kind” of solution once, and then you get to re-use it forever after. That is largely true in mainstream IT, but sadly this seems to be far from the truth with games development. Personally, I suspect that the day the technology becomes derivative is the same day you realise your game itself is derivative, and has lost most of it’s fun.

I also wonder: if we don’t have CT, are you saying we wouldn’t re-use code? As a programmer, do you avoid finding code from old teams and finding ways to use it in your current project? Isn’t this a *basic part* of your job, part of what we pay you to do?

Is CT something that gives game-programmers an excuse to be less diligent than they would otherwise willingly be, thereby setting the scene for them to later complain that it’s “not as good as if I’d written it myself” (which is one of the cruelest things I’ve seen game-teams do to their CT teams, even if it’s true).

Other side of the coin: why is central tech hard?

Project teams steal the best hires
– Project teams, especially Producers and Leads, have a hugely difficult problem (ship a game on time, and make it “fun”, so it sells well) and a huge amount of personal buy-in (if it fails, they have no second chance: their sole responsibility is that one project), and a huge amount of measurability of success (how many sales does the game make?). They have a vested interest in finding the best of the best people, and they have – ultimately – large budgets to recruit them with. If someone really good at developing code for games is in central tech, they usually get stolen for a game-team sooner or later. Central tech departments have too little visibility (how do you measure the brilliance or crapness of your coretech? there’s no sales figures!), no concrete deadlines (they randomly invent them, or borrow a game-project’s deadlines, but they really don’t sink-or-swim on that project-deadline like the game-team itself does!), and usually restricted budgets (if not, well, that’s when the unlimited-spending-without-reason problem kicks in…). They also are rarely as cool as working on a “real game”: most people joined the industry to Make Games, not to Write Random Code For Someone-else’s Game. CT finds it hard to retain the best people…

Writing code a second time is generally a lot cheaper than modularising the original version
– …I’m hoping this is self-obvious. But sadly it means that it is ALWAYS easier for any individual game-team to re-write *from scratch* the code they wrote for their last game than it is for CT to make the generic version that they’re usually asked for. Game-teams then get pissed that the CT team seems incompetent compared to them (they notice that the time they have to wait for CT to do something is MORE than it would take them to do it themselves).

CT is always setup as an “ongoing” task: there is no defined beginning or end to what they do. Games companies (developers and publishers) are very specifically geared towards “project-based” tasks.
– From the funding, to the project management, to the staff rewards schemes, everything about the games-industry is setup for project-by-project operation. We know (sort-of) how to make project-based development work (reasonably) well. We don’t really have ANY experience in non-project work – certainly anyone who’s only ever worked in the games industry (who are strongly self-selected by current standard recruitment procedures) will have no experience of non-project development. Is it any surprise we often screw it up? Moreover, is it any surprise that we have such difficulty making the non-project CT team be respected and understood by the purely project-based game-teams?

Ideas

I’ve been kicking around some ideas on new directions to pursue. These may not be that great, but at the moment I don’t have to make any decisions, I just have to provide options, so I’m interested in any suggestions or alternatives…

Think of CT as a human resource, not a code repository.

This is one thing I’ve been trying: what *I* needed most urgently out of CT was the *expertise* component, and actually I didn’t really care about the code re-use etc. I knew I would, but I had a more pressing problem of two projects that lacked the necessary expertise in Network Programming to make an MMO. So … I created a tiny team dedicated to doing the network code for any game, and explicitly NOT to writing reusable network technology (NB: many years ago I ran a failed network middleware company, so I had a healthy apprecaition of how difficult and time-consuming it is to write generic network systems; I knew we simply did not have the time to write that stuff when we had projects already in full production that needed network code NOW).

Because of that, we can’t share the technology they create. Not yet, anyway. But we *can* share the expertise of the people in the team. They have to do a fair amount of international travel (bummer). So far, it seems to be working OK, but … it’s too small a sample and it’s been running too short a time (do you have any idea how hard it is to recruit really good network coders? :( ) to make any firm measurements of the success or failure of the approach.

Architect all your CT initiatives on a project-basis, not a service basis

I’ve seen a couple of examples of this, usually where senior people were frustrated by the progress of CT but needed some new example of the kind of stuff it was providing – so they went and started their own new pet-project to provide that, but outside the remit of the CT group. I’ve seen examples of this that were positive, and examples that were negative. Politically, it’s likely to cause a shitstorm as far as I can see, no matter how you sell it (unless this is blessed by CT itself, and none of the examples I’ve seen were their idea, although IIRC one of them did get CT’s agreement – they just knew they didn’t have BOTH the expertise AND the budget to provide it, so were happy to not have to take responsibility for it).

Certainly, it’s been the fastest way to get real significant progress on anything major: by doing it as a project, and going through the “standard” greenlight – pre-production – greenlight2 – production – ship cycle that all games companies are accustomed to for their games, large amounts of money have been secured quickly, and the projects have got going quickly.

Embed CT teams into the game-teams

The idea with this one is to overcome both the antipathy between game-teams and CT (by making them part of the same team), and also to ensure “automagically” that the CT team-members are working stuff that is guaranteed directly applicable to a real game – because they’re reporting to the Producer of a given game-team all the time.

If it works out well, this could solve all the problems. Although I’m not yet sure I understand how – in the long term – this is any different from having no CT at all. As noted earlier, this is closest to how I remember things working well before the idea of CT gained widespread popularity. OTOH, I’m not sure if that same situation will even work nowadays – the industry has changed a lot since then.

History of CT

I’m not sure about this, but my vague memory is that CT grew in popularity and – more importantly – commonness (i.e. how many companies were doing it) in parallel with the axing of internal game-engine teams and the move towards licensing external game-engines.

I have suspicions that a lot of the confusion of “what do we have central technology for?” comes from this, two-fold:
– a) those companies that didn’t entirely get rid of their engine teams had people left a bit stranded, who ended up being folded into CT, and then tended to carry on working much as they had inside the engine team, despite the different overall task of the dept (and this happened partly because of the lack of clear direction from management about what the new team was for anyway)
– b) many of the companies that dispensed with their substantial proprietary engines they’d been using for years then jumped to Unreal et al found that actually the licensable engines weren’t as good as they’d been lead to (or had lead themselves to) believe: they couldn’t go back to having an engine team, but they needed a way to reduce the huge budgets they were spending on just basic modification and fixing of the external tech, that weren’t easily justifiable on the game-budget (because they weren’t forseen, and were adding NOTHING to the game’s end feature list), so they ended up creating a CT team to hide / provide the budget to do that kind of work

I could be completely and utterly wrong here – this is just some ideas that have been kicking around in my head recently.

EDIT: I’d also like to point to this good post about game-engines, and why you shouldn’t build them (not necessarily a “never do it” argument, but an explanation of why you might want not to).

Categories
computer games conferences GDC 2008 web 2.0

GDC08: The BioWare Live Team: Building Community through Technology

Summary

Speaker: Derek French

Given the title, this talk came far short of my expectations. At the end of the talk I also felt extra annoyed that it felt like half the talk was just waffle, mostly towards the end with lots of repetition of the same vague opinions over and over again.

HOWEVER … when I came to clean up my notes and post them here, I realised that there were a lot of concrete good points, and it was just that it got waffly at the end.

If you don’t bother reading everything below, there’s one thing I want you to read (NB: I have cut out big chunks of the talk where the speaker waffled too much, so the reading below should be information-heavy).

Categories
computer games conferences games design GDC 2008 massively multiplayer web 2.0

GDC08: Virtual Greenspans: Running an MMOG Economy

Summary

Speaker: Eyjolfur Gudmundsson, CCP

I want a full-time economist working for MY company.

And: CCP staff should give more of the GDC talks, they’re good. And entertaining.

In the midst of a week of depressingly dumb comments (on the topic of economy: what possessed Matt Miller to argue against microtransactions because accountants like to see x million players times y dollar per month and find microtransactions unpredictable?), it was a joy to go to an intelligent, extremely well-informed, rational talk with valuable lessons for the future.

EDIT: photos now added inline; better quality images of almost the same graphs can be found in the official Eve Online newsletters (2007Q3 and 2007Q4)

Categories
computer games conferences GDC 2008

GDC08: Raising Venture Financing for your Startup

Summary

Speaker: Susan Wu, Charles River Ventures + panellists, see below for details

EDIT: just finished an editing round; I’m about 2/3 through cleaning this up. That’s why it all goes a bit funky towards the end. I promise I’ll clean up the rest of it ASAP…

Excellent panel, probably the most informative one I’ve been to at GDC (I usually find they wander too much and have too little concrete info. Nabeel, if you read this, I’m not counting your moderated session as a panel ;))

Categories
computer games conferences games design GDC 2008

GDC08: Building a successful production process

Summary

Speaker: Lesley Matthieson, High Impact

I didn’t find this talk at all useful, not because it was badly given (it wasn’t) but because the speaker seemed to be coming from such a rarefied environment that the ideas and suggestions would only work for a narrow set of people/projects that didn’t include me.

Categories
computer games conferences databases GDC 2008 massively multiplayer Uncategorized

GDC08: SQL Considered Harmful

Summary

Speaker: Shannon Posniewski, Cryptic

I was expecting something shockingly naive and/or stupid from the title of the session. The first thing the speaker said was that the title was completely wrong, so I ran with that. With that out of the way, the talk was fine, although small things kept coming out during the talk that were hard to believe or worrying claims.

So it was going OK, until … right at the end, just before the Q&A, and partly during the Q&A, the speaker dropped some serious shockers:

Categories
alternate reality games computer games conferences games design GDC 2008 massively multiplayer web 2.0

GDC08: Thinking Outside the Virtual World

Summary

Speaker: Michael Smith, MindCandy

Another half-hour-long introductory topic talk from the Worlds In Motion summit. Short but sweet. A nice overview of lots of different things going on in the use (and sales) of real-world goods as part of online games / virtual worlds. Misses out plenty of things, but does a good job of giving a taster of the sheer variety that’s going on right now.

Like Adrian’s talk from yesterday, I would have loved a second follow-on talk – now that everyone’s been brought up to speed – that explored where we could be going with these, and looking at how these have been used in more depth / detail.

Categories
computer games conferences games design GDC 2008 massively multiplayer web 2.0

Liveblogging GDC 2008

In case it’s not obvious enough, I’m tagging all my session-writeups this week with “GDC 2008” (HTML | RSS).

Mostly I’m covering online-related and social-networking related topics, but jumping around between GDC Mobile, Serious Games, Worlds In Motion summit, Independent Games, and the Game Design, Production, and Business tracks.

Categories
alternate reality games computer games conferences games design GDC 2008 massively multiplayer

GDC08: Gaming’s Future via Online Worlds

Summary

Speaker: Jeffrey Steefel, Turbine

IMHO, Jeffrey hereby strengthens the weight of evidence that Turbine is genuinely turning the corner from making poorly-guided foolish games to doing cutting-edge stuff and doing it well. Lord of the Rings Online (LotRO) has gone some considerable way to burying the failings of Asheron’s Call 2 (AC2) and Dungeons and Dragons Online (DDO), but it’s still far from certain that it’s a sustainable direction for them. In that context, Jeffrey speaks very convincingly and with a lot of apparent understanding about what they’ve done well and where they’re going with it in the future. Frankly, all of the incumbent MMO companies need to be doing this, and pushing at least this far and fast ahead, so it’s great to see someone senior at Turbine pushing this so strongly.

Categories
computer games conferences games design GDC 2008 massively multiplayer

GDC08: Social Media, Virtual Worlds, Mobile, and Other Platforms

Summary

Speaker: Peter Marx, Analog Protocol/MTV

Good to hear about virtual worlds and MMOs from the perspective of a mega content / media company. Several interesting ideas and explanations that are well worth reading if you haven’t already been tracking the way that Viacom et al have been approaching the online socializing space.

Nothing fundamentally new, but the ideas presented were clear and consistent – and I’m kicking myself for not having tried VLES sooner, it sounds fun.

Categories
computer games conferences GDC 2008 web 2.0

GDC08: The power of Free to Play (Adrian Crook)

Summary

EDIT: Slides + voiceover on Adrian’s site now – freetoplay.biz

A good introduction to people wanting to start paying attention to what’s been happening in MMO industry for the last 5 years. Didn’t delve into the recent changes in the last 1-2 years, more dwelling on the fact that the last 2 years have seen the cash-cows of the first wave of changes (F2P itself) delivering revenues that were no longer just “bestseller” status for a normal game, but were actually now much bigger even that that.

So, for instance, apart from a brief outline of FoodFight, there was no coverage of the way games have been colonising social networks, or where this seems to be heading next.

Categories
alternate reality games conferences games design GDC 2008

GDC08: Scattershots of play – potential of indie games – 3

Summary

A very broad range of ideas on what should shape game design at a fundamental level. I greatly enjoyed this for the way it jumped to a bunch of related but competing ideals and perspectives.

Also very interesting for including a 20-minute section on How to Design for Alternate Reality Games (not billed as such, but that’s what it was: a theory on how to think when designing ARGs).

Sections

Section 1: Flow, and how to evaluate games
Section 2: Games break down into inputs and outputs
Section 3: Theories of design for Alternate Reality Games

Speakers

[1] Kellee Santiago
[2] John Mak
[3] Pekko Koskinen

My own occasional commentary is in [ square brackets ]

Section 3: Theories of design for Alternate Reality Games

This presentation is a personal design path, because the topic is in daner of leading to too abstract things, so personalising will make it more concrete, and secondly using concrete example will probably help explain.

I was working in university game research lab in finland, then tried to get projects going between old traditional forms of art and games.

One project from last fall was a reality game that will take place in finland next fall (2008???).

Background of game mechanics, but also a choreographer, a few dances, some actors, a video artist, and theatre director. These are all controlled by background game structure.

Basic premise is that everything you see around you is actually fictional. We’re pretending you’re living in a virtual disney land, your life is part of a museum exhibition, you’re a token citizen in this piece.

We insert fictional elements into the streetlife, give roles to players and use this to nudge people out of their normal daily routines.

I had to recalibrate my game design principles, because this needs some big changes to things I’d normally done. We’d made mainly experimental computer games before, and although I had a background in roleplaying this was still pretty new different design requirements.

Games can be designed for any medium, you can make games that are sound-only, text-only. Any medium at all you can come up with a game for. Why is that?

I think that’s peculiar because other forms of expression are rooted in the medium, e.g. painting is defined by it’s being a visual medium, music is an audio onee, yet that games are simply independent and can apply any medium that they choose.

This leads to the question: where do games reside, where do they stem from?

[this is part of their uniqueness: they’re part of what we are as humans]

I have a couple of ideas…

1. Games are essentially systesm: structures and operations. The structures, and the operations that are based on those strucutres. The medium’s features are there to make the structures apparent, and make the operations sensible / understandable.

e.g. learnign chess: you can learn it many ways, physically: in your head, on paper. but what’s important is that you’re devleoping a mental-model in your head, and then you can play it in any medium.

This is true of all games, I think: the game is not part of the medium, it just uses a given medium to show the structure that the game is comprised of.

If this is the case … doesn’t that mean that the whole game ultimately resides and plays out within the player’s own mind?

The starting point for any move in the game is in my head; first I play the move in my head, to decide what to do in reality, what action to actually take in the game outside my head.

2. If these reside in the player, aren’t games ultimately “systems of behaviour”?

If I play something, I’m behaving differently from my normal self [because I’m using that custom proprietary mental model to shape my thinking and actions].

Can’t we think of game design as you coming up with a pattern of behaviour “that would be an interesting way to behave, to live, to act” and then turning it into a representation of structures and operations that forces that way to behave.

3. If we adopt this design premise, then can we design a player the same way we design a game?

[on a basic level, you would expect a definite resounding yes: this is mathematical matching at play]

I think we can.

Sturucturally the approach I used was to think that games are environments in which we play. But…we could also design games as lenses, not as environments, but as esomething placed between you and your environment, that shape how you view your environment.

This gave me the approach I needed to do the reality-game design.

I could get someone doing something that looked game-like. Then I could get some other people to walk into the room and tell them that this was an artist doing an art piece.

I could then get more people to come in, and tell them that it was a religious event.

These are three different lenses of the same activity that is occurring.

Looking to the future…

This model of lenses cuts out some thing that games can do much better than just be lenses, so it’s not perfect as a model.

Are games as we see them now the last stop in development of understanding of what a game is, and of examples of genres, or just the beginning of a fundamentally different way of looking at them.

If you look at games pre-computers, they haven’t changed for thousands of years. But it’s changed so much in 20-30 years that this suggests its still a long way away from slowing down, if you look at historical cultural changes.

I think games are the best way to take control of life: we can design our lives, we can design the reality we want, how we live our lives.

People talk about how mmorpg players are losing their personalities to another online personlity. I think this is a reflection of the fact that games have a baheriovurla background, so they ALWAYS tie up with identity they ALWAYS cause you to adopt a new identity in order to play them.

That’s one development that’s only just starting at the moment, and in the long run I think we’ll come to see it as a general thing.

Categories
conferences games design GDC 2008

GDC08: Scattershots of play – potential of indie games – 2

Summary

A very broad range of ideas on what should shape game design at a fundamental level. I greatly enjoyed this for the way it jumped to a bunch of related but competing ideals and perspectives.

Also very interesting for including a 20-minute section on How to Design for Alternate Reality Games (not billed as such, but that’s what it was: a theory on how to think when designing ARGs).

Sections


Section 1: Flow, and how to evaluate games

Section 2: Games break down into inputs and outputs
Section 3: Theories of design for Alternate Reality Games

Speakers

[1] Kellee Santiago
[2] John Mak
[3] Pekko Koskinen

My own occasional commentary is in [ square brackets ]

Section 2: Games break down into inputs and outputs

Graphics over gameplay, AND gameplay over graphics don’t actually mean anything

Games break down into inputs and outputs. The game doesn’t exist without outputs, nor without inputs, so it’s meaningless to ask which is “most important”.

[Adam: I think you need to play ProgessQuest more… :P. Although I innately agree with this, or used to for many years, PQ eventually persuaded me that this was more of a personal self-delusion than a truism. Useful, but definitely NOT the full picture.]

You need to recognise that it’s not a game if there’s no ownership of inputs; you see something happen, and feel that’s it because of something you did.

Guitar Hero (GH) sucks because pressing a button when you have to isn’t owning any outputs, only owning an input. But … by giving you rock music when you press the butons, it DOES give you an output to own.

I had a sucky game that I was prototyping, and thought it was just really boring, I’d never pay for it, and then I added some cool graphics, and suddenly …it actually became really enjoyable. So I realised that graphics are actually essential.

I did a simple test where you could just jump high and low (small red ball on white bg).

All I did next was map every interaction to some kind of output.

Jumping made you squish narrowly, and when you move left and right a propeller on top rotates. Landing makes you squash out as you splat. Exponential decay on the animation of propeller.

All the gameplay rules are EXACTLY the same, but somehow it’s suddenly more compelling, and that’s what’s been blowing my mind.

[c.f. freecraft – try the early releases where no-one had created copyright-free art yet, so it was all just magenta blobs versus green blobs, and although the ruleset was standard Warcraft 2, the game itself sucked ass]

[c.f. Pixar’s very earliest animation work, the mini-story of the angle-poise lamp – look at how much inferred meaning humans can get out of the simplest of graphics, but they need SOME clues as to intent; in the pixar animation, the angle of the lamp, the speed of movement, and the direction of the light beam give you just enough to anthropomorphise it]

[1]

Its interesitng because I’ve seen a lot of designers wrestling with this, they feel the publisher isn’t creative, and doesn’t “get” the vision, and it’s because they’re showing the plain simple boxes and lineart version.

I think I see that there’s a certain amount of graphics that you need to even show your basic vision.

[2]

If you can’t see it, then it isn’t there.

The game developers are sort of projecting the gameplay, the feedback especially into the game that they know is going to be there, but isn’t there yet, because they have a library of this stuff in their head and know what it will be.

[1]

I’m wondering what is the level at which skinning the same mechanics does lead to a different experience, a different game.

What are we innovating on, how much is actually necessary innovation.

[2]

We talk about games as expression, and then go into the technical stuff. But I think a lot of the expression is simply “what you see and what you hear”.

Rez has very simple gameplay, not much expression, but the expression in fact IS how the visuals and audios all come together.

What if Call of Duty 3 (COD3) had Rez graphics? I realised that I would go from thinking it was boring and dull, to thinking that it was all about outputs, and that was when I started.

[3]

Much of the gameplay is seeing the difference between what you expected to happen when you did something, and what actually happened.

If you see exactly what you expected, then it’s dull.

If you see nothing like what you expected, then it’s ??? pointless??? [didnt hear this clearly]

The audio-visual are part of this feedback, they actualise the feedback. That’s the only way we get to see into the [FSM] of the game to see how it’s reacting to our actions, and to what extent.

Categories
conferences games design GDC 2008

GDC08: Scattershots of play – potential of indie games – 1

Summary

A very broad range of ideas on what should shape game design at a fundamental level. I greatly enjoyed this for the way it jumped to a bunch of related but competing ideals and perspectives.

Also very interesting for including a 20-minute section on How to Design for Alternate Reality Games (not billed as such, but that’s what it was: a theory on how to think when designing ARGs).

Sections

Section 1: Flow, and how to evaluate games
Section 2: Games break down into inputs and outputs
Section 3: Theories of design for Alternate Reality Games

Speakers

[1] Kellee Santiago
[2] John Mak
[3] Pekko Koskinen

Section 1: Flow, and how to evaluate games

How do we measure games?

Katamari Damacy (KD) valued as “a few hours of short, sweet entertainment”, but also “something you go back to again and again”. How does that makes sense?

I spent more time playing KD than God of War (GoW), but the latter was $60 as opposed to $20.

Is time the way we should be measuring the value of a game?

Flow

Tried to design Flow as something you COULD play over and over again, but would potentially play very differently every time. Many players didn’t notice this because of the strong simple central gameplay.

[2]

Play value may be more important in terms of “how much longer afterwards you continue to remember / think about it”, like books and films that make you go away and think afterwards, long after you’re no longer experiencing the entertainment.

[3]

How you’ve been changed by reading a book is a way of measuring its value/effect, but this is something we don’t do with games.

This is sad, as games have much more potential to affect players.

Maybe its necessary to talk about the number of horus of gameplay, and the replayability, to market and sell game, but I don’t think it has any value for the design of games.

[2]

You play a game differently by knowing what’s going to happen next, so replayability actually is very important, potentially. e.g. why are you able to study and re-study a great book over and over again, how do you not get bored / seen it all after the first few times?

[1]

KD made me think how even we in the industry don’t place enough value on the “meaningful content” – the fact that we only set a price of $20 suggests we’re not thinking it ourselves.

[3]

If we approach the player as “was he entertained? Was he feeling good afterwards, was he taking anything in?”, with design I think we have to look sometimes at the ACTUAL effects that took place – what skills did the player experience, what did they learn while playing?

[2]

I don’t think about the player too much when I design games, but that’s because I guess I just design for myself, mostly.

[3]

It’s an interesting thought that you can make world design part of the game design. Designing the game-world so that the rewards are integrated into it. World could be small-enviroment, I mean it abstractly.

[2]

It’s just another tool, non-intrinsic rewards. It gives some extra meaning to the game. e.g. Geometery Wars (GW) uses points to show that it’s about perfecting a certain skill.

[1]

Extrinsic rewards either tap into Obsessive Compulsive Disorder, or into competitiveness.

If that’s what you WANT to tap into, go for extrinsics, otherwise you have to think more about what exactly the rewards are encourgaging in the player.

[3]

We don’t actually think how many rewardlike elements there in the game. For instance, in GW the size of explosopns., the graphic effects, are rewards in themselves. The glorious mega explosions are a special reward too.

Categories
java tutorials programming

Java considered harmful as first programming language…

Today, I was pointed at an article suggesting that java is responsible for the decline in the quality of Computer Science graduates.

Specifically if you want to be a Computer Scientist, I’d say that the initial claim that “java is bad as a first language” is true, just as “C++ is bad as a first language” is true. What disappoints me is that they go on to suggest that C++ is good as a first language (disclaimer: my uni course taught ML as first language, ARM assembler as second).

Categories
games industry massively multiplayer

MMOGchart.com gets first update in 8 months

http://www.mmogchart.com/charts/

At long last, the new version of my charts and analysis is now online! I don’t have numbers for every game, but there are quite a few updates, most notably to World of Warcraft, RuneScape, Dofus, Tibia, and NCSoft’s various titles. Also included are preliminary numbers for Vanguard: Saga of Heroes, Lord of the Rings Online, and Tabula Rasa.

A new look and feel to the site as well, I noticed. I’m glad to see the site back and running, and just in time for GDC too :). I can’t vouch for the accuracy of the numbers, but it’s a hugely valuable service to all of us in and around MMO development to have a detailed comparison like this and to see historically how each of the games fares against its predecessors. Even if 95% of the opinions people form from this analysis seem to be wrong … (remember any of the “no game will go above a couple of million subscribers because the charts show them all stealing from each other and none growing the total market” arguments of yesteryear?).

Categories
computer games

My Dungeon Runners character

http://threeplanetssoftware.com/software/dr/adz

(not our website, but something the community did with the XML data we released freely)

EDIT: or even better, here

Categories
computer games system architecture web 2.0

Game data accessibility and XML feeds

Sometimes, it’s the little things you do that get noticed

Last year I would have ranted about how retarded it is that game data is either entirely inaccessible to the web, or only accessible to an “official” website. …This year, however, is all about the positive. Rather than rant about no one providing such a feed, this is an un-rant about someone providing such a feed.

Dungeon Runners!

I found this via a news post about character sheets being viewable online at 3rd-party sites, making the assumption this meant an XML feed was available, and then digging through the forums until I found the post with a link.

This is really cool, I should tell you, just in case you don’t get that.

Receptions like this help keep us motivated to keep doing more of them :).

Categories
java tutorials networking programming

Java NIO Server Example

I’ve made a small simple but complete java NIO server (with full source included) that is free for anyone to use for anything. At the moment, it only deals with sending and receiving strings, and isn’t optimized, but if anyone wants to improve it and send me the changes then I’ll post up an improved version here.

Download, documentation, license details, tutorial etc after the jump…

Categories
games industry programming recruiting

Self-learning guide for Game Programmers without a degree

The following are hand-picked sections from the syllabus of the 3-year Cambridge University CS course. These are just syllabus, i.e. describing what you need to learn / teach yourself.