Todd puts in an appearance on the Nightfall Unlimited test show with fan favorite Ray Marek, but not before an extended rant about positivity.
Okay, Todd here, this is a short show and then I’m headed out of the country for a little getaway with my wife–sorry, not sorry. I thought about skipping this week’s Thursday show completely or cooking up some kind of “best of” episode, but instead I thought it would be fun to pull back the curtain a bit and share a little segment I did for our friend Ray as he works on the return of the Nightfall Unlimited podcast. This was a Google Hangouts call I connected to, so my end of the conversation sounds a lot different from their end. I did run through it in Audacity to tighten things up a bit. There will still be a Monday show and next Thursday’s show is a good solid maybe, but things will definitely be on autopilot until I get back in town.
Yeah, I ranted a bit on this one. I think it was for a good cause. I think we have a certain responsibility to look at what folks in the community do around us. It reflects on all of us, and it’s usually pretty basic right and wrong. In any case, show Ray & company some love and I’ll be back before you know it.
LucasArts Employee #3 himself, David Fox joins to talk about his fantastic career contributing to some of the most iconic graphic adventure games of our time, chasing the technology to create location-based interactive experiences, and his philosophy on positive change through design. Topics include VR, interpersonal issues in the modern game industry, politics, electric cars, and more.
David was so kind to agree to this show, we were both fighting illness at the time of recording (I had to really work hard on my end of the discussion in post to make it listenable, apologies for any unusual tone quality) but I could not have been more pleased with the discussion itself. David has contributed to so many games we all know and love, Zak McKracken, Maniac Mansion, Indiana Jones and the Last Crusade, Thimbleweed Park, and more. It was such a pleasure to spend some time learning about the rest of his awesome work and capture more details about the things he’s done. Please keep an open mind; David’s time at LucasArts has been discussed in super deep detail in a variety of interviews and I’d encourage you to check them out. I wanted to do more for this show to really get a sense of David’s contributions to technology and interactive experiences on a broader scale. Nonetheless there’s plenty of great material here to dig into about design, VR, and the game development community. Check it out and reach out to David on Twitter!
Our friend Ted drops by to talk about the history of martinis, what to look for at a Porta Potty in the woods, and the best way to combine Peeps, cola, and obstacle courses. We discuss game development here and there where it comes up.
You have to meet Ted to understand him. He’s the kind of teammate who divides his time between yelling at the other team, yelling at you, and then yelling at himself. In a fun way. Ted contributes to the OHCPlay channel on YouTube which we’ve discussed before, but also has a personal account, TrojanManSCP, full of just as many assorted gems as you might suspect from our chat in this episode. He’s an authority on all matters Overwatch and he can drill down pretty deep into anything that has his attention.
Anyway, here’s Ted taking the bug salt shotgun to the face:
How many software developer characters in popular culture can you think of, past and present? How many game designers? How many female game designers under 18? If you have anyone left in mind at all (and the headline didn’t ruin it for you), you probably caught Clarissa Explains It All in the 90s.
If Clarissa did not explain it all to you, you can get up to speed quickly at Wikipedia or even catch a few episodes on Hulu.
Update: Not so much on Hulu anymore, sorry.
Throughout the show’s five-season run, Clarissa created
weird, wonderful games and prototypes she used to explain her world to the people
closest to her. This article celebrates the highlights (and lowlights) of her
run in game design.
Clarissa reveals the intensity of the Darling sibling
rivalry with a revenge simulator in the show’s pilot. In this anti-endless
runner (if you like), Clarissa attempts to catch her brother, Ferguson—who is
running down the street in a straitjacket—with large helium balloons tied to a
hook. If she succeeds, he floats upward off screen, meeting the game’s win
While the player tries to catch Ferguson, a helium meter
slowly decreases at the bottom of the screen. It’s clear that this is the
amount of time before the player’s game is over. If you think about it, there’s
only one way for a kid flying away on a decreasing helium supply to end. This
is the first of many times Clarissa will casually explore the idea of maybe killing
Nightmare on Shadow Lane
To scare away her eccentric aunt Mafalda, Clarissa concocts a plan to “haunt” her own house, which she explains to her best friend, Sam, with a Maniac Mansion-inspired graphical adventure game.
Nightmare on Shadow
Lane features such horrors as “The Devil’s Dust Bunnies,” an alligator suspended
from the ceiling (likely her tiny pet alligator, Elvis), and a murderous giant
turkey known as The Poultrygeist. Nightmare
was a big missed opportunity for LucasArts.
Clarissa and Ferguson come together for one of their rare
concerted efforts when they suspect their parents are considering a third
To illustrate how difficult a new baby makes life, Clarissa
creates Baby Bomber, a stork-flying,
baby-dropping physics game. As the player drops baby Fergusons and Clarissas
into the family (shoe-shaped) home, their parents are pushed further and
further until they’re finally driven out of the home completely. Needless to
say, Baby Bomber affects absolutely
nothing in the show’s real world.
With school picture day fast approaching, Clarissa creates
this burning building sim to demonstrate the importance of her fashion freedom
to her mother, Janet.
To win Blaze-O-Rama (shout-out to all the O-Ramas of
yesteryear), Janet must navigate a fire ladder to the window with the right
version of Clarissa in it. The correct one, naturally, is the one wearing the
funky outfit. The other Clarissas turn out to be green aliens, apparently
undeserving of rescue.
“That was very manipulative,” Janet exclaims afterward.
After taking an IQ test in school, Ferguson learns he’s near
the top of his age group in intelligence. He devises a plan to compete on a
trivia show in hopes of becoming rich and powerful. Clarissa schemes to
sabotage his efforts, just to be safe.
To convince Ferguson to use a nonsensical study plan, Clarissa
shows him a falling objects game in which he swallows books whole to devour
their knowledge. Don’t struggle too hard to make sense of that last bit; this
is almost certainly the shakiest game usage in the entire series. To muddle the
concept further, Ferguson tells Clarissa he can feel himself getting smarter,
and plays the game a second time.
Untitled Home Defense Game
When troubled young Sam needs to stay with the Darling
family while his father leaves town—a story we’ll hear again about troubled
young Shawn Hunter
in just a few short years—Clarissa and Ferguson are dismayed at the attention
their parents show him (sitcom friends are just the worst).
Clarissa creates a game to help them choose cartoon-style
traps they can set to keep Sam out of the house. The player can cut the
electricity, trip a coiled spring welcome mat, and dump buckets of water to get
the pesky disadvantaged boy to leave. The Home
Alone videogame had been released less than six months prior, and the
similarities are not subtle.
The Darlings never have to use any of these traps, as Sam
walks into Clarissa’s room while they’re playing the game. Great work, kids.
Get to Know Me
When mother Janet takes an interest in spending quality time,
Clarissa explains maybe not being the best person by creating a no-lose trivia
game, hoping her mom will decide she knows her daughter plenty well and leave
Clarissa’s game backfires on her once again when Janet gets
credit for the last question and wins the game before she’s had time to choose
As Clarissa’s interest in writing begins to take center
stage, an episode is devoted to a poetry assignment, in which she develops a software
application capable of doing her work. It wows students and faculty alike with
the following verse:
“Gray cube, rectangular light, cantilevered rainbows sunshine open close open close glass square sunset outside outside outside sunset inside daffodils.”
Instead of celebrating what would still be an impressive feat of linguistic programming, Clarissa
wrestles with the ethical dilemma of taking credit for her application’s work.
She eventually acknowledges the program at a banquet, and has her computer
deliver a reading.
Blind Date Bash-O-Rama
As Clarissa gets older, the topics of her games shift from
primarily harming her brother to more mature issues, like dating and driving.
She readily tackles the challenges facing older teens, while keeping her
youthful sense of mischief alive in her games. This is the most apparent in Blind Date Bash-O-Rama.
In this fighting game you may as well call “Date Fighter
II’: Champion Edition,” Clarissa takes on various monsters that show up hoping
for a date and leave with a good ass-kicking. Obvious influences aside, BDB-O-R looks like actual, legitimate
fun. If they’d released it in stores, it would have been on my 1993 Christmas
Clarissa’s final game of the show’s five-season run is a
loosely Mario Kart-style racer
developed mostly to convince everyone that her plans to start riding a
motorcycle are safe and totally reasonable. She is surprised at her own
inability to complete a race without wiping out.
Although this is another good-looking game, I think Blind Date Bash-O-Rama should be
remembered as the spiritual conclusion to the Darling games series.
As Clarissa became a young adult, game development
eventually gave way to her fledgling writing career, disappearing for good
early in the final season. Though game dev was not always crucial to the plot, its
presence in the show served to introduce young viewers to a practice much less
common and much less accessible at the time. In addition, Clarissa’s use of
design to explore difficult issues and explain her perspective to those around
her demonstrated initiative toward aspirations the real-world game industry still grapples with today.
Where are all the modern game creators in pop culture? Gaming
is here to stay and all aspects of the game industry are now widely accepted as
legitimate—if tumultuous—career paths. It’s surprising that game development still
hasn’t been done this well on TV since Clarissa left for college.
Indie developer and author (and podcaster!) Mat Bradley-Tschirgi discusses his beginnings in journalism and indie development, his upcoming book, The Films of Uwe Boll Vol. 1: The Video Game Movies, and makes a surprising revelation about an upcoming video game to which both he and Boll are attached.
You read that right: a game project from the mind of notorious (former?) filmmaker Uwe Boll is forthcoming, and this is a chat with the man making it happen. Let the intrigue and concern wash over you.
YouTuber Matt Hill joins to talk about running the OHCPlay channel, highs and lows in the gaming community, and we give the public their first glimpse of a list of spectacular gamer tags over 7 years in the making. I hope listeners enjoy this show half as much as I did.
This is the first installment of our second weekly show. Each week we’ll feature a content creator who will share their perspective on process, community issues, and hopefully have some fun in the process. Have a community member in mind you’d love to hear from? Shout them out.
Will Traxler of Traxmaster Software discusses his new game, Exception, his first commercial release following years of solo development. Will shares insight into his unique post-launch mindset, his solution to investing in his development, and the dynamics of outsourcing PR responsibilities as a one-man studio.
Will has accomplished a ton with this game release. Multiple platforms on day 1, stellar marketing in motion, and all without crunching or losing his cool. His attitude is exemplary and this is a must-listen for small indie teams or other soloists.
We discuss surviving a flood early in the episode. Indeed I did have to push our Skype call back a day over flooding in the area as it resulted in a school cancellation for my kid. It would have been too ridiculous a lie to use, so I suppose I’ve got that going for me.
This week is all about variety across gaming platforms. Here
are the bests and worsts we’ll be contributing to the Nightfall Unlimited
Podcast test show tonight!
Super Mario Maker 2
Mario Maker 2 can’t fail. It’s effectively a Mario game that will never
stop changing and will have unlimited free content forever, it gets kids into
design, and it’s perfect for viral videos which we’re already seeing all over
the place. Personally as a game designer I have like no interest in playing it
at all, simply because that isn’t how I want to relax, but tons of my
colleagues play it and basically everyone else should try it.
Marvel Ultimate Alliance 3
Why the hell is Marvel
Ultimate Alliance 3 a Nintendo Switch exclusive? The previous games
weren’t exclusives, Xbox One just rereleased the rest of the series, and I
wouldn’t honestly have expected a game like this to perform that well on the
Switch. I haven’t played it—I probably won’t—but I liked the rest of the series
so here you go.
Gears 5 Tech Test
of War 5looks fantastic. If you have Xbox Game Pass, hopefully you
already participated in the tech test (whatever they mean by that) over the
weekend. If not, it looks like there’s another opportunity starting Friday.
Personally, I’m saving myself for the full game. Is there time to get caught up
from Gears 1 before then?
Speaking of Game Pass, if you have it, you should still be
playing Blazing Chrome,
a retro-style Contra-like that came out earlier this month. If you don’t
have Game Pass, just buy the game.
There’s basically nothing going on. The highest new release
on Metacritic has a 76. Not sure what to tell you.
Auto-chess games are the near future of PC gameplay
including Twitch and esports. These games involve putting together small armies
on the fly and battling it out with opponents without directly controlling
the combat. I’m only just learning Teamfight
Tactics from Riot, but it’s a pretty fun gameplay experience. New players
should expect fairly steep learning curves to “git gud.” You can play Teamfight
If you like strategy and card games, be sure to look at Nowhere Prophetfrom Sharkbomb
Studios. This is a single-player card game with randomly generated maps tied
together by a wasteland pilgrimage story and it’s getting fantastic reviews.
Dr. Mario World
Mario Worldis out, and I’ll recommend it if you really love Dr.
Mario and don’t mind strong similarities to Candy Crush. I think
that’s all I’d like to say.
Sky: Children of the Light
Sky: Children of the
Lightfrom ThatGameCompany is available for iOS and might be a better
example of the possibilities of mobile gaming. The game has received scores as
high as 100 on Metacritic.
This post is a recap of my experiences running this year’s
Itch.io Jam for Kids, including
a few things you may want to keep in mind if you’re ever in charge of a jam
On or around June 18th, my four-year-old asked me to make him a video game about trains. This was actually a continuation of a discussion we’d had earlier when I declared I was deleting Budge Studios’ Go Go Thomas from my phone, as I find their microtransaction model for the game to be red-hot garbage. I said I’d be thrilled to make him his own game rather than have an app for children advertise about $20 USD worth of in-app purchases twice for each activity. This was not an idle threat; I’ve done it before. So as promised, I brought the Surface Pro to the kitchen table, fired up Blender, and set about modeling a toy train to see if I could do anything interesting with it in Unity. When I had a reasonable starter model in place, I tweeted it out, because that’s what one does.
My devfam was enthusiastic and supportive as always, but one
reply caught my attention more than the rest.
I half assumed @TrashGameArtist was kidding, but for fun I replied with some things he’s interested in and didn’t think much else of it. But the conversation about theoretical kid game designs developed until the suggestion to start an official Itch.io event was made. I thought this was a fantastic idea. Kids need useful play experiences more than anyone, as it directly stimulates brain development, yet they put up with some of the worst, most exploitative designs imaginable. If my admin time could help produce even a few positive playable experiences—not to mention place a sensible time limit on this activity for myself—bring it on. I logged into Itch, cobbled together the most basic of guidelines, and the Itch.io Jam for Kids was born.
What followed was two weeks of incredible learning, great community discussion, and sure enough, a prototype for To the Station! A toy train simulator developed to spec for a preschooler. I didn’t plan on taking away any worthwhile lessons from hosting the jam itself, but I couldn’t help it. Here are some notes in case you ever try this yourself.
Itch.io’s jam tools are amazing
I first got to know Itch as a journalist covering indie
games. I was super impressed by the features implemented simply to make my job
easier, and in turn, put more eyes on the platform’s game developers. When I
came back to try out jam hosting, I was just as pleased. The proof is always on
display in the always-loaded jam calendar. I’ve
been an enthusiastic Ludum Dare participant for a good decade, but it’s getting
difficult to imagine not using ltch for any jam at this point.
Two weeks is the jam duration God intended
I’ve probably participated in my last 48-hour jam. I knew my
own time for this jam was going to be under assault by everyday life. I also chose
to start the jam with no lead-up time, so I decided to blow out the traditional
weekend format and give everyone two weeks.
What a win this turned out to be! I think the best strategy
is to pursue a design no grander than you’d dream up for a 48-hour jam, but to
find a groove completing and perfecting it around the rest of your everyday
life instead of replacing your life with frenzied crunch development. After
all, this is how release-worthy games are completed.
Anything longer than a couple of weeks, I suspect time
management issues and scope creep would rear their ugly heads. Less than two
weeks, I don’t imagine putting myself through the stress again. It’s the
two-week life for me.
Admin tasks will eat up your dev time
This is a no-brainer going in but remembering it for two
weeks is harder. Not many folks will likely want to run small-to-medium jams
without working on an entry themselves (rules permitting) so a host simply has
to find the right balance for their time. Two different days I had to hang up
intricate development tasks to deal with situations I felt might put
participants or others at risk in one case or make us all look kind of
ridiculous in the other (more on this later).
I also felt pressure to set an example in the attached
forum, participating in discussions where I could, running a progress thread
about my game, and of course responding to any questions that came up during
the event. By the end of submission day, I’d given up several features on a
fairly modest list to fulfill the host role successfully.
Dev tasks will eat up your admin time
Of course the reverse of the previous point is true, but it’s
worth discussing what that looked like.
On only the second or third day of the jam, a participant
posted a dual entry he was working on for an earlier jam focused on education
that overlapped with ours, explaining that it contained not only a prototype,
but also a lecture he’d put together about designing for kids. In my mind, the
timeline was an issue that would prevent his project from being an official
entry, but he joined hoping to participate and posted hoping to help. I wanted
to at least check out the project and presentation and provide some
encouragement. Unfortunately for my Surface Pro, his was a fairly large project
and was downloading too slowly over Wifi. I determined I’d check it out first
thing when I next sat down in my office and provide feedback.
The only trouble is I never made it back to my desktop PC. I
actually still haven’t. I had to continue work on my game and provide official
support for the event. That’s simply all there was time for. I should have stayed
laser-focused, even at the risk of appearing rude or uninterested in anything
People will try to get away with things
In order of sheer audacity:
A participant posted pretty early on that they hoped to make
a basic racing game in Unity but realized the scope was going to be out of
control (which is very correct), so they found a Candy Crush-like tutorial series
they wanted to follow to wow us all with a puzzle game. It sounded great to me.
I wished them luck and said we were all looking forward to seeing it.
I got a notification a day or two later saying they’d
submitted an entry.
I suspect not everyone knows this, but a jam host can see
the exact date a game was submitted to Itch, and this one was something over a
year old. Perhaps I’d still try it and offer feedback before officially
disqualifying the entry. That’s when I noticed the following paragraph on the
entry’s Itch page:
NOTE: If your virus detection software is acting up when
you load up this game, please ignore it because it’s just the software being
suspicious because the app is not recognized by it. So if it says anything
please just ignore it.
Right. I followed up in the forum, asking why his submission
was showing up as being more than a year old, also having a YouTube trailer a
year old. I didn’t dive into the antivirus topic. He claimed the second game
attempt overwhelmed him and he simply wanted to have something to submit. He
hoped I’d understand. You couldn’t craft any better test for a jam host,
because it was either a perfectly sincere story that must have been hard to
admit for a vulnerable participant, or he was trying to destroy all our
machines from the inside out. I’m no King Solomon, so I used the easy
pre-existing project excuse and disqualified the entry which removed it from
the submissions page. It was probably legit; I wish the developer the best.
As the jam was drawing to a close, I was eager to try out other submissions. I saw a notification pop up on one of the final days saying an interactive fiction novel had been submitted. Interesting choice for a game for kids, I’d better have a look. When I got to the submissions page, I couldn’t help but laugh.
The game was $7.99 to play.
For good measure, this game turned out to be long pre-existing as well, but I couldn’t help but laugh at the boldness required to join a game jam and try to sell the entry to the other participants. It’s hard out here for us indie devs. I get it.
It will all be worth it
In the end, we had a couple of awesome entries to keep mine
company. A user called Sipsop created the Surprise Eggs Machine
which was a cute little proof-of-concept which could easily be tied into a real
brand. Minemaster552 who said he’s only 13 years of age submitted Lego City Builder,
an unauthorized FLASH Lego game that was off to a great start at the end of the
My four-year-old got his train game and even provided the name. To the Station!in prototype form convinced me a toy train simulator could be viable and fun. I’m in the middle of my book project—alright, not the middle yet—but I’m excited at the possibilities of the prototype and have concrete ideas in mind about how to carry it forward.
I think the Jam for Kids will come back around this time
next year. The biggest change will be even longer, even clearer rules upfront. Everyone
seemed to have a great time, I know we all learned a lot, and we just might
have started some projects that could go the distance. Hosting was a deeply
rewarding experience and I’d suggest it to anyone. The better our events, the
stronger the community.
In this post I aim to run readers through the process of planning out and beginning work on a game intended for commercial release. I aim to keep “fluff” to a minimum here, but I will provide context where I think it will be beneficial, particularly while explaining my game project. This process looks different for each developer, and because experience leads to change, developers often alter their own process from one game to the next.
To help illustrate my process, I’ll be showing the steps I’ve recently taken with my own recent game project, a game I’m currently calling Cart King ’92.
When I was a young kid first discovering the world of gaming, I think the physical act of playing games was a lot more interesting. Certainly, games have always been hanging around retail stores, but we also had the triumph and heartbreak of searching for hard-to-get titles at rental stores, the unique experience of going to other people’s homes and buying their games (okay, you can probably still find games at garage sales), and there was even a thriving underground economy of backpack-to-backpack buying and trading at schools that had largely outlawed gaming paraphernalia thanks to fear-mongering news outlets. Back then, our parents largely believed it.
For years I’ve wanted to find a way to capture this era in a game for other folks who recall those days and later so my son can get just a little hint of what life was like before the internet took us mostly digital. Recently I thought of turning this into a playable experience by blending the gameplay and style of a retro RPG with the inventory management and NPC interactions of a space sim game like Elite: Dangerous or, well, any of the others. The story that came to me was a kid from humble beginnings who set out to build the ultimate video game collection. They’ll compete with other notable kids in sort of an ongoing Civilization-style leader competition where multiple endings would be possible depending on what they accomplish. I eventually determined that, though the idea is unusual, it’s worth finally taking a run at it.
Let’s talk about game design documents.
In the pro game industry, a detailed game design document acts as a unified answer book to keep medium-to-large development teams on track once a game leaves the planning stage. But there’s another benefit, and a reason any indie developer, even as a soloist, should fill one out for any serious project: it will force you to answer questions that go beyond the idea in your head to get you thinking practically about your potential game as a viable product, what you would have to achieve to bring the idea to life, and what you would be able to do with it once you did. I think at best you can expect several major hurdles or drastic changes of direction in a project if you get an idea and just start coding without a design document. At worst, you realize the idea was much more complicated than you realize or find out there’s a good reason the idea doesn’t work in the real world at all.
To account for the differences in how professional teams and indies benefit from game design documents, I’ve been tweaking one to my liking for a little while now. To help with this post and my own upcoming project, I’ve cleaned up the document, added some template notes, and uploaded it to Itch.io where you can use it freely. It’s been very popular there!
I believe a game design document should be the first thing you will do after deciding for certain that you want to pursue a project. That’s because the document will require you to answer questions about what you want to achieve in your prototype, what you want the game to look and sound like, and how you want to put assets together with code or a game engine. In addition, it will take you through the roles you play as a marketing expert, a designer, a developer, and all the other responsibilities of an independent creator. Finally, it will have you look to the future to determine what will mean the project was successful, and what your priorities will be for the game after release.
If you get through the game design document and feel you’ve provided good answers that will set you up for success, you are ready to set up your project.
Setting Up the Project
Setting up a new development project is not a new experience to any developer, published or not. Most of us have set up countless projects, turning some portion of our hard drives into graveyards for wasted potential. But if you have a good design document under your belt, you should be eager to dig in at this point.
Needless to say, this part will look different for everyone, but I’m going to explain how I got started with my latest project, a couple of things I firmly believe everyone should do, and then a couple of things I’m trying that are giving me stellar results this time around.
I decided I wanted to have my hands on as much code as possible for Cart King ’92 because I don’t want to spend another project trying to figure out what Unity wants me to do when I would have known how to do the thing in code. That said, platform flexibility was important to me. If this game turns some heads on PC, I may very well try my luck on one or more consoles. So, I needed a toolset that would let me code the game the way I wanted, but was also mature and full-featured enough to give me some options at release time. Surprisingly enough, the leading way to achieve this is likely some version of Microsoft’s discontinued XNA framework. XNA’s demise led to the development community’s XNA extension project, Monogame, and a framework called FNA, which is a different extension focused on being the closest translation of XNA possible. FNA is often preferred for PC releases, where many folks like to use Monogame for console projects. If that sounds like a mess, then I’ve probably done a good job of explaining the situation. Basically I started this project in Monogame, went to our old podcast guest friend, Path of Motus creator Michael Hicks with some questions, and he happily answered them but warned me that FNA was probably going to give a more positive development experience, and he even had, not just A video series about FNA, THE video series about FNA that is advertised on the FNA homepage. God bless you, Michael Hicks.
Starting a new project should be done according to your engine/framework’s creator recommendations. Playing it by the book when you’re starting out will get you in the right frame of mind and will help get you the most out of your tools. I recommend following the directions to get a new clean project started, then immediately committing that starting point to the version control system of your choice. As I’ve mentioned before, I’m a Git man.
A quick aside on version control: I was a holdout for a very long time on using version control as a solo developer. To be completely honest, I made it through my first commercial release without it. I was using Lua at the time and the files and tools stayed simple throughout. I worked out of a Dropbox directory and even managed to use it to restore incomplete files or get rid of unwanted changes. There were also a couple of small issues I did not recover from that way. Nonetheless it allowed me to mostly protect my files and work smoothly between multiple machines right up through game launch.
Unfortunately, there are several reasons you should not depend on a service like Dropbox for a software project. First off, the services are not designed for this purpose, so using them this way becomes inconvenient in a hurry. The various snapshots Dropbox takes of a file, for example, are not perfect. There were a couple of times I tried to restore a file at a certain save point and it simply existed nowhere. You’re not really in control of how a service like this manages your files, it simply works on its own schedule which will eventually be at odds with what you need from it. Real version control, on the other hand, allows you to determine when to commit changes and create a project-wide snapshot of the entire project directory exactly as you want it to look. No matter what you do to the project in the future, you will be able to return to this precise state as long as the repository exists. Second, big game engines like Unity and Unreal hate when you work out of a directory being managed by a service like Dropbox. I don’t know what the experience looks like now, but there was a point in time when I tried this and I literally got non-stop notices from Dropbox about files being saved, synced, resynced, and occasionally, complaints that they were locked or in use. It becomes a nightmare fast. Unity loves Git and includes a variety of tools you can use to manage your repository right there in the editor. Finally, using Git or Subversion gives you an opportunity to sharpen a valuable skillset that stays in demand on professional teams of all shapes and sizes. Maybe you will never work on a software team in your life, but you may collaborate with someone who would love nothing more than to “go pro,” and this will set them up for success as well. Finally, learning and using Git is weirdly fun to me. I prefer the command line. It’s dead simple to learn and I just enjoy it.
Before we move on, I also recommend a solution like Git’s Large File Storage system. If you’re not familiar with the “large file problem” in version control, we covered it pretty well in my #GameDev Breakdown chat with Edward Thomson and Kayla Ngan of Microsoft Visual Studio Team Services at GDC ’18. Basically, using version control for game design often causes you to commit copies of large asset files like images and sound files repeatedly as you save changes to the repository. If you’re not careful, this will cause the size of your repository to explode. Some people, as Edward Thomson explains, will configure Git to simply ignore these asset files, creating a situation where they commit code to their version control repository and leave asset files in a Dropbox directory or on Google Drive. This seems like a nightmare scenario to me as well. Fortunately, Git Large File Storage will allow you to commit asset files to your repository once, then your repository will simply maintain links to those files unless direct changes require them to be committed again. I’ve been using this for a short time now, and for game development, this causes Git to behave exactly the way you want it to.
So what about hosting for your version control repositories? GitHub is an awesome site and I think just about every developer should have an account there for fun, collaboration, and portfolio purposes. Unfortunately, any repository you maintain there for free will be public, meaning anyone can go to your profile and see what you’re up to. You may determine that that’s totally fine with you, and then your problem is solved. Bitbucket is a get-started-free option that gives you a certain amount of room, particularly if you’re using Git LFS there, where you can maintain private repositories up to that point. I’ve had a Bitbucket account forever and have not run into any limitations.
There’s another option that I discovered in conversation with Microsoft cloud advocate, Jessica Deen, also at GDC: If you set up a workspace at Microsoft’s Azure DevOps site, they offer unlimited private repos just to have you in their sandbox. I wanted to try this, because eventually leveraging some cloud services for my games is well within the realm of possibility and I like what I’ve heard about Azure for this purpose. I found loads of benefits to doing this. I don’t know what the future holds for this offer, and maybe one day I’ll have to migrate out, but I love using the Azure site. Starting a new project gives you a project dashboard with several nice features. I was able to start a task board for work items which I consider another absolute must for a new project. Trello is a great alternative, but this turned out to be a great way to have everything integrated. You can also start a Wiki for your project, so if I were to bring anyone on to work on Cart King with me, I would absolutely go into my design document and turn the sections of the doc into Wiki entries, capture concepts about the game, and would maintain that all the way through the project. I also recently learned I can have multiple repositories in the same project. Why would you ever want that, right? Sadly, I got a decent amount of work done before I thought to go talk to Michael Hicks about my current project. When he showed me FNA, I decided to start a new project his way, follow through his video series, and then bring over as much of my work from the original project as I could, so in my Cart King project I have a repo called CartKing92 and now a second called CartKingFNA. It’s nice that this didn’t have to go in a completely new project. The DevOps site certainly goes even further, but these are the features I’m happy about right now. However you decide to start, at minimum, I strongly advise a version control system and a task board like you can use at Trello.
Working Toward the Prototype
With our game design document safely tucked away, our project started and established in a repository, the scope of the prototype should already be established, only leaving you to decide what to work on first. I often find myself working in a new engine or coding with a new framework, and when this is your situation, I’m known to take things very slow. A lot of developers like to invest a ton of time up front, deciding what helper functions they need on day one, mapping out object-oriented class hierarchies in detail, and even making plans for custom editors before they’ve done too much of anything on a new project. Michael’s FNA video series on YouTube does this, because he’s a very bright programmer and has intimate knowledge of the framework he’s using. If you are already reasonably comfortable with your tools, I’d encourage this. Who wants to rework something later for no reason, right? Work smart, come up with a great plan of attack, and use the hell out of that task board we talked about. Not committing everything to memory means your brain gets to stay nice and relaxed throughout your project. If you’re more like me and usually learning something new while you’re working, I’m a huge advocate for baby steps. My initial task list literally contained work items like “Get project to build without errors. Draw one frame of a sprite on screen. Get character to respond to keyboard events. Get spritesheet animations to work. Get character animated correctly based on direction.” As I worked on these and tested them, invariably I’d find two new things I needed to do for each time I test the game. Which is good! On to the task board they go. I strongly believe in establishing positive momentum when you’re not confident. In this scenario, I think it’s okay to go back and clean things up and refactor code later when you feel very good about what you’ve already achieved. Worrying too much about whether the player character extends the animated character class template or the projectile character class template while you’re still not sure how spritebatch drawing works is a great recipe for feeling overwhelmed and possibly quitting before you really do anything.
Once my task list is established on the board, one task usually stands out as being the most important thing I can do next, so I move it to the “doing” column, finish it and test it, commit my changes to the version control repository, move the item to the “complete” column, and move on to the next one. This loop can be repeated until your prototype is completely done.
Other things I strongly believe in: Use as much dirty programmer art as you want so you can get things moving. You have the project’s whole development cycle ahead of you to source art or perfect your own. Use asset packs from absolutely anyone who will give you permission. There is zero shame in this. I ran across an online tirade from an artist one time declaring “any developer who uses Fiverr to get cheap art is not a true creator!” He seemed to believe he could rant a magical budget into people’s pockets which they’d, for some reason, spend on him. That is not real life. Who wouldn’t want to do work with a great artist? In reality, most of us have to work our way up to that, and it does not make a lot of sense to me that an artist would be trying to stop the train that’s eventually going to reach their station. I look at resources like OpenGameArt, Kenney.nl, and any others I can find without a care in the world for what someone else might be doing with them. I give credit, I thank people, I use the material in accordance with the license, but I know that what I do with it will be uniquely mine. I try to make each decision feed into momentum and productivity. If one choice lets me work, that’s the choice I make. Everything else is secondary. This is how muscles are grown and milestones are achieved.
The prototype point looks different for each project. Initially I wanted to be done with a prototype before putting together this post. For Cart King, however, I realized a lot of intricate subsystems actually need to be functional before I can give players a sense of what the proper game is going to feel like to play, including a fairly mature inventory system, dialogue, a system that maintains loads of data about the in-game video game market, all in addition to the standard retro RPG controls of walking around, colliding with doors, pressing A to talk, etc. For this reason, what you’ll do with feedback to continue work on the final game will be unique to your project also, but you will largely continue the same work item -> code -> test -> commit -> Update tasks loop until the last problem is solved and you are ready to get a great Early Access campaign going, look for funding, Beta test, straight up launch the game, whatever you want to do next.
Whatever your strategy, make sure you’re taking plenty of time to update players and friends on what you’re doing with the project so you can build an excited community of true believers ready to dive in head first and help you tell the world about what you’ve done. Precious months and years of your life are invested into these projects—take it seriously, do it well, and understand that even if you work solo, you do not live through the experience alone.