Thursday, December 01, 2005

Thinking in code

A student of mine just got his first games job way to go Matt!

That got me thinking about the whole games company interview process. In particular, I have had my fair share of interviews, which I somehow seem to have lost the questions for. So I did some quick digging to try and find some websites with useful "game programmer interview" questions.

Usually during the final months of thier studies, I try and give students some mock interviews and questions in order to try and pinpoint thier weaknesses and to try and prime them for how a typical interview scenario might look.

Anyway, as I was reading about some microsoft interview experiences (for which apprently there is a book called "moving mount fuji"), I started to think about how I felt during interviews, specifically, technical interviews.

This got me thinking about internal dialogue. You know, that sort of voice you have in your mind that you are in constant communication with that acts as your concience and generally lets you think through your decisions. It got me thinking specifically about programming and that internal dialogue. You see, I program because it is a means to an end. It is part of the process of creating games for me, so I dont generally consider programming when I'm thinking of games. So for me when I'm going into a game development job, the LAST thing on my mind is some generic programming riddle.

When I think of games, I think of systems, interfaces, algorithms, data structures. I do not think in the language of code. Which is exactly what you are supposed to do at these interviews with the typical whiteboard-pseudocode concept right? With those they are testing how you think-code, how you consider code elements. But I tend to think beyond that code particularly, towards what it will be useful for. I guess that might be why I'm not as enamoured of the whole "engineering" aspect of programming as many are. I dont consider a deep understanding of C++'isms to be something vital to my development as a game developer. In fact, if things could just pour out of my mind and appear somewhere in a game, then I'd not do any coding at all.

I guess thats what a designer who cant code is basically counting on. Sadly thats very rare.

Now thats not to say that I'm actually a game designer in the classic sense, because from my admittedly limited experience of game designers, I generally think in far more mechanical terms than they do. If I were to nail down my thoughts on game design to a particular methodology, I'd have to go with something like Ben Cousin's methods of measurement and comparison (see his GDC and GDCE lectures on timings).

Every time I try and come up with designs that are entirely abstract, I seem to fall short. So I've always taken to trying to consider games in terms of concrete mechanisms. For instance, the act of hitting balls with bats. That mechanical concern "what variables are there that cause a difference in reaction when a bat hits a ball" is something I'm very much at home with. So I guess there is some notion of the programmer-engineer trait inside me, but my internal dialogue so often has nothing to do with the language of code and has much more to do with the language of feel.

I'm not even sure what this means, because it isnt something that necassarily helps create great games. But I think at least being aware of and contemplating your inner personality sooner or later leads to some level of self-enlightenment. Knowing that I never really want to be in an uber-technology-led position, is something I knew a long time ago. But trying to find the right place where my knowledge and skills actually hit exactly the right sweet spot where my own personality type and my yearning for the right "feel" of things is an interesting journey.

Now that I read back what I said, the way I write feel a lot, suggests that I am indeed a tactile person. Ok, ignorant as I am, I cannot for the life of me remember where the different personality types come from, but there are, as I recall, auditory (people who like sound), visual (people who like to see things) and tactile (people who like to touch) dominant personality types. Of course youre friendly neighbourhood phsycologist will explain what this actually means.

Strange then that I am a musician (suggesting audio) and have always loved movies and game graphics programming (suggesting visual). Go figure!

Wednesday, November 30, 2005

Games Research

This next month or so, I'm taking part in some games centric research. I don't really want to pre-empt our findings here, but just to pass on some of the interesting links to interesting literature we've come across whilst doing the literature review.

The first one is by Melissa Federoff. While I feel that she is maybe stretching the value of HCI professionals in the latter part of her paper, I think this is a good start at developing a number of heuristics which can help measure the success of a game design in concrete terms.

The notion of actually testing for fun is something thats quite alien for many of us game developers. But I can definitely see the value in actually scoring ourselves in terms of some heuristic. Of course we all do this intuitively, however intuition isnt always infallable.

Now what we would do once we have these metrics? Thats another matter.

The next place is the microsoft usability center. These have some good playtesting articles and movies to watch.

