Rami Ismail is the Business & Development Guy at Vlambeer, a Dutch independent game studio known best for Nuclear Throne, Ridiculous Fishing, Super Crate Box, LUFTRAUSERS, GUN GODZ, Serious Sam: The Random Encounter & Radical Fishing.
Through his work at Vlambeer, Rami has come to realize that the marketing & business facets of many independent game developers could use some help. As such, he created the free presskit-creation tool presskit() and is working on side projects such as distribute() and gamedev.world.
Believing sharing knowledge openly is the cornerstone of independent development, Rami has spoken on a variety of subjects at dozens of game events around the world, ranging from the Game Developers Conference to Fantastic Arcade & from University seminars to incubator mentorship.
He is a avid opponent of game cloning after Vlambeer's Radical Fishing got cloned. He is also a proponent of searching for new, beautiful things in places no-one is looking for them and thus organized Fuck This Jam, a gamejam focused around making a game in a genre you hate. Rami also worked closely with the Indie MEGABOOTH team to enable indie studios to showcase at the larger game conventions, runs the #1reasontobe panel at GDC, and helps as an advisor on events such as Devcom, Train Jam, PocketGamer, and NASSCOM GDC.
Rami has received several awards and recognitions for his work promoting game development around the world, including the IndieCade Game Changer award for the decennial jubileum of the festival.
RAMI ISMAIL IS THE DEVELOPER
& BUSINESS HUMAN AT VLAMBEER.
HE ALSO CREATED PRESSKIT() & TRAVELS AROUND THE WORLD TO SPEAK ABOUT GAME DEVELOPMENT AND CULTURE AT EVENTS, SCHOOLS AND IN EMERGING TERRITORIES.
RAMI IS CURRENTLY IN THE NETHERLANDS.
YOU CAN REACH HIM AT RAMI@VLAMBEER.COM, , , OR BY CALLING +31 (0) 621206363.
This is an article posted on 28 November 2017 & it'll be forever available at this link.
We’re writing a long-form analysis of producing our wedding, because that’s how we deal with big things in the past as game developers & those two days on Malta were absolutely perfect and we don’t want to forget even the tiniest detail if we can. Writing that analysis in a way that is appropriate for the importance of our wedding to us takes some time, and we wanted to thank everybody that made the wedding possible a bit faster than we can turn writing that around.
This is an article posted on 15 August 2017 & it'll be forever available at this link.
Years ago, I was involved in the early days of the Indie MEGABOOTH. I am extremely proud to see what it has grown into since I left the initiative to work on other projects, but some of the early ideals of the initiative stuck with me ever since. The idea was – and to this day remains – that creators that stand together stand stronger. This same mantra made Humble Bundle to what it is, and that mentality is what supports networks like Fig, itch.io, Indie Fund, Patreon, and many others.
Over the past few years, game development has become increasingly competitive. As a response to the race-to-the-top in terms of social reach, PR, and marketing efforts often required to launch a successful game, boutique publishers have popped up around the industry. They do phenomenal work – we’ve worked with Devolver Digital, and I’ve advised, scouted for, am friends with, or keep good contact with teams like Raw Fury, Team 17, tinyBuild, Paradox, and many others. Like MEGABOOTH, most of these indie publishers offer a valuable service, and they’re a net gain for our industry.
Regardless, the truth remains that every good thing has a downside. Anything that accelerates or otherwise increases the chances of success, unless it is limitless, free, and readily available, will eventually leave the playing field less equal.
Between the rise of indie publishers and these enormous ‘combined booths’, showcasing at major trade shows has become increasingly difficult for mid-size creators that sit in the awkward spot between “don’t want to take a valuable spot at Indie MEGABOOTH that another, smaller, creator could use much more than we do” and “not quite big enough to financially be able to go up against indie publishers in terms of booth size and content”. Some developers don’t feel like they quite fit or want to be ‘indie’ anymore, some developers would rather not have their expo schedule be dependent on secondary selection processes, and some did not or would rather not work with a publisher for a project.
For Vlambeer, we noticed that it was getting really hard to get any attention on larger show floors. Don’t get me wrong – as long as we can afford a booth, we will always be there with a booth to hang out with our fans and supporters – they always manage to find us somewhere in the myriad hallways. But the reality remains that part of the reason we’re capable of investing in a show like PAX is that it introduces new people to our work – and the effectiveness of shows like PAX for mid-sized developers has rapidly been dropping against the more funded, more spectacular, and more sizeable offerings of larger publishers and combined booths.
That’s why Vlambeer will not be showcasing at PAX West by ourselves this year. We’ve reached out to a group of our close friends in this industry with the idea to collaborate at showcase events, and together, we’re launching a new initiative called The Playground.
The Playground is a pilot – a way for us, four crews of friends that run mid-sized games studios, to work together and do bigger, more interesting things at shows than we could possibly hope to achieve apart. Vlambeer, combined with the whimsical and personal and lovely tones of Finji, the clever and challenging experiences of Dan Adelman’s collection of games, and the high-quality merchandise services of IndieBox, hopes that we can create a location at PAX and other showcases that is not tied to anything but the friendship of a group of creators that admires each others’ work.
We’re not sure where it’s going to end up, or how it’s going to evolve, but we do know we look forward to seeing what we can achieve together. If things pan out, we’ll be bringing The Playground to future shows – growing it, and hopefully figuring out ways to combine our strengths as creators into unique and fun experiences at the shows we bring it to. If you’re visiting PAX West, do come visit us at booth #6111, and come say hi!
The uncomfortable lack of security at E3
This is an article posted on 16 June 2017 & it'll be forever available at this link.
The Electronic Entertainment Expo, like every year, is a beacon, a celebration for games as an industry. The events’ three days in the Staples Center conference building in Los Angeles are technically the heart of the event, and attracted over 70,000 professionals in 2016.
Since the introduction of livestreaming, the soul of E3 lives in the spectacle and coverage of that spectacle surrounding the event. Large publishers and platforms throw large press conferences that attract millions of viewers worldwide, people that tune in to see what their favorite games company has for the upcoming year.
This left the showfloor in a precarious position: E3 used to be an industry-only event, but the value of the showfloor and exhibiting there dropped rapidly as companies could get more attention outside of the event. In effect, the showfloor had become a meeting space and a place for developer interviews.
So for 2017, E3 has radically changed what the show is: the expo now allows for the general public to register and visit the show. It’s an important step that is presumably necessary to ensure the continued survival of the event, and has brought back some value to exhibiting at the event. E3 graciously ensured that general audience badges were a neon yellow, and clearly distinct from the industry badges, and the enthusiasm and excitement of the general audience was a huge energy boost for the floor.
Regardless, for developers and press, it has made the event a lot more clunky. The influx of 15,000 new people, many of whom understandably approached the showfloor as if a consumer-show led to repeated chaos in the hall. Between a brawl, some instances of people being pushed over durning opening, enormous queues, and booths having to adjust for the audience mid-show, the chaos was palpable more than once.
Press can no longer quickly move between meetings due to the crowds moving with less of a purpose, a complaint that echoed frequently throughout the hall. Off-the-record conversations also had to be relocated due to the abundance of free-style vloggers documenting the showfloor with their mobile phones.
There were more structural issues related to the event clearly not being ready for public access, like a lack of volunteers or enforcers outside of the booth-provided ones, an unclear distinction between accessible and private areas, and poor funneling at key locations, and an almost non-existent clear-out policy of the E3 hall after closing time.
Now, these are all transitional pains, and I understand that E3 is in a transitional year. Many of these problems could easily be resolved by replicating other industry/consumer shows – gamescom in Cologne, Germany, for example, has a industry-only day and a seperate business area, so that everyone can get their work done while the audience checks into the latest our industry has to offer.
All of this would make for an acceptable event, if it wasn’t for one more thing: the unsettling lack of security. For every single day of the event, which was secured by private security contractors, I’ve tried to walk into the building from the street outside to the showfloor without wearing my badge. I succeeded every single time, over the period of three days, and every time I was carrying a backpack that was never checked for its contents. It would be trivial for someone to bring any sort of weapon to the event, and security would not be able to react fast enough in the hall to prevent anything from happening.
This is unacceptable. With the recent weapons threat at Phoenix Comicon, the general prevalence of weapons in the United States, and the amount of anger and vitriol thrown around online about games, this is not a safe state for such a critical industry event. All of the press conferences – even the Devolver Digital booth in a parking lot across the street – had better security – whether it was metal detectors, bag checks, or bomb-sniffing dogs. These are, and should be, minimum regulations for any showfloor that handles over 70,000 people.
Overall, it was clear that the ESA is trying to transition E3 to a new paradigm, and I welcome their efforts to experiment and understand that we can’t expect everything to be flawless. Despite the transitional pains, the event seems to have been extremely useful and fruitful for most attendees, and as such the ‘new E3’ can be considered a careful success for 2017. Security, however, is not a ‘you get to try again next year’ business. I trust that the ESA will take steps to ensure the industry and the general public attending in 2018 can enjoy the spectacle and business of E3 on a floor that can be reasonably expected to be safe and secure from weapons.
This article was posted at E3 showfloor close, to not spread information about security at the show during the show. I’ll have a post discussing my thoughts about E3 content and shows later this week.
The perfect apology
This is an article posted on 8 June 2017 & it'll be forever available at this link.
If you’re trying to apologize, start by identifying who is apologizing, and what you’re apologizing for.
“I want to apologise for the Facebook post that I put out on Saturday in the aftermath of the horrific London terrorist attack.”
Perfect! In a great apology, this is where you stop. You did something bad, and you apologize for it. No conditions, no shifting blame. At this point, you could opt to speak to solutions to avoid this problem in the future. Solutions speak louder than words.
Whatever you do, do not make the apology into an accusation by saying you were just misunderstood by other people, and they’re the ones really at fault for missing your point. You should never suggest that what you did in no way was offensive.
“I was trying to air my views on extremist Muslims and it seems my comments may have been misinterpreted by some people and caused offence.”
Yeah, exactly that. Don’t do that. Really the only way to make this more of a faux-apology is by saying you’re only apologize to those who were offended, instead of apologizing for your actions in general.
“I am so sorry to anyone who was offended by my words – I was trying to voice an opinion on the minority group of Muslims who use their religion as an excuse for terrorism.
It’s going to be hard to recover from this one, unless you use the word ‘sincerely’.
“It was a knee-jerk reaction and I sincerely apologise.”
Phew. I guess that’s it! That’s not great, but it’s also not goo- oh? There’s more? Oh dear.
“For the record, [My Company] is one of the most diverse companies in the industry and I have championed equal opportunities and equality for all since I started out in 1994.”
Copyright champion of equal opportunity 1994-2017. All rights reserved except if you’re Muslim, then please leave the country.
“Anyone who knows me personally will vouch that I don’t have a racist bone in my body.”
Bones aren’t racist. People are racist. Actions are racist. Your post was racist, because despite you saying ‘Muslims’, what you mean is ‘Arab muslims’ and ‘Asian muslims’. I’m sure your post didn’t mean that Cockney-accented white guy at the bus station in a hip t-shirt and short jeans that happens to go to mosque twice a year for the holidays and say ‘Salaam’ to their parents on the phone.
“When we see innocent people slaughtered like we have in Manchester, London and other places around the world during the last few weeks, it is hard not to get angry and lash out.”
I got angry and lashed out too, and for some reason my post wasn’t removed from social media for hate speech, and there’s also no news articles describing them. Maybe it was because I didn’t call for 1.6 billion people to not have access to a country. Maybe it was because I didn’t call for the removal of people that might have fled to the UK away from terrorism. Maybe because I didn’t attack the religion or identity of the people that suffer most at the hands of terrorists globally. Maybe it was because my anger didn’t focus on British-born citizens that have no connection to socio-political terrorism on the other side of the planet. Maybe it was because I blamed terrorism instead of religion. I’m sure the exact reason you got trouble and I did not will remain a mystery to you.
“But I realise we all have different views,…”
We all have different views: not everyone is a Islamophobe and thinks it’s a good idea to air those views on Facebook while also being in charge of a company and its hiring, that is true.
“…and I will certainly not be writing any of mine on my personal social media account in the future.”
This sentence here reveals that the apology isn’t so much an apology for what he did, but an apology for getting in trouble. If your solution to saying something bad is ‘I won’t say it in public‘, that reveals a lot about what regrets you actually have. I guess “I’ll be an Islamophobe behind closed doors” might seem a solution, in that case.
I understand that being thrust into the spotlight for a mistake, a momentary lapse of judgement, or an unfortunate phrasing is incredibly scary. At Vlambeer, we’ve been on the receiving end of tons of criticism, and it never stops being scary. It never gets easier. But apologizing for messing up isn’t a hard thing to do if you’re actually sorry.
If you ever find yourself writing an apology (and if you gain any visibility, you likely will have to, at some point), here are four basic things you should know:
Take some time away from the internet before writing an apology. There’s often a false sense of hurry instilled into you by the panic, but the honest truth is that a genuine apology takes time and clarity of mind. It requires you to truly understand what the complaint is, and it’s hard to do that when you’re in a defensive mode.
Try mentally re-contextualising your apology to stepping on someone’s toes. If the apology you wrote comes down to ‘If me stepping on your toes hurt you, I am sorry. There’s many toes in the world, and I don’t step on most of them. Your toes might’ve misunderstood that I stepped on them, I was trying to cover them from rain. Maybe your toes shouldn’t have been where I put my foot down.‘, you should probably reconsider what you’re writing.
A short and direct apology is the strongest apology you can make. Instead of focusing on your own defense, focus on what your future action are going to be, or what you have learned, and how you will avoid similar incidents in the future.
Posting an apology does not mean that anyone has to accept your apology, or that the criticism will fade. An apology is not written to make bad things happening to you because of bad things you did go away. An apology is not a defense. An apology is you taking responsibility for the bad thing you did, and showing that you genuinely understand why what you did was bad.
Games Discussion: Mario Kart 8 Deluxe
This is an article posted on 24 May 2017 & it'll be forever available at this link.
Yakuza-0 is the latest and sixth major installment in the beloved Japanese Yakuza series, but unlike EA’s FIFA or NHL games, the story being told is not chronological. Yakuza-0 is a prequel, more like the similarly named Resident Evil Zero, and tells the story of events before the original Yakuza game – while failing to reach the levels of horror Resident Evil so effortlessly creates.
In Yakuza-0, players assume the dual perspectives of series protagonists Kazuma Kiryu and Goro Majima, two yakuza members that have found themselves embroiled in a political conflict larger than either of them. In that regard, the game vaguely echoes games like Call of Duty: Modern Warfare 2, where players assume multiple character to learn different sides of the same story. Obviously, Call of Duty: Modern Warfare 2 had some powerful moments, and Yakuza-0 never quite reaches the dramatic heights of blowing up the International Space Station.
The gameplay itself is very similar to Saints Row: The Third, although you can’t beat up random people, use weapons freely, or steal any sort of vehicle. Most of the time you spend in the game is spent walking around, something that honestly has been perfected since Vanquish, but somehow ends up feeling sluggish without the rocket boost in Yakuza-0. Frequently, but not as frequent as in, say, the beautiful and overwhelming chaos of Dynasty Warriors, the player has to deal with fighting enemies.
Fighting in Yakuza-0 never quite reaches the depth and complexity of the giants in the genre, such as Super Street Fighter IV. Players can use punches, kicks, grabs, and basic combos, and while both characters have different stances and styles to introduce some variety, the Yakuza-0 cast can’t begin to rival the cast of League of Legends, Overwatch, or Super Smash Brothers Brawl. With few exceptions the protagonists fight barehanded, and that might be for the best, as the swordplay can’t hold a candle to this years’ For Honor, and the gunplay falls miles short of games such as 2016’s DOOM. There is also one point in the game where Kiryu has to make a jump from a balcony through a window, and it’s a shame that this one sequence did not heed the lessons about jumping and jump feel from a game like Super Mario Bros.
A cool detail is that while fighting, attacks will make money fall out of enemies, which looks really cool. Unlike Grand Theft Auto 5, the money falling out of enemies isn’t interactive, and is merely a visual effect. Money is used to buy items and upgrade your character, and the upgrade system allows for a good amount of skill personalisation. While not nearly as in-depth as Sword of the Stars2, the game allows for some strategic planning in expanding your tech tree.
The story is complex and engaging, and there’s an incredible amount of content, although there is probably more content in a game like Persona 5, and more engaging story complexity in games series like Kingdom Hearts. Kiryu and Majima are charming and well-rounded protagonists, but their facial animation falls flat compared to Nathan Drake’s in Uncharted 4, or the characters in Battlefield 1. Yakuza-0, for a game this dependent on cutscenes, never manages to have cutscenes as cinematic as Alan Wake, nor as many as most Metal Gear Solid games.
There’s a lot of freedom in Yakuza-0, and a lot of different things to do. While you’ll never have the freedom that a game like Zelda: Breath of the Wild offers in term of exploration, there are an enormous amount of sidequests, side-activities, and other distractions. There’s a business simulator that falls short of reaching the depth of Sim City or Civilisation V, and a karaoke minigame that, despite being solid, can’t quite be as good as Parappa the Rapper or Rock Band 4. Regardless, distractions are everywhere, but not quite as common (or explosive) as Just Cause 3’s distractions. The sidequests, while less numerous than in World of Warcraft, offer some respite from the main story, and end up giving the game an enormous amount of flair – sadly, these side stories aren’t even close to being as fleshed out as Chrono Trigger’s story. The huge variety of meals available in the game as health restoration needs to be emphasized, although food isn’t as varied or as well-rendered in Final Fantasy XV. The love for the culture beyond food is also obvious, asthe game takes tremendous effort to painstakingly rebuild parts of 1988 Tokyo and Osaka. The results fall short of being as impressive as Assassins Creed reconstruction of ancient cities, they’re convincing enough. Some additional locations exist to flesh out the world of Yakuza-0 a bit more, and while that helps, it never reaches the location variety of Destiny or Mass Effect: Andromeda.
In the end, Yakuza-0 ends up being a great entry point for people trying to join the series, with new gameplay elements and at the start of the story, just like Halo: Reach was a great entry point for people looking to start on the Halo series. So although Yakuza-0 is not a bad game, I felt a lot of the agency in the pocket racer mini-game fell short, and ultimately do think that when it comes to power-up enabled party kart racing on the Nintendo Switch, Mario Kart 8 Deluxe is the better game.
Obviously, Yakuza-0 and Mario Kart 8: Deluxe are both good games. This article is merely an expression of my frustration with how many online discussions about games and game elements seems to devolve into a competitive comparison with other games or media in or outside of the franchise. In many cases, tremendous value and emphasis is placed upon whether a game does something ‘better’ than other games, and even in a single franchise, such comparisons are often useless and unnecessary. While I appreciate the need for comparative examination and analysis, it would be useful to consider the (over-)use of such in game descriptions on the overall discourse surrounding our media. There’s no need to establish a pecking order where none is needed, not of games, business models, genres, platforms, mechanics, or otherwise. If the only addition you have to a conversation is how you feel another game did something better or worse, maybe simply watch the conversation unfold without that opinion injected into it.
As a Muslim video-game developer, I no longer feel the US is open for business
This is an article posted on 7 February 2017 & it'll be forever available at this link.
When I was a kid dreaming of being a game developer, I hoped that in the future I’d be joining a large studio and working on a blockbuster title. Things didn’t quite pan out that way. After leaving university with a fellow student, I am now the co-founder of my own company, Vlambeer, renowned for successful game releases such as Nuclear Throne and Ridiculous Fishing.
I was born in the Netherlands, the son of an Egyptian immigrant and a Dutch mother, and was raised as a proud Muslim. For the past years, much of my travel to the United States has led to secondary selection, investigation, or interrogation. For all 100 flights I took in 2014, I jokingly created a website that kept track of whether my boarding passes were marked for “random checks” before even reaching airport security. For many of the 1.6 billion Muslims across the world, whether they’re born in the western world or not, this is a recognisable issue with air travel. Many of my Muslim friends calculate an extra 30 minute delay for boarding and transfers.
The video game industry is one of the world’s most important creative sectors, generating $90bn a year in revenue, more than either movies and music – and it is strongly US-centric. While large game development pockets exist in the UK, north-western Europe and Asia, most of the largest companies, industry events, and industry press are centred around the coasts of the United States. For most developers around the world, their shot at success lays at the yearly Game Developers Conference in San Francisco, by far the largest gathering of industry professionals and knowledge in the world.
My studio has diverted significant resources towards helping fellow and aspiring game developers in emergent territories around the world. I often travel to speak to students, help coordinate communities, and guide opportunities for developers with potential. I spent a few days in 2015 researching what the relative costs to visit the Game Developers Conference would be. The results were shocking – for an Iranian game developer, going to GDC was the equivalent of £4,000. For someone from the Central African Republic with an average salary, the costs were the Western equivalent a staggering £120,000. For many enthusiasts around the world, visiting the Game Developers Conference is something they can afford maybe once or twice in their life – if at all.
When Donald Trump signed the executive order effectively banning Muslims from seven countries without any prior warning, the scene at many US airports was one of chaos and confusion. Muslims who boarded their plane in their country of departure with a valid visa and no reason to be turned back landed in violation of an order that didn’t exist when they boarded. Many Muslims were unnecessarily and illegally detained, or coerced to sign away their green cards. Muslims from countries not even on the list were turned away.
As one of the few visible Muslims in the games industry, I frequently talk about my experiences on the road with fellow Muslim developers who are flying to the US for the first time. In the wake of the executive order, many that spent years of their savings on the trip to San Francisco have learned that they won’t be allowed into the country any more. Even if they’d be allowed into the US, many are afraid of anti-Muslim sentiment from a population that can elect a president like Donald Trump, especially in the country with the highest homicide rate with guns in the Western world.
Many other Muslim game developers that live in the US – or even non-Muslims who only hold dual citizenship with a majority-Muslim country they’ve rarely if ever visited – are now stuck in the United States with no way to visit family or friends abroad. With many highly talented engineers coming from Middle Eastern countries, this not only limits the available talent pool, but also effectively prohibits travel for many workers in the US games industry.
Some game companies have started to speak up, with smaller studios taking the lead over the weekend. Mobile games company Dots placed a message at the start of its popular Dots games that allows players to donate to the ACLU for their opposition of the Muslim Ban. Other independent developers, including my own studio, donated parts or all of their revenue to the ACLU for a specific amount of time, raising tens of thousands of dollars in the process. Just today, larger studios and game developers have started to release statements criticising the executive order, reminding gamers around the world (and there are 1.2 billion of them) that the games that they love are made by people of all races, religions, and nationalities – including Libyans, Somalians, Yemenites, Iraqi’s, Iranians, Sudanese, and Syrians.
When I started travelling on my own back in 2010, my mother would frequently check in to see whether I was safe. After many years of travel, she stopped doing that unless I visited countries the Dutch government had a negative travel advisory for, often countries that are unstable, at war, or at risk of terrorist attacks. For the first time in years, she messaged me last week to check in whether I was safe, because I was in the US.
The Industry, the Union, and the Strike
This is an article posted on 3 November 2016 & it'll be forever available at this link.
“We spent 19 months trying to come to an agreement on this contract. That’s the longest negotiation in SAG-AFTRA’s history. We did not take going on strike lightly. We really tried to compromise and come up with an agreement that would be fair. But after 19 months of not being able to put safer working conditions in the contract and being unable to share in the prosperity of wildly successful games, we felt we had no choice but to strike.”
Crispin Freeman is a voice actor. He’s currently not allowed to work for a large range of AAA games studios because the union that represents him and most professional voice actors in the games industry, SAG-AFTRA, has called for a strike.
When I first meet Freeman, the strike is still a distant rumor, a hypothetical last resort. We’re in a little restaurant in Los Angeles during the 2016 IndieCade festival. The restaurant is closing in under an hour, but none of us really have the time to spend more than an hour chatting tonight anyway. Freeman has come to meet me to talk about my concerns regarding a contract for independent developers that I’ve read a draft of.
Sarah Elmaleh is the one who set up the meeting between Freeman and myself in response to some of my concerns. Elmaleh is a New York-born SAG-AFTRA voice actress that moved to Los Angeles recently to further her craft of voice acting in videogames. She is a common presence at independent games festival around the United States, and her unbridled love for independent games shows in her portfolio, which boasts games like Gone Home and Galak-Z. It also makes her a natural bridge between voice actors and independent game developers.
Months earlier, Elmaleh had introduced me to Jennifer Hale, one of the most prominent and prolific voice actresses in games. Hale is a central figure in SAG-AFTRA’s Interactive board, the board that deals with games and other interactive media, and she wanted to talk about the idea of introducing a contract specifically for independent game developers – a contract that would allow independent creators easier access to union talent.
But after 19 months of not being able to put safer working conditions in the contract and being unable to share in the prosperity of wildly successful games, we felt we had no choice but to strike.
The indie contract is supposed to exist as an amendment to the ‘main’ SAG-AFTRA Interactive contract that governs work between union actors and AAA games studios. The problem is that ‘main’ SAG-AFTRA Interactive contract doesn’t exist yet because SAG-AFTRA and the AAA games companies can’t reach an agreement on it.
When SAG-AFTRA first reached out to me to talk about the Low Budget Contract, it had been negotiating the ‘main’ contract for a year. It had been a few months since 96% of SAG-AFTRA members voted in a referendum to authorize the union’s board to call for a strike if necessary. The news of the authorization sent ripples through the games industry. The games industry is remarkable in that it has no unions of its own, and the idea of a union strike that could affect the games industry was something that sent many fans and developers reeling.
The response to the news that the SAG-AFTRA strike was actually starting in early October was far more vehement.
The discussion is particularly vehement for not just for the lack of unions in the games industry, but also because of the concept of profit sharing. A core disagreement in the negotiations is that voice actors have asked that if a game performs very well, their efforts get recognized through a monetary bonus. Only very few people in the industry have such a privilege, and many are upset that the voice actors would ask for such bonuses if programmers, artists and designers that work on games for many years do not receive them.
Thus, there are generally two separate issues with two sides in the discussion, and they’re intertwined in a way that makes the whole situation both morally complex and frustratingly political: you can be in favor of the demands of SAG-AFTRA, or you can be against the demands of SAG-AFTRA. Separately, you can find the idea of unions unfit for the games industry, or you can find the idea of unions a boon for the games industry.
As a developer, I felt it’s easy to find perspective on the games’ industry side of the discussion, but it’s a lot harder to find good perspective from the voice actors’ position. I decided to ask the people I met through my talks with SAG-AFTRA some questions about voice acting, and why the union had called for a strike.
I love pondering things like how ‘death by fire’ must involve more than just searing, spreading pain, but also emotions like horror, panic and outrage?
“The human voice is powerful”, starts Elmaleh when asked what voice acting does for a game. “We respond to it with instinctive empathy, and I reckon it’s that singular authenticity in these synthetic environments, the fact that it’s probably the one unsimulated piece in the mix that makes it an effective and efficient tool for developers.”
“You’re asked to give weight and humanity to some highly abstract and granular prompts: ‘die by fire’ is the classic and probably most vocally stressful in one go. I love pondering things like how ‘death by fire’ must involve more than just searing, spreading pain, but also emotions like horror, panic and outrage? Character lives in all these exclamations as well as traditional dialogue, and it’s such a special joy to discover and refine it there. Then there’s ‘drop from 30 feet up, losing 2/3 of your health – no, just the landing part, it has to be isolated because the entire jump is going to be pieced together in the engine.”. Sensing my amusement, she added, “There’s also ‘get sniped in the head’, which doesn’t make an actual sound in life.”
The producers have said that it’s impossible for them to share with us the name of the game they are asking us to work on, even if we sign non-disclosure agreements before we come to work.
“Voice acting is actually one of the most challenging types of acting I know of.”, Freeman says, “As a voice actor, you are regularly asked to walk into an isolation booth, you are handed a script you’ve never seen before, you are given the most rudimentary description of your character and the story you’re working on, and then you’re expected to deliver nuanced, believable performances with almost no context and no physical cues around you like a set or costumes to help you understand the nature of the project.”
It quickly becomes clear that the games industry is notorious for its secrecy. The industry keeps asking performers to come in entirely blind, and create characters, personalities, accents, inflections and voices on the fly with no information about the game.
“You rarely get scripts in advance, plus a lot of project information can be obscured, so you’re essentially hired to cold-read. I’ve shown up having no idea what I’m reading before, and it turns out I have to make up a handful of completely different-sounding characters on the spot and/or whip out an accent. And it’s 100% you on the spot, giving this output for several hours due to scheduling and cost efficiency, so it takes stamina and focus”, says Elmaleh.
“Your imagination has to be working over time to fill in all of those gaps. On top of that, you only have your voice to work with so all of your acting ability has to be channelled through that one avenue. In addition, voice actors are often expected to play multiple characters. This means that you not only have to pull all these rabbits out of your hat for one character, but you have to have the flexibility to understand the psychology of hundreds of different types of characters and be able to modify your voice in order to sound like them as well.”
“Our members are frustrated with that lack of transparency.”, explains Jennifer Hale, a prominent voice actress known for the voice of the female protagonist in the popular games trilogy Mass Effect. “We had four main topics that needed addressing, and transparency is one of them.”
“We are often asked as actors to work on projects when we have no idea what we are working on or what the name of the project is. The producers have said that it’s impossible for them to share with us the name of the game they are asking us to work on, even if we sign non-disclosure agreements before we come to work.” adds Freeman. “I don’t know anyone who would be comfortable going to work on something and not knowing what they’re working on.”
After screaming “Grenade!” at the top of our lungs for 4 hours, some of our members have bled from the throat, passed out, even vomited in the booth.
“The second of the four main negotiation topics is that our members are worried about their vocal health”, says Hale. Asked about vocal stress, Freeman elaborates: “Video game voice acting is far and away the most aggressive and damaging type of voice over work that we are called upon to do. The standard length for a voice over session in games is 4 hours. After screaming “Grenade!” at the top of our lungs for 4 hours, some of our members have bled from the throat, passed out, even vomited in the booth. Not all video game voice acting requires those kind of extreme vocalizations, but we asked that when a game calls for that kind of vocally stressful work that we limit those sessions to 2 hours”. The two hour limit for vocally stressful sessions does prominently feature in the SAG-AFTRA communication of why the union is striking. “We were told that was unacceptable.”
Voice actors are increasingly asked to perform motion capture or performance capture too. Hale explains: “Mocap is when performers provide movement for characters in a game. Sometimes, they perform to prerecorded dialogue, and, other times, they create movement cycles for non-player characters. Performance capture is when I show up to a stage and get dressed up in a MoCap suit, plus headgear that has a camera attached to it— like in the movie Avatar. For ‘PCap’, I memorize my lines, perform with other actors, and everything about my performance is digitized”. She adds that there are serious concerns amongst union members regarding how the industry ensures their safety during these capture sessions. “The third main topic in these negotiations is that a lot of our members worried about their safety on the capture stage.“
“Unfortunately, the game producers don’t always hire a stunt coordinator for motion capture sessions in order to make sure that performers are safe.”, Freeman says, “We don’t want normal actors to be called upon to do the kind of stressful or dangerous activities on the mocap stage that would qualify as stunts and that should be done by professional stunt performers. We’ve had actors who’ve had no stunt training swinging from the rafters in unsafe conditions. And yet, the producers are saying they can’t accept our stunt coordinator proposal in the contract and that we should just ‘trust them’. Unfortunately, we have too many actors who have gotten hurt.”
The producers are saying they can’t accept our stunt coordinator proposal in the contract and that we should just ‘trust them’. Unfortunately, we have too many actors who have gotten hurt.
“The fourth concern is that our members are upset that the games contract does not offer any secondary payment structures. This contract is the only one of the SAG-AFTRA contracts with this shortcoming. Every other contract we work under as actors pays us each time our performance is used. It’s a standard practice and one that actors who came before us fought for.”
Hale explains that despite it being a standard practice, the union is not asking for residuals from game developers “Residuals pay an actor each and every time her performance is used. The idea is that my performance is my IP. If you use my IP to make any money for your company, it’s fair that you should share some of that money with me”. She continues, “Our proposed secondary payment structure for AAA video game titles is different. It only triggers if your game is a blockbuster.”
Freeman elaborated: “If a game sold over 2 million copies, the performers would get a small payment. Last year, it would only have applied to 3 games: Grand Theft Auto, Star Wars: Battlefront and Call of Duty. These are the blockbuster games in the industry that gross hundreds of millions of dollars.”
“It also only covers the first four sessions that an actor works.”, Hale added. “It’s based on a shared prosperity model and allows for a small payment -25% of a session fee- for games that sell 2 million units. It triggers again at 4, 6 and 8 million units, then it stops. It also only covers the first four sessions that an actor works.”
Asked how much 25% of a session fee might look in practice, Freeman explained: “So the most an actor would be paid after 2 million unit sales, no matter how many sessions they worked on the game, is one more session fee. An actor who worked only one session on a game would get an additional payment of only $206 if the game sold more than 2 million copies. If they worked 4 or more sessions on that same game, the most they would ever receive is one more session fee which is a total of $3300 after 8 million units sold.”
It seemed absurd to me that these negotiations were stuck over what is effectively payments of $825.50 per 2 million units sold, so I asked for confirmation on those numbers. Hale answers: “Currently scale is $825.50 for four hours of vocal recording in the booth or eight hours of performance on a performance capture stage”.
“Scale refers to the minimum payment an actor will make working on any given project, whether that’s in video games, animation, on-camera, or any other medium. It exists to help new actors avoid being taken advantage of by unscrupulous labor practices. A-list on camera celebrities almost always negotiate their own contracts with producers that are different from union contract minimums, but the vast majority of voice actors tend to work for scale in the world of video games.”, Freeman adds.
That unwillingness to compromise with us on this issue is the main reason we are striking against them.
“The producers gave us many reasons why they could not accommodate this shared prosperity structure. We were told that the game companies do not work like entertainment companies, but instead function more like silicon valley companies. In their opinion, silicon valley doesn’t share their prosperity so they shouldn’t either.”, Freeman continues, “Or that the accounting would be too complicated. Instead they offered an upfront payment structure where they would pay small bonuses in the amount of $50 or $100 every time an actor would come into work. Their system seemed strange to us since it was going to cost them more money and wasn’t tied to the success of a game.”
“We understand that some companies may want to be free of the extra HR hassle”, Hale adds. “We were okay with that as long as the option exists for developers to choose backend payments, if they wish.”
Freeman collaborates the story: “We were willing to accept their upfront payment structure as an option, as long as the producers were willing to allow our option to exist in the contract as well as an alternative. We knew there would be producers who would rather not pay more up front, but instead only share their prosperity once a game was wildly successful. We told the producers we were negotiating with that if they used their upfront payment scheme on a game, that they would never be responsible for any backend payments. They categorically refused to allow our shared prosperity clause even to exist as an option in the contract, even though it was an option they would never have to invoke.”
“That unwillingness to compromise with us on this issue is the main reason we are striking against them. We offered a win-win and they just wanted to win.”, Hale adds. Crispin agrees: “When they took away our ability to give producers choices about how to compensate their actors, they made it impossible for us to come to an agreement.”
I think that’s probably what scares the game publishers the most, that if they give they treat the actors fairly, they’ll have to treat everyone fairly.
Asked about the controversy in the industry surrounding the strike, all three voice actors are clearly distraught by the framing of the ‘actors-versus-the-industry’ narrative that has been prevalent. Hale: “This isn’t a battle between developers and actors. The truth is that we need to work together not only to create fair and equitable working conditions for all of us, but, most importantly, to create the best games on the planet.”
“Developers deserve far better treatment than they often get in the current climate of the industry”, Freeman adds, “I’m aware of the perpetual crunch and the punishing schedules developers work under with no overtime compensation. We are all collaborators in this fantastic medium. We all deserve safe working conditions, more respect for our contributions and to share in the prosperity of these games. We love working with our developer colleagues and we think developers should share in the prosperity of games. It’s common practice for people working at a company to get a bonus if the company does particularly well. The problem is that developers don’t yet have a union to help them in their negotiations with employers. Actors do.”
Freeman theorizes, “If the actors are able to get some kind of secondary payment on successful games, then that sets a precedent for other game employees to get the same. I think that’s probably what scares the game publishers the most, that if they give they treat the actors fairly, they’ll have to treat everyone fairly.”
Elmaleh shares that suspicion: “Developers are as much my chosen family as actors, and I would wholeheartedly support them in advocating for themselves. It’s all a struggle to assert industry-wide best practices for the sake of our health and livelihood, so we can keep being part of creating games as sustainably as possible. Successful collective action that achieves these things could create some powerful precedent for all who make games.”
A quote given to the Financial Times by Howard Fabrick, a lawyer that negotiated on behalf of the game companies opposing SAG-AFTRA’s demands in negotiations for the previous version of the 2005 contract, confirms that this is definitely part of the reason the secondary payments won’t even be allowed as an option in the contract. ““That would set a precedent for hundreds of other people who created a game to say, ‘What about us?’” Fabrick said.
Hale surmises that this is exactly why unions like SAG-AFTRA exist in the first place. “Once upon a time, actors were controlled by the studios they worked for: they worked 15 hour days, seven days a week for wages that were just barely enough to live on. Meanwhile, the studio heads were getting filthy rich off of the new technology of moving pictures. Sound familiar?”
Indeed, reports by the games industry largest representative, the Independent Game Developer Associations, show that the games industry in 2016 does cope with high levels of burnout and turnover, unpaid overtime, expectations of crunch and low job security. Stories of large numbers of employees major companies being laid off for ‘restructuring’ frequently follow highly successful game releases.
“Eventually, some actors decided to stick their necks out and organize for better working conditions and, many years later, for a participation in the enormous profits that the studios were making. SAG-AFTRA provides qualified and talented performers to the entertainment industry, makes sure they are paid fairly and have quality healthcare and retirement benefits.“, Hale concludes.
Asked if there’s anything he would like to tell people reading this article, Freeman is clear, “Most of this debate will be litigated in social media and other media outlets. Give critics the facts. Don’t allow people to speculate or spread false information. Forward them links to websites like SAG-AFTRA’s where there are detailed explanations of which companies are being struck and which are not. Send them to http://www.gameactorsforall.com where they can listen to Steve Blum, the voice actor who holds the world record for being in the most games, talk about the dangerous and unfair situations he’s found himself in while trying to help games be as successful as possible.”
“The original union contract for games was developed in the mid 1990’s when games that used actors were few in number and experimental in nature. After 20 years, games have grown into an entertainment juggernaut. It’s time the publishers grew up and started treating the people working on interactive entertainment fairly.”
The Low Budget Contract I worked on with all three of the voice actors in the article is available now for your review. As long as the industry and SAG-AFTRA can’t come to an agreement, the contract the Low Budget Contract is an amendment to doesn’t exist. That said, you can already get in touch with SAG-AFTRA if you have any questions, and potentially negotiate a deal using an older SAG-AFTRA contract as base for the amendments. I will post about the Low Budget Contract is a ‘full package deal’.
It sure would be a shame if something happened to your dreams of becoming a game dev.
This is an article posted on 20 January 2016 & it'll be forever available at this link.
As a frequent public speaker in the games industry, I recently had the honor of presenting at the lovely XOXO Festival in Portland. As a game developer that cares a great deal about the economical and technological democratizing game development, I tend to speak about the practicalities of the creative process and the commercial aspects of game development. XOXO’s venue challenged me to speak about something more personal, so while I normally focus my talks on empowering anyone to express themselves creatively through games development, I decided to discuss a part of me that I normally avoid in public speaking.
I might be one of the most visible half-Arab and Muslim game developers in the world. I say that with pride and with sadness, because it is a situation I would love to remedy as quickly as possible. A large part of my activities, outside of running an Forbes 30-under-30 award-winning independent games studio, are focused on supporting developer communities and game creators in emergent territories by visiting them – almost always without receiving speaking fee and frequently at personal expense. I strongly believe in the medium of games, but I also believe that diversity is central to it reaching its full potential.
One of the many remaining invisible barriers to the actual and full democratisation of the games industry is cultural democratisation. As you might have noticed during the tumultuous last few years in gaming, gender diversity is currently the main focus of that discussion. Rightfully so, considering 52% of all people playing games are female, versus only 22% of creators. The struggle for racial diversity has thankfully slowly been gaining more mainstream visibility, as slow but hopeful progress is being made regarding gender diversity.
The America- and Eurocentrism of Game Development
The notion that the games industry is entrenched in Western culture is often overlooked. When we discuss diversity, it (unintentionally) almost always discusses the Western notion of diversity. This is, as many of these issues are, exacerbated by the cultural entrenchment and history of computing and the technology sector in general.At the core of these concerns one tends to find the issue of the language barrier. For example, as Aditya Mukerjee remarks in a fantastic piece on the issue, “you can text a pile of poo”, while most languages still do not enjoy full support in modern computers even in 2016. Conceptual artist Ramsey Nasser created a conceptual art piece called ‘Qlb’, a programming language in Arabic –that sadly remains a conceptual art piece to this day – simply because the technical hurdles of implenting it on devices that were meant to process English are staggering.
This means that creatives in non-Western countries have to deal with a ridiculous plethora of additional obstacles on their journey to game development: most if not all game creation tools are provided in English only, programming languages only support primarily English, their language might not properly display on computer devices, information and documentation on game development primarily exists in English, the mainstream games press is almost exclusively English, and in many cases they face a political and geographical distance from trade events, conferences and games press. If you dare to ask a (support) question in any gaming forum in any language but English, you’ll get reminded that this is an English-speaking forum, and then probably made fun off for making a typo.
If any person outside of the Western world is creating games, I can’t but conclude that they’re exceptionally determined to be making games.
Did Rami Get Random Checked?
After the terror attacks of September 11th, 2001, the United States have implemented increasingly draconian security measures in all sorts of parts in life. Getting access to the United States can be a troublesome chore for many around the world, and sometimes requires intervention from ‘Western’ friends or embassies to broker at all. Every time a major Islamic terrorist attack happens, every muslim is held accountable. After the Paris terrorist attacks, anti-muslim sentiment and violence in the West surged.
Not that that’s particularly new: I’m used to the United States overreaching on their security. My advocacy for diversity takes me around the world, and I often fly up to ten times a month. In 2013, I noticed that I got additional checks for an extremely high percentage of my 70+ flights that year. These checks are presented as ‘randomly assigned additional checks’, usually simple procedures that sometimes include interrogation rooms or other delays. As I started talking about these checks with fellow game developers, the notion that they were actually ‘randomly assigned’ quickly became less and less probable.
A fellow Arab pointed out to me that the checks weren’t random after all. My boarding passes had a mark on them that I hadn’t noticed before as being out of the ordinary, since it showed up on quite a lot of my boarding passes.
I am fortunate enough to avoid most of that in my daily life, living in the generally progressive Netherlands. But I’m reminded that I’m “undesirable” every now and then. In 2014, I flew approximately one hundred flights. For the entire year, I publicly kept track of how often I was random checked and where I was random checked. Where most fellow game developers – even those that travel frequently – mentioned having been checked once or twice in their life, I got random checked on one out of five flights. The majority of the checks I received were on flights to the United States, under their Secondary Security Screening Selection program.
So sure, I’m reminded that everybody thinks I might be a terrorist twice a week during a pat-down or interrogation, but that’s “just an inconvenience” to anyone who doesn’t have to deal with that kind of thing. I am scared of checking at what time I can eat during the fasting month of Ramadan aboard an airplane, because doing that often looks like this on a laptop screen.
When I was younger, I learned to avoid mentioning I’m partially Arab or Muslim, even when it was relevant. Then I unlearned it again. My name is Rami Ismail, and I’m half-Dutch, half-Egyptian and raised as a muslim. I am also a game developer.
Let’s look at what Muslims, people from the Arab world, and people from the Middle East look like in games.
I’ve gotten so used to people pushing back on the idea that there are barely any ‘good Arabs protagonists’ in games that I’ve developed a metric I call ‘time to Prince’, the amount of time in seconds between asking the question about ‘good Arabs in games’ and someone mentioning the 1989 classic game ‘Prince of Persia’. The prince is Persian, not Arabic. There’s a hint in the name somewhere.
The few Arabic playable characters that do exist have either been thinly veiled terrorist metaphors such as ‘the opposing force’, or whitewashed to the point of not being recognized as such, or are made to seem as non-threatening as possible. The one example I can think of is 2007 Ubisoft title Assassin’s Creed, which placed you in the shoes of a flawlessly English-speaking Christian and potential Syrian.
Named ‘Altaïr Ibn La’Ahad’, the ‘Ibn La’Ahad’ meaning ‘son of no-one’ and referring to Altaïr being orphaned at a young age. His father was later said to be named ‘Umar’, which would’ve meant Altaïr’s name would’ve been ‘Altaïr Ibn-Umar”. His father’s full name is later revealed to be ‘Umar Ibn La’Ahad’, meaning either his father was also orphanaged at a young age and only passed on the name ‘Ibn La’Ahad’ by sheer ironic accident, or it’s some sort of horrible joke the entire family is playing on everybody they know.
While a lot of the Arabic in the game is spot-on, the voice acting tend to have some rather cringeworthy accent to it. That’s still far better than most games, in which Arabs and Arabic are seemingly considered barely relevant beyond making sure they ‘look like terrorists’ – which, as we’ve all learned from TV Series Homeland, just means you’ve got to play into the bearded men in a desert street stereotype. The budget is going to explosion effects for abandoned cars and IED’s and ragdolls for dead terrorists, so that they fly away properly when shot.
It seems that Western media has agreed that adding some of that “Arabic singing in the background” makes something Arabic. It sounds Eastern to me. And maybe some rituals. I saw Morgan Freeman doing something that looks Muslim to me somewhere in a movie.
Come to think of it, I’ve rarely heard proper Arabic in Western movies or on TV, and I’m not sure I’ve ever seen an flawless authentic Muslim prayer in any mainstream production, ever. It’s a pretty solid reminder we’re the “others”, and it sure seems to suggest that the games industry tends to think of us primarily as ragdolls.
My name is Khan
In spite of a culture in which their culture continuously being ridiculed and antagonized, the games industry is a dream for many Arabs, Muslim or not, and for many Muslims, Arab or not. In 2015, the Global Game Jam, a simultaneous game making competition around the world, had one of its best attended locations in Cairo, Egypt. To become part of the games industry, they have to face antagonism towards and ridicule of their culture and politics, stereotyping, a language barrier, geographic distance, reduced access to resources and marketing, and yet they’re here.
I’ve met many aspiring developers like them around the world, and in many places people face similar problems. Whereever I go, access to funding, tools, documentation, marketing, trade events and language support are mentioned too. Russian developers lamented the one-sided and poor representation of their country, history and language in “historic” games. South American developers discussed the “South American threat” trope in modern shooters with me. They don’t feel taken seriously in the medium, and they want to make a difference. They want to make games. So they decide to download one of the most popular game development tools in the world.
The screenshot, posted by Zakir Khan, shows up when registering an account for the Epic Games website. While they were signing up for access to the Paragon beta, the Epic Games website does not only include games but also one of the most well-known and powerful game creation tools on the planet. Apparently the combination of one of the, if not themost popular first name in the world, and one of the most common last names in Asia, prohibits you from downloading the development tool at all. An imposing message notified Muhammed Khan, who was born with two of the most common names worldwide and literally has a movie named after this same type of confusion, that they’re blocked from creating an account because their first and last name is blocked by the United States of America’s Office of Foreign Assets Control, because they’re a Specially Designated National.
It sure would be a shame if something happened to your dreams of becoming a game develope
After some digging, it quickly became clear what happened: the US maintains a sanctions list called the OFAC SDN. The purpose of the SDN is to help US businesses identify people they’re prohibited from dealing with due to terrorism, narcotics, or economical sanctions. People included can be part of dozens of ‘sublists’, including Denied Entry lists, US PATRIOT Act lists and Sanctions list. The entire list is 1008 pages long.
So if your name happens to be in this 1008 page list, the USA suggests you maybe forget about your game dev dreams. https://t.co/N8taNcCnL9
US businesses are to avoid doing business with any person or entity on the list, risking criminal penalties for willful violations including fines ranging up to $20 million and imprisonment of up to 30 years. Some civil violations can be fined over a million US dollars for each violation.
Proper implementation of the OFAC SDN list is as follows: if a probable match occurs, US entities are requested to take steps to ensure it is not an exact match, first by checking against the rest of the available information. Further steps often require manual intervention. To ensure no rules are broken, companies are encouraged to “freeze” any assets or transactions under “duediligence“, whether it’s service- or money-based, until further checks have been completed.
We need more diverse diversity
Two hours after the issue was reported, Epics’ Tim Sweeney offered this competent and genuine apology
@Muzzakh@imraansiddiqi Understood and sorry. This is bad filtering code. It checks a Federal export restriction list based solely on name!
With that, many would consider the issue resolved; but obviously I disagree. While the response itself was great and worthy of praise, I disagree that their handling is to be applauded, as in the meanwhile, the actual issue remains. Thesymptom was rapidly and perfectly dealt with, but one can’t help but wonder how many Arabic, Persian and Muslim developers without a visible social media account ran into this issue & gave up on UDK, or worse, discouraged from game development entirely. The issue is that nobody with proper understanding of the impact of this system was requested to look at it, or nobody with that knowledge was available at Epic.
Because how is it possible that engineers for a major coorporation in a global medium didn’t once think, ‘maybe implementing this list by names only is a bad idea’? Any person even remotely aware of the Middle East, the Arab world, or Islam, would’ve been able to tell you filtering by Muhammed would be a bad idea. Or someone simply didn’t give it any thought, despite literally withholding access to their product and service at the most basic level.
And if the only person touching this filtering system was an engineer, that’d be bad, because not only is it a bad implementation by the standards offered by the OFAC, it also involves a diversity problem that should be dealt with by someone versed in those issues. If a designer touched this filtering system, it’d be bad, because they clearly lacked the understanding that would’ve helped them realize that almost 2 billion people on the planet are at a relatively high risk to be negatively impacted by this.
Even though Epic Games seems to have not implemented it, it seems many implementations of the OFAC SDN list use fuzzy string search<, or approximate checks, to further reduce liability. And while it sure is a great way of reducing liability, using fuzzy string search for this is a bad idea. I’ve entered the names of every prominent Arab or Muslim developer I could think of into the official SDN Search Tool, and at 90% accuracy it return the majority of them as a positive. At 85% accuracy, it returned all but one developer. I was included as a positive in that list. The only developer that didn’t return a match is literally royalty.
The world is a big, complicated place, and we all make mistakes. One part of dealing with mistakes is acknowledging them, taking responsibility, and fixing them – as Tim Sweeney so eloquently did in less than 140 characters. Another part of dealing with mistakes is ensuring there’s a structure in place to ensure similar mistakes are less likely to occur again.
Part of improving, and diversifying the games industry is gaining an understanding of the challenges that exist in emergent territories, and understanding the challenges that exist simply because of the West’s primary position in the games industry.
We need to understand that, while our progress regarding visible diversity issues is extremely important, diversity cannot be limited to those things that are already visible as problems in our industry. Part of diversifying a medium is understanding that the invisible voices are those we need to be listening to most. Part of diversity efforts should be an understanding that diversity is a powerful word, and that any diversity effort itself will always fail to represent all that it means.
Muhammed Khan, whoever they may be, wanted to make an account on a website that contains games and game development tools. That website, and through it our industry, no matter our intent or goals or reasons, told them that they weren’t welcome.
We need to do much better than that.
This is an article posted on 1 January 2016 & it'll be forever available at this link.
It’s January 1st and even though that’s an entirely arbitrary measurement of time that we came up with a few centuries ago, it means yesterday was a day of entirely arbitrary customs and celebrations. Real life mimics videogames sometimes, I guess. I’m not complaining, because to me, it’s a day of oliebollen, family, friends, reflecting on the year that has passed and celebrating the year to come. It also means I’m reflecting on 2015, and I’m just going to braindump everything I’m thinking right now into a giant blogpost, so that I can read this in seven years and wonder what the hell was up with 2015.
2015 was a long year. It’s not that it wasn’t interesting – it was fascinating in so many ways, but it was fascinating in so many ways. Such a ridiculous amount of stuff happened.
Destiny: The Taken King takes the honor of most played game this year – again. The Taken King shows Bungie coming to an understanding of what Destiny is, and how their abilities and experience can tie into that experience. After the somewhat unnatural motions of the narrative and level re-use, The Taken King offers Bungie’s trademark action sequences and a tremendous example of re-use of existing content with new content to create all-new feeling content. My favorite conversation about the game was with budding designer Lisa Brown, with whom I talked about how clever the Taken as a construct are to allow for never before seen enemy combinations. The Oryx raid also makes for exceptional time with friends, and beating it for the first time is a great feeling.
The double jump is also still really good.
I spent quite some time racing around the bizarre United States of The Crew: Wild Run, and spent a lot of time playing Rocket League and slowly mastering my first ‘dunk’ goal. I went back to play a lot of games series that have been around for at least five years, trying to catch subtle evolutions of mechanics and understandings of design. I ran through The Master Chief Collection and the Nathan Drake Collection, and had a great time looking at how they changed. I can’t wait for (more) Mass Effect and Gears of War remasters.
There was a lot to see in 2015 in games. A lot of experiments in structure that were fascinating, from indie games like Undertale’s ‘Save The Date’-esque persistence both in the gameworld and outside of it, to AAA games like Black Ops 3 allowing you to play its campaign in any order, or Sunless Sea playing with the idea of legacy.
One of Eric Pope’s last achievements at Harmonix must have been that he finally convinced me to buy Rock Band 4, so I did, and I tried playing the drums and never stopped since. I play for an hour every day, trying to gain the elusive skill of limb independence, and after a few weeks I’m slowly getting there. My sense of rhythm is still nothing close to good, but that’s slowly getting there too.
I am also super excited to see the evolution of design to account for Twitch spectatorship, especially after games like Jackbox Party Pack and Party Hard are paving the way for more thought-out integrations. It has been fascinating seeing Free to Play mechanics and structures slowly working their way into paid games. Thanks to both of those, crafting and procedural generation are very 2015, even though they’ve been around for a bit.
Sadly, with that, open-world games also finally stepped over the line for me in terms of investment against what I get out of it. Fallout 4 didn’t grab me despite clearly having a lot of love poured into it, Metal Gear Solid: The Phantom Menace is lovingly designed and intricately crafted, and also not for me. The Witcher 3 has my favorite games moment of the year in the Bloody Baron quest, but immediately loses its sense of pacing after that. Dying Light never got a second chance from me after early pacing issues (I should give it a second chance). Just Cause 3 is the closest to open world I saw, and I enjoyed that immensely.
And that’s just games. There was so much this year! I didn’t have too much time to delve into movies deeper than the blockbuster layer this year, but I’m looking forward to spending some time seeing what else happened in 2015 in cinema – based on their AAA stuff, though, it was a great year. Mad Max: Fury Road was great, Inside Out was sublime and The Martian was brilliant. Beyond that, The Man From U.N.C.L.E. was a start-to-finish grin, Furious 7 was a lovely movie and a worthy send-off, Ex Machina was fascinating (and a great movie to argue over). The Force Awakens was a worthy successor to a series I fondly remember.
I listened to the Spotify Global Top 100 the other night, and I was surprised by how much music on there I thoroughly enjoyed. I got my own ‘Marioke’ song earlier this year, a variation of Sia’s Chandelier. I built up a tradition with CHVRCHES, them being at every games event I skip, and me being in cities they’re playing at days before or after they go there.
I didn’t read too much exceptional stuff this year, but I did read a reasonable amount. Maybe I just wasn’t in the mindset for it in 2015. My most recent reads were Death by Video Game by Simon Parkin and Embed With Games by Cara Ellison. I also re-read Ventus by Karl Schroeder, which remains one of my favorite books after it got recommended to me by a friend a few years ago.
It was a strange year in gadgets. I was amazed by the HTC Vive, bought a DJI drone for my birthday and crashed it immediately (luckily only destroying the majority of the propellers, which thankfully can be replaced). I was thoroughly impressed by the Hue Tap working without batteries or electricity (it gets its charge through the interaction!). I kind of fell out of love with the iPad Air, but I did get a iPad Pro for testing and surpisingly liked it.
For travel, I bought a HORI Playstation 4 monitor that has become a travel mainstay, and got a Casio Solar Edifice Black watch that is not a smart watch, but does automatically adjust to my time zone – which is lovely. I switched out the Parrot Zik 2 for a Bang & Olufsen H8 early on in the year, and by the end of year switched to a Sennheiser Momentum Wireless set because, while lovely, the touchpad on the H8 kept messing me up. The Momentum Wireless has enough battery to last the DL201 flight and a transfer, which is really all I need.
My old trusty Samsonite Pillow backpack, the one I bought after my identical one was stolen at E3 a few years ago, finally gave up on my trip to Hong Kong, and was replaced by a Samsonite Pro-DLX 4 17” backpack. They don’t make the Pillow anymore. I carried it home, and it sits in a cabinet full of memorabilia from my life (I also can’t bring myself to throw out the leather jackets I own).
As for what I carry in it, my old MSI laptop died within the year, and their customer support was the least pleasant experience I’ve had with customer support on this side of cheap ISP’s. Buying a new one, the HP Omen won out over the Razer Blade. It looks pretty silly, but it’s a powerful laptop that is both useful for work and entertainment. I’m pretty happy with it, but the battery life is awful, so I still have to carry my trusty Macbook Air. I can’t wait until they properly figure out the Microsoft Surface Book series.
The Samsung S6 Edge+ was my phone upgrade this year, and it works pretty well if you’re carrying a multitude of portable USB batteries around. Did you know the majority of the planet doesn’t carry portable batteries around? I do now, after spending an hour in the cold in Philadelphia outside a door without any charge in my phone, unable to get the people inside to look for me.
I saw a lot of the world this year! Hong Kong was a personal favorite, with a lovely and growing indie community. This year’s A MAZE Johannesburg was so, so lovely as usual. I had a great time in Skövde, Sweden and spent some time in Dundee, Scotland with YoYo Games. My return to Buenos Aires was an amazing trip that led to my favorite memory of 2015: singing a Dutch song during an impromptu improvised karaoke in the cellar of a bar – with two dozen variably inebriated Argentians trying to sing Dutch along with me.
In terms of people and experiences and memories, 2015 was lovely. There was Train Jam again, or a great night at a silent disco in Philadelphia at the Forbes 30 under 30, playing The Beginners Guide as a full game after discussing an earlier version with months earlier, having friends over with their Xbox One’s because supported or not, we will play the Halo 5 campaign together. Adriel and I drove from San Francisco to Los Angeles with Adam Boyes in the back of our car hours before his E3 stage performance. I ate a ridiculously hot habanero pepper on a YouTube show together with The Future Host Of The Star Wars Premiere and Shuhei Yoshida. I spent a lot of time with people that inspire me, veteran developers whose work I’ve played since I was a kid, spent a lot of time with developers all over the world making amazing stuff, went to magic shows with close friends, and wandered fields and mountains alike. I spent a few days in a little cabin in the middle of nowhere with Adriel, near a giant crater lake, just doing nothing.
I’ve spent time with old friends, and met a lot of wonderful new people.
In terms of my talks, I think I’ve given some of the best ones I’ve done this year. I noticed that I’ve slowly transitioned my talks a bit – I used to be of the mindset that I’d rather be slightly over-optimistic than scare off potentially great designers, but I realize my words is rather unlikely to scare away somebody that’ll do great work. Instead, I focused more on the challenges and realities of independent game development, giving practical advice and reality checks. A last-minute talk in the Netherlands in that style was extremely well received, although it might’ve shattered some dreams here and there. I’m still not sure where the tone of my talks will evolve to, but I’m still enjoying doing them a lot. My audiences seem happy, so that seems like a good deal.
gamedev.world is still on hold, while I wrap up on my final responsibilities on other projects. I’m extremely excited to start working on it after the announcement earlier this year, and most of the pieces are in place, but after two false starts, we’ve decided to take more time to think through the project. The project comes with a lot of responsibility, and we intend to do it right rather than fast.
distribute() finally gained steam, after investing a reasonable amount of money and working on it for over a year with fellow developer Martijn Frazer. presskit() obviously has way more reach, being free and self-hosted, but distribute() fills a void that no one had filled yet. I’m seeing different services pop up that offer the same services for a small fee, and I hope distribute() being free indefinitely will force those other prices to stay affordable for independent developers.
Finally, and obviously, we released Nuclear Throne. I am so extremely proud of what we’ve achieved in the two and a half years we’ve been working on it. It was such a long stretch, and we could’ve not gotten this far without support from Steam, Twitch, Humble, YoYo Games and SONY. We spent so much time working with lovely people. The sales figures are wonderful, the support we’ve had from new and old fans alike has been overwhelming, and people’s patience with the problems the game had on launch was heartwarming. Nuclear Throne is sitting on a 9.0 score average, and we’re receiving enormous amounts of fanart and love. We’re currently working on ensuring the game is stable, works well on all configurations, and getting a patch out for Playstation platforms.
There are quite some lessons to be learned from the development of Nuclear Throne, but that’s a story for another day, when we have some more distance and perspective.
It’s never going to ‘click’ for me that I have an opportunity to have a positive impact for creators worldwide in this medium, but I’m slowly learning to deal with things like the responsibility of having a 100,000 Twitter followers, or getting recognized at events (or even in public sometimes). It’s odd, but I’ve been on the other side of that so often that I’m extremely grateful to anyone who decides to come over and say ‘hi’ despite nerves or hesitations. If you ran into me in 2015, but didn’t say ‘hi’, please do so next time we run into each other. If we don’t run into each other in real life, maybe come hang out in one of the livestreams. I intend to do them a bit more frequent – and a bit more scheduled – this year.
For now, I continue to be so grateful for the fantastic people around me, and the people I interact with and run into around the world that continue to grant me more hospitality and friendliness than a traveler like myself could possibly hope for. I hope to travel, learn and make so much more, and to share those stories with you.
Best, — Rami
Tips for development streaming
This is an article posted on 11 May 2015 & it'll be forever available at this link.
Livestreaming. It’s kind of a big thing nowadays, and for many developers it’s increasingly common to stream their work or game as they develop it. At Vlambeer, we’ve been livestreaming the development of Nuclear Throne twice a week, and the results have been rather stellar for a two-person studio/six-person team. Streaming can help with building community, getting feedback and keeping you focused and motivated. But streaming might seem daunting, and since it’s public-facing you might want to start slightly prepared.
In the past few weeks, I’ve been slowly getting my new home office set up for proper streaming, and although I’m not quite done yet, this post is as much of a ‘to-do list’ for myself as a ‘best practices’ that I’ve learned over the past two years of streaming.
Get set up
Getting set up for streaming is kind of a hassle. In general, it consists out of four elements: you need to set up your physical space, you need to set up streaming software, an online channel and general assets. I’ll run through what you need as a minimum and what I use personally.
The physical space
Setting up a Twitch stream sounds simple, but it actually gets relatively involved. Making sure your camera, light and sound are properly set up takes a bit of effort and knowledge. In general, you want a high quality microphone, a mid- to high quality webcam and a well-lit room. Finally, you need either a plain background or an interesting backdrop.
Computer and internet connection
To stream a proper high quality stream, you’ll need a decent broadband internet connection. Note that most internet service providers advertise only their download speeds, and you’ll want to check whether their upload speeds hold up. With 10Mbits up you should be able to stream relatively well.
You’ll also need at least one computer equipped with a relatively capable graphic card. While you can stream from a single computer, some people use a setup where one computer is used for gaming, and a second, capture-card equipped computer handles the streaming itself. In most cases, a relatively high-end laptop or a mid-end desktop suffices. I’ve streamed from a Lenovo Y510P and currently stream from a docked MSI GS30.
If either of these conditions are not met, your output will have hiccups and stalls, creating a rather poor viewing experience.
Finally, since you’ll likely be using full-screen applications on one screen, having a separate monitor to keep track of your streaming software and chat is an extremely useful aid in livestreaming. Some people use an iPad or similar tablet device for those purposes and set hotkeys to switching scenes.
A common streaming microphone is the Blue Snowball, which costs about $100 and stands on your desk. It’s a microphone that is relatively versatile, allowing you to set it to both omnidirectional and cardioid (unidirectional) capsules depending on your needs. The downside to the Snowball is that it sits on your desk and even in the unidirectional mode picks up a lot of background noise, including your computer hum and keyboard sounds – especially if you have a mechanical keyboard.
For a slightly pricier but more advanced solution, I recommend the Rode Podcaster with the shock mount and mounting arm. The total package costs about $300. It connects relatively easily to most desks and has superior audio quality – but more importantly, it manages to strike a perfect balance between clarity and filtering out unwanted sounds. It also allows you to hook up a headphone directly to the microphone so you can hear the raw output of what you sound like, or the full output on the computer you’re using.
In all cases, you will want to play around with the volume settings on the microphone. Open Audacity and set the program to record. Turn on every possible background noise you can find, stress your computer with a graphics benchmark, turn on your air conditioning and run the dishwasher, and then mash your keyboard while speaking at regular volume in a normal manner. Play with the volume settings on your microphone or in your operating system until the recording is just your voice.
In terms of camera, your main consideration is the resolution and framerate. Most decent HD webcams will set you back about $50 to $129, and I personally use and recommend the Logitech C920. Very often, stores will try to upsell you on light-sensitivity, which allows you to record better in low-light environments. Since I recommend streaming from a well-lit room, I don’t think this should be a consideration in your choice. What is relevant is in what ways you can set up the webcam – some can be attached to the top of a computer screen, while others have to stand on a desk. Make sure you pick one that fits your streaming set up.
Like with any visual recording of reality – whether it’s photography, drawing or video – light is what decides whether your stream will actually look good. Even the best camera cannot turn a bad lighting situation into something decent-looking, so this is something to think about properly. While you can technically stream using sunlight, the sun creates highly diverse and unpredictable light patterns, and I generally recommend eliminating it as a factor through curtains or blinds.
The optimal light situation includes two lights on either side of your screen, and one light – a rim light – right behind you, out of frame. This set up is called a three-point light setup, but similar results can be achieved using two lights or even a single light, depending on the distance to and the color of walls and ceiling.
The effect you’re trying to create is that your face is fully lit, but that creates a really flat look. By making sure one side is slightly less bright than the other, you create a bit of depth and shade. Finally, the rim light accentuates your silhouette and creates distance between you and the background, while keeping your background well-lit.
This doesn’t need to be expensive. I’ve seen professional looking light setups created by proper positioning of the desk, two IKEA lamps with dimmers and some lampshades, while using a single ceiling light that was already in the room as a rim light. Professional light kits can get really expensive, and what you’re paying for is versatility. Since you’re dealing with static circumstances, the expense is rarely worth it.
You’ll either want a flat, single-color backdrop, or a background that is rich and decorated. Whichever you prefer, getting your backdrop right can make a huge difference in how professional your stream looks. If you have a flat, single-color backdrop you can consider using ‘chroma key’ to create a visually interesting backdrop – or alternatively you can actually use a green screen. In general, posters and filled book, movie or game cabinets create interesting visual backdrops without being visually overwhelming.
For your channel, you’ll have to register with one of the major streaming providers. There are many, but generally three are popular. Twitch is notable for a strong focus on games, YouTube is kind of for everything and Hitbox is an upcoming platform in the gaming market. To set up a channel, you simply create a profile. Take plenty of time to get things right – tweak your descriptions, set up panels, find good avatars and backgrounds and images for when your stream is down.
If you have a schedule, you probably want to put that in the description, and any rules that are relevant might be best left there as well.
Finally, you want to consider a good chat bot for your channel to enforce those rules. Nothing works as well as human moderators, but chances are that those are either unavailable or not always available. The most popular options are Moobot and Nightbot – both of which use a freemium model. Basic functionality is free, and more advanced functionality and customization is paid.
In both cases, you can set the behavior of the bot through a dashboard, allowing them to welcome people to the stream, inform them to follow or subscribe, show how long the stream has been going or timeout or block people misbehaving or spamming. Take some time setting up your bot properly, as it’ll save you and potential moderators a lot of time.
When it comes to livestreaming, your OS options are generally limited to Windows systems. While there are some exception to that rule, currently the most popular tools for livestreaming have their only or best offerings on the Windows platform. You can generally choose between the freeware XSplit (which also has paid premium functionality) or the open source OBS.
Whichever you choose, the tools work relatively similar. You can create ‘presentations’ which consist out of ‘scenes’, and those ‘scenes’ in turn consist out of ‘sources’. You can think of a presentation as a blueprint for a specific show. Scenes are different views that you will show your viewers. Finally, sources are inputs, like overlays, webcam feeds, a window on your screen or an entire monitor.
In general, you’re going to want to create at least 5 scenes: the pre-show, full-screen camera, picture-in-picture camera, interruption/break and post-show scenes.
The final part of setting up your software is to connect to your streaming service of choice. Most popular streaming tools have settings pre-configured for popular streaming services (Twitch, YouTube and Hitbox) when you’re setting up. Usually, this is where you configure your bitrate – some tools allow the software to handle this for you, but play around a bit with these settings.
The lower the bitrate, the more your GPU will have to handle before sending a smaller stream over your connection. The higher the bitrate, the less compression but the more capable your pipe has to be to handle the data being sent. In general, setting your bitrate to about 80% of your upload speed should be fine, but you probably want to experiment a bit with this too.
Learn proper streaming etiquette
Livestreaming is an exciting place to be right now – not that different from the indie scene back in 2008-2010. It’s transitioning rapidly from purely a hobby to something that can be a job, and it has its own heroes, publishers, drama and struggles. Being a young community, the atmosphere is generally collaborative, which means that to be a part of the community requires you to actively participate in it. Visit other livestreams and casters, try to keep up to date on events and vocabulary and see what kind of things are popular. You shouldn’t want to copy all that, but you should try and at least stay informed. If you enjoy watching livestreams, that shouldn’t be a problem, but if you’re not really someone that watching streams, it might be worth forcing yourself to. Streaming, as it happens, also has its own etiquette.
If you’re visiting another stream, make sure to read the rules for that particular stream. Generally avoid self-promotion unless given permission, and don’t post links or repeat messages. If you want to be part of the conversation, go for it. If you’re just trying to drop a link and get out, that’s not going to get you any goodwill. At worst, it’ll get you a ban.
A lot of getting used to Twitch etiquette has a lot to do with understanding the rhythm, delays and cadence of the chat. Twitch chat can get really chaotic, and part of it is knowing when to speak and when to avoid speaking. While a lot of people in chat are annoying, spamming or just flat out immature, you’re going to have to be better than that.
To build meaningful connections, you probably want to visit a stream multiple times. Streaming and stream chat are extremely ephemeral, and it requires some repeat interactions to make people remember you.
Streaming is interacting and allowing interaction
One of the key things to realize about streaming is that –in almost all cases- a large part of it your success stems from interacting with your community. You can achieve that by frequently responding to the chat, by acknowledging new followers or subscribers, by having sub-only events or by playing games with your community. If you spend some time hanging out in popular livestreams, you’ll notice that while most streams adhere to those ideas, they’ve all personalized them in ways that feel genuine or fitting.
Streaming, similar to (good) public speaking or improv, is a combination of sincerity and stage presence. It’s fast-thinking, interactive and often unpredictable. You want to be able to respond to a joke in a sincere way, but not have that response feel out of place with your persona. To be able to do that, you’ll have to build your identity around yourself. If you’re not somebody that speaks a lot, don’t feel pressured into doing that. If you like jumping around and tend to shout at things, do that. Either way, figure out how you can take ‘you’ and turn ‘you’ into a show.
It’s important to realize that ‘you’ are an important part of the community you’re trying to build, you alone are not enough to build a community. In the end, a community is a group of like-minded people. The reality is that if you’re the shows’ creator (ie. a creator), and the community is viewers (ie. a consumer), chances are you’re not actually like-minded – even though it might seem like it. What you want to do is ensure the community interacts with itself.
You want to encourage that, and there are several effective ways of encouraging such interaction.
Using overlays to celebrate new followers or even having the chat overlaid on-stream can help make your interactions more interesting and more transparent. In turn, that transparency allows people to feel like they’re part of something larger.
Predictability is a huge help too. Casting at specific hours, having recognizable patterns or elements to your shows, responding to follows or subscribes in specific ways – learning how something works makes people feel comfortable. It also allows for rituals to take root in your community, like ways the community welcomes new followers.
Pre-stream and post-stream were some of the best advices I’ve had for my livestreams. You announce your stream, and then instead of immediately starting the shwo, you go live to a static image that indicates that you’ll go live soon (some streamers use count-down timers), and play some music (that you have the rights to). You leave that up for ten to fifteen minutes, allowing your followers and viewers to talk amongst themselves and get excited for the show. You can do the same thing at the end of your stream, the post-stream, allowing people to say goodbye for a bit before signing off.
You can also promote interaction between streams. Twitch allows streamers to host other channels, but a less committal and very common thing is to raid friendly channels. While the exact definition of raiding varies, the idea is that at the end of a stream, the caster picks a new channel for their viewers to go to. Sometimes, a caster will ask those raiding to post a message in the target chat, announcing their arrival.
Dare to ask
Twitch doesn’t seem particularly fit for short-form content, and it’s generally more of a slow-burn. While our Vlambeer streams frequently attract several tens of thousands of viewers, the amount of simultaneous viewer count has very rarely gone over 1,500. We tend to stream for five hours or more.
For the first few weeks, we got barely any followers, despite being on the front page of Twitch every episode. It wasn’t until my younger brother pointed out we weren’t asking people to follow us that we realized how important it is to actually ask people to do things.
No matter how corny it sounds, you need to say “If you like the stream, please hit the follow button”. Teach yourself to directly ask people for things you need. Don’t hint at it, don’t expect people to do it on their own, ask. If you need donations, ask for donations. If you need followers, ask for followers. If you need subscribers, ask people to subscribe.
You have to dare to ask. Your audience will ask things of you. Find a nice balance, and enjoy streaming!
Six stages of game dev community development
This is an article posted on 16 April 2015 & it'll be forever available at this link.
During the last few years, I’ve found myself focused on community development in emergent territories around the world. Territory is loosely defined here: it can be a city, a province, a state or an entire country. Game development communities tend to develop along very similar lines, and at some point I’ve started to mentally organize these community growth thresholds into a model. Note that this model is not scientific in any way, and is mostly used by me personally to figure out how I can help a certain territory when I visit. Many people I mention the model to asked me to write things down, and many developers in emerging territories found it interesting to talk about where they fall on the scale. As such, here’s my six stages of community development.
The model is separated into six major stages that communities go through. Certain communities can skip steps through governmental or cultural support, or in some cases even thanks to one or several well-intended individuals throughout the community. There are historical moments in which certain territories have fallen back one, or even multiple stages.
Stage 1 is one of the less common stages around the world. In this stage, developers do exist in a territory, but are spread thin and often unaware of each other’s existence. No events exist, or the events that exist are extremely local. The goals of a territory in this stage are very utilitarian: the dream is to make money. Developers are commonly amateur developers without access to knowledge that is prevalent throughout the industry, and the games they make will very often be limited both in execution and cultural value. As such, games very often (closely) resemble ideas already prevalent in established territories.
Stage 2 is the most common stage around the world. Developers in the territory have found each other, established communication hubs and organized internal events for the full territory. In most territories, thought leaders emerge from these meetups, creating informal community leaders. Exchange of knowledge rapidly becomes prevalent in the territory, and with that a voice emerges for a territory. Since knowledge shared is mostly based on assumptions made by unestablished developers, the growth of such a territory is usually limited. In this stage there commonly is a noticeable lack of understanding of basic concepts as ‘polish’, ‘game feel’ and ‘context’, because such concepts evolved as jargon in established territories.
In Stage 3 the focus moves to international knowledge exchange. Either the territories events or community leaders invite external thought leaders or experts, or developers from the territory visit events in established territories, creating informal ambassadors. Existing knowledge in the community is validated or invalidated through this collision with the established territories. To create more reach, a territory joins international organizations such as the IGDA, or establishes local organizations or groups that speak on its behalf. Companies rapidly grow to adapt to the structure of the international games industry, learning to reach out to press and media. In this stage, a territory defines an identity, but not a cultural flavor. Commonly, the goal for developers is still ‘to make it big’ in ‘the West’, and as such games still overwhelmingly resemble existing popular games, often with a minor twist.
This is by far the most important stage. This stage begins when a hero emerges, and international knowledge exchange has been established. A hero is defined as any individual or company that has reached economical and critical acclaim in the established territories. These heroes bring in valuable money, contacts and knowledge, and often act as a bridge between the international industry and the local industry. More importantly, the hero validates the idea that game development can be lucrative, and presents a measurable point of success for other developers to look up to. Ironically, this stage often includes a lot of developers making games based on similar ideas as the hero game, even though the hero game is frequently highly similar to a game from an established territory. Developers in this territory frequently refer to the hero when asked about their work.
Stage 5 is the most common stage for Western Europe and large parts of the United States. Commonly, the visibility of the hero has created a huge influx of new studios and developers, and with that a huge new influx of ideas. Local developers stop looking up to the hero, and start rebelling against the hero. In this stage, the goal for many developers is to be like the hero developer, but “not that”. In stage 5, multiple heroes emerge rapidly, diminishing the value of a single hero. During this phase, a territory evolves a more cultural perspective on games as the goal shifts from trying to prove game development is a feasible expense of time to making interesting content. As the community grows more comfortable, games become more personal and less utilitarian.
In stage 5+, a territory is seen as a thought leader in the international games industry. Very few territories ever reach this stage, and it is my belief that there is no possibility for very many Stage 5+ territories to exist at once. Note that the existence of large international events in a location does not automatically create a Stage 5+ territory, but that it should be seen as a fleeting and temporary status as a thought leader. Many Stage 5+ territories float between Stage 5 and Stage 5+ continuously.
Ways of assisting a territory
I want to emphasize once again that these are simply my thoughts on how to best help a community in a given stage. None of this is scientific, and a lot of this has developed through personal preference and experience over the past few years. I don’t take these considerations as ‘formal’ myself, and will usually figure out what I’ll do after getting my bearings in a territory. In general, they fall within or near the parameters I discuss below.
In stage 1, it is my belief that interacting on a community level is potentially damaging to evolving a local culture of game development. As such, I talk to individual developers, usually with the recommendation to start local meetups.
In stage 2, the most useful thing is to share knowledge about basic design concepts and frameworks, how to give and receive feedback, and introduction-level ideas about marketing. If game jams aren’t prevalent in a territory, I recommend organizing game jams.
In stage 3, the most useful thing is to focus squarely on specific developers. In the case you come across a game or a developer with potential, using your existing network to introduce them to parties that can help them out – whether those are platforms, media or publishers – can be critical.
In stage 4, focusing back on community-wide issues is generally the best way of helping. Postmortems, business talks, talks that are specifically focused on dealing with platforms that aren’t prevalent but available in a territory and in-depth exploration of cultural concepts are useful here.
In stage 5 or 5+, one can assume that a territory is aware of most trends, issues and ideas in the industry. Since at the start of stage 5, territories become more distinct from other territories, it’s impossible to say what will be useful in these territories.
The wonder of emergent territories is how much a slightly different perspective on history, culture, art or play can bring to our medium. Some of my favorite conversations of 2014 took place in countries like Uruguay, Argentina, India or Taiwan – places that you wouldn’t immediately think of when you think about games, but are rapidly growing to be a big part of our industries cultural output in the future. At the Games for Change conference in New York City next week, I’ll be presenting a curation of games from around the world that I feel express their territories culture in an interesting way.
Let me know if you recognize your own territory in the model, and what stage you think your territory is in currently and why.
GDC 2015: Teaching Arabic, the language barrier & introducing gamedev.world
This is an article posted on 2 April 2015 & it'll be forever available at this link.
I will be writing many more words about gamedev.world in the future, but for now I want to take you back to where it was announced. One could say I’m a veteran speaker at the Game Developers Conference by now, but the weight of the announcement definitely had me a bit nervous. This year, I was lucky enough to have a talk as part of Richard Lemarchand’s Microtalks. Richard is an amazing inspiration to me, both in his work and in his tireless optimism, kindness and care for the medium and the people that contribute to it. The entire session is wonderful and full of powerful talks, some lovely talks, some clever, some unexpected but all of them thoughtful and engaging.
My talk is towards the end of the panel (it starts at 55:50), but I would urge you to watch all of them if you have the time.
During my main session in the Advocacy track, I used a novel way of getting my point across. It’s really hard communicating the severity of the language barrier to people that (overwhelmingly) understand only one language – which is sadly still a very common situation in the United States specifically – so I had to approach my talk a bit more carefully. In my microtalk, I decided to not use written English unless it was a single word or used as illustration. For the main talk, I would teach the entire audience Arabic.
All of my talks are available on the GDC Vault, which is a veritable treasure trove of wonderful talks -of which many have been made available for free– by the Game Developers Conference.
This is an article posted on 23 March 2015 & it'll be forever available at this link.
Most of my metaphors about game design mention trees. I didn’t think much of it at first – after all, why would my choice of words matter that much – but then again, I gave a talk on the importance of language at GDC just the other day.
Whenever I teach a guest college to game students, I do an exercise inspired by Interaction Designer Norbert van Geijn. He used to teach class at my university before I started Vlambeer with Jan Willem Nijman, and one day he did an exercise about the fallibility of words. He asked each student to write down whatever word came to mind when he said the word ‘sun’. After a few seconds, he asked a person in the class to read out what they wrote down. Someone wrote down ‘light’, and someone else wrote down ‘yellow’. ‘Holiday’, ‘Warmth’, ‘Summer’ – I had picked ‘Egypt’. In a class of sixty, the frequency at which two or more people picked the same associative word was less than ten percent.
What he was getting at was that words exist in the context of our own knowledge only, and that our choice of words is never coincidental. That class, many years ago, was what made me realize that my metaphors aren’t about how games relate to trees, but how the process of making games relates to trees.
Games are not just mere calculation. Sure, a lot of games are the product of calculated design, writing code, adding assets and wrapping things up. The games that are really impactful tend to be a result of growth, of something almost organic. They start as mere seeds – a singular point of inspiration. Then, the seeds grow into saplings with a direction – a three-dimensional vector, something one can pursue. Eventually, these vectors grow into a tree, growing into a shape rather than an abstract arrow.
We can plant a tree, we can nourish it, but ultimately we have to accept that the tree is its own living thing.
Very often, when we have game ideas, they are oddly defined. There are arbitrary specifics, like a boss fight at the end of the third chapter, that float in the periphery of our mind. They’re nonsensical, and frequently they end up being scrapped halfway through the project anyway. But they’re seeds.
We find a spot where we want our tree to grow, a spot right beneath where we intend the tree to grow. The seed, our inspiration, grows into thin saplings. We work on our game with blind enthusiasm, those first wonderful weeks of developing something with potential.
And then suddenly we’re off track. The sapling doesn’t grow straight up. It bends one way or another.
Over the years, I’ve seen the reflex many designers have when that happens. I’ve seen it in myself, I’ve seen it in students and in experienced designers alike. It’s the urge to get back on track. The need to straighten the vector back to what it was supposed to be. Straight up, a beautifully straight tree from the seed of inspiration to that boss fight at the end of chapter three.
As soon as you start traveling down the path of the vector from the seed, from the origin, the only points that really count are the points where you’ve been. Every decisions, big or small, is informed by and will inform every future decision. Like a sapling growing slightly in an odd direction, it doesn’t really matter where you intended it to go. You can’t just bend it back onto the original path at the top, you’ll have to bend it from the ground up. If you don’t, you get something that wants to be a straight line, but really is a line that has the strangest odd bend in it halfway to the the top.
You can’t bend a sapling that has grown sideways back onto its original course. If you want to do that, you have to remove everything down to the point where it first started bending.
At the bottom, a small amount of bending takes a lot of effort, and has relatively large repercussions for the rest of the sapling above that point. If you damage it there, the tree might just die as a whole. At the thinner parts, higher up, a sapling will only take that much bending before it snaps off completely.
It takes confidence to just let it grow. An obsession with making a tree that grows straight up to where we expected it to go creates a really boring cultivated forest.
Creativity isn’t going from point A to point B. It’s departing from a known point to an unknown. It’s having confidence that, whether the trip leads to something beautiful or not, at least we chose a path and followed it. If we knew where the journey would take us, it wouldn’t be an exploration – it’d be a commute.
We know where we plant the tree, and what type of tree we want it to be, and the general direction it’ll grow – but anything beyond that is something we can’t fully control. Or maybe, it’s something that we can control, but shouldn’t.
Games live while we make them. We just plant them, care for them, and eventually – with hard work, loving care, talking to it and tremendous patience – we can nourish a game into a beautiful tree.
Rami randomly calls… Sarah Elmaleh
This is an article posted on 18 March 2015 & it'll be forever available at this link.
Rami Ismail calls Sarah Elmaleh (Gone Home, Skulls of the Shogun) to talk about voice acting, trees and creative fragility.
This is an article posted on 6 March 2015 & it'll be forever available at this link.
In cooperation with Sarah Elmaleh, and supported by Vlambeer and New York City non-profit Games For Change, we are announcing gamedev.world, launching at the earliest in late April 2015.
gamedev.world is a collaborative effort to limit the effect of the language barrier on the growth of games development in countries with large non-English speaking populations.
gamedev.world is a curated repository of content foundational to creating the discourse and conversation about game design, all aspects of development, and game theory and culture. Every piece of content will then be translated into a number of languages, including Spanish, Portuguese, Russian, Arabic, Simplified Chinese and, as the intiative expands, more languages around the world.
The goal of gamedev.world is to elevate the discussion about games worldwide to an equal level, and allowing non-travelers and non-English speaking countries to explore perspectives that are currently unavailable to them due to cultural, economical, linguistic or geographical limitations.
As we progress on the initiative, we’ll keep you up to date on http://gamedev.world/
Everything is not fine and that’s fine
This is an article posted on 1 February 2015 & it'll be forever available at this link.
During an interview last year, popular games website Giantbomb asked me what I thought of the state of the industry. I responded that everything is fine – used in that way where every good friend would know not to ask again. We’re not fine.
I’ve been told by friends wiser than myself to always add nuance to such a sweeping statement. Individual developers might be fine, certain segments of the industry might be fine, in fact – entire platforms might be doing well. But as an industry, I don’t think we’re fine.
Every segment of our industry has gloomy news for us. In mobile, user acquisition has never been as expensive as it is today – with the cost of ‘acquiring a quality user’ now often exceeding the revenue such a user brings in on average. The giants of this industry deal with ever increasing costs, and ever decreasing willingness to buy a sixty dollar game. The aspiring developers of today need to shout louder than swarms of no longer aspiring developers to get noticed at all.
Most major platforms have been pushing for independent development to be featured in a bigger way, but that helped as much as it backfired. While the developers that were gaining momentum in 2010 are still gaining momentum, what do you do about the developers that started last year? As platform developer relation teams reached their maximum capacity, they locked down or opened up – both with the exact same effect. The idea that either a choice for democratic curation or a choice for tightly controlled platforms will somehow fix the fact that there are more games being made than ever feels like a feigned hope.
You don’t have to be an economy major to realize that there’s a problem when the average revenue per sold unit goes down, the audiences don’t grow and the budgets go up. The graphics have to be more realistic, the soundtrack more orchestral, the gameplay tighter and the price – well, many will just wait for a sale or bundle, after all. From what I understand from AAA revenue reports, the gaming audiences doesn’t like buying anything that isn’t paradoxically newand improved – the promise of something familiar, masqueraded as something revolutionary. It doesn’t help that expectations are higher than ever – when Assassins Creed launched, the outcry over a massive gamble of that size not being flawless was a fraction of the disappointed response to WATCH_DOGS.
And what is there to gain on mobile anyway? The race to the bottom has pushed the prices down so far that it’s almost impossible to keep making games at all. The people that can buy seats on the gravy train buy more seats than ever, and those still believing you can board the gravy train after it passed their station are left with the illusion that they simply missed the train, instead of understanding that unless they got exceptionally lucky, there wouldn’t have been seats for them anyway.
Then there’s the cruel joke of Kickstarter – once touted as a way to circumvent the troubles of traditional publishers, a few people abusing the system has now turned everybody into a risk-averse cynic that’d make the most careful investor stagger. Early Access, a way of ensuring great feedback during game development, has been exploited for easy money often enough that on our current project, Nuclear Throne, the people that have added the game to their wishlist to buy it after launch is double the number of actual sales after a year of Early Access.
Or what about the fragmentation of the media landscape? Where before, you needed to keep tabs on magazines – then it was magazines and blogs, now it is magazines, blogs, and video content creators. There’s such a high job turnover in those fields that you have to keep fulltime attention to all of them, and too many developers don’t have access to the resources to do so well – and thus end up missing valuable attention for their work. Or the endless torrent of question I get about funding – people looking for less than what an investor requires you to ask to be taken seriously, but more than what a reasonable loan, grant or fund can offer.
We’re trying, as an industry, we’re trying so fucking hard to just be fine. We talk about our successes and our achievements, but we shun mentioning our failures. We talk about the funny bugs in a Ubisoft game for weeks, but take months to respond to harassment happening straight under our nose.
You know what is a failure? That our audiences still believe a game as Destiny is not a risky proposition. Five hundred million dollars, assigned to a project that is an entirely unproven property years ago, with a projected dependency on non-existent internet infrastructure, for consoles that didn’t even exist back then.
You know what is a failure? That when I travel, a complaint I hear more often than not is that people around non-Western world feel excluded from not just the industry – but from the word diversity. While we always define what type of discrimination we face – be it sexism or racism or anything else – we’re sloppy enough to not identify what type of diversity we mean when we speak of it.
You know what is a failure? That rather than pricing our games at the price we believe is right for our work, we price our games where we believe it’ll sell. In our blind rush to make ends meet, we’re continuously hurting both ourselves and others. The expectation of what you’ll get for a dollar has gotten so out of proportion, that on mobile you can’t even say ‘what you’ll get for a dollar’ anymore, because that’s too expensive already. Games launch in bundles, are fine with pricing down over three quarters of the value to get some eyes on the game and are made to bid against each other in terms of how deep we’ll go for major sale events.
We don’t talk about that. We want to – no, need to – let people to know what game development is like, show them what game development is like – but we’re only willing to do it in the proudest possible way – we want to be Starbuck, not SpaceX. Coffee drinkers want to know what beans their coffee is made out of, whether it was prepared in an environmentally responsible manner and that the barista is a professional with a decade-long passion for the heavenly fumes of a perfectly prepared Grande Latte.
Of course, part of the problem with talking about failure and problems is modern culture, so hell bent on recognizing our relative successes as the one unambiguous truth. An apology is a sign of weakness met with nothing but vitriol, a sincere complaint a reason to attack and bad sales figures are a deep personal embarrassment. We’d rather talk about our successes.
There are many victories to celebrate in our industry, and we celebrate them loudly. We talk about our Papers, Please and Gone Home. We cheer at Grand Theft Auto V smashing Hollywood sales records. Twine might be a new breakthrough in making interactivity achievable to anyone who puts their mind to it. Underneath a newly resurrected impenetrable layer of AA studios, a thriving scene of people that are still without financial ties brews. The quality of student work continues to rise exponentially. Worldwide, the amount of people spending time on game development in some way, shape or form is on the rise.
And they’re making beautiful games. We are making beautiful games. The quality of games has increased so rapidly, in AAA, in indie, in mobile. Games are fine. Games, that what we’re here for – games are just fine, and they’re getting better every day. Game development is fine. Maybe as an industry, we’re not doing great right this moment. Maybe, as a community of creators and enthusiasts, we’re dealing with people that represent some of the worst distrust and hatred we’ve seen in the history of the medium. But the medium itself is fine.
I’m nothing but optimistic about the future of this medium, of this industry. It might not survive in its exact current form. It might not be all the same people. It might not be me, and it might not be you. Or we might be fine, or we might be doing something else. When people ask me whether the industry is headed for another 1983, I wonder where they were looking when we crashed over and over again in the past few years. Where do you think premium on mobile went? Did you miss the mid-budget console game go extinct between today and five years ago? There won’t be the spectacular train wreck in slow motion that everybody seems to be expecting. We lose some things, and then celebrate other things to ignore that and just be fine.
We’re in a creative industry. Of all people, we should know the way we get better isn’t through celebrating our successes, but by reflecting on our failures. We’re in this industry because we see something special in this medium. We don’t have to brag. We don’t have to prove ourselves. We don’t have to create heroic mythologies to justify our existence. We’re here because we care.
We need to acknowledge our failures so that we can learn.
Introducing presskit() 2.5 & distribute()
This is an article posted on 22 December 2014 & it'll be forever available at this link.
For the last few months, my studio Vlambeer has funded work on a project called distribute(). distribute() is a free developer service that allows independent developers to easily handle their press contact list and (p)review build distribution. It’s created to inform and assist developers in creating a good (p)review build strategy, maintaining relationships with the press and verifying that press requests come from verified sources.
distribute() has been in an early alpha state, with about half the functionality live at the moment. It has been a tremendous success – we have several hundred projects actively using distribute(), including Vlambeers’ own Nuclear Throne, and already a dozen full commercial international releases have run their launch using distribute(), and those releases have reached more than a thousand unique members of the gaming press already – be it written, video or livestream. It’s been wonderful seeing the service grow as we work on new functionality.
Today, I also want to announce presskit() 2.5, which silently launched yesterday night. presskit() 2.5 removes a security vulnerability related to e-mail, introduces translations for those of you targeting more than just English-speaking press and establishes a way for presskit() to communicate with distribute(). This is a recommended upgrade for all presskit() users.
To upgrade, you’ll need to reinstate the install.php file that is in your root (the installation recommend you to rename it to _install.php, if that file is there just rename it install.php). If that file does not exist, just download a new installation of presskit() from the website. In both cases, your presskit() data will not be modified by any of these steps.
After reinstating install.php, just head for your presskit() installation and the update should be completed automatically by following the steps on screen. It shouldn’t take longer than a few seconds to go through the entire process. You might see a few debug messages at the top of the screen after your presskit() goes live again, but these should disappear after a refresh.
To enable translations, look in the /lang/ folder available in the root of your presskit() installation. In it, you’ll find en-English.xml, which you can save as any other language (ie. nl-Nederlands.xml or ar-Arabic.xml). Edit the new language file, keeping the base lines intact, but modifying the local lines. For languages that are right-to-left, change <local> to <local direction="rtl"> in the local tags.
Save and upload the new file to the /lang/ folder. It should show up immediately in your presskit. If you want to localise the content of the presskit() at well, duplicate the data.xml file and rename it data-nl.xml, replacing nl with whatever you put before the hyphen in the language file. You can do this for both the root data.xml as well as for project data.xml.
To enable distribute() integration, log into your distribute() account, click games and the game you wish to integrate. If you’ve got presskit() linked, you should see a download key file option. If you don’t have presskit() linked, please edit the game and use the load from presskit() functionality.
Click the download key file button and you should receive a file from distribute(). Upload this file to the appropriate project folder in your presskit() installation and you should be done. Visit the page, and you should see a new section named Request Press Copy. If there is a warning message instead, follow the instructions in that warning – if the error mentions it, for security purposes, you’ll have to delete <press-can-request-copy> tags from your project’s data.xml.
distribute()’s secretary mode is getting large improvements over the next few weeks, along with SSL-security and e-mail digests for both developers and press. Press will be able to opt-in to a daily, weekly or monthly newsletter with new games, while developers will be able to receive digest about activity on their projects. The verification system will be limited to sites with High or above Reach. Based on user feedback we’ll also be introducing a Event Mode that allows developers to easily let press sign up while at events.
As presskit() and distribute() mature, I continue to look for ways to improve both systems. If you have any feedback, thoughts or ideas, the full source to presskit() is available on github. For ideas on distribute(), please just drop me a line on e-mail.
Nuclear Throne Daily Runs & Why Assumptions Are Bad Programming
This is an article posted on 17 December 2014 & it'll be forever available at this link.
Yesterday, we launched one of the most important Nuclear Throne updates yet. In Update #55, we introduced Daily Runs, a challenge every player can take once a day in a pre-generated level. This way, players can compete with players around the world on the same level, but only get one shot at getting a high score. Obviously, this adds a lot of replayability and challenge to the game for those who enjoy that kind of challenge, without changing the game for those that don’t like to compete with others.
Sadly, there was a problem: for many players, the HUD just kind of disappeared halfway through the game. That doesn’t make for fair competition.
For all of you that think of going into programming, the lesson today is *never make assumptions*. I am obviously not the main programmer on Nuclear Throne, so for me a lot of the code, structure and specifics are not as natural as they are to J.W. Since J.W. was mostly busy today, I decided to take a shot at hotfixing the issue.
The core issue was that the HUD was disappearing at random moments, without any clear indication as to why that happened. When we started hunting the bug, the first thing we focused on was trying to create a reproducable method of triggering the bug. Using the developer cheats, we’d try walking around in different worlds and the like. The only way we could get the bug to happen frequently was the ‘trailer cheat’. It was originally created for our trailer creator, Kert Gartner, who needed a way to record video while not being quite amazing at Nuclear Throne. Not only does it bring you to the next world, it spawns a lot of radiation, a big weapon chest and some other stuff – so you immediately look badass for the trailer recording.
The Pause Button
We concluded that one of the ways the bug could be triggered was by pausing the game during the end of the level transition. That was a clue – from what we could tell, the bug would only occur while transitioning between levels. We had something to chase.
So we focused on was figuring out whether the code that draws the HUD was still being executed after the bug.
In Nuclear Throne, the HUD is drawn by two functions: scrDrawHUD, which draws popup text and pickup prompts, which then also calls scrDrawPlayerHUD for each active player. scrDrawPlayerHUD then draws the HUD for the player with the player number provided – number 1 for player 1 and 2 for player 2. We checked in scrDrawHUD, and realised quickly that the HUD was still being drawn. We shifted focus: what if, despite the HUD being drawn, the player HUD was not being drawn? We went back, logged gameplay and realised that this was indeed the case. If we had just been more specific, logging scrDrawPlayerHUD instead of scrDrawHUD, we would’ve noticed that right away. Bad assumption.
The code that calls scrDrawPlayerHUD first checks with the ‘main controller’ if the player exists. Our ‘main controller’ object holds all sorts of important information about the player, including what the ID of the player instance is. Game Maker assigns objects and instances an ID in chronological order (the first created object is ID 0, the 2nd is ID 1, and so on).
If the ID number was higher than 0, we could expect the object to have been created (and thus gameplay to have started properly). If the game is over and the player returns to the main menu, we reset the ‘main controller’ and the value gets set back to -1. Each frame, we check if the value for each player is 0 or higher – if it is, the player was created, so the game has started, and we draw the HUD.
In other words, it would be a good idea to keep track of the value of that player ID in the main controller. We set up a realtime log so we could see the value change while we played, and we started playing in windowed mode. When the bug happened again, we noticed two things: the game suddenly forced itself back to full screen, and the player ID value had reset to -1.
Figuring out why the game goes fullscreen.
Confused, we moved on to see if maybe the surfaces were broken or uneven: that might force the game back to fullscreen.
Surfaces are basically render targets. Normally when we render images, sprites or anything, we do that to a buffer that gets drawn to the screen at the end of the frame. Surfaces are basically a sort of imaginary piece of glass we can draw things on, and then we can later overlay those on the screen. Every shadow in the game is drawn to a surface, and the darkness in dark worlds are also drawn on a seperate surface. Since we’ve had a longstanding bug of the darkness disappearing when resizing windows, we thought maybe the solution could be found here.
The good news: when something changes about the window context – so toggling from full screen to windowed, resizing, turning on or off AA – the surfaces are immediately lost. Chances were that the problem was quite simply that the window was being modified, the surface lost and thus the HUD (and the darkness) no longer drawn. We started looking around, quickly found the bug that caused the darkness to stop being drawn and then searched for the HUD surface.
The problem was: there is no HUD surface. The HUD is being drawn directly to the screen, like most of gameplay. We were back to square one, and already hours underway. All we had learned was that the screen changed, and the player ID was reset to -1.
We searched for code that modified the player ID, and found a number of places where that happens. We painstakingly rewrote code, optimized things and fixed dozens of little problems, but we couldn’t find any place where the player ID was modified. What if, instead of being modified, the controller was being reset? That’d be odd, because it’d mean all information would be lost or modified mid-game.
Or would it? We checked and it turns out most information required to run the game is stored in the Player instance itself, rather than in the ‘main controller’. The controller is used only at the end of the game, and when the two got disconnected you wouldn’t notice it until after restarting – when suddenly you’d be playing a different character, your score was incorrect or your daily challenge run was uploaded incorrectly.
In other words, it could be reset. That’d also explain the screen resize – the main controller is the very first object created at game bootup and sets the screen context. It was time to confirm that the controller was being reset, so we caused the game to display an error each time the main controller was created anew. Within moments, it became clear that that was indeed the culprit: the main controller wasn’t being deleted, it was being overwritten with a new copy of itself.
Big Weapon Chests
We obviously couldn’t just remove or work around that code: it’s being used to initialise the game, and it’d be impossible to change it. We needed to find what caused it to be created anew in the first place, rather than fixing the code in the creation of the controller. Luckily, it’s not hard to find out what object causes something to happen.
The debugger gave us a quite unexpected result: the object that caused the controller to be created anew was the Big Weapon Chest.
So we checked the Big Weapon Chest. There wasn’t a lot of code in there, and we caused the game to throw errors every time it was created. We quickly realised that this was every time we cheated to the next level, and the bug would only occur once every few levels. We were clearly on the wrong track – the chest might be part of the problem, but it wasn’t causing the problem. While the Big Weapon Chest would always be around when the bug occurred, it would be created as part of the cheat without any problems.
But why would the Big Weapon Chest sometimes create a new controller and overwrite the old one? It didn’t make any sense, and since we were stuck anyway, we decided to dig a bit deeper.
This is where I went for dinner, which – because I’d been working all day tracing this bug – also counted as breakfast.
We started looking into where Big Weapon Chests were created instead. Obviously, they were created when we cheated ahead, and under certain in-game circumstances. Specifically, Big Weapon Chests cannot be spawned directly – a normal weapon chest is changed into a big one when certain conditions are fulfilled.
Since the timing of the problem was hard, we decided to step through the code instruction by instruction, seeing what would happen when a big chest was created. The problem was that the code that is normally run when an object is created wasn’t run when the Big Weapon Chest would coincide with the bug. That was another clue: the Big Weapon Chest wasn’t created normally.
So we started looking at the one place where the Big Weapon Chest was created through a non-standard method: the scrPopulateChests function, which fills the level with all sorts of chests, cannisters and the like after generation is complete. In it, a weapon chest can be transformed into a big weapon chest using a function called instance_change().
We decided to start ‘stepping through’ the code line by line from the point where the game decides to replace a normal weapon chest with a Big Weapon Chest. The code we were stepping through was the following:
if random(4) < GameCont.nochest
curse = 0
This code is not super complicated. It basically does this:
With the current WeaponChest,
Roll a four-sided dice, and if the number is less than the amount of times players did not pick up a chest,
Uncurse this WeaponChest,
Change it into a BigWeaponChest, deleting this chest directly instead of normally,
Run the 'creation' event on the BigWeaponChest that we just changed from a WeaponChest,
It ran through every of those lines perfectly, but at the event_perform(ev_create, 0) object, something odd happened. Instead of executing the ‘creation’ code of a BigWeaponChest, it executed the ‘creation’ code of our main controller. It reset all the values to their default values as they are in the main menu, and thus also our player ID to -1. That’s why the HUD wasn’t being drawn anymore.
But why did it do that? A quick scouring of the Game Maker documentation and a chat with Michael Dailly from YoYoGames provided the answer.
Unlike instance_create(), which creates an instance, instance_change() command doesn’t return a reference to the object created. That means that while:
will allow you to both create and modify a new BigWeaponChest,
should technically give an error and fail.
Instead, instance_change() always returns a value of zero. So, instead of what we thought the code did, this is what it actually does:
With the current WeaponChest,
Roll a four-sided dice, and if the number is less than the amount of times players did not pick up a chest,
Uncurse this WeaponChest,
Change it into a BigWeaponChest, deleting this chest directly instead of normally,
Run the 'creation' event on the object that is stored in Object ID 0,
Object ID 0 is the first object that is created in the game. In our case, as mentioned before, that’s our ‘main controller’. The BigWeaponChest reset all the values to the base values because we misunderstood the subtle difference between instance_create(), which we usually use, and instance_change(). Instead of creating a Big Weapon Chest, we were creating a new ‘main controller’!
The solution was relatively simple: just remove the word ‘with’.
if random(4) < GameCont.nochest
curse = 0
which translates to
With the current WeaponChest,
Roll a four-sided dice, and if the number is less than the amount of times players did not pick up a chest,
Uncurse this WeaponChest,
Change it into a BigWeaponChest, deleting this chest directly instead of normally,
Run the 'creation' event the current WeaponChest (which now happens to be a BigWeaponChest)
Either way, this entire bug stemmed from a misunderstanding of how instance_change() works. We assumed it’d work the same way as instance_create() does, and it doesn’t. Well, there goes Wednesday – maybe I’ll try my hand at one of those Daily Runs myself.
Rami Ismail randomly calls… Danny Baranowsky
This is an article posted on 11 September 2014 & it'll be forever available at this link.
Rami Ismail calls indie musician Danny Baranowsky of Super Meat Boy, Desktop Dungeon, Binding of Isaac and Crypt of the Necrodancer fame to talk about the cops, content ID and impostor syndrome.
On Full Disclosure
This is an article posted on 6 September 2014 & it'll be forever available at this link.
Full disclosure: since a large part of what many voices that co-opted GamerGate are asking is full disclosure, so I’d thought I’d try doing exactly that just for practice. Although it may come off as snarky, I just want to illustrate how connections and networking in the games industry work and create a realistic context for any discussion about journalism and ethics before delving into my thoughts on Gamergate. As such, I’d like to preface this article with that I’m friends with many prominent game developers in both AAA and independent gaming, students and aspiring developers, journalists and video content creators.
I have had numerous aggressive e-mails, tweets and comments directed at me, and dealt with a number of failed log-in attempts into several online services I use. I know many of the people that have been criticized, harassed and attacked personally.
I’ve helped numerous indie projects out with business or marketing advice, and give design feedback for even more games – both independent and AAA. I’ve spoken at various universities and at events that thousands of industry professionals attend, and have had many games pitched to me. I’m a judge on various competitions in the industry, both small and large. I’ve invested small amounts of money into a number of games through Kickstarter or Patreon, and have backed several game criticism publications through those same methods.
I’ve been nominated through work or personally by companies such as Apple, but also DICE, Gamasutra, GDC, IGF, CVG and many other publications. I’ve been interviewed on several occasions in real life by almost every gaming website and many mainstream press outlets, including the New York Times. My work with presskit() has been adopted by thousands of developers around the world freely as a publicly available service. The follow-up to presskit(), distribute(), is still in progress, but will be free to use by developers, journalists and video content creators.
I also spend a significant amount of my time traveling between various indie game communities to be inspired, to learn, to inform, educate, nourish and establish development communities. I am also romantically involved with a fellow game developer and game jam organizer with whom I have been traveling together. Through these travels, I’ve become personal friends with hundreds – if not thousands of game developers, marketeers, critics and journalists – many of which I consider valuable sources of input and information in a highly collaborative industry.
During the years that I’ve been traveling, I’ve stayed at the home address of various game developers and project collaborators, and sometimes events have paid for my flight and lodging as part of the speakers agreement. Locations I’ve done this at include amongst others San Francisco, Seattle, New York City, Vancouver, Los Angeles, Austin, Rijeka, Johannesburg, Berlin, London, Nottingham, Helsinki, Cabo San Lucas, Moscow, Genova, Barcelona and in countries such as Estonia, Australia, India, Sweden, Norway, Denmark, and other locations.
I’ve been to industry parties organized and sponsored by many companies and entities in the games industry, including amongst others EA, Activision, Ubisoft, Microsoft, Sony, BigPoint, Alamo Drafthouse, Unity, YoYo Games, Devolver Digital, the cities of Antwerp, Utrecht, Helsinki, Amsterdam and various others. In many cases, the bar or accommodation the event was at offered free drinks, although as a Muslim I do not drink alcohol.
I use Objective C, C and C++ as main programming languages and GML, HTML, PHP and CSS as main scripting languages. I have a Samsung Galaxy S5 Android phone, although I did really like BlackBerry’s new OS. I also own an Apple iPad and a MacBook Air that came as part of winning an Apple Design Award. I own a Lenovo laptop that was granted to me by Intel to judge certain games for a competition.
In my identity as half of Vlambeer, I’ve worked closely with and in some cases became friends with people at platforms such as but not limited to Valve, Humble, Sony, Microsoft, Nintendo, NVidia, Apple, Android, Blackberry, OUYA (yes, even OUYA) and Amazon; engines and tools such as Unreal, Unity, YoYo Games, publishers such as amongst others Activision-Blizzard, EA, Ubisoft, Devolver Digital, Midnight City; I know developers such as Gearbox, Bungie, Ubisoft, 343 Industries, InXile Entertainment, Cards Against Humanity, Double Fine, Fullbright, Dennaton Games and many, many more. I’ve got ties with events such as GDC, E3, Gamescom, PAX, Indie MEGABOOTH (which I’ve helped organize several times), DICE, BAFTA, Control Conference and many more, I’ve advised on the content of some of these conferences; I’ve worked with publications such as Polygon, Kotaku, Destructoid, RPS, Joystiq, CVG, IGN, Gamespot, GiantBomb, Gamasutra, Power Unlimited, Control Magazine, Gamekings, TouchArcade, Slide2Play, IndieGames.com and a large number of smaller game publications. I’ve also worked with amongst others the NPR, PBS, The New York Times, Slate, VICE, The Daily Dot, The Guardian and the NOS. I’ve also written articles that have been published on my own blog, but also republished on sites such as Gamasutra, Polygon, Kotaku and aggregators of those sites. I receive no financial reward for such writing. I’ve worked together and had my work featured by YouTube and Twitch, but also by personalities on both sites such as TotalBiscuit, NorthernLion, CobaltStreak, MANvsGAME, Bananasaurus Rex, Ster, BisnapLP, Sleepcycles and many more. Many if not all of the above companies and entities and a large amount of independent developers have received free codes for our games, but we have has never paid for coverage (although we do not know if publishing partners have done so, we suspect not). I hav worked with Level Up Studios and Fangamer for merchandise efforts. I’ve had lunch or dinner with various people at such companies or entities, have received or given (proprietary) hardware or free software from several of these publishers, developers or platforms. I’ve been introduced to some of these by fellow developers when such an introduction was relevant or requested, and I’ve made many introductions between people myself. Some of these companies have proceeded to give us visibility through events, articles or video coverage as a result of exclusivity deals for the game or free review copies sent.
I am a university dropout from the Utrecht School of Art & Technology’s Game Design and Development course, even though I’ve eventually graduated on my company and have been advising them and various other game design schools around the world with creating a relevant educational program.
I’m half-Dutch, half-Egyptian and was raised in the country of the Netherlands and was raised in the city of Alphen aan den Rijn, although I spent significant amount of time in Egypt. I currently live in the city of Hilversum, even though our office is housed in the Dutch Game Garden in Utrecht. The Dutch Game Garden offered Vlambeer 3 months of free rent when we first entered the building. We’ve not taken government subsidies, although I’ve used several government grants when we were just starting out to pay for event costs.
I am followed by over 25,000 Twitter users and have 1,600 Facebook users as friend, and I follow over 1,200 Twitter users of which I closely follow about a 100 in a separate list I’ve made available. We’ve experimented with paying for Facebook reach on our posts a number of times, but decided it was dumb to pay for such a thing. I livestream through Twitch.tv, use ask.fm as a platform to answer questions, have recently started a podcast which I syndicate through libsyn. I once received a free Karma device for 4G hotspot functionality because I forgot mine at home while traveling abroad. My main e-mail provider is Google Mail, I use Hangout and Skype for instant communication, although I do like text messaging at events too. I’ve paid for several services that help me backup files, although a Dropbox representative once gave me a coupon at a PAX event. I use Hipmunk and Skyscanner to book flights, commonly use Booking.com for hotel bookings and Yelp or Twitter for restaurant recommendations. Other services I use include Asana, Trello and WordPress.
My company occasionally but rarely discounts games, but has handed out gifts such as t-shirts, birthday cake, hats and discount coupons (up to 100%) at events. The identity of gamers that received such gifts is sadly unknown to us.
For further questions, feel free to contact @tha_rami on Twitter.
What is Gamergate?
As far as I see things, Gamergate is a hashtag on Twitter that originated in a harassment campaign against prominent industry members that was co-opted by people who are upset about videogame journalism ethics. It is now a confusing mess of people using the legitimacy of the hashtag to further an agenda of harassment, a lot of unsubstantiated conspiracy theories and a well-intended group of people trying to raise concerns about journalistic standards. While I think continuously evaluating the way industry members interact is important, using something that started as and continues to act as a harassment campaign purely as signal booster only serves to weaken a message that would be far better and more effectively made without attaching the negative connotations of the hashtag to it.
THAT'S ALL FOR NOW.
IF THERE'S ANYTHING I CAN HELP WITH OR IF THE CONTENT OF THIS BLOG LEAVES YOU WITH UNANSWERED QUESTIONS, FEEL FREE TO SEND ME AN E-MAIL AT RAMI@VLAMBEER.COM OR AT ME.