15 July 2013

[myGameDev] Ava Martin VS. The Binarist Hegemony

This weekend was iamagamer.ca's inaugural Game Jam weekend, where participants - both at the main hub in Vancouver, and those around the world participating remotely - worked for 48 hours to create a game based on the theme of "Strong Female Protagonist." I was one of those folk squirreling away at a game - and I got one finished, no less! You can play my game, Ava Martin VS. The Binarist Hegemonyby clicking here, and you can read about its development below!

Day Minus-One

This Game Jam wasn't my first - I've previously participated in the 48hr Global Game Jam in 2012 and came out with The 41st Tale, and I recently finished Sophie Houlden's week-long Fishing Game Jam back in May of this year, ending the week with The Loch: A Scottish Fishing RPG (which is currently in Beta testing and will be available soon!) As such, I knew that, although preparation wasn't important (or recommended) for taking part in a game jam, I decided to do some research into what I could use to make my game the day before, just so I didn't spend half the day getting familiar with a new game engine.

Initially, I'd considered making the game for the jam in GameMaker Studio, which I'd recently worked through a couple of tutorials on; but I wasn't 100% comfortable with that, since I already had a plan for a GameMaker game laid out for later in Summer, and I want to try to broaden my horizons a bit by designing games using lots of different software, engines and tools. I discovered GameSalad in a thread elsewhere on the internet, and, having heard it was fairly accessible, decided to go with that.

GameSalad, as it turns out, is very easy to use, and most of the work comes down to placing Actors (characters, NPCs, and any other on-screen elements) onto a Scene (a level or menu screen), and then dragging-and-dropping sets of Behaviours onto those actors. Those Behaviours are split into conditions (such as "when this key is pressed", "when this attribute equals 5", or "after 5 seconds") and actions (such as "move this actor in this direction", "load this scene", or "check if this attribute has changed"). Although it might be somewhat restrictive for people with a fair amount of programming knowledge, it's fairly accessible for people without that knowledge, although it often does require some creative workarounds as solutions for problems, which often demands that you be able to work out the flow of your program step-by-logical-step.

Day One

The night before the Jam started, I couldn't sleep - because Scotland had basically turned into a hothouse, and even with all the windows in my flat open, I was melting in the heat. So, although I'm sure it could be considered cheating by some by-the-book Jammers, I spent most of the night thinking up ideas for what I wanted to do with my entry for the Game Jam.

Like a lot of designers, when I'm coming up for ideas for a game, I usually end up trying to create The Perfect Game right from the get-go, and then having to jettison parts of the game as development continues and I start running out of time - which often meant that the ideas that helped bring the game closer to The Perfect Game would be missing, and I'd have been as well making a much smaller, more humble game  in the first place. I was determined not to do that this time round - I wanted to do what I did with The Loch and start small, by saying "if I can just get one basic action in the game implemented that helps bring the player towards some ending, I'll be happy, and then I can build on that if I have time."

My first few ideas were too ambitious, among other things. I ruled out a side-scrolling beat-em-up with a woman martial artist early on - it would be too difficult to hand-draw animations for a character in 48hrs and still make a compelling game, plus it came very close to the common practice of making female characters "strong" in terms of their physical fitness, which I didn't want at all.

After tinkering around with GameSalad the night before the Jam - and, crucially, discovering that gravity was both built-in to GameSalad's scene system AND could be altered - I remembered an idea I had a few months ago that came kind of out of the blue, of a platformer where the gravity was constantly changing - and, for whatever reason, my brain took that moment to connect that thought to an even older idea I'd had about making a superhero that had gravity-based powers, allowing them to perform all sorts of acrobatic stunts. Those ideas fused together into what would become my game.

I fleshed out my main character a bit after that, since I wanted the character themselves to match the themes and setting of the game. Recently, I've been becoming more aware of the type of characters that I (and other folk in the West/Global North) tend to create - and it's that recurrent intersection of demographics that continually crops up. White, able-bodied, young, attractive cisgender heterosexual men.

Now, because this was a Game Jam all about female protagonists, I'd obviously never considered making the character male - however, it often goes unsaid that any game protagonist is likely to be white, able-bodied, young, attractive, cisgender and heterosexual. People from all manner of marginalised groups have stressed the importance of having characters that look like them as a means of receiving equal representation and consideration in media, and, knowing that, I'd feel pretty uncomfortable if I continually churned out the white, able-bodied etc. characters that we've come to expect from the games industry. So, I set about creating a character that I felt would give some representation of people from minority groups, as well as fitting into the game, setting and theme.

The result was Ava.

I'd like to say that there was a meaningful train of thought behind deciding to make Ava a Black trans* woman, but it was nothing more than, "why not?" Trans* women of colour are frequently underrepresented in media, after all.

Ava's name initially came from a placeholder name that I'd given to the main character Actor in GameSalad when I was setting up - I'd chosen it because I remembered it from working on The Loch: A Scottish Fishing RPG, when I was looking up the most commonly-chosen names for girls being born in Scotland in 2012; and later I realised that it was the first three letters of the word "avatar", which was a happy synchronicity. It seemed to fit the image of the character I was developing in my head, so I kept with it.

