Space Dust Studios

Developer Blog

Month: April 2014

Tools and processes for remote game development – Part 1: Communication

Michael's old 'AAA' desk at EA.

Ahh, the corporate video game lifestyle. quad 24″ monitors, $1000 office chairs, free snacks, and beer o’clock. But when you and four colleagues throw that lifestyle away to pursue your indie game dev dreams, more often than not you can’t (and shouldn’t) rent a fancy office, because in case you weren’t paying attention, you’re now peasants and every cent counts. But with the right tools and processes, you can work together remotely on a tight budget.

In this three-part article, I’ll run through the tools and processes we use for remote game development at Space Dust Studios. Part 1 focuses on communication, Part 2 focuses on collaboration, and Part 3 focuses on security and backups. We’ve evolved this setup over the last 12 months and it’s working well for us, though we’re a team of five living in the same city, so your mileage may vary. If you’re working with a bigger team or are spread across different time zones, you may need to make some changes.

We’re always on the lookout for improvements, so please leave a comment if you’ve got suggestions!


Part 1. Communication

Phone numbers, personal email addresses, social pages

Let’s start with the basics. Make sure all team members have each other’s phone numbers, personal email addresses, and that you’re all friends on Facebook/Twitter/Google+/whatever. The goal here is redundancy in case your company communication channels go down. It sounds obvious, but you’d be surprised how easy this step is to overlook when you’ve been working in the same office for years.

Work email addresses

Once you’ve chosen your company name, buy the domain and arrange web hosting. This is the most expensive part of the whole operation, coming in at around USD10 per month. Set up a work email address for each team member. I’d recommend going with a fully hosted mailbox over an alias, as this will allow you to send and receive email directly from the work address without your personal email showing up anywhere in the message header. It’s not a great idea to email Sony about bringing your game to PS4 from steve@yourawesomecompany.com via hotpantsfan_1988@gmail.com. With a fully hosted mailbox and some fiddling, it’s possible to configure your personal webmail account to send and receive through the work account transparently, so you can check your mail in one place without this happening. Remember to test it out!

Public email addresses

While you’re here, now’s a good time to set up some public email addresses for your company. You’ll want a general public contact (eg. contact, info, pr) and a business development contact (eg. business, bizdev, bd). These can just be aliases for work email addresses, but it’s good having them separate to control spam, and to give you the flexibility to change which team member they forward to down the line.

Team mailing lists

The next step is setting up an internal team mailing list, so your team can easily have discussions and share progress with each other. Your hosting provider should have a mailing list manager such as GNU Mailman that can do this for you. Pay careful attention to web security here, as many mailing lists create publicly accessible archives on your web server, or append administrative links to the bottom of every email. Also make sure only approved email addresses can use the list.

To start out you’ll probably just want one list for the whole company, but you may find it useful later on to allow different projects and departments (art, code, design, QA etc.) to have their own mailing lists.

Team wiki

You’ll want somewhere to store permanent information accessible to the whole team. We started out using MediaWiki, but eventually we migrated to Google Docs as it supports concurrent editing during meetings, and since we also use Google Drive for file sharing, this allowed us to integrate our wiki structure directly with our file sharing structure, which became very important once we started dealing with file attachments and assets from accountants, lawyers, publishers and so on. MediaWiki allows you to upload files, but it’s pretty clumsy in comparison to something like Google Drive.

Once your wiki is up, you’ll want a section for the business, and sections for individual projects. Store a company address book for all internal and external contacts. Store information for new hires, such as project setup instructions and an overview of your team tools and processes. A company password list is also essential for keeping things like Facebook and Twitter login details, and should itself be protected with a master password. The wiki is also a great place to keep track of expenses until you go with a more robust (and expensive, eep!) accounting solution like Xero. At Space Dust Studios we also have a time tracker spreadsheet to see how long each person is spending on individual projects, which we can use to figure out revenue sharing, and who decide who needs a holiday the most.

