I’ve had to pick up a fair bit in order to keep up with the needs of my current team, and while these learnings might be obvious to more experienced programmers some of them have been significant milestones in the learning process for me.
ScriptableObjects have become invaluable for the work I’ve needed to do, namely in that they allow me to create templates for objects we want variations of in our projects. For instance, rather than creating dedicated scenes to contain the audio and visuals assets we might need for different locations, we can simply set up and load in the location-specific elements from a scriptable object (backgrounds, colours, text, audio, etc.). These save a lot of time, but I also hope they create some more transparency in the work I do for my teammates. I walk them through on how to create these objects in the asset menu, the values which need to go in, and I try to give the objects headers, tooltips, and sliders to make them more accessible to non-programmers. Another benefit of these is that they allow us to uniformly make additions to our games. Let’s say every location now needs a unique UI image in a given spot on the screen: all we need to do is add a sprite variable to the scriptable object script, add these images in to the instances via the inspector, and then tell the main scene to read from the template and load in that image after a null check.
The main problem I started running into with our projects was increasingly long load times, particularly into and out of the scene selection. I specifically noticed this in one of the games I worked on a couple months ago, where I was using scriptable objects to store the structure and assets for each of four stories. These were all located in the scene selection, and one of them would follow the player into the main scene to give them the illusion of opening up a dedicated scene for the story they’d picked. This was all well and good until I found loading the scene selection crashed my phone. Too much was technically being loaded in at a given time — all of the audio and visuals assets for all four stories. After doing a couple searches, I came across the ‘Resources.Load()’ function, which would allow us to store assets (including custom ScriptableObjects) in a Resources folder for us to then draw on via a file path. By switching us over to a system which uses this function, the scene selection would then only need to store file path references and only ever need to load in one story at a time. This drastically sped up performance in the games while enabling us to continue using the scriptable objects system we had for creating and loading levels/locations.
Back in August last year I took part in a 1 month internship for a small games studio based in London, primarily as one of two game designers. After I finished my degree at Goldsmiths, I was offered a three month contract with eargym followed by a subsequent one. In that time, my role has shifted over from design to development, and I’m currently working as the games team’s main programmer and one of its main Unity developers.
I’ve primarily been responsible for setting up and managing our GitHub repositories to allow for remote collaboration, designing and writing our games’ main logic and feedback scripts, implementing audio and visual assets, creating custom data types to store information (structs, scriptable objects, etc.), setting up saving systems, rapidly developing and testing mechanics through WebGL prototypes, integrating analytics, and porting our games to native Android and iOS apps.
If we face a design problem or concern, I do my best to generate solutions for us to consider — weighing up the costs and benefits — and thinking about what’s feasible in the time we have and what’s appropriate for the game as a whole. We organise discussions, particularly on some of the more troubling questions we’re faced with, and I take notes and feedback to them with my thoughts on how I might approach implementing what we want.
Untouched is a 1940’s narrative and house exploration game, loosely inspired by W.F. Hermans’ ‘An Untouched House’. It’s also a sort of domestic simulator, whereby the player maintains a home that was beloved by its previous owners.
Through a series of unsent letters, as well as the exploration of both mundane and surreal environments, the player uncovers the story of a couple that lacked the ‘spark’ that other couples have. What kept them together, and their only surviving legacy, is the house they built up together. As such, the game wants to be a romance but ends up being about a different kind of love entirely.
The Best Days is a game about student life and mental upkeep. It’s about pushing forward through the days and nights while attempting to stay healthy and sane. It’s a game about the invisible hours spent toiling away in a room without company. These are, in short, the best days of your life.
Ultimately, however, it’s a game about anxiety, depression, isolation, time pressure, and boredom, but it’s also one about perseverance and routine in the face of them. It’s been created in response to: A) the idealisation of student life (particularly by nostalgic adults), and B) the over-reliance on ‘black dog’ imagery (or other embodiments) in depicting depression. Instead, this game focuses primarily on the experience of depression and anxiety (in terms of sensations), in the context of mundane student life. It uses a Unity first-person perspective setup with a custom mood, anxiety, and time manager to adjust time on cue and increment post-processing and audio effects depending on the player character’s mental state.
High anxiety increases the volume of a heartbeat effect while incrementing a vignette (designed to represent the kind of pessimistic ‘tunnel-vision’ stress can cause), while low mood desaturates the colours and increases the volume of a breathing sound effect (designed to simulate and represent the general loss of energy, vibrancy, and warmth, along with exhaustion/fatigue, I associate with depressive episodes). These are based entirely off personal experiences and sensations rather than qualitative research.
The game is, in a sense, a juggling act between anxiety and depression (essentially masquerading under the word ‘Mood’), but it ultimately hopes to illustrate ideas of time- and self-management. While the impending exam within the game is figured as somewhat of a doomsday (and ‘time’ is figured as a sort of antagonistic force), there is life and warmth beyond it. My many post-its and notes-to-self during my undergrad told me to keep at it, but that there would also be a time when I could enjoy the sun on my skin again.
Implemented raycasting to allow for user interactions with objects in the room (switches, record player, TV, etc).
Created a custom time and mood manager class to control time within the game as well as the player’s ‘mood’ and ‘anxiety’ levels (with a public multiplier variable to be influenced by activities, the date, etc.).
Developed incremental post-processing and sound effects. These increase in relation to the player’s mood and anxiety levels beyond a certain threshold (and towards a minimum and maximum level respectively): a tunneling vignette effect and heartbeat for stress; a
Set up and created user-triggered camera animations for first-person cutscenes/transitions.
Developed a custom ‘audio fade’ class which works with Unity’s audio-mixers to gradually lower the volume of groups of audio sources.
Designed the piece as a simulation game, designed to create and recreate some student life experiences: time relentlessly passing, low and high mood, high and low anxiety (exam stress), working, procrastinating, unwinding (via meditation or during walks). Developed a custom mood, anxiety, and time manager to enable most of these.
Designed and developed the bedroom, lake, and ending exam environments. Implemented environmental details for narrative purposes, authenticity, and to promote player curiosity. Implemented lighting and post-processing for atmospheric purposes.
Rapidly developed custom models using Unity’s ProBuilder package. These include (but are not limited to): the bed, desk, lamp, drawers and cabinets, books, TV, games console, record player, laundry basket, and drying rack.
Created a variety of interactive objects to make the space feel more homely, as well as to provide the player with some fitting procrastination material (in-keeping with the ‘student life’ theme and setting).
This game is one of several stories I’ve been meaning to tell. I’m starting to see a lot of my games as a ‘coming to terms’ with parts of my personal history. I get to work on it, package it up, and then simply move on to the next project. While I don’t believe depression and anxiety can be quite so easily packaged up and ‘dealt with’, I do hope this project can be a sort of send-off to my undergraduate days. This depiction of student life is fairly mundane and hopefully understated, but that’s so much of what it was and is for me. We just work away and hope for the future.
[P.S. I’m working on a full post-mortem for this game which should go into the development process in a bit more depth. Keep your eyes peeled if you’re interested! ;)]
‘The Network’ is an interactive narrative game about the collapse of a friend group and a power-struggle in spite of it. It’s about seething resentments, rumour, and people exploiting private incidents for personal gain. It’s a game about seeing where people stand on the matter or, alternatively, just talking about what matters to them. It’s a jumble of a couple friend groups I’ve been a part of — the drama that destroyed one and the social hierarchy of another — projected onto a slightly surreal prom after-party. It’s also a game which hopes to reflect on the coming and going of people in our lives. A lot of it comes from a conversation I had towards the end of prom night: standing out on a terrace and overlooking a lake as someone told me how we’d all meet up after tonight, and knowing, as sure as anything, that we’d never see each other again.
Designed the piece as a surreal dialogue exploration game about the the death of a friend group, exploring themes of social loss, breakdown, and cynicism.
Made extensive use of YarnSpinner for the project, allowing me to plot out elaborate conversations with multiple potential paths (with the player largely deciding the focus and tone of the conversations).
Designed the game’s aesthetics, spotlights, and set specifically with theater in mind: the ‘players’ on the stage each getting their turn in the limelight, delivering social ‘performances’. (Intended to bring out ideas in drama, showmanship and artifice, as well as to create a certain surrealism).
Created the game’s symbolic ending sequence, designed to be a kind of ‘afterlife’ for the player’s character and the elusive head of the group Lauren. Made use of an intentionally abrupt blink-of-the-eye transition between the activity of the party and the tranquility/reflectiveness of the terrace scene.
Implemented YarnSpinner and made extensive edits to the UI script; namely, creating a custom text-parser which uses in-text colons and the Split() method, along with a switch statement, to identify the character talking and then to apply certain effects accordingly (different coloured fonts, display name immediately rather than type it character by character, and different speech sounds).
Created several Yarn variables to keep track of player choices across the game (e.g. the tone previous conversation were ended on), to be used in the game’s ending.
Implemented a minimalist raycasting and camera animation system to allow the player to select desired characters and move towards them.
A couple weeks ago I took part in the Global Game Jam. While we hadn’t initially intended to, three coursemates and myself ended up forming a team to address the jam’s fairly open theme of ‘repair’. It turned out to be one of the most positive, constructive work environments I’ve ever been a part of. To summarise it, the jam consisted of a lot of collaborative design, democratic decisions, and a great understanding of each other’s abilities and strengths. I don’t doubt life in the industry, particularly the AAA industry, is a lot more hierarchical than this, but it honestly gave me a glimmer of what small-scale game development could be like.
We had a relaxed couple of hours of ideation on the first day, putting out ideas and loose thoughts around the jam’s theme, and thinking through some game ideas more specifically. I thought it was a bit of a silly suggestion, but I shared an idea of a little game where the player controls a robotic character that falls apart as the game progresses, needing to repair himself with sometimes makeshift prostheses. The avatar would most likely reach a familiar character at the end of the game, but having changed so much that the character can no longer recognise him. It has its problems, namely the sheer number of assets we’d need our artist to create if we were working in a 2D environment (and the potentially fiddly programming on the various components that fall off the avatar), but it does ask a pretty focused and hopefully evocative question: To what extent are we the same person after the self-repair we conduct? It’s essentially the Ship of Theseus thought-experiment turned into a platformer. The team seemed surprisingly on board with the idea, but in all honesty I wasn’t. Aside from the practical problems I thought we might have, I repeatedly voiced that I’d much rather us try to make something beautiful rather than quirky. Yes, quirky is often the word we might use to describe game jam games, particularly some of the most successful ones, but our team consisted of designers from a course that urges us to create meaningful experiences. To tell stories, to evoke emotions.
I urged us to take a step back, perhaps aim at something functionally simpler but more meaningful. I suspected this particular theme was really resonating with some of us, and that we might have a particular story to tell. After speaking to her, it sounded like Martha had a set of ideas about emotional repair drawn from personal experience. She explained the kind of story she had, and it sounded beautiful. My only concern was that we didn’t risk rushing this or ruining what she had to tell; it can be quite painful to put so much of yourself into something that doesn’t turn out well. We developed this idea, thinking of how we might root it in something tangible. We ended up settling with a single, personally-significant object the player repairs while working through a kind of emotional repair. Furthermore, we decided the object would be significant not so much because of the function it served or who owned it, but because of its emotional value after a particular incident (its connection, in this case, with one of the last arguments a brother and sister had with each other).
As such, ‘Piece by Piece’ is a game about trying to restore something from the past and come to terms with loss. It’s about emotional self-repair mapped onto an act of physical repair. The game often gets misread for being a puzzle game when in actuality its a narrative one. There are not piece rotation mechanics and there are only seven pieces in total. It’s a short, meditative piece that urges the player to slow down, take in a story, and reflect.
It felt a little strange and arbitrary at the end of the piece to give ourselves certain titles for the credits. Certainly, we all did the things we described in the credits, but as you might notice there’s no lead ‘designer’. We have UI design and environmental design as specific branches (the latter being one of my roles), but this really was a piece of collaborative, democratic design.
To get practical, my main work was in getting the raycasting system to work for the drag mechanic. This allowed us to move the pieces across a surface rather than relative to the screen, meaning we had greater freedom to position the player camera (rather than strictly top-down). I also implemented the audio manager to integrate our sound designer’s music and royalty-free sound effects into the game (a satisfying ‘click’ being really important to us in terms of game feel for this piece). I also helped our main programmer implement a tried and tested dialogue system into our game, essentially the Brackeys Dialogue Manager with some variations of our own. The project manager and I often have our disagreements over timing — she prefers fast, I prefer ‘steady’ — and to me scrolling dialogue text seriously needs the kinds of pauses we find in human speech. I insisted this would be easy to implement — we just needed to create a couple if statements that check for the pieces of punctuation in question before creating a longer delay within the for loop (for printing out the character array).
With these additions, we were in a much better position to think about the overall feel, pace, and presentation of our piece — what feedback does the player get when they do this? How much time should we give them to read something? Additionally, after we went away on one of the evenings I continued work on the project to implement a little touch I really felt people would appreciate. I just wanted it so after the player clicks on the lamp and makes the title disappear the camera would lean in to begin their work. It’s a little touch, and fairly simple to implement using the Unity Animator and couple scripts, but for me it just gives the player this brief establishing shot, if only to tell them that a world exists around them (and that this repair is actually situated somewhere). I also felt tangibility and a degree of embodiment would be really beneficial to our piece (our act of repair being so tactile/physical), and this it would make the game feel a bit more dynamic and three-dimensional. Admittedly, it also worked as a compromise — I wanted a more detailed surrounding environment but at the same time appreciated we didn’t want a ‘cluttered’ look. Sure, we’d use lighting to tell the player what’s important, but this would allow us to show that there’s more in the scene than what the player strictly needs.
Earlier in the project, I sketched and proposed several environments to the rest of the team, including a study, kitchen, living room, and dining room. The kitchen or dining room might have allowed us to have an ever-present empty chair in the background, while the living room might give us a sense of warmth and home. But ultimately, we all settled on the study, creating this sense of the player-character having actively decided to take time out of their day to commit to this task. It’s a place for focus and a degree of intimacy with the object in question. The aforementioned animation would work to complement this sense of focus or study — the object as artifact — and the team were very pleased with the end result of this effect.
On a similar note, I also spent my time making a few decorative objects to have at our disposal — pencils, scrunched paper, glue, a pencil pot, a cork board. I also made the desk-lamp and switch, wired/coded them up, and made extensive use of freepbr textures throughout the project (freepbr.com). We were going for something fairly minimalist, but it still felt important to ensure the objects that were in our scene had a consistent style and build to them.
Lastly, I made the thumbnail/cover art, description, and submission page. My emphasis for this project was on thinking as much as I could about presentation and feel, both via the tools in the Unity Editor and via C# scripts. Our game was well within scope, meaning we did what we could to create something consistent and complete for the player to enjoy.
I’ve had several attempts at writing an article like this. I’ve probably put too much of myself at stake in this game, so much so that it feels especially important I communicate what this piece means to me.
Playground is a minimalist social simulator. It’s a game about social systems, unclear rules, impenetrable and obscure codes of conduct, sometimes hostile social environments, the difficulties of finding and making friends, childhood, and loneliness. You play as a nondescript white triangle in a world of other nondescript white triangles, navigating a playground in search of social interaction (styled as ‘minigames’ within this game). The interactions are deliberately tough and frustrating, involving behaviours you simply can’t keep up with/deliver, and involving ‘rules’ that aren’t made clear to you as a newcomer to these social settings. As such, this game is about the experience of feeling alien and the seemingly-futile struggle not to be (to do what is expected of you). Most of the people in the playground just look at you questioningly when you approach them without cause, but on occasion you’re able to join in.
The first of these interactions (‘Speak’) is with a lone child in the playground; you attempt to speak to her, to respond quickly and appropriately within a given time-frame. But talking is awkward and uncomfortable — quite literally the player will need to hold down multiple keys across their keyboard simultaneously in order to reply. Failing to reply leaves her feeling offended, feeling blanked by the player, and if/when the player fails to respond she will simply express her disappointment and leave. At its core, this is a game about the difficulties of connecting with another person, expressing yourself to them, and about the sense of disappointment that comes when you’ve been unsuccessful at doing so.
Like all of the games in Playground, it’s fairly minimal — I use non-human-readable text within the game (a symbol-based font, like emojis but often less precise) — and communicate feedback via ellipses, question marks, and (immediately when the player fails) distinctly negative feedback: a high pitch sound, camera shake, and the other avatar turning red. It’s harsh but inevitable feedback from the game. I really wanted to give a sense of social failings (misspeaking, missteps, and misconduct) in the way I experience them — this visceral, gut-response; the realization your words are out there now and you can’t take them back, even if they’re not what you really meant. I also use this feedback in my final game (‘Talk’) but not entirely in my second (‘Play’), as my feelings towards these failures are slightly different (as I’ll get into shortly).
The second of these games is ‘Play’, a hopscotch-style memory game in which the player tries to replicate the effortless movements of the other players. This seems simple enough, but the difficulty ramps up aggressively, with players generally failing around the second or third round. The other children just look at you questioningly when you fail to keep up, as if it were all totally self-explanatory. This becomes especially frustrating when the other children seem to start breaking the rules around round 3: now they mirror each other’s movements along the tiles, making it unclear as to whether the player should mimic the first or second player, or do some other as-yet-unperformed sequence. What I was hoping to communicate with this game was perhaps a little more abstract — a sense of unclear and potentially unfair systems, in which expected behaviours are just assumed to be self-evident by longtime members of a group. As such, the group (and game) is somewhat hostile to outsiders. It closes off to the player, and like all of the minigames (as with a lot of our first-time social interactions I feel) reattempts aren’t permitted. A first impression is always, cruelly, the first impression. Perhaps its memory can be eroded with time, but I don’t think it can ever really be uprooted.
The third and final of these games is ‘Talk’, a short group conversation simulator. Of all the games, this one probably says the most about me (to me at least), and I feel needs a more extended explanation. The first two games are generally more inspired by my experiences of social interactions around junior and infant school, whereas this game comes more from what I started learning around secondary school (specifically around Year 9 and 10 in the UK). For various reasons I needed to leave my friend group at the time and enter into a new one. This was a huge transitional period in my life, and by far the most difficult part of it was learning how to interact within this group and learning what to say. The friends I made around this time generally recall how I just ‘appeared’ around this time, and how I spent several months saying very, very little to anyone. I felt indescribably alien, just watching and listening and taking mental notes of everything about the way this group worked: the modulations and inflections in people’s voices, the timing between jokes, appropriate and inappropriate topics of conversations; things which landed well, things which fell flat on their faces. I had to learn, through oftentimes painful trial and error, what to inject into conversations and when: something cynical? something optimistic? something anecdotal (too personal?)? something a little different? ‘Talk’, then, is all about communicating this experience.
In this game, the player joins in on a group conversation, listening to and reading what the other players are saying — trying to make sense of it — and then make appropriate contributions. A user interface prompt appears, directing the player to use their directional keys to select from one of four options: a smiley face, a speech bubble, a thumbs down, and a lightbulb. These are designed to loosely represent optimism, anecdote, cynicism/sarcasm, and contributing ‘something original’ or more nuanced. The other children respond either with laughter (approval), negative feedback (the same as in ‘Speak’ but multiplied, signalling disapproval here), indifference (‘…’), or confusion (‘?’). As such, the game is designed to simulate the experience of making contributions to a group which either land or don’t land in various ways. It’s about trial and error, and about complying with social norms in order to fit in and be well received. As with ‘Play’, the group doesn’t communicate these norms, rules, or expected behaviours — the player has to grasp them by intuition and observation. In this case, a breath of optimism is appreciated by the group while anecdote and cynicism are generally fitting; ‘something original’ is never approved of and sometimes deemed wildly inappropriate. In short, it’s a game about being expected to contribute when you have no idea what is appropriate or inappropriate to the group in question.
About a quarter of the way through into the main design period, I started thinking about endings. As such, I thought about this game as a collection of a smaller games and thought about what the overall package or experience should say. A lot of the endings I like in the literature, films, and games I enjoy are either depressing or bittersweet. I generally like a sense of a devastated or ‘broken’ protagonist, like Sam Lowry at the end of Brazil or Thomas at the end of Blow-Up (where do I go now? what do I do?). I don’t usually subscribe to optimistic endings, and I generally don’t ‘believe’ in closure. That being said, I didn’t really have many doubts about the ending to Playground. To have a game that offers no hope, that only tears opportunities apart, that says the struggle for human companionship, intimacy, and friendship is both futile and endless, would be vastly inappropriate for me as a game designer. I strongly believe there are ethical considerations we should make as storytellers and designers, not to the extent that we always deliver one-note, totally-uncompromised endings, but that if we want our work to resonate with people we should be held accountable for the messages we send out. I don’t want to hide away when players reach the ending; the tone and intended message of my game needed to be clear, even if players end up reading somewhat different messages.
The game ends with the player having exhausted their options. No one seems to want anything to do with them. All that’s left is an empty bench to pass the time until break-time is over. The player hops onto this bench and the camera holds before slowly zooming out. The sounds of children playing continues as the viewer’s takes in the sight of their protagonist, decentred and stranded in this cold, unmoving playground.
It holds on this for a few seconds, until the child next to the teacher finally jumps into life, passing the teacher and approaching the player on the bench. It’s an interaction designed to mirror the first interaction of the game — one triangle being approached by another, simply trying to check in with the other’s feelings.
But this time, for the first and only time, the player is the one deciding whether or not to continue the interaction. The companion asks a simple, symbol-based question (one which the main teacher asks if you approach him), to which the player can select either ‘Y’ or ‘N’. The choice does give you a different ending, but is also in a sense a hoax: the game doesn’t have a ‘bad’ ending, but instead two endings that are optimistic in different ways. ‘Y’ has the player pause before hopping down from the bench, heading off screen with the other child to presumably talk or play some game elsewhere. ‘N’, however, has the other child respond with an initial pause (‘…’), before approaching the bench, hopping up, and joining the player, on their own terms, to see out the rest of the break.
As mentioned, this ending was really important to me. I think the message of the game hangs on it. It’s about that moment, or those moments, when we’ve lost hope; when we feel so utterly alone and certain nothing will ever change or get better. And, I hope, it’s about being proven wrong. Because aside from ethical considerations, I just wanted an ending that doesn’t say something I don’t believe. I think people are a struggle sometimes, and interacting with them can be very difficult for the uninitiated (the process of learning can be long, frustrating, and sometimes cruel), and our efforts sometimes seem profoundly unrewarding. The number of unsuccessful interactions might well outweigh the successful ones by 3:1, but the struggle isn’t in vain. I can’t always pinpoint it, but connecting with other people is just so much of what life is.
I hope this game, despite everything, communicates that.
Presentation and Exhibition
For our Approaches to Play classes, we each gave walkthroughs of our games in front of each other, providing some commentary in terms of the design decisions we’d made. I found showing this work to people to be far more emotional than I’d expected; it was only when I watched the ending sequence in front of them that I realised just how much this game meant to me. This game is my childhood. I didn’t think I’d ever be able to communicate how those years felt, and how interacting with other people often feels to me, but here it was.
I couldn’t have asked for a nicer response from my peers and teacher. I’ve worked on a few games previously, but nothing that seemed to resonate with people quite like this. And I was so concerned this game wouldn’t speak to anyone — that people would just look to each other in confusion or silence until I take the game off the projector and return to my seat. I suspected the presentations of social interactions would come across too extreme for most people — a bit too cruel and visceral — but at the very least I hoped there’d be something here most people could relate to. And I hope the game’s abstraction and minimal human-readable text helps with that, urging players to read into these moving shapes and symbols on the screen, both projecting onto and reading into them (those moments when you misspeak or don’t know how to communicate your feelings, for example).
I showed this game at Goldsmiths’ ‘Push Pop Repeat’ exhibition last week, and while I knew this game certainly wouldn’t be for everyone (‘grayscale with shapes’ and confusion-as-a-desired-play-experience) I looked forward to those conversations I could have with people — people, in particular, who said this game reminded them of something (childhood experience, things they said not ‘landing’ with certain groups, the awkwardness of physical interaction). I also had one lady who said this game might have a lot to say about neurodiverse experience. If it does, that’s lovely to hear. If some of my games feature this sort of experience, I just hope they still invite people in rather than shut them out. I hope this game has something a lot of people can relate to.
‘Three Sisters’ is the second of the two games I’m working on currently (it’s hefty original title, ‘Three Sisters in Search of a Mother’, gives away a lot more of what the game’s about). In this game, the player plays as one of three sisters returning to and exploring their childhood home, allegedly in search of their lost mother. It’s what I’d refer to as a narrative heavy experience, placing emphasis on UI narration and text appearing in the game’s world as the player navigates the home. One of its primary interests is in perception, both from a theoretical perspective and from a more practical, gameplay-oriented one. The home isn’t how they remember it, nor can they accurately recall what it was like — as such the house is a cobbled-together amalgam of their recollections and idealisations. They, and in turn the player, must discover the reasons why their mother left them and their father, in turn uncovering some of the realities of their beloved home (realities they were hardly attuned to as children; most notably their mother’s misery in an abusive relationship).
From a gameplay perspective, the player inadvertently passes through, notices, and later actively makes use of portals to alternate versions of the rooms in their home (making use of render planes, duplicate cameras mirroring the player camera’s position and rotation, and trigger planes). The gameplay is largely one of exploration, searching, and light puzzle-solving where appropriate. Each sister accesses a different wing of the family home before their investigations come to an end (and their route is sealed off), with each iteration of the family home becoming more and more dilapidated. Inevitably, the player never quite finds or reaches the mother — she’s never available to provide answers with any certainty. I want her to ‘haunt’ the game but never exactly appear in it. Her voice has been silenced over years of neglect, and now she’s finally gone her children are left scrambling for her words and answers.
I absolutely love the idea of the off-access and idealised past, and I love narratives which explore the tragedy of trying too hard to restore it. I feel the same way about ‘closure’ in general — we can create answers for ourselves but often at the expense of raising further questions; no matter how we might like it, things don’t usually get wrapped up in silk ribbons. And of course, fundamentally, we can’t change the past, no matter our personal development since then.
This is by far my most ambitious project so far — not least because it’s my first first-person game — and although it’s well under way I’ve yet to see whether I can make everything come together (into something tonally consistent). I potentially risk pinning my hopes too much on this project, but if worst comes to worst I can take notes on what went well and what didn’t, making the time to reattempt this project sometime in the distant future (when I have further technical experience in game development).
One of the projects I’ve been working on recently is a short, potentially experimental piece on social impairment.
In this game, the player controls a simple triangular avatar in a world of other triangles, navigating a playground and taking part in social ‘minigames’ over the course of three days. The player attempts and struggles to take part in what sometimes seem like impenetrable social systems: unspoken rules of conversation and ‘play’. This game largely developed out of a comment I came across while reading Brian Upton’s The Aesthetic of Play: ‘We are all born knowing how to play’. Are we? Play what exactly? Is it fruitful or accurate to think of a single, generalised notion of ‘play’? I thoroughly enjoy Upton’s work, but something about this line didn’t sit well with me (admittedly for personal reasons). A lot of social systems never came naturally to me — I struggled for a long time to understand the function of games, humour, and small talk in particular. Knowing what to say and what not to say within given contexts is something I feel I’ve learnt (and suspect others out there have learnt) the hard way: observing these systems from the outside, trying on different ways of speaking and behaving, and learning from gut-wrenching trial and error. On the one hand, this piece is intensely personal — this is undeniable a game drawn from my childhood experiences — but on the other hand I hope it isn’t too personal or extreme to exclude other players. Whether they have or haven’t experienced social impairment to the same extent, I hope there’s something here for anyone who’s experienced social alienation; the awkwardness and difficulties of learning to interact with those around you.
In terms of the practical implementation of these design intentions, I’m making an experience with deliberately awkward controls in games, unclear and seemingly unfair rules, aggressive pacing and social cues, pronounced negative feedback (what I experience as a gut-punch when saying something out of place), and partially-alien, partially-comprehensible dialogue (using a symbol-based typeface). I don’t expect players to want to remain in this space for longer the five minutes as the intended play experience is not primarily one of enjoyment. One of the biggest design-and-implementation challenges I’m facing is getting this balance right: I want the player to experience some discomfort, dislocation, and ideally recognition, but at the same time I don’t want the experience to be so unenjoyable and frustration they either quit or (worse in my opinion) find the game simply mean-spirited and pessimistic. The game has a lot of emotional weight for me, but at the same time I appreciate that if I want to make this depiction informative or insightful to other people I need it to be less cynically one-note and more subtly ambiguous (with a dash of optimism at the end). Because I don’t think these difficulties are as fruitless as they may seem — people can learn and adapt, difficult situations can improve, and sometimes someone comes along and seems to speak to you on your own terms. I suspect this game may not be as accessible as I’d hope, but I will need respond to feedback and accept I can’t have full control over the way people receive games like these.
[Nb. My main inspirations for the piece are ‘Loneliness’ (a so-called ‘notgame’ by Jordan Magnuson) and anna anthropy’s Dys4ia. I quite liked the graphical minimalism in both games, drawing specific inspiration from Magnuson’s use of abstraction (basic shapes without dialogue) in communicating isolated or marginalised experiences. I also particularly enjoyed the feeling of awkward controls in sometimes oppressive spaces, as I felt anna anthropy’s piece achieved. Merritt Kopas’ Lim does a brilliant job of this too]
One of the projects I’ve worked on recently is a short, minimalist puzzle platformer called ‘There Can Only Be One’. In this game, the player needs to find a way to keep all but one of his or her avatars alive each level. Some of the levels simply teach new mechanics, some are designed to confuse, and others are built around platforming challenge.
With Needurino, I started with a desired play experience in mind, but with this project I instead started with a set of programming questions which eventually turned into a core puzzle game mechanic. I wanted to learn how I could keep track of the number of players on a given stage and make this number central to the game loop itself. I created an array which would store all objects of type ‘Player’ and then store as an integer the number of entries within that array. I could then turn this value (‘c’) into a string and then present it to the user through some UI text (‘playersLeft.text = c.ToString();’). This number remains in the top right of the screen throughout most of the levels, and is simultaneously being used in a series of if statements: if (c > 1), return; if (c < 1), offer reset; if (c == 1), load next level. As I briefly touched on, the earlier levels prioritise teaching core mechanics through level design, the middle levels prioritise confusing the player with large numbers of avatars and hazards, and the later levels prioritise dexterity and caution. In these later levels, the player now needs to keep at least two alive until they’re able to dispatch the avatars in the center — either remotely by lowering spike or more directly. I created switches which needed two players at once, as well as green ‘vulnerable players’ which can be rammed into. While graphics weren’t a focal point for this project, I still wanted there to be a responsive, satisfying ‘game feel’ for the experience. I mostly did this by creating a colour-dependent particle effect as well as an 8-bit style sound I made using BFXR, creating a distinct ‘burst’ as these instantiated upon player deaths (with the intention of creating something akin to bursting a balloon). I wanted the visuals, and particularly this sound effect, to provide immediate feedback to the player — something satisfying when intentional and painful when unintentional. As playtesters needed to split their attention between several game objects, it was often this sound which first alerted them whenever they made a mistake.
Similar to graphics, ‘narrative’ also wasn’t a focal point for this particular project. Saying this, I still wanted a surprising tonal shift and, potentially, a suggestion of some narrative depth behind this abstracted world. The stages of the game were fairly discrete — stage by stage completion within very ‘gamey’, obstacle-based environments. But for the ending sequence I wanted everything to change. The player destroys all but one of the seven avatars (representing the seven surviving avatars from previous levels) in a small room, cutting off the game’s somewhat infectious retro soundtrack, before a doorway opens up. The player then leads their surviving avatar through a winding series of corridors in separate scenes, each darker than the last, before confronting their ‘mirror image’. Perhaps in an attempt to destroy this potential contender, the last remaining avatar dispatches themselves. The game transitions to a variant of the title screen, changing the title from ‘There Can Only Be One’ to ‘There Can Only Be None’ before the credits roll.
I wanted this ending sequence to be different from the rest of the experience: visually, audibly, tonally, and in terms of gameplay. I intended for it to suggest some unexpected continuity between the discrete levels, suggesting some continued existence for these avatar shapes. It also offered me an opportunity to think about staging and timing, thinking about the delays before the credits appeared and music resumed, and changing tone through music: from the upbeat, cyclical, retro vibe of ‘Blazer Rail’ to the eerie and somewhat discomforting sound of ‘The Swamp’. Both of these royalty-free music loops were sourced online and credited, and seemed to work well for my purposes at the time. Should I return to and develop this short game, I’d most likely try to generate my own music using free, accessible software like Bosca Ceoil or some more professional software at the university like Apple’s Logic Pro X. Going forward, I think having additional control over my game’s soundscape would be invaluable in creating the precise tone and tonal shifts I’m after in some of my work.