Interviews, News, and Paste’s #2 Game at GDC!

It’s finally time for a little news roundup! So a few weeks ago, I took a build of Redshirt with me to Game Developer’s Conference 2013, where for the first time, people other than myself (and of course, publisher Cliff Harris!) got a chance to play the game. This was a pretty nervewracking (though very important!) experience, not only for the very valuable feedback I got on the game, but also, on a more personal level, getting over that weird psychological barrier of showing the game to people.

I did an interview with Adam Smith of Rock, Paper Shotgun (which went online today!) and I touched on this a little bit at the beginning of the interview, before going into details of the game, veering into social justice issues, and back again! Please do check it out if you have the time.

RPS

Anyway, so whilst at GDC, in addition to my friends, some very kind journalists checked out the game, too. One of whom was Richard Clark from Paste magazine, who spent some hands-on time playing, which he wrote up in his GDC round-up feature on the magazine. The best and most surprising news of all, though, was that Paste declared Redshirt NUMBER 2 in their TEN BEST GAMES OF GDC 2013.

Paste

I also took a very early build of the iPad version of Redshirt to a ‘mobile speed pitch’ event, where I had only a few minutes to sum up the game to various tables of journalists. You know, kind of like speed dating (but with way more screens shoved in people’s faces). After that event, IGN and SlideToPlay were nice enough to feature Redshirt as one of their favourite games from the event, so hurrah! You can check out their words here, and here respectively.

There’s been some streamlining of superfluous features since last time, so I will be making a new Developer’s Log video this weekend to show you how the game is looking more recently. It’s definitely getting there!

Redshirt: Developers Log #2

Here, at last, is a brand new Developer’s Log video about Redshirt! The game is approaching the final stages of development, and now it’s time to work on polishing (as you can see) and testing!

Hope you enjoy the video (best watched in HD for minimal game blurriness!), and if you have any questions, please post them here!

More regular blogging on the way soon — I’d shared this video on the Redshirt Facebook page last week, as well as on the new indieDB page, though just realised I’d neglected to share it here too.

Your thoughts are welcome!

Guest Post: Luke Dicken on Redshirt AI

As I (Mitu) get on with UI improvements, content, and other functionality, I enlisted the help of Game AI consultant extraordinaire Luke Dicken to make the Spacebook within Redshirt seem more believable. He very kindly blogged his thoughts on the experience, and its outcomes, below:

In this Dev Blog I’m going to talk briefly about some of the things that are happening under the bonnet of Redshirt. For those of you who don’t know me, my name is Luke Dicken and among a few other things I’m an artificial intelligence (AI) contractor with Robot Overlord Games. When Mitu needed a hand to create realistic characters inside Redshirt, she asked me to help out.

So to recap, Redshirt is a sci-fi parody sim based around “Spacebook” in which the player’s actions affect their relationships with the members of crew who their character works alongside. This poses a really interesting challenge from an AI point of view – actually more than one. Firstly we need to create characters that are socially aware and able to react to events within Spacebook, as well as interact with each other. Creating a simulation like this would be tough enough, but then we need to expose this to the player through a pretty limited interface – how can we express the kinds of complex social interactions that need to be represented back to the player? We can spend as much time as we want making the best AI systems in the world, but if the player can’t see that then there’s very little point. It’s also been shown that the player will make their own inferences about what the AI system is doing. In the same way we look at animals and anthropomorphise their behaviours and intentions, we also do this with the enemies we face in battle in game (or on social networks). We construct our own narratives about what an NPC is up to based on the cues we perceive, without necessarily having any idea as to the internals of the system or whether our assumptions and speculations are correct.

For Redshirt, the cues that the player experiences are limited to seeing the NPCs interact with Spacebook and attending events with the NPCs; the AI system we create has got to be sufficiently capable of using these to allow the player to fill in the blanks in the each NPCs life-story. To make that happen, we need to ensure that the NPC “stays in character” – when they step outside of the bounds of how the player might reasonably expect them to act, we’re breaking the player immersion. However, that’s not to say that the “nice” NPC always has to be act nicely – people have bad days and act out on Social Networking, so we can work within these constraints to add variety, but in a controlled manner.

We’re using a model very similar to the representation of the player we expose through the UI, partly as this keeps the code streamlined and partly as this helps the players to relate to the AI by using the same core value system, so each NPC is tracking their current attributes across the 6-dimension axis previously defined.

 