Update (1st May 2014): Jojo asked for clarification on how we use Google Drive/Docs as a wiki. First create a Wiki folder in Google Drive, then right-click and share it with your team members, giving them full access. Now everyone has access to all new documents created within this folder. You can treat each document as a wiki page by using headings and inserting a Table of Contents at the start of each document. If you click a heading in the Table of Contents, it provides a link popup. You can right-click this link and paste it in other documents, and everyone with access to those documents can use those links to easily jump between them. You can share files in the same way. Now you’ve got all the benefits of a wiki, with all the goodness of group editing and automatic synchronization with your Google Drive desktop folder.

Team calendar

For anything time-related, you’ll want a cloud-based team calendar that’s easily accessible from laptops and smartphones. We use Google Calendar for marking important milestones, meetings, and blocking out holidays and time off. If you’re using Trello (shameless referral link) with the Calendar power-up, you can merge Trello’s iCalendar feed into your Google Calendar feed to show tasks with due dates.

Instant messaging

IM is an essential communication channel for quick informal chats. Fortunately almost every web service has chat built in, but we prefer Google Hangouts because it keeps a searchable record in your Gmail history, and you can still message people that are offline. Formerly two products (video chatting and Gmail Chat/Google Talk), Google Hangouts now has a desktop client available for Mac/PC, as well as native clients for iOS/Android. Really though, your IM choice doesn’t matter too much as long as everyone agrees to use it.

Update (1st May 2014): @tenpn raised an excellent point that not all IM clients are equal. Important features to look for include automatic startup with your OS, status indicators (online/away/do not disturb), the ability to create group chats and chat rooms, history, and the ability to mention someone to get their attention. A great candidate for this is Slack – a cloud-based group chat solution similar to XMPP/IRC, but with more bells and whistles.

Daily “stand-up” emails

If you’re not familiar with a stand-up meeting, the basic idea is that every morning, the whole team has a standing meeting (to help keep it brief) in which everyone runs through their tasks for the day. This is a useful routine for keeping everyone in sync and it helps catch potential conflicts early.

In practice, there’s many problems with daily stand-ups. They often run too long despite the best intentions. They eat into the most productive part of the day for many developers. They’re synchronous: everyone needs to be there for them… how pre-internet! If you set the meeting too early then some people will be late. If you set the meeting too late then some people will be burning time avoiding real work until the meeting is done. Plus if you don’t have an office, where do you meet?

We started out doing daily stand-ups as video conferences, but found these took up far too much time, just like stand-ups in real life. So we came up with the idea of an automated daily stand-up email instead.

At 9AM every workday, an email gets sent out to our team mailing list. It contains the following information:

  • a countdown to the next milestone and all upcoming milestone dates,
  • a link to our business and project time tracker document,
  • three questions to answer briefly:
    • What have you done since the last email you sent out?
    • What are you working on next?
    • Is there anything blocking you or that could affect others?

Replies are encouraged to be short, so this usually only takes a minute or two of your time. But more importantly, you reply whenever it’s convenient to do so. This serves the same purpose as an actual stand-up meeting, but without the time wasting and mental derailing of a synchronous meeting. Plus as an added bonus, you’re free to continue discussing issues in excruciating detail over email.

This system works really well when there’s clear long-term direction for the team, such as during a production cycle. But we found it inadequate when we were dealing with unfamiliar tasks, such as preparing for our first GDC trip and arranging meetings with publishers. In these situations, we’d switch back to a daily video conference instead, as we needed the back-and-forthing of conversation to figure out the best plan of attack. Be aware that you’ll need to adapt your processes regularly to fit the needs of the team.

Video meetings

Whether you’re doing video meetings daily or weekly, make sure you’ve all got decent internet connections and reasonable webcams (or just use your smartphones and tablets). If you’re on a budget I’d go with Google Hangouts as your video chat client, as it allows group video chats and screen sharing for free, but if you can afford it I’d recommend a premium Skype account as we’ve found the audio and video quality to be superior, plus it appears to be more reliable in general, and most third parties seem to prefer it.

Video meetings are expensive in terms of time (just like real meetings), so use them sparingly. To avoid wasting too much time, appoint a meeting chair and let them drive the meeting agenda to produce clear actions at the end of the meeting. For all their downsides, video meetings are a great way to nut out tough problems, figure out longer-term objectives, and build more personal relationships without the need for pants.

Physical meetings

