Smash+Grab Video Production

I’d love to write an in-depth piece on how we created these marketing assets, but for now I wanted to get them up in case they’re taken down off Youtube. I was the primary footage capture tech and sole editor of each video. Final audio, color timing and some VFX were provided by other talented developers at United Front Games!

For the uninitiated, Smash+Grab is a team-based competitive melee-focused combat game for PC. Development ended on the title when my former employer United Front Games shut its doors this week.

Teaser Trailer


Early Access Launch Trailer


‘How To Smash’ Instructional Video

1 Comment

Where are your docs?

Google Docs is a strong and full-featured collaboration and document management tool that I prefer over any other, but 3rd parties like publishers are understandably concerned about confidential game development materials on Google servers they can’t control. However many of the alternatives used in game development for document storage, access and management have flaws that make them non-ideal for a game development environment.


Many document control systems have the following problems that have inhibited wide adoption on game development teams:

  • Files are locked when in use – Windows Shares, Perforce
  • Files must be checked out before editing – Perforce
  • Files are accessible to publisher – Perforce (when using the publisher’s P4 server which is common in work-for-hire arrangements)
  • Files can’t be edited by multiple user simultaneously – Perforce, Wikis, MS Office (prior to Office 365)
  • No support for tables with calculations and logic – Wikis
  • Limited media support – Wikis
  • Version control not available – Windows Shares
  • Data resides on 3rd-party server – OneDrive, Office 365, Google Drive


logoownCloud is open-source, self-hosted software for file-syncing and document management. ownCloud is installed on an internal Linux server. Much like Google Docs, ownCloud allows for seamless file-syncing between multiple PCs, real-time editing of documents and spreadsheets, and robust user restrictions. Optionally, it can be opened up to external individuals like a publisher, outsource provider, or other collaborators, for instance to grant them access to specific folders.

More information about ownCloud is available on the project website.

As of June, 2016 the original founders of ownCloud have forked the project and created NextCloud. While development on the new project looks promising it’s too early to say if it will be a better solution than ownCloud currently offers.

Pros & Cons

  • [+] It’s in your control – Self-hosted means publishers are less likely to object to it like 3rd-party document control like Google Docs. You can secure it as much or as little as you want.
  • [+] Real-time multi-user editing – Multiple users can simultaneously edit the same rich text document, much like Google Docs (web interface)
  • [+] Seamless file-syncing – Optionally, some or all folders and files can be synced across a team’s PCs, or accessed on-demand (much like Dropbox)
  • [+] Web-based – Most activities are performed within a web browser and require no specialized software
  • [+] Robust user controls – It’s easy to manage users and groups to have access to specific files or folders and read-only permissions
  • [+] Versioning – ownCloud saves prior versions of all files
  • [+] Extensible with apps – Community-made apps are available to extend ownCloud functionality. For instance, sending Slack notifications when files change.
  • [+] Open Source – The ownCloud project is entirely open source allowing for easy auditing of its code and the ability to fork or modify the code.
  • [] Limited editing support for documents – ownCloud online editing only supports plain text and odt files and, when collaborating, is missing key functionality like ‘undo’. It’s not nearly as feature-rich as Google Docs
  • [] No Excel/spreadsheet support – Excel files can be read in the web view, but can’t be modified collaboratively (they can still be shared/synced/versioned)
  • [] Server is Linux-only – Some IT teams may not have the desire or skills to manage a Linux server running ownCloud. Without formal support from the distributor we may not be able to quickly resolve issues


While OwnCloud is an effective way to store, sync and version control any type of project file, its document editing features are (a) only available in the web client, and (b) only support odt files, and Excel files are read-only. In short, you can’t create or collaborate on documentation at the quality level you’d expect in OwnCloud. OwnCloud may still be a viable alternative to Confluence, Perforce, and a Windows Share for document storage and propagation even though it doesn’t offer meaningful real-time collaboration solutions.

1 Comment

Dungeon Masters and Videogame Designers

Master Chief always rolls 20’s