Some placeholder art saw me through the first half of the first day, where I wanted to get the bulk of the game's physics and mechanisms in place first, but by the end of the first day, I'd already designed and drawn what I wanted Ava to look like.

The final image of Ava was a little sketchy, but since you're continually pushed for time during a game jam, I didn't want to sacrifice a lot of time getting a perfectly-polished image, at the expense of having no game to use it in by Sunday evening. Plus, the small screen resolution (480x320) meant that I'd have to shrink the image down anyway, so most of the sketchiness would be largely reduced.

I implemented most of the game's physics early on, which meant adding in behaviours that determined that, when Ava hit a platform at a certain angle, she would flip around to match that angle so she could stand on top of it, and the game's gravity would adjust accordingly - so, if Ava hit a platform at a 90 degree angle relative to 0 degrees, she would be standing horizontally, with gravity pushing her to the right. This added a whole new way of moving about in a platformer game that I really loved - it meant that you had to kind of "rotate" how you thought Ava would move, how she would turn when she landed - because if she only manages to hit a corner of a platform when gravity's direction is changing, she may not land on the platform at all, and just fall.

While I was implementing the gravity system, though because of the way it was implemented, a problem loomed on the horizon; whenever Ava touched a platform, she'd rotate to a specific angle, and the direction of the force of gravity would too. But, if Ava hit the wrong side of that platform, gravity wouldn't push her towards it - it would push her away. If she landed on a horizontal platform from above, gravity would act downwards, and she'd stay on the platform; but if she hit it from below, gravity would remain pushing downwards (relative to the scene), and she'd just fall. So, I realised I'd need two types of platforms, laid edge-to-edge, so they could adjust the angle of the force of gravity correctly.

When I made those platforms, I decided (simply because Ava was trans*) to make them pink and blue, the colors of the trans* pride flag - which then reminded me of the red and blue colors on magnets, and how we refer to things like the head of a cable as "male" or "female"; I thought it was interesting that we forced these categories of male and female on things that didn't have a sex or gender, and that the gender binary had parallels in things like science.

I'd also had a number of ideas about the win and lose conditions for the game, and how players would win it - I really wanted to design monsters that resembled fusions, amalgamations and interpretations of "male" and "female"-ness (something I touched on in A Silent Hill Queer-y), but I realised it could well send the wrong message - that transsexuality and intersexuality were something monstrous, strange and alien - if I didn't have time to implement ways of showing that that isn't the case at all. So, due to time constraints and art dilemmas, I decided I'd dot the level with some objects called Pylons, shaped like Male and Female symbols, which the player would have to destroy. The Pylons reminded me a little of those red and blue markers on magnets as well, which I thought was appropriate. This gave the game's strange gravity a new significance, as the player would have to think up novel ways of using alternating gravity to reach certain platforms to destroy all the platforms.

By the end of the first day, I'd implemented most of the game's physics and gravity, and I went to bed feeling accomplished and ready for the second day - a stark change from the end of the first day during the Global Game Jam 2012, where I went to bed (on a beanbag, under several beanbags, on a library floor) feeling like my soul was being hung, drawn and quartered.

Day Two

Testing the game was a continuous process: implementing a behaviour or two at a time, running the game in the preview pane, and seeing how the behaviour worked in game. Thankfully, most of the time, it worked exactly as expected - but there was no lack of situations where I'd put in a behaviour thinking it would work out fine, and it caused things to basically explode.

A particularly significant example of this was at the start of the second day, where I was trying to adjust the behaviour where, when Ava hit a platform, she'd rotate so that she would stand on top of it; most of the time, the rotation worked, but her jumping and walking animation cycles would mess up. Because I'd been adding behaviours as I was going along and adjusting how I designed those behaviours to work with GameSalad's built-in functionality, it meant that many of the behaviours had work-around statements; and, as more behaviours were added, these statements started conflicting with one another - one saying "if Ava is in contact with a platform, use the standing animation", but another saying "if Ava is in contact with a platform at the end of this behaviour, rotate the image". So, at the start of the second day, in the interest of having a game that was actually playable, I decided to redo the game's physics from the ground up.

Luckily, it only took an hour or two, because I'd already got a good image of all the behaviours I'd need from having created them before, and I was able to make them interact with each other in a much clearer, less clunky way.

I didn't decide on Ava's surname until the final day, too - the day that news broke about the verdict on the George Zimmerman case. I'd originally heard Trayvon's name mentioned in a couple of songs by Public Enemy and Lupe Fiasco almost a year before, back when I started becoming marginally more aware of sociopolitical issues like race, class and power dynamics in the West; after hearing the verdict, I decided to give Ava Trayvon's surname, "Martin".

I also decided that, in the interest of making her more realised as a female character, I'd like to have Ava comment on what she was doing - and the best place for that, I thought, was when she destroyed each Gender Pylon. So, I implemented a system where, when the player destroyed one, a disembodied voice questioned her motives, gaslit her, and generally acted like a wee dweeby transphobic misogynist; in response, Ava cut through their bullshit and set them straight. Done.