Coupled with that we’re also adding in a concept of personality, which will affect the starting values for those attributes and the range they can take. We’re doing this because ultimately, everyone wants to be happy. If we let the AI system run off and do its thing, we’d quite possibly end up in a situation where over time all the characters stabilised by maxing out all their attributes. Personality allows us to avoid this and also allows us to define a set of tendencies for each character, which allows us to bring diversity to the behaviour of the NPCs, which again reinforces this concept of player immersion that we’re driving towards – nothing would break immersion more than feeling like the space station was filled with a bunch of beige clones all stepping through the same flowchart each time they need to make a decision.

At the same time though, we also want to have a codebase that’s really easy to write and maintain – we don’t want to be having to hard-code each NPC’s behaviour system, so as much as possible we’re looking for reusability. What we’ve settled on is an approach known as a Behaviour Tree, which allows us to define the behaviours and actions in a hierarchical and sequential manner. As an additional factor, it’s worth pointing out that Redshirt is being created in Unity, which allows us to make use of the “Behave” framework developed by Emil “AngryAnt” Johansen. For a great introduction to Behaviour Trees, I highly recommend Bjoern Knafla’s #AltDevBlogADay post on the topic. What’s great about BTs for us is that we can use a component known as a priority selector to determine which action gets triggered at a time point, and this means in turn that we can tie our notion of action priority back in to the system of attributes and personalities that we are using to model the NPCs. This allows us to create characters that don’t just react to events, but react within the context of their own state and personality. Doing this relies on some aspects of Utility Theory to make work, and in particular was inspired in part by a great session at the AI Summit at GDC titled “Embracing the Dark Art of Mathematical Modeling in AI” by Game AI gurus Kevin Dill and Dave Mark. Essentially what we do is use our knowledge of an action to create a function for that action that calculates its utility to the character, that is to say, how valuable doing this action would be within a fixed 0-100 range. We work out this value with reference to the attributes mentioned above, so two different NPCs when confronted with the same situation will act different, but use the same code to do this. We also draw in some semi-random actions, such as breaking ties randomly, so even the same NPC may react differently if confronted with the same situation twice.


I’m personally really pleased with how the AI in Redshirt is shaping up, I think we’re on to something great with this – and that’s important because with a game like Redshirt, the entire player experience hinges on immersion and creating a vibrant world for them to interact with. Any wrong step by the NPCs can snap them out of the spell and we really don’t want that!