Becoming a game designer is a common dream for many young gamers, so much so that dozens of schools have sprung up in Canada and the United States hoping to train recent high-school graduates all the tricks and trades of an industry that has almost no common understanding of what it means to be a videogame designer. The role of game designer takes on a huge range of forms and even within a single studio a designer could be anything from a LUA scripter creating AI behaviours for enemy encounters to an attribute database manager managing game balance to a narrative writer creating a vivid world and characters to populate it. Thankfully there is one activity that game-design hopefuls can take part in that includes almost every one of these roles: the Dungeon Master of a Dungeons and Dragons campaign.

Dungeons and Dragons is a game that takes place in the collective imaginations of the participants and is guided both by the structure and rules of D&D and by the design of the Dungeon Master. The Dungeon Master (“DM”), also called the Game Master, has the role of creating the game world, content and experience that the players participate in. Since the events of the game take place within the shared imagination of the players the DM’s options for creating a game experience are nearly limitless, not unlike beginning pre-production on a new videogame – the limiting factor isn’t imagination or creativity, it is the amount of complexity that can be delivered to the players in the time (and budget) available. Because of this becoming a Dungeon Master and running a D&D campaign is excellent preparation for becoming a game designer by almost any definition and many skills a DM learns on day one are notably absent from modern game design theory.

Handling Player Agency
The Dungeon Master’s job is to create the interactive content of their game world. Every character, quest and piece of dialogue the players encounter is created by the Dungeon Master, and often being forced to improvise while doing so. Since players have nearly limitless agency in an imaginative world it is up to the Dungeon Master to adjust to player decisions on the fly while maintaining a consistent and mechanically sound game world. This is a constant problem for videogame designers as well – what if the player goes left instead of right? What if the player shoots his ally instead of the enemy? How does the videogame designer create a consistent world and still allow for player agency? The prevalence of games that artificially and obviously disallow the killing of innocents and allies is a ubiquitous example of when games fail to find this balance – something a good Dungeon Master must do on a nearly constant basis during a D&D session. This experience is invaluable and forces the DM to develop comprehensive and expedient problem-solving skills.

Many well-planned D&D campaigns have been ruined by a player obtaining and exploiting an ability overlooked by the Dungeon Master. Consider this scenario: the player obtains a divination spell that allows them to spy on their arch-nemesis instantly learning much more than the DM intended them to learn at that point in the campaign’s progression. The Dungeon Master must choose to either let them learn what the spell allows and re-plan a large portion of the campaign, or find an excuse to disallow the spell. The former is a lot of work for the Dungeon Master, but the latter can be a transparent ploy that the players will usually see through and immersion will be broken. Dungeon Masters learn how to blur the edges of these choices and maintain campaign cohesion without making the players feel like their ingenuity is being punished. In this case the Dungeon Master might propose that the arch-nemesis has a magical item that prevents the players spying on his plans and that the players must steal it before their divination is successful. This strategy gives the players a compelling reason for the decision and gives them the opportunity to overcome it later, giving the DM time to plan around the players’ new abilities.

The same scenario exists in modern videogames. No matter how brawny your hero is he can’t break down a locked door or step onto waist-high walls intended to block progression in a certain direction. Another common example is disallowing certain equipment to be equipped in an RPG game due to level requirements. These “gamey” mechanics break immersion and experienced game designers learn how to avoid them. Experienced game designers find ways to reward players for thinking outside of the box without compromising the integrity of the experience.

Scope is the #1 killer of both videogames and D&D campaigns!

Finding Your Scope
The temptation of first-time Dungeon Masters is to build an epic world with monstrous villains, intriguing characters, massive dungeons, clever traps and heart-wrenching twists and turns. Similarly, if you ask a prospective game designer in high-school what their videogame would look like they’ll tell you of epic fight sequences, endless player choices with branching consequences, limitless progression and ambitious game mechanics. In both cases the designer’s failing is not only in scope but in understanding how player choice and player options increase design complexity exponentially. Inevitably the Dungeon Master in this example realizes that their planning in any given area is far too shallow and must improvise – usually badly – to compensate. The videogame designer in this scenario will find themselves constantly trimming features until very little of their original vision remains.