As the final hour approached, I decided I'd finish early, because I wasn't 100% sure how GameSalad worked when it came to packaging and publishing games for the PC platform, and I didn't want to accidentally take too long trying to work it all out. So, I scribbled up a quick main-menu screen, chose not to put any audio in the game, and rushed it through the GameSalad Arcade publishing process just in time to upload it to the main iamagamer Jam site, before the submission system mysteriously broke! Good timing.

And with that, I was finished! I'd managed to make a game from start to finish, on my own, in 48 hours. It wasn't polished, it wasn't life-changing or mind-altering or technology-pushing, but then, it didn't have to be; the point of a game jam is just to get you DOING SOMETHING rather than spending too much time designing, planning, talking or speculating, which many designers like me are prone to doing. And, in that respect at least, I managed to push myself through and finish the jam with a completed game that I could look back on and be happy with.

[Minecraft Monday] A Trip to the Borgesland

In the previous Minecraft Monday post, I bade farewell to Kentigern County, a world that was rapidly approaching obsolescence because of the impending Build 1.8.2, which included strongholds and villages automatically spawning in new worlds. The next update, TU12, is rapidly approaching, and again will potentially make Minecraft worlds obsolete because of the inclusion of the new Jungle biome. And that means it's time to say goodbye to the place I've been since October last year - The Borgesland.

The Borgesland has just about everything you could want from a Minecraft world - two villages in close proximity, a network of small seas and rivers cutting their way across the region, and one of each and every biome, including two mushroom-biome islands in the southernmost parts of the map.

10 July 2013

[myGameDev] The Loch: A Scottish Fishing RPG - BETA Version!

For the past few weeks, I've been working on a game that I made for Sophie Houlden's 7 Day Fishing Game Jam back at the tail end of May - that game is The Loch: A Scottish Fishing RPG, and it's now gotten to a stage where I can share a beta version of the game with you folks!

At the moment, I'm working on converting some of the standard RPG Maker assets over to assets of my own, and in the meantime, I'd appreciate if anyone playing the game could let me know if they find any bugs, problems or glitches in the game (as well as anything else they think isn't supposed to be there). If you do find anything, send a message either here or to The Loch Facebook Page and let me know!

You can download the Beta Version here.

3 July 2013

[GayGamer.Net] Why So Cis?

[Trigger Warnings for discussions of rape and transphobia throughout].

Yesterday brought something of a storm on social media, with Penny Arcade’s Mike Krahulik at the center, having unleashed the furore by making a couple of transphobic comments on Twitter. The Border House Blog has an excellent summary on the events, but for the sake of completeness, I’ll reiterate:

Folk on the web had noticed that there was a synopsis for a dubious-looking panel on the upcoming PAX Australia titled “Why So Serious”?, which, as one might expect, basically boiled down to people saying, “stop taking games so seriously!” to anyone who voiced any concerns with regards to the game industry’s less-than-stellar track record when it came to bigotry. Complaints were made, and the panel slightly altered their synopsis.

It didn’t make it much better. So folk contacted Mike Krahulik about the event, and from there, things escalated to the extent that Mike posted the following tweets.

(Screenshots courtesy of the Borderhouse Blog.)

And, following that, Mike posted an email discussion between himself and Sophie Prell, a trans* woman who formerly contributed to the Penny Arcade Report; the discussion can be found here.

In a statement for GayGamer.Net, Mike described the event thus:

This morning when I got up my email and tweets were all about a panel at PAX Aus. We will have a panel that will discuss if all this social justice stuff is good for the games industry. We don’t make the panels they are submitted by the community and we try and let pretty much anyone have a space to talk.
So this morning I was told I was a bigot and I was giving a stage to bigots. I said no one has to go to the panel but then I was told I was cis gendered garbage and I should die.
at this point I should have stepped away from the computer and played with my kids but I didn’t. I went on the offensive and I made things worse.
I don’t dislike or fear anyone based on what they are or what they think they are. I try and be friendly to everyone I meet in person.
I honestly don’t think I am wired right for this fame stuff. I like to draw cartoons and play games that’s really all. I can’t be what all these millions of people want me to be. I’m not a role model, I didn’t even fucking go to college. I have beliefs that lots of people will hate. I have opinions that not all our fans will like. If I was just some normal dude it wouldn’t matter but the things I do and say are placed in another category. I need to be aware of that responsibility. When I feel attacked I attack back like I did as a kid. I can be an incredible asshole when I want to be. It’s like my super power. I’m very good at being mean. That’s been good for making funny comics but it’s not good when it hurts people who are already marginalized.
To be fair, I hate tons of people. But it’s never because of their sexual orientation or their gender situation or anything superficial like that. I honest to god don’t give a shit about that stuff. I only hate people because of the way they act.

So, back up, what’s the big deal here?

(You can read the rest of the article at its original home on GayGamer.net!