Luke Dicken is the founder of Robot Overlord Games ( http://robotoverlord.co.uk/ ) where he develops games and adds AI special-sauce to make other people’s games awesome. You can see everything that Luke is up to at http://lukedicken.com/ or follow him on Twitter: @LukeD

Boldly G…etting on with Development

I realised, as I slog onwards with Redshirt‘s development, that it’s been an awfully long time since I’ve blogged – let alone video-blogged – about how it’s all going. The latter isn’t happening this time (soon!), but here’s an attempt at the former.

Well, I can certainly report that I have – very unglamorously – been just crunching code. I’m not sure how other developers make their development blogs quite so interesting. It seems as though, when things are going well, it is so easy to get lost in work and completely forget about blogging altogether, since I’ve been so focused on just making progress.

Conversely, when things are not going quite so smoothly, I feel as though the things I could potentially blog about would just be frustrated-yet-dull-to-read rants of various sorts about some piece of middleware. (Aside: Believe me, once this project is over, I have thoughts on middleware that I want to share. But, now is not that time.)

How I’m Feeling About the Development Process Right Now

So, what has been going on with Redshirt, then? And, how am I feeling about it? This sums it up quite well:

Yes, this is, incidentally, a current screenshot of (part of) the game as it is currently, complete with a bit of the nice new UI from our lovely artists (Clockwork Cuckoo). And yes, those attributes are me, right now!  So, overall, I’m mostly feeling the opposite of what I said in my last update, oops! Oh, game development, you emotional rollercoaster, you. I’m still happy to be making progress of course, yet anxious. So anxious! (My awkwardness, of course, is a constant…)

Most of this is down to the fact that I’m knee-deep (pixels-deep?) in implementing the new UI at the moment – and have been facing some issues with both middleware (of course!), and good old Photoshop too, of course. The pace of work right now is very different from the rest of the project; there really is no better word than ‘fiddly’ to describe it. I’m looking forward to once it’s all done, and I can return to gameplay – and have the game looking all nice and polished, at least!

Progress Since Last Time

Since my last update (in late March, oops), I’d hit another milestone (earlier this month), which involved a lot of work on gameplay (especially career progression), implementing a character creation system, and, thanks to the expert help of Luke Dicken, vastly improved the AI system - more detail on that soon. In addition to this, I fleshed out some final content, and we started thinking more about character art.

What Next?

As mentioned, my current priority is to implement the new user interface, and then, get the game content finalised. There’s also much work to be done on gameplay across the board.

Lessons Learned

  • Something-something-something, middleware…. grumble.
  • When one is the solo developer on a project, it is so easy to get caught up in ‘development’ details, and forget one’s ‘design hat’. I alluded to this in my previous post, but I cannot reiterate this enough. Keep your design doc/scribblings to hand and refer to them regularly; this is something that I wish I’d done more of!
  • When one is making a game satirising social media, one sadly becomes quite bad at regularly updating social media due to being so busy with development. Oops. Nonetheless, I will do my best to keep the Redshirt Game Facebook Page updated, so please do show your support and ‘like’ the game, if you’d be so kind! 

I’ll be recording a new video blog (answering your questions from last time!) quite soon too – I’ve been delaying this because I’m very keen to have a nicely-working UI in place, so I can finally show off more of the game in action. In the meantime, any questions/comments, do keep them coming, and I will do my best to address them in the upcoming video.

Why I ‘Like’ Developing Redshirt

(I guest-blogged my thoughts on developing Redshirt so far, for Cliffski.com - this is a cross-post!)

So, Cliff asked me to blog my thoughts on developing Redshirt so far. My response as I sat down to try write this was “Gosh, where do I start in talking about this massive project that has been my life since last summer?

After all, I’d been a videogames PhD researcher, and I’d worked on smaller things before (as well as bigger, non-gamesy things), but Redshirt is my first proper commercial game project. Its origin lies in an idea I’d had – social networks govern the daily lives of so many of us now, and give rise to their own set of micropolitics and behavioural quirks, so why not make a simulation game about that? I briefly talked about the story of pitching the game to Positech in my first dev video, and how it evolved into Redshirt, so I won’t go into that here, but, as of 15th June 2011, I put cursor to code.

Making the Best of Highly Illogical Decisions
I’d opted for Unity as my development tool of choice, because I’d used it comfortably for smaller, throwaway personal projects and was definitely enamored with how it expedites things. As someone who insisted on Notepad for years when I was doing web programming, I certainly understand the impulse to shrug off fancy IDEs and editors and such, but I knew with this project, I’d have my hands full with PLENTY of challenges anyway, so, I wanted to make life easier for myself by using Unity.

Or so I thought, anyway. The thing is, Redshirt relies heavily upon its user interface; it is, by nature, a very UI-centric game – which meant that Unity’s notoriously lacking built-in GUI system wouldn’t cut it. Unfortunately, the available third-party solutions also didn’t do exactly what I needed them to do, or were otherwise incomplete in many ways. I ended up writing so much custom functionality anyway, and doing more work on fixing the UI than I’d anticipated; there was that time, for example, when I spent a whole long weekend fixing scrollbars. Scrollbars, of all things.

Of course, once they were done, I felt a massive sense of achievement – and, that’s something else this project has taught me. The motivational peaks and troughs that come with getting things working which no other sane person will even think about twice.

I’ve Got a Bad Feeling About This
While I expected plenty of challenges (and wow, did I get them!), I did not prepare for stretches of time where progress just felt so slow. This happened around months 3-6, and things felt largely like trying to run through a pool of really thick, viscous liquid.

Around this time, I’d been busy working on implementing the Spacebook (more work than I’d thought it’d be, naturally!), but a lot of the other functionality remained unfinished, and things were taking massively longer than I’d projected.

I’d drawn out a huge, elaborate, multi-faceted system in the game, a lot of which still needed to be properly implemented. But, after numerous discussions with Cliffski, we decided it simply needed to be pared down for the sake of actually finishing the game on schedule. And, y’know, for my own sanity, too. This actually turned out to be a good lesson in practicing/really thinking about subtractive game design (http://www.sirlin.net/articles/subtractive-design.html). (For the record, the main thing that was taken away was the currency system on board the station, because it wasn’t adding much valuable depth to the game, really. Who needs these things in a post-scarcity society, right?)

Often, things still feel fairly painfully slow to progress, but either I’m used to the feeling it now, or I’m slowly coming out the other side, and seeing things come together. Either way, the thing that gets you through those periods is really loving the concept of the game, and what it’s trying to achieve, and knowing it just needs to get made.

The View from Orbit
Of course, the perversely funny thing is that all the focus I’d been putting on worrying about systems, and how they would interact, sort of came second to the feeling of the game ‘evolving’ when things happened which I thought should be inconsequential, or secondary. Like adding sound, or avatar animations, or seeing the UI mockups from our wonderful artists. It was an odd sort of experience, which made me refocus on the fact that games are these magical things that somehow feel like more than the sum of their parts.

And, oddly, no matter how much work you put into your own project, when someone else does a good job on part of it – like with the game’s logo art, for instance – it somehow makes it feel more real!

All of this means, though, that I’m getting to a stage where I’m beginning to feel that there is an actual game amongst all the mess I’ve been staring at for months. That is a good feeling! Right now, as I write, the majority of the core functionality exists for the game already; I’m working on character creation, and adding a few things to the Spacebook feature. Next, it’ll be a matter of adding a load of content – and, at the same time, beginning to incorporate the flashy new UI designs. Then, it’ll be more art, and a whole lot of testing, no doubt.

On the whole, I’m happy with how Redshirt is shaping up, and I look forward to sharing more about the game soon!

Announcing “Redshirt”!

I’m so pleased to be able to finally talk about what I’ve been working on these past months!

“Redshirt is the comedy sci-fi sim about social networking aboard a space station, starring the station’s most ambitious low-ranking peon:you!

Navigate the professional and interpersonal politics of the ubiquitous “Spacebook” to curry favor among friends and colleagues. As intense intergalactic conflict rages around you, it’s up to you to accrue those all-important “likes” on your status updates! Whether you’re looking for love, opportunities for promotion, or even a chance to play Zero-G golf with the captain, you can schmooze your way through social circles and claw your way up the career ladder. Perhaps you too can finally achieve the dream of an off-station transfer, or even the Redshirt’s opportunity of a lifetime: being sent on an away-mission!”

So basically, it’s about a future (as represented by many of your favourite science fiction franchises!) in which we’re all still obsessed with social networking. The game is due out sometime in 2012, and is being published by fellow UK indie Positech Games.

For more information, visit the website, or, if you’re feeling really meta, you can also like the Facebook Page!

Keep an eye on this blog, and the Facebook page for more information shortly. I’ll start posting a series of (really, quite cheesy but informative!) dev video blogs soon.

Settling into Project RS

… which, incidentally, is no longer called Project RS at all! It actually has a name. But, let me get back to that in a minute.

It’s been a good 3 and a half months (I think?) since I put cursor to code on the project, and, it’s been an eventful time, both personally and for The Tiniest Shark Ltd. (In my case, I did such cool things as totally-see-the-last-space-shuttle-launch-omg, an event about which I still need to blog over at Mitu.nu, but I’m still not sure I’ve found the words to describe it. I’m beginning to suspect it’s not possible. But, I digress. Or do I? It was sort of massively inspiring when it came to Project RS, too. This may possibly give you a bit of a clue as to the game’s leanings. OR DOES IT. I should probably close these parentheses now, shouldn’t I?)

The Tiniest Shark also has it’s very own new officey home (dubbed, of course, “The Tiniest Shark Tank”), thanks to the always brilliantly supportive University of Portsmouth Centre for Enterprise. In fact, I just uploaded said pictures to The Tiniest Shark’s Facebook Page. (Which, I’d love to nudge you gently towards, for a ‘like’.)

Sometimes, I even work in there.

The Tiniest Shark Tank

Mostly, I have been crunching code. A lot. And not being able to talk about it too much yet, aside from very vague, mostly cathartic updates on the aforementioned Facebook Page and Twitter. However, as mentioned previously, THERE IS NOW A PROPER NAME. And it’s a good one, too. Thanks to all the friends who advised!

Sadly, I cannot yet tell you what it is, until the Official Announcement. Perhaps that will even be the next blog post! Who knows. (I certainly do not.)

The Tiniest Shark’s Biggest New Project

It’s been a very exciting few weeks for The Tiniest Shark. I scribbled my signature on something quite exciting a couple of weeks ago, meaning that The Tiniest Shark is working on it’s first big official project (codenamed “Project RS”). Nothing is announced just yet, though today marks DAY ZERO.

(Also, thanks to George Kokoris, I now also have a fairly-small-but-not-tiny shark mascot on my desk, pictured here.)