No matter how good your HD webcam is, there’s still nothing like a physical meeting; cabin fever builds quickly when working remotely! A physical meet-up allows you to step outside of your normal work environment, play-test your game together,  brainstorm with coffee and alcohol, re-focus your team vision, and build morale in a way that simply can’t be done remotely. Time-wise these are the most expensive meetings as everyone needs to travel somewhere, so try and do these rarely. Once a week or once a month feels like a good frequency for us, depending on how badly we feel we “need” it. We knew each other well before we started, but you may need more physical meetings when bringing new people onto the team.


Everything outlined above is working well for us now, but as we ramp up our team and projects we’ll most certainly need to get office space. But for that awkward period between starting your company and bringing home the bacon, hopefully the tools and processes I’ve covered here will help get your team and project moving along for very little financial investment.

 

Have we missed something? Please let us know in the comments and we’ll add it to the post!

Intro-DUST-ions? No, that’s definitely not working.

Hello and welcome to the Space Dust Studios game developer blog! I’m Michael Davies, Director & Lead Gameplay Developer, and perhaps the best place for me to start is by introducing who we are and the purpose of our dev blog.

Space Dust Studios team photo

Meet the Space Dust team. Left to right: Nathan, whats-his-face, Grigor, Glen, Stephen.

Space Dust Studios is made up of five senior game developers who have been working together over the last decade at a variety of ‘AAA’ game studios. We’re a mix of artists, musicians and programmers who were fortunate enough to work together on popular gaming franchises such as Battlefield, Need For Speed, Dead Space, Tomb Raider, Burnout and Silent Hill. We’ve developed for virtually every gaming platform since the original Xbox and PlayStation, and constantly refer to ourselves as veterans, despite being in our 30s.

In 2013 we made the decision to go independent as a game developer studio. The aussie gaming scene was having a rough time with many studios closing or making huge cutbacks, and we were directly caught up in the turmoil. A lot of great talent was heading overseas to greener pastures, but we didn’t want to uproot ourselves for our careers one more time. We saw there was an opportunity to take control over our situation by starting our own studio.

Our plan is to build ‘AAA indie’ original IP for the world stage, luring back top talent from overseas in the process. It sounded a lot less like marketing hyperbole when we were talking about it over coffee.

Space Dust Studios logo

Our fancy pants logo.

We’ve spent the last year getting our company and projects up and running, and have completed pre-production on two original IPs. We can’t talk about the second title yet as we’re still negotiating with potential investors, but the first title will be the focus of this development blog, from inception through to final release.

Space Dust Racing is (and here’s the elevator pitch!) top-down galactic party racing mayhem. It’s our love letter to couch co-op party racers such as Micro Machines, Mashed, Circuit Breakers, Crash Team Racing and Mario Kart. But we’re not just rehashing the same old experience, we’re making something… bigger. In fact it’s so big, we’re having to build custom tech that’s never been done before in a game (as far as we know). We’re looking forward to talking about that some more in future posts, unless we can’t get it working, in which case we’ll be deathly silent on the matter.

Film Victoria logo

We’re getting started on the PC prototype and vertical slice now, thanks to the generous support of Film Victoria’s “Screen Development – Games” program. We’ve decided to make this a transparent process (hence this blog) for a few key reasons:

1) We want the community to get involved. We want to show you all the cool stuff we’re building, and get your feedback and suggestions while we can still act on them. Good ideas come from everywhere, and we’d be fools to ignore them! We encourage you to leave comments on these posts, and to email us your thoughts directly at info@spaceduststudios.com.

2) We want to share some of our hard-earned insight into making games. We’ve been part of some spectacular failures, and have learned the hard way how to do things “less wrong”. If you’re a game developer, hopefully some of that experience will transfer across and you can avoid some of the pitfalls we’ve fallen into on prior projects.

The five of us will be talking about various aspects of the development process in this game dev blog. We’ll try and cover everything that’s going on internally, from creative decisions through to gameplay, art style, technical notes, business stuff, workflow processes, and office gossip. Hopefully we’ll all learn something, and at the very least I will enjoy the catharsis. You don’t know me. None of you do!

What area of game development should we talk about first? Let us know in the comments!

© 2017 Space Dust Studios

Theme by Anders NorenUp ↑