Every time a Dungeon Master adds a new “feature”, such as a world economy or a new technology he or she must fully understand how every other feature of the game is made more complex by the inclusion. Understanding how to create an immersive and fully-featured game world within a manageable scope is critical to the success of a D&D campaign just as it is critical to the creation of a videogame.

Letting the Player Tell the Story
Most Dungeon Masters love storytelling and often get caught up in creating elaborate plots that an untold number of characters will relate to the players. This makes sense as creating a narrative with the players is a critical element of immersion and in encouraging player investment in the campaign. This is no different in videogames that use a story – even if it is just a macguffin – to push the player forward and offer a more satisfying conclusion than a high-score screen. However it is easy for the storyteller to begin sacrificing player participation for the sake of their craft. This is counter to the intent of both Dungeons and Dragons and most videogames. A good Dungeon Master will learn how to tell a compelling story while letting the true “actors” – the players – play out their part in the narrative.

Games that intend to deliver a good story must attempt this as well. Titles like Mass Effect 2 are successful in their storytelling because the player has an active role in the unraveling of the story even if they can’t (or better yet don’t want to) change the ultimate outcome of the tale. No one understands this concept better than an experienced Dungeon Master.


Failure is a part of any game and Dungeons and Dragons is no exception. Without the ever-present threat of death there is very little tension or sense of challenge since D&D campaigns don’t have savegames. Death in Dungeons and Dragons is usually permanent and the player is forced to create an entirely new character if they wish to keep playing. The best Dungeon Masters learn to make the players question whether every enemy encounter will be their last. Failure shouldn’t only apply to character death either, it should apply to the game world itself. If the players fail in part of their quest there are real consequences – perhaps a village is burnt to the ground and the residents massacred. The players must then cope with this failure and carry the regret of their failing long after the DM is done describing the horrors that they failed to stop.

Most videogames since Mario have had only one penalty for failing: time. If you die all you lose is the time it takes you to reach that level again; Princess Peach isn’t in any more or less danger than before Mario’s death. In the case of many modern first-person shooters, especially on PC, the quicksave button is just a reach away resulting in every bad choice or encounter being immediately erasable and retried. Dungeon Masters never offer this luxury to their players and the players’ choices are immensely empowered.

Learn Videogame Design Now
This is not in any way a comprehensive list of overlapping skills between Dungeon Masters and videogame designers. Other topics such as encounter and enemy creation and balancing, storytelling with environments, creating a “living” world and maintaining a sense of realism are other skills that an experience Dungeon Master can transfer to the world of game design.

That being said what are you waiting for? If you’re interested in game design as a career find a group of friends who want to try something new and start your own D&D or other role-playing campaign. Start small at first with one of many pre-made modules for D&D that guide a new DM through the first few dungeons and adventures. Also, Dungeons and Dragons Edition 3.5 has been made into “Open Game Content” which allows the rules and content to be published freely on websites like the D20SRD making the fairly expensive core rulebooks unnecessary. As you play take note of your design decisions and consider why some failed and why some succeeded – this level of analysis is critical in game design on all levels.

Running a D&D campaign isn’t the same experience as designing your own videogame and serious designer hopefuls should definitely investigate game schools, but Dungeon Mastering undoubtedly teaches many core elements of what makes a game entertaining and immersive. The lessons you learn will put you above other candidates and may even help push game design itself forward.

Some images copyright Paizo Publishing, used without permission under fair use.
1 Comment

Passwords – The Weakest Link

Even in the early days of the internet security was a concern. I can remember my father coming home from his university with a floppy disk that, unbeknownst to him, contained a virus that had spread through the university mainframe, and that was when the “world wide web” was still restricted a hobbyists, educational institutes and the military.

Needless to say things got more and more complicated from then on. Virus scares were commonplace, opening the wrong e-mail could result in irreversibly lost data or worse. Every floppy disk needed to be scanned manually for viruses and random popups threatened to take over your computer. In more recent times internet security has become both much simpler, but with much higher stakes.

