2020/02/23 Status Update
What is a Status Update?
At my previous company, I was meeting up regularly with a creative director to learn how to become a better team leader and manager, as that was what my role was slowly turning into. As part of our weekly meeting, he had me start a practice of writing a weekly status update email to him as well as my leads at the time to talk about three things: what are my long-term goals, what was going on in the last week, and what do I foresee happening in the near future.
This practice was immediately helpful for me in the first week of doing it. I immediately gained clarity from my leads about what my goals should be and refined them week over week. I had a place to voice the various aspects of my role and the things that I wanted to address and had informative follow-up conversations about those topics. And finally, it forced me to reflect on what I expected to happen in the future, review that during the following week and calibrate my ability to plan and aim towards goals.
I got a lot of value out of this seemingly simple practice and I want to continue this now at the larger scope of running a studio. While we are an "independent" game studio, ultimately we believe that we are beholden to our audience, the players, and the game development community. By continuing this practice of actively communicating out what our goals are, how we are incrementally progressing towards them and what we foresee in the future, I hope that we refine the goals that we try to achieve, reflect on the process we take to achieve them and engage our communities in how we grow.
It has been a busy week for us starting a new studio and there is a lot of things that we've encountered that I think will be interesting for other developers considering the plunge into independent game development. There has been no shortage of long-term indie development stories posted, especially in the last few weeks, such as Adrian Novell's "I Had to Abandon My Game After 4 Years And It Nearly Broke Me" and Vladimir Slav's "Lessons and statistics after four years as an indie developer". But what about stories from the very first week?
If I had to choose one word to describe our first week, it would be "groundwork". It turns out there is a fair about of things to set up out when you are first starting out. We had considerations for how to properly form a new company. We knew there were software and hardware decisions that we needed to make early. And, because we had both recently left full-time positions, we had health insurance considerations that we wanted to make. But aside from the mechanical setup stuff, we also wanted to lay out the groundwork for who we are as a team.
Submit an application for GameScape (Deadline: March 31st, 2020)
GameScape is a portion of the Artscape summer festival that "showcases games and the creative people who make them". We know that for the game we are making we want to show it to a broad audience to play it and give us feedback. With us being based in the Baltimore-area, this event is perfect for us in terms being about to travel and get setup with minimal hassle. The March 31st deadline means that we have about six weeks to get a vertical slice of the game we want complete for submission.
In tandem with submitting to GameScape, we want to build out our pipeline for producing builds of the game and sharing them out to friends, family and players that are interested in trying it out. As a part of that, we have a mailing list that you can sign up for to stay up to date with future playtest
We started working as soon as possible on outlining the core loop of the game we wanted to build as well as core systems necessary to support it. We know that scene scripts are important to the game and the dialogue we want, so we iterated on a script format that could be easily readable and I worked on getting a rough implementation of parsing the script, and converting it into an interact-able scene.
We have roughed out the next six weeks for us leading up to the application submission deadline for GameScape. This includes when we think we will have a rough playable, real assets, time to sort out bugs, and most importantly, key brainstorming sessions that we need to have to decide on how we want core systems in our game to work. A big thing about the first week has been figuring out our working schedule and what our new daily routines and habits are.
WARNING: The following is very focused on the details of setting up of a new company. There are a lot of specifics that pertains to the company we are making that may not be applicable for everyone.
Forming a Company
First things first, we knew that was wanted to official create a business. We looked different kinds of corporate structures, like C-Corps, S-Corps and Partnerships, but we ultimately decided to form an LLC, Limited Liability Corporation, because it fit what we intend to do with this company over the other structures. Specifically, we knew that we may want to form a C-Corp company because of the ease for getting external investing, but it is at the cost of having to have a more formal structure (deciding who's the CEO / CTO / CFO and doing minutes for meetings) and more headaches around tax season. For the company that we want to build, we do not plan on scaling above our means, and the way that we approach developing games is, we hope, pragmatic and reasonably scoped, which leads us to believe that potential investors would question why we were searching for external funding over bootstrapping the rest of the project. Until we have a clear case of needing outside help and knowing that it is a reasonable goal for us to stretch towards, we feel more comfortable as a smaller LLC and should have the options to convert into a different kind of company down the line if we have to.
So, what do you need for starting a company as an LLC? You will want an Operating Agreement. According to Wikipedia, "An operating agreement is a key document used by limited liability companies (LLCs) to outline the business' financial and functional decisions including rules, regulations and provisions." Some websites will generate one of these documents for you but this document matter a lot for us since we were creating a company with two co-founders. It ultimately is an agreement between us of how we see us operating the business and outlines special handlings for harsh, but necessary to consider circumstances, i.e what happens if one person decides to leave, what happens if one person suddenly dies, how will you decide to spend money, who ends up being responsible for profit AND losses? Because all of this is super specific to the founders of the company and how they plan on working with each other and future employees, I can't really give too much advise on what is "right" to do here, except to just sit down and have a thorough and honest conversation with your partners. It was important for both of us to flesh out additional details like rights to assets, and ownership and licensing of work we did, especially in the cases that things don't work out. It is a serious conversation, but also it is a document that should be able to be amended overtime to better reflect the expectations from everyone involved*
*I am by no means a legal expert, if you are really concerned about this stuff you should probably consult a lawyer in the matter.
With the operating agreement in place, we chose to form an LLC using ZenBusiness. We looked at other online sites, like LegalZoom, but found that ZenBusiness gave us what we wanted and for a price that seemed reasonable. Towards the end of filing the LLC, we encountered a bug in submission process, informing us that our email address was already registered with ZenBusiness. These email addresses had only been very recently set up under our ravenheartgames.com domain, so we knew something had to be up. Fortunately, the customer support team was able to update us about a server maintenance that was causing the issue and we were able to proceed with submitting our filing. It was a stressful ordeal because we were starting up the business for real, but we remained calm and just let the problem work itself out.
Hardware and Software
We talked a lot about the kind of hardware we would need to get started. While we both have computers, they were not fit for the kind of development that we wanted to do. Neither of us had a usable Apple computer, which is necessary for developing for iOS and Mac builds of games. We also knew that we would want to have the ability to be mobile; some days we may work together, some days we may work at our own places, or out and about. Additionally, in keeping with our goal of Playtesting, we want to make it easy for ourselves to present the game to others and go to shows if we need to.
This led to a comedy of errors, that is at the current moment still too fresh to recount, that resulted in us acquiring a couple of 2018 MacBook Pro laptops.
The laptops are light, portable, and hardware specs that we were satisfied with. We opt-ed for the Apple Care program because it protects against accidental damage, and since these laptops could be interfacing with a lot of people and traveling, we thought that was a safe bet. The added benefit that using the same hardware gives us is ease of maintainability; if I know how to configure software that we need as a team on my system, the same will be true on other similar hardware.
As for software, we both have access to Garage Band for music editing. We will be using Unity 3D for game development, since we both have years of experience with it, and know that any new potential employees would also probably have experience with it over other development frameworks. I had previously looked into tools like Cocos2d, Corona SDK, and Godot, but I want to optimize for development speed and efficiency, and I am most comfortable with C#, Unity's tooling, and am certain that if we run into any problems, Unity's community forums are well supported enough to have a solution. We have Slack setup for work communication. We use G Suite Basic and Google Domains for handling our shared Google Drive account, Gmail accounts and domain name management. I prefer using JetBrains products, like IntelliJ and Rider for C# / .NET development.
Since we both recently left full-time positions, we had to resolve how health insurance was going to work. This decision is ultimately whether we keep the plans that we had via our previous company and pay the full amount that was previously mostly subsidy by the company, or do we find a new plan. Having no plan was not an option we wanted to try to risk. This conversation came at an ironic time when Universal Healthcare is a hot topic in US politics and we are planning on making a game themed around hospital life.
It is worth noting that HealthCare.gov has a great glossary of terminology that comes up with understand and choosing a health insurance plan that is right for you. Some of the drawings on our white board were from depict how deductibles, co-insurance percentages and out-of-pocket maximums come into play for a hypothetical surgery. It is concerning that role-playing game equipment stat mechanics and health insurance plans have so much in common.
Honestly, find the right health insurance plan for us took several days of legwork, going through a ton of plans and being lucky enough to have external people help us find some options that seemed promising.
Once again, since we both left our previous positions and were searching for health insurance, a thing to note is that you may need a Qualifying Life Event and documentation to support why you are looking for a new health insurance plan after the "Open Enrollment" period. Fortunately, leaving an employer is a Qualifying Life Event, just make sure to have documentation to upload describe the event and impacts on your existing coverage.
We have been working hard to settle on the art style we are looking for. Since neither of us are trained artists, we have been fortunate enough to get assistance from some of our artist friends to help with describing the look and feel of the characters in our game that we want.
We hope this, along with formulating an art test, will help us find prospective artists that can help us achieve the style and feeling we are looking for in the game.
I have been using Behance, ArtStation, Instagram, DeviantArt and Twitter to search for artists that we intend to reach out to as well as connecting with friends of friends.
Characters / Themes / Writing
We have a lot of work cut out for us for developing unique characters in our world. We know that broad strokes so far, and we will be tackling these points down this upcoming week.
Perforce / Build Pipelining
For helping with the Playtesting, we want to build out the build pipeline. I have been experimenting with Perforce to understand the capabilities it can give us for managing versions of our work. I have been using Git, GitHub and SourceTree for years and while they are usable, I want to do the due diligence of seeing if there is a better solution.
There are parts of a build pipeline I am still exploring, including Vagrant, Jenkins, Unity's Cloud Build solution. The core idea is that we could use our excess computers to run as builders, deploy work to them by merging into particular branches / streams, and get new builds pretty regularly and painlessly.