Usability testing is something that doesn't happen very often in the games industry. Unless you're at a bigger publisher. I do think there is something in it, in that we as an industry can learn from the usability testing experience.

However a lot of the time they do suggest using a "professional", which I can't see many developers doing.

I think there is a big lesson to learn for all developers about the concept of testing and developing for your target audience (and I guess in identifying clearly beforehand what that audience is/wants).

I think Dan is definitely onto something in his blog ( but I think there is more to this than just the product design aspects.

Substance over style?

I just read the March issue of Game Developer and was quite outraged by an article about a DICE conference speech by a guy called Marc Ecko (a billionaire designer of "cool" clothing), where he was saying that he thought game developers were producing games without a clue about thier audiences desires.

I certainly don't feel 100% in line with Marc's thinking, especially as I totally dislike the kind of "pop" culture he promotes as what he thinks our target audience should be. But he definitely has a point (even though I've railroaded it somewhat to my own way of thinking).

The thing is, he was basically saying that as developers, we cater to either our hardcore players, or to some fuzzy "mainstream" stereo type. We do this by creating games that almost universally are over-produced with too much content, most games players being quite happy to see less than 50% of a games content.

Essentially, we have a very substantive view of development, this being bourne out by the focus of publishers towards bigger games with bigger budgets and bigger prices, as evident in the call for increased game prices by Sony VP Jack Tretton in the same issue.

What I *do* tend to agree with is the assertion that we seem to be lacking the notion of style in our games. This notion of style is something that inherently affects people's view of our work. If something is considered "cool" it is because it is percieved to have a certian style. As soon as one group picks up on the style and adopts it, we then start creating a "culture".

The thing I agree with is that we are overly valueing substance over style. Where we should be creating innovative products which are stylistically radical in order to create new cultures and counter-cultures, we are all essentially singing the same songs from the corporate song-sheet. We are all looking to emulate the success of the bigger guys without thinking that perhaps its more likely that we gain success from driving our own niche.

The problem is that it takes a hefty niche group, who are very vocal about thier favoured entity before anything gains acceptance as "mainstream". Think of things like hip-hop, rave and all of these sub-cultures that were taken from the grass-roots of one place and essentially initiated into the corporate world over time. Now its not uncommon for the likes of Sony to have hip-hop acts on thier roster of artists, imagine in the early days of hip-hop acts even dreaming of that sort of mainstream acceptability?

I also think that whilst we are lacking innovations in style, we are also lacking any sort of consistancy of style. The whole point of a stylistic movement is that several innovators drive forward a particular idea, using each others work as sounding boards in order to iterate thier own learning. Eventually finding thier own voice within that particular broad-brush of genre.

Perhaps this *has* occurred, within the FPS genre, where the main "players" have essentially worked around a bunch of fairly well delimited themes, each offering something slighty different, but essentially staying within the genre.

Maybe what I'm advocating is that we don't really need to go for "bigger", but that we need to find our styles, our new genre's that take development in a new direction, but this has to be supported by a groundswell of companies promoting that genre in order for it to achieve the critical mass that eventually leads to "mainstream".

So that begs the question, what IS the next genre? the next stylistic trend which is born of some reasonably low-level development, but that eventually ends up as a mainstream? Perhaps mobile 3D? Perhaps something even more experimental.

As for Marc, to paraphrase someone "would you trust a middle aged man who wore his cap backwards?".

Wednesday, March 23, 2005

First person shoot-outs

I finished Brothers in arms by Gearbox yesterday.

I won't give anything away about the game specifics here, but as anyone who knows me will attest, I'm a BIG fan of this style of game, so I really want to analyze the decisions they made in creating the game.

If you look at the game from a purely marketing point of view, the obvious competitors are games like Call of Duty, Medal of Honour and perhaps less so Battlefield 1942.

I say less battlefield in that COD and MOH are both essentially "pure" FPS games, trying to immerse the player within a world of combat, whereas I never felt that Battlefield was attempting to do that as much as create an interesting multiplayer experience.

So given the competition, it's interesting to identify the design choices that BIA makes, where they did things right and where they perhaps slipped up.

I must admit, this is probably one of the few games I'd *really* love to work on. I'm a fan of FPS games in general, but particularly visceral wargames which kind of submit me to the horrors of the reality that is war but in a safe way. I appreciate the feelings of veteran soldiers so much more when I've experienced similar situations via a game.

So how have Gearbox departed from the "norm" set by COD and MOH?

Well, the main thing is that intermixed with the pure bred FPS nature of run-and-gun action, they have actually included an element of tactical thinking. This is introduced by allowing you to take control of one or two squads of soldiers. These are *your* guys, you are responsible for them.

You are given time to bond with your squad members during several of the many cut-scenes which intersperse the action. However these really didnt seem to compel me to give a damn about my squad mates any more than I would normally. Perhaps this was because the squadmates never really "died". Typically a fallen comrade you lose during a mission is somehow ressurected for the next mission.

This was an interesting decision, because whilst it allowed you to grow familiar with your teammates, it also became glaringly obvious that whilst not fully expendable, you could get your team shot up and still know they'll be back in the fray for the next fight. Probably not the best for recreating the feeling of loss, although I do understand the dilemma that if you DO allow the teammates to have perma death, then there is no squad continuity and hence very little player buy-in of the whole "squad" mentality.

So given that you have control of one or two squads, how does this affect gameplay?
Well, clearly the idea here was to inject an element of tactical thinking into the normally fairly mindless action involved in COD et al. However by making this hybrid, to me at least, they have created something that is less than the sum of its parts in some ways.

The tactical control of the men for the most part behaves intuitively, with a simple right mouse mode which "points" towards the action you intend the squad to take. This mechanic works fine for the most part (with a minor niggle to do with the AI tactical pathing being occasionally fairly hair brained, but given that pathing tactically is definitely non-trivial and that in the main the whole thing just works, I dont think we should dwell on it).

The problem is with the whole positioning of the game between the action oriented gameplay of COD and the tactical oversight and control of say Combat Mission.

I think my conclusion would have to be that having two squads to control as a tactician simply doesnt involve enough of a challenge to be deeply rewarding, yet having to control them to be able to achieve an objective means that you cannot simply ignore them and play the game as a hardcore FPS like COD.

Another factor that suggests that the tactical element is perhaps under-served, is that the "situational awareness" view, entered by pressing V, simply doesnt give enough control to the player to actually achieve any benefit in terms of situational awareness. The problem with this view isnt in the concept of an out of body camera view, but in the actual implementation.

Because the player can only rotate and elevate (sometimes within fairly harsh restrictions) about units it "knows about", there is little to be gained. Often I gain more situational awareness by simply running around the level making a mental map and letting myself get shot up so I can reload the game and plan my actions from the mental image.

The addition of a simple camera control system that would allow arbitrary panning of the playfield would have salvaged this feature, so I'm quite unsure how and why the implementation was done the way it was.

Whilst the merging of tactical thinking into the action shooter genre is a noble aim, I think that the current implementation can be vastly improved upon. It's a shame really, because the execution of the game overall is very good. Graphics are high, scripting is good, although I found some of the voice acting a little stale (eh Randy? doing voices yourself?) and some of the acting of the characters smacked a little insencere.

So where will gearbox take the next iteration of the game?

Well, I'd hope that in the next iteration, attention is paid to the balance between action and tactics, so that both sides are possible. For instance, it might be possible for the game to judge from the actions of the player (if they are often alone, charging a gun post whilst the squad is sat at the back of the map shooting occasionally, which is often what happened to me for instance) dictate the role that tactics play in the game. If the game allows the AI to actually start making thier own decisions if the player isnt actively involving themselves in the squad control, by watching what the player is doing and becoming active in trying to "help out" the player, then I think the game itself will improve.

As it is, the AI *does* attempt some of this, but if the player forgets to order squad movements often enough (by being engrossed in the action) then I think the AI should compensate.

I've got high hopes for the sequel to the game, not least because I've got a soft spot for Gearbox as a company and the guys that work there. I'm on thier side! so I feel a bit harsh critisizing what is quite obviously an exploration of two fairly complex genre's of game.

So kudos for a well produced, compelling game and here's to seeing a sequel that bests the original in many ways!!!

Saturday, March 12, 2005

Spleen, spleen everywhere.

Man, anyone who knows me personally, will know that on the odd occasion [ok, maybe an understatement], I like the occasional rant.

Mainly, I rant about the state of my chosen profession (games development).

Something quite new is that the industry is actually starting to come out of the undeground concrete bunker-esque closet and rant publically about its own ills!

CrystalTips: Burn the house down

Has a pretty good review of a GDC'05 session, which I *really should* have been invited on :)

Of course, it would also have to be a week long session.

Frankly though, I'm really quite surprised they went as far with those particular rants as they did. They all sound like good healthy "get it off your chest" style rants, but I'm guessing rubbishing the main gorilla's of the industry is something your average joe-shmoe isnt going to get very far with.

So big up's to Warren et-al, for speaking thier mind, especially Warren, who may have more of a task abating those around him from a business perspective.

Hope I'm there at the next rant, that sounds like a GDC talk I'd *BOTHER* attending!


Tuesday, March 01, 2005

Sheepy Dilemma

I've got this sheepy dilemma right now and I'm trying to work through the options.

In the game, I've got to show how many sheep have been "counted" for a particular obstacle or endpoint versus how many are "required".

The first thing that came to mind, was a GUI element, which Ive mocked up and stuck in the bottom right corner of the screenie below.

But that felt a little disassociated from the element it was counting, plus its likely that there are going to be more than one element to show as required/counted.

So I decided to do a GUI control that projects from the 3D world onto the 2D gui, showing the same kind of information "in place" so to speak.

But to me, it just doesnt look right.. So now I'm trying to think of alternatives.

What do you think??

Larger Version

Sunday, February 27, 2005

Personal publicity meets indie developer

As an independant developer (actually, as an independant ANYTHING) you have to be aware that for most people, you *are* your products.

As a commercial developer, typically you get to be in the background, an anonymous drone who is merely another cog in the big wheel that eventually churns out the product.

Developers themselves have the same problem, when their publisher sees them as just another cog in the wheel of thier publishing business.

Essentially, we all struggle to gain public acceptance of our value. Either as a programmer working on a game anonymously, or as a developer working on a game for a publisher anonymously.

George B of 3DR said it really. "Its simply too important to leave it to someone else". Although he was talking about PR for his companies products, he kind of hit the nail on the head.

If you want people to see the value you add to a development, you absolutely have to make sure that people know WHO you are and what you bring to the product itself. Of course for the higher-profile guys in the industry, like George, that probably comes reasonably easy.

As an indie, its even more important that people know both you as a person, but perhaps as importantly, that they know you so they can know your games.

I think a few indies are understanding this notion, but how can they generate that interest?

I think the main thing, is to create something thats worthy of note. That people will remember and that generally hits the right spot. Making sure that your target audience then hears your name is the biggest problem.

The whole notion of personal PR seems a bit alien to someone like me who is relatively anonymous. But I can understand that if someone can associate me personally with some specific approach to game development (like my espoused concept of prototyping, making very "british" games with personality etc). It just makes it that much easier to reach my kind of audience.

The real taster for all this is to actually get to try out some of the idea's Ive got. Which means I have to move forward and start and maintain a shipped product schedule that includes interesting things.

I'm not entirely sure how a casual-oriented sheep game sits in there. As Jeff Tunnell has said, it *is* a bit of a strange mix, being that my other game is a dogfighting game.

I guess I just dont want to be afraid of trying ANY style of game that interests me. So I'll have to be flexible about how I promote each one.

Hopefully once I get to try something more concrete, I'll be able to say what works for me.

Tuesday, January 18, 2005

Xmas Sales.

Hey Ho.I'm just sat in a class right now, waiting while my students run through a mock exam (theyre sitting the real ones next week).

Looks like we might be able to ship our first game in the next 4 weeks. Although thats not really saying much, because this is our first *highly experimental* mobile game!

I say experimental not in game design, but more in testing the waters of mobile development. I'll post a screenshot once we have some final artwork, suffice to say with a 64k limit we arent going to be pushing any boundaries of the art of game making :)

The game itself is a relatively simple breakout game. Although we're looking at a few twists that might make it more interesting.

Breakout is a great testbed for other games though, because its relatively simple and has most of the elements you need (plus the left/right control system is good for phones). Next up for the mobiles will be some slightly more "out there" projects that might take a week or two to complete.All of the mobile work is being done by Mark (the other programmer of scaryhead), so it doesnt take me away from the AI pack development at all.

I seriously doubt that mobile games are an avenue that will hold much revenue for us, as with the normal retail industry, mobiles are all about license titles and sequels. Strange isnt it, anything thats supposed to appeal to the "mass market" has to be dumbed down to licenses and sequels it seems.

Out of interest, if you'd seen the data for Xmas sales on consoles, you'd be not very amazed to see that out of the top 10 titles, both us and uk, the ONLY "original" game in the list was "Killzone".

All the remainder were licenses or sequels. With EA unsurprisingly taking 5 of the top 10 games in each list. Man, things are strange in developer land right now. NewsCorp buying Activision? EA buying the rights to ESPN for 15 years?

Bleh. Give me something original.

Thursday, January 13, 2005

Web based functionality versus desktop programs

Hmm, Ive been reading recently that a lot of people are moving towards web-based functionality over desktop applications.

I can definitely see why that would be the case. Web-based mail for instance has saved my ass on many occassions when I have had assignments or lecture notes to take to uni and havent had my USB key with me. I usually gmail them to myself from my mac and download them in the lab onto the local machine just before the lecture.

The great part of this is that the lab has almost ZERO connectivity outside web access. But it just works and thats good enough for me.

The problem with this whole notion of course, is that essentially we are making ever increasing complexity rely on what is frankly an abomination of a protocol (that being http). I'm just thankful that people arent still calling themselves html coders anymore.

But the issue is more serious than using just a crippled protocol. The problem is that essentially with this model, your data is stored at the server end and not the client. The client is essentially a thin client which just accesses server functionality. This isnt new of course, its been around as a model since the days of terminals accessing mainframes. But what scares me is that we're seeing a push towards centralized resources again. Only this time, those resources are funded by third party companies with a need to make a profit.

I havent got any real rational arguments against it all quite yet. Hell, Ive not even figured out why I'm so scared of it. Other than to point towards the success of the PC versus the terminal and look at the empowerment that happened when PC's were introduced onto everyone's desktop and control was taken away from "the man" who administered the mainframe.

Maybe I dislike this move away from empowering the masses towards essentially aggregating them and essentially making them into a resource to be used (via advertising, data farming, spam or whatever).

However, you cant argue with the usefulness of having a platform independant thin-client architecture for these things. Gmail, Bloglines, Blogger et all seem to do the job at hand very nicely!


Towards a new year of opportunity.

Hmm, now this is definitely going to be an interesting year. After the wash-out that was 2004 I think I'm about due.

2005 sees the start of a new chapter in the history of ScaryHead. I'm definitely expecting much more to happen business wise this year.

Frankly, if we dont have at least 2 games finished and shipped this year I'm going to re-think the whole of my development plans. I'm not the only person hitting these kind of watershed issues I'm sure, but I feel like I *need* to be making more constant progress to really justify the amount of time I put into development, put into being a game maker altogether really.

Professionally this year looks to hold several opportunities for some interesting work, I cant really say what until its signed-sealed and we're on our way to delivering, but I'd just say that there are plenty of small grants out there for minor research projects. I'll be quite busy the next semester looking at going after plenty of those.

I'm also going to submit a proposal for a fellowship grant, which would let me do some study into the problems of indie gamers and hopefully produce some suggestions for solutions.

So a new year of opportunity indeed, but one thats definitely going to play havok with my timetables.