The good news is that common-sense security software like anti-viruses and firewalls are commonplace, usually even enabled by default on new computers. Web browsers are much more intelligent about warning users of possible threats, and improved networking hardware (both in homes and at the telcoms like Shaw) have made the simpler exploits of yesteryear much harder. These improvements, along with some common-sense browsing practices make the threat of viruses and traditional computer “hacks” vastly less concerning for the average user.

The bad news is that users are putting increasingly personal and sensitive data online. Our Facebook accounts are full of private photos, Amazon stores a full catalogue of our credit cards and addresses, our credit scores are available online with little more than our social security number and our online social accounts have never before seen so much scrutiny from potential employers making them a tempting target for libel.

Internet security is no longer primarily about protecting your computer. An individual computer isn’t an especially valuable target for hackers, but your Amazon’s account is an incredibly valuable score for enterprising “black-hat” hackers. There’s nothing you can do to improve Amazon or Facebook’s security of course, but your access to those accounts – most significantly your passwords – are now the weakest link in this chain.

Unfortunately most users still use incredibly weak passwords, often less than 8 lowercase characters and no numbers. Even an 8-character non-dictionary password like “qweasdzx” can be cracked in as little as 52 seconds by a normal computer. By comparison, a longer, 10-character password with upper- and lower-case characters and numbers, such as “qw3asDzx79” would take upwards of 6 years to crack. Remember, length is far more important than anything else – even a simple password “wheredidthepartygo” (233 million years to crack) is vastly more secure than the complex, but short “h@T3r” (0.67 seconds to crack).

Try out to see how secure your passwords are!

But who wants to remember long passwords like those, especially when you should have a different password for every web account you use? That’s where LastPass comes in. LastPass is a browser add-on that manages your passwords for you so you don’t have to. Simply create a LastPass account with one very strong password and let LastPass generate complex, nigh-uncrackable passwords for your other web accounts. Anytime you visit Facebook or Amazon, LastPass will autofill the password field so you never need to remember more than one password.

LastPass is entirely free (although enhanced features are available for $12/year) and works with all popular browsers – Chrome, Firefox, Internet Explorer, Safari, Opera and more and is backed by some of the best encryption security available today. So let LastPass handle the security of your web accounts and never forget another password again!

1 Comment

Pick Your (Player’s) Poison

How to handle player failure in games is a topic often written about, and even more often debated at great length. The industry is divided between those who feel harsh penalties beget greater overall player satisfaction and those who insist that the best player experience is one unencumbered by arbitrary penalties. The truth is that the sagest of industry experts will remind us that there is no correct way to handle player failure – only incorrect ways of handling it in your game. And the consequences of mishandling player failure can fundamentally shift the player’s perception of your game world. This is the first in a sequence of articles on about how handling player failure in different ways can benefit or detract from different kinds of games.

Most games are framed by a narrative, however transparent or contrived it may be. Sonic the Hedgehog is tasked with freeing the world from Robotnik’s animal-roboticizing shenanigans, and Mario must free Princess Toadstool from Bowser’s clutches. The narrative in most games is not so much the actual content as it is the framework for the true content – the gameplay. The world of Mario is interesting not because it is fantastic and full of otherworldly (and admittedly cute) creatures, it is interesting because it is a fantastic world in which things happen – things that player actions can impact, even if only in the binary of success and failure.

So what happens to the narrative framework when Mario dies? He starts the level again as if he hadn’t just died a gruesome death of slow digestion in a pipe-dwelling piranha plant. This is the equivalent of Alice from Alice in Wonderland being killed by the Queen and then having to re-read the chapter again in the hope it won’t happen again (knowing it very likely could). This strange deceit can be termed the Divergent Realities method of handling player failure, and it is well demonstrated in the following video:

Dubbed “Quantum Mario“, this video serves to demonstrate just how many alternate-realities are created before the one “true” Mario makes it to the end of the level. This classic, but flawed, use of the Divergent Realities method is disengaging as the player’s belief that their actions are inconsequential within the narrative framework is reinforced. The deceit here is obvious and, despite our familiarity with its use, jarring.

This strange discontinuity of narrative retelling and divergence is reserved almost exclusively for games. Much like movie-goers were at first confused by how different scenes and characters could be juxtaposed with other disparate scenes and characters with a simple film edit (this isn’t how our real-world perception works after all), gamers have adjusted to the fact that their game actions, and especially failures, are subject to special and unexplained rules, the conventions of which are as arbitrary as they are confounding to non-gamers.

For these reasons most modern games have taken steps to minimize, or at least lampshade, the use of this mechanic, but some games have successfully embraced it. When the player fails in the recent Batman Arkham series of games, the player is treated to a short scene of a prominent villain taunting Batman for his failure before, presumably, killing him. This use of the Divergent Realities method stands out because the narrative actually benefits from this what if moment. Due to the interesting characters and the player’s investment in Batman’s mission, players actually feel rewarded when watching these scenes by peeking behind the curtain of the story. Thus, player death in the Arkham games actually strengthen the narrative framework.

In summary, the Divergent Realities method of handling game failure, perhaps the oldest known to the gaming world, should be handled carefully. In most instances it serves only as a deceit to cover obvious player failure at the expense of the narrative framework and realization of the game world. Only if it is tied closely with the game world your game is trying to establish should it be implemented.

Leave a comment

Codecrunch: An Indie Flash Post-Mortem

Codecrunch MascotCodecrunch is a Flash-based puzzle game based of the classic code-cracking puzzle game Mastermind. Over the course of many months our small team of 6 worked to complete our first real game under the banner of Thermite Games. Being our first independent project together (and in some cases first game project at all) we had a lot to learn about working as a team, handling scope, coping with real-life priorities and ultimately delivering a title worth playing.

You can play Codecrunch now!

The Setup
For the duration of the project we had a team that included two programmers, one artist, one designer, one web programmer/designer and myself as the producer. Most of us didn’t have work experience in the role we were performing for this project so we did our best to manage scope appropriately, taking into consideration that learning would be an important part of seeing this title to completion. It’s worth noting that those of us working in the industry spent some time researching our non-compete agreements and anyone following in our footsteps would be wise to do the same before starting their own projects, especially as a group.

At the start we only knew that we wanted to make a game – something that we can look at and say “yup, it’s done, and it’s a game!” and something we could gain appreciable knowledge from creating. In both cases I believe we were successful even though to this day Codecrunch hasn’t been seen outside of the developers that created it – though that may change now that we’ve taken the time to properly deconstruct the best and worst parts of the development life of Codecrunch.

Despite the initial ambiguity of the project we eventually settled on a Flash game that would be released under the Thermite Games banner as a Facebook game. At the time Facebook games still hadn’t reached their peak – big names like Zynga hadn’t yet begun to dominate the market and there was a lot of room for independent developers to become known. We were naturally attracted to the inherent “shareability” of Facebook games as well – a game standing on its own isn’t nearly so successful as a game that enables and encourages its own redistribution. Flash was chosen as our platform after much discussion primarily for its low barrier to entry for developers and ease of web distribution.

What Worked

We finished the game!
Far and away this is the biggest success for the project. The vast majority of indie/hobby games that are begun never see the light of day (some for good reason, some not) and while everything we learned during the project was invaluable, actually reaching completion was undeniably satisfying.

We learned a lot! As will be detailed here everyone on the project learned a great deal from our successes and failures. Everyone also gained experience in the component of game design that they are most interested.

We met regularly! Despite being in different parts of the province the team met almost every week via Skype to discuss the status of the project. These meetings were both functional and fun which was critical in tracking progress but setting a friendly tone so no one was afraid to speak their mind or admit to having made no progress that week.

Google Wave was instrumental in creating collaborative documents that could be modified and commented on in real-time over the course of the week.

We planned and documented before working! As much fun as it is to jump headfirst into Flash or Unity and start building we knew it was critically important to design first and build later. Using Google Wave designers could document how the game should play and their progress with various features. Towards the end of the project Google Wave (now “Apache Wave”) was invaluable for tracking bug fixes (see image). Google Docs was also used to track and update design documents as they became finalized.

We kept our scope in check! One of the biggest game-killers in the indie scene is lack of scope management. Game designers love to add features and make their game as incredible as possible, but the inability to prioritize those features and keep the game at an appropriate complexity is something that many developers (both big and small) fail to do. Codecrunch benefited from a clear vision and a simple design that helped keep the team focused on the core elements that mattered before expanding the feature set.

What Didn’t Work

Unrealistic work distribution!
The biggest thing we took away from Codecrunch is that platform and design choices have to be made in the context of the team building it. While Flash is a great platform and met our needs only one of our developers was fluent in actionscript forcing a large majority of the development work on his shoulders. This had the effect of bottlenecking the project with one developer while simultaneously leaving other developers with nothing to do. If we were to make Codecrunch again we would make efforts to organize the workload better. It’s critical that everyone on the project is able to materially contribute to make them feel valued and to engender a sense of ownership in the product.

It’s okay to not work! As mentioned above there were times where it was unrealistic to expect everyone to contribute to the project when their skills didn’t match the majority of the work necessary (art and actionscript). We handled this the wrong way by finding work for these individuals, most of which was ultimately unused and wasted. It would have been better to suggest these individuals work on their own projects until their skills were needed instead of creating work for them.

It’s not enough to finish the game! Despite our success in actually finishing Codecrunch we failed to deliver it in a meaningful way to an audience. Though we had plans to build in Facebook’s sharing features we didn’t execute on them and Codecrunch was never truly released to the public. The lesson here is to think beyond the final line of code – you’ve created a product and you need to know how to deliver it to as many people as you can.

Real life is hard! We tried hard to be realistic from the outset as far as time expectations from the team and while asking members how much time they expected to contribute to the project each week was the right thing to do (and necessary for basic scheduling) the actual time worked each week was erratic at best even when we did have specific tasks assigned. This is normal and you’d be mistaken to expect otherwise when dealing with real people who have real lives and real jobs. Life and relationships will always come before hobbies and side-projects and members should never be criticized for this.

While Thermite Games never went on to complete another project (though we had and continue to have many great ideas) we all learned a great deal and took those lessons to our respective careers and lives. If you’re interested in game development I would highly recommend getting some friends together and create something fun – whether that be a game mod, board game, short film or anything else that forces you to put your ideas into action!

Play Codecrunch now!

Leave a comment

Viva La Data Liberation

The internet is twittering (in more ways than one) about Google’s latest online service – Google Plus. More commonly written Google+ the new service is Google’s attempt to stab at the heart of Facebook and win back precious users’ eyes, and more importantly, social networks.

Google+ offers some enticing advantages over Facebook, such as asynchronous following (you can follow/friend someone without them following you back – this is a key component of Twitter as well), an excellent in-browser video-conference solution for up to 10 participants called Google Hangout and, of course, seamless integration with other Google services.

But the most important feature offered by Google+ is one that most consumers won’t ever notice yet is critical to the health and security of our data on social networks and the internet at large: Data Liberation.

Google Takout allows you to download your posts, shared items, contacts, photos and other content as one package or from individual services

Google achieves true data liberation through its service Google Takeout. Everything that you post to Google+, Google Buzz, and Picasa can be downloaded, backed up or taken elsewhere. This shows a certain fearlessness to Google’s strategy – Facebook wouldn’t dare allow you to download content posted to their website in one fell swoop. Facebook believes that content belongs to them, but Google takes the same approach it always has: Google services are a platform for your data and if you leave you can take it with you. Yes, Google still retains rights to re-use your content and photos uploaded to Google+ (as outlined in the Terms of Service) just like Facebook. The difference is that Google gives you a convenient and official way to get all that data back and take it elsewhere if you wish. You’ll get your Facebook content back only by using third-part apps, saving individual images or copy-pasting text.

Google isn’t the paragon of the internet and no one should be disillusioned into thinking they don’t stand to profit from our eyeballs and social data, but unlike Facebook Google is taking a principled stance on data portability, even if their stance on data ownership isn’t much better than Facebook’s.

Leave a comment