December 3, 2020

RDB-Design

Specialists in home design

Gamasutra: Danny Weinbaum’s Blog – Postmortem: Eastshade

Gamasutra: Danny Weinbaum’s Blog – Postmortem: Eastshade

Eastshade is an open-world, first-person adventure game where you play as a traveling artist. It was released for PC on February 13, 2019, and for Xbox One and Playstation 4 on October 21, 2019.

  • Game Engine: Unity
  • Platforms: Windows, Xbox One, PS4
  • Eastshade Studios’ second release, following our small spinoff title Leaving Lyndow.
  • In development from 2013 to 2019
  • Metacritic 78, Steam score 89 (at time of writing)
  • Initial budget of 200k*, plus additional 60k post launch for porting and patching
  • Self-published, funded from personal savings + help from family toward the end when we nearly ran out of money
  • Roughly $2M USD gross revenue across all platforms so far (1.5 years since launch)

* Most of the budget was for living costs, while living as cheaply as possible. If a publisher asked us to make a game like Eastshade for 200k we’d laugh at them. A bare living cost style budget We buy houses Jacksonville is not really comparable to an actual hiring budget. If we wanted to convert this budget to its actual economical value, it would have been more like 700k.

I landed my first game studio job in 2010, and ever since then I knew that one day I’d want to make my own game. I always assumed it would take a lot of money, and that no publisher was likely to hand it to me to try, so I saved religiously. Assuming I’d have to hire a team to build something substantial, I thought it was going to take a very long time to build up the funds. But my outlook changed in 2013, when I saw a number of indies creating impressive products solo or near solo.

I’d been working on what would become Eastshade at home in the wee hours for months, and was making good progress. My inspiration burned so hot, I was finding it hard to get to bed, which resulted in a severe lack of sleep. Some people can manage to work on their indie project while holding a regular job, but I’ve always had a very single-project mind, and struggle with multiple projects. I knew I could only keep doing one. With years of savings stockpiled, in December of 2013 I quit my job at Sucker Punch Productions as an Environment Artist to go full time on Eastshade. I knew I could pinch pennies to make the savings last, and with no children or mortgage my tolerance for risky financial moves was high.

The first year of Eastshade development was a very special time in my life. Imagine a moment of pure inspiration— the feverish kind that burns so hot it gives you goosebumps (maybe that only happens to me). I felt that burning inspiration every day. The inspiration sell my house fast jacksonville waned slightly each year, and eventually gave way to commitment, which, as it turns out, becomes easy to hold when you’re 3 years in and have invested your life savings. In the last year, when I had sight of the finish line, neither commitment nor inspiration seemed required, as the thrill of finishing and releasing—the moment I’d been fantasizing about for so long—was all I needed to keep swimming.

I started the project alone, but fortunately I didn’t have to finish it alone. By the second year my partner Jaclyn was making major contributions in design, writing, UI art, and in-game illustrations. By the fourth year she was working on the project full-time and doing quest markup, mapping, and testing. Most of the game’s hallmark mechanics were of her conception and design, including the painting mechanic itself, as well as the inspiration mechanic. In addition to her high level art chops, she has grown into the best game designer I know, and it’s safe to say the game would have been wholly unrecognizable without her.

Beyond myself and Jaclyn, our composer, the amazing Phoenix Glendinning, has been working closely with us from the start. We also had a character artist, Daniel Merticariu, who was an army unto himself, and single-handedly modelled all the outfits and characters. Toward the end of production we hired two quest scripters and a programmer to help us implement quests and get the game across the finish line. Finally, we worked with a number of additional contractors, including voice actors, translators, DO Games who handled our console ports, as well as our publicist extraordinaire Charlene Lebrun of Player Two PR.

Throughout Eastshade’s history, there were a few eureka moments of design. I’d always known I wanted to make a game that was a place. A strong sense of place is my favorite thing a video game can give, and it is, and will always be, the main design pillar of any game I have authority in designing. And I knew I wanted it to be a nice place, where you could feel cozy and safe.

In the beginning the idea was to make the game’s core loop through survival mechanics. We had hunger, coldness, energy, and the idea was to build progression with finding things to help these depleting bars. We had come to our first major design dilemma: The constantly depleting bars were entirely at odds with how we wanted the game to feel. They penalized the player for doing the very thing we wanted the game to be about, which is going slow and feeling that sense of place. We needed a new core loop.

The painting mechanic was born from trying to think of a way to reward the kind of thing we wanted the player to do in Eastshade, which is to go slow and smell the roses. One fateful day, about a year into development, Jaclyn came up with the idea that the player could be a painter, and create quests around the player capturing certain objects, places, colors, times of day, or a combination of those. This would work in perfect harmony with wandering and smelling the roses, because the slower the player went, and the more they let the sense of place wash over them, the better they would do at these quests. It was genius. That was the first eureka moment in our design journey.

The next eureka moment came about 4 years into development, and although it’s a less prominent feature, to me, was even more momentous. It was the type of idea that doesn’t make new work, but rather solves existing problems. It was the inspiration mechanic. The idea was that creating paintings would cost inspiration, and new experiences in the game world would give you inspiration. So drinking tea, reading a new book, discovering a new location, relaxing in a hot spring, hearing a tale from a story teller, listening to street music (basically exactly the cozy stuff we wanted the player to be enjoying) would all reward your player character with inspiration.

This totally closed the game loop, created a harmony between theme and mechanics, and gave us an easy way to tie all auxiliary actions into the core loop. It was, again, Jaclyn’s genius. It was amazing that such a tiny and easy to implement feature could have such a profound impact on the game, and that it came so late in development, yet fit like a glove. It made me realize the true power of a good idea. Ideas that come in the form of more content, or at the cost of production resources are a dime a dozen. I have hundreds of ideas of that nature lying around. But an idea that solves problems is precious.

For as long as we’ve been working on Eastshade itself, we’ve also been working on its promotion. I don’t think there’s any one or two things that are the magic bullets, because every game has different avenues that work for it, and indeed, the marketing effort is the sum of its parts. I’ll try to give a rough outline of the things we did for Eastshade:

  1. We hired Player Two PR who handles press releases, journalist outreach, strategizing on release timing and plan, and key distribution during big moments in our campaign.*
  2. We picked our timing for our trailer releases, our release date announcement, and our actual release (the most important one) very carefully, trying to stay clear of other news and releases.
  3. I am very active on Twitter (@eastshade), posted lots of screenshots and gifs, and interact a lot.
  4. I often streamed my work on twitch.
  5. I’ve written a number of articles that have done well on Gamasutra and 80.lv and other game dev sites.
  6. We got into the Indie MEGABOOTH at PAX West, and also showed at GDC in a special Unity booth we were invited to for the 3D Game Art Challenge. I feel the impact of conventions is often overestimated, but we ended up getting some important coverage, especially at GDC. I guess every time you do a convention you are rolling the dice that you might get some big coverage.

*Number 1 is big. Charlene (who is the founder) knows the games media landscape well, and in addition to all the regular PR stuff like press releases and key distribution, does a lot of research as far as finding people who might be interested. Perhaps most importantly, she helped us with our grand strategy in terms of what marketing assets we needed, how we should roll things out, and the timing of everything.

That is the outline of things we did on the promotion side. There are a lot of other things that go into it, but that would be a whole article itself.

And without further ado, the moment you’ve all been waiting for! With myself and Jaclyn the only full-timers on the team, and under 100k in contractor investment, I can say that Eastshade was a massive success for us. Across all platforms we have grossed about $2M since launch. That translates to about 1.1M post-platform net. Our deepest discount so far is 50%, and our sales curve is still very healthy. We expect to break 3M gross in the coming years. Most platforms have NDAs regarding revenue stats, but Steam now lets us show ours. So here it is:

Steam is by far our biggest market share. In fact, I would call our console launch a faceplant. Our sales were about 10% of what we expected them to be. A few months ago, we were fortunate that Microsoft featured us on the family homepage, and Xbox sales have picked up substantially since then. Playstation has remained a trickle, and our PS4 release was hardly worth it for us, especially considering what a difficult platform it is to release on, from both a development and administrative perspective.

Going Indie

If it’s not obvious at this point, going indie turned out to be the best career decision I’ve ever made. It was only last year that true financial stability arrived from that, but the real change in my life happened when I quit the day job. Despite the uncertainty of not knowing if the game would succeed, it was still a much happier lifestyle for me. I love being able to make my own game, call my own shots, and work on every part of production. I also love working from home and having a more flexible schedule. There is virtually no part of being indie I don’t like more than working in triple-A, except for maybe porting, business accounting, and taxes.

Vertical Slice

During the first few years of development, we focused on the first area in the game, and kept polishing until the chunk was playable and somewhat representative of the final game. It was probably 20% of the total map size (for those who played, it was the Lyndow area, all the way to the toll bridge). Having our vertical slice segment be the beginning of the game was great, because it meant we didn’t have to tell people how to play, or try to get them up to speed; since it was actually the beginning, the game was already naturally doing that.

I think this also helped us see how good the game actually was. I feel adventure games are never very fun when you pop into the middle without following the threads from the start. I’ve actually become a big fan of building things in the order they come. Sometimes when I’m lost and don’t know what the most important thing to work on is, I find it helpful to simply start from the beginning, and work on the first thing you encounter that is missing or broken.

Team size

I really enjoyed developing the game with a micro team. I have found I’m not a fan of delegating or managing, and feel I’m bad at keeping others busy and energized. Additionally, the added pressure of scaling up the payroll is not something that appeals to me. You have to make sure you release that much faster, and sell that many more copies.

Outsourcing things like porting and PR have worked fantastically, and we’re hoping to go even more in that direction for our next title with adding QA to that list as well. But as far as core development, I feel just Jaclyn and I can move mountains, and don’t feel particularly limited by our bandwidth there. I’m not saying we’ll never try hiring more, but I’m glad we ended up keeping it small for the majority of Eastshade’s development, and we will be very careful about expanding in the future.

Outsourcing the Console Port

I ported Leaving Lyndow to PS4 myself, and it was easily the most unpleasant 6 months of my career— possibly of my life. Jumping through hoops, reading documentation, filling out form after form, all while identifying proprietary unexplained vernacular and protocol is just not my strong suit. I felt very lost at sea during the whole process, and it took far longer, and was more frustrating than I ever could have imagined.

DO Games was a lifesaver for us. Matt helped me with the loathsome admin side as well as spearheading the technical. Eastshade was not easy to port. Despite all the performance work I had done over the years, it was not enough for consoles. The fact that I had already gotten all the low-hanging fruit made squeezing that last bit even more difficult.

I actually think maybe we did not outsource this task enough. Which is to say I think it would have been more pleasant for me if I had actually let our partner publish the game as well, thereby offloading any and all admin tasks. Even if we had given away a larger share of revenue to do that, it would have freed me to move onto our next title, and I think less mistakes would have been made due to my scatterbrained incompetence.

Twitch Streaming

I often streamed my work on Twitch, to an average of 30-50 viewers.I think this helped us grow some dedicated fans, who experienced a connection to the development journey. When we were ready to launch a closed beta, a good number of the folks who participated were regulars in the stream, and their feedback was critical. We are hugely grateful to them for taking the time to play through those rough early versions of the game.

More than that though, I felt streaming actually helped me stay laser focused for hours at a time. It’s easy to stay focused when people are watching, and the desire to make progress quickly for a more entertaining stream helped me work with even more intent, poise, and speed. I’m a little sad that our next project is too early to show, because I really miss streaming!

Streamer Testing

We only ended up doing one of these, but holy smokes was it valuable! We put out an application looking for small/mid-sized twitch streamers to do a private playthrough for us (paid). Streamers are perfect because they have the setup necessary and are accustomed to talking through what they’re doing, which helps us take notes and learn. We will absolutely be doing more of these for our next title; hopefully throughout the entire development process. There is just nothing like watching someone with totally fresh eyes play your game in real-time, and with friends and family you use up your immediate pool of fresh eyes pretty quickly.

Voice Acting

The first time we tried adding a voice to an Npc in Eastshade, it was revelational. It made talking to the character hugely more exciting, and, to me, added a whole other dimension of exploration. Not only do you find new people with new things to say, but new voices as well. It added a ton of personality to each character, and picked up some of the slack of our stiff character animation.

I initially thought full voice acting would be prohibitively expensive, but I found that to be completely untrue. We voiced all 50 characters (around 25k words) in Eastshade for around $10k USD. After a round of careful casting, we let each actor self-direct, and we were extremely pleased with the overall quality achieved that way. We have gotten a few complaints from players about the acting quality, but something I noticed: Every game with acting has people complaining about it. Even games with top tier talent seemingly have numerous complaints about it. Acting quality seems to be very subjective, and prone to being judged by its worst performance, and it’s something players love to criticize—so I don’t think the criticism we got is actionable or worth considering.

Focusing on Characters and Quests

At first we toyed with the idea of making the painting system more robust. Perhaps adding XP, upgrades, different kinds of paints and brushes—but I truly feel we served our game best by keeping it simple. It freed up our development focus (and the player’s focus as well) for interesting quests with unique characters. We feel this is where all the personality of the game comes through, and is the primary reason why people love to explore our little island. I feel like the quality of our quests, in terms of novelty, player actions, and personality is up there with any of the great quested games I’ve ever played, and I aim to make that part of our studios brand.

Launch Bugs

We had quite a few bugs when we launched. Even now a few remain. So what could we have done to prevent the bugs for Eastshade? In hindsight, honestly, nothing. As I look back on the final months of production, I do not believe we could have prioritized any better. We cut exactly what we could cut, and got all the right bugs and polished all the right things with how much time/money we had left. And I most certainly cannot say we could have worked any harder. I do not think hiring QA would have been particularly helpful, as our bottleneck was diagnosing and fixing the bugs, rather than knowing of them. Our most time consuming bugs were the ones I am confident QA would not have been able to identify a repro for.

A lot of the biggest bugs were fixed within the first few weeks after launch, but the scars remain in our review scores. While I’m not sure it could have been helped on Eastshade, bug fixing is something we need to plan more time for and devote more energy to on our next title.

Regression Bugs

Post-launch, I would occasionally drop an update and about 6 hours later find in horror that I had broken something somewhere in the game. One of the most tedious parts of releasing an update was actually testing. Both Jaclyn and I got to the point where playing the first few hours or so of Eastshade to make sure there were no regressions was quite a loathsome task. It would have benefited us to run through the entire game to verify updates, but this would take nearly a work day, and neither of us could bear it. I think this sort of verification testing would be a good avenue for outsourcing. If we had a partner QA house who could handle this, they could rotate testers, and it wouldn’t be quite as horrible for someone who hadn’t run through the game 300 times already. It would also free us to keep polishing other parts of the game. I’ve also heard of some studios successfully automating their testing, but the notion of that sounds pretty alien to me (basically making an AI that can play through the game). Maybe that’s an avenue I need to look into.

Version Control

It’s kind of a silly thing to get wrong, but we struggled with version control nearly the entire project. We used Unity Collaborate for most of development, and it was an ongoing nightmare. We wrestled giant changelists of files that had not been changed, server issues that could only be resolved by ferrying changed files to another workstation and then reverting, absurdly long check-in and sync times, and a plethora of other day derailers. It was a very serious source of day-blockades for the project. At one point I attempted setting up Perforce on an Amazon server, but after two days of tinkering it seemed the rabbit hole was going to be so deep, and the learning curve so steep, that it would take too much time from development.

I wish we had ditched the idea of using a cloud server at all. For our new project we are using Git and Sourcetree on our local network, and it has totally changed our lives. With the speed of a local network, it takes mere minutes to sync. On the one hand, storing data locally seems risky, but if you’re abstaining from checking in for days because you’re scared something will get stuck, or the commit will take 30 minutes, that is actually more risky! We just need to remember to back up our repository every few months, either online or on a flash drive stored somewhere other than our house, and that way we have some insurance in case the house burns down. In reality, the biggest risk for data loss is file corruption, or hard drive failure, and since Git is decentralized, we are always protected against that, since every workstation has a full copy of the repo.

We Got Ransomwared

I’m not sure this is necessarily post-mortem material, but rather just a story I wanted to catalogue. It’s true. Yours truly actually fell for a ransomware email. It was the Locky Virus, and it came in the form of a fake invoice. I had never seen or heard of ransomware up to that point. I opened the attached file and off it went, encrypting every file on my workstation. It got through about half my files before I realized what was going on and pulled the plug on the computer. What’s worse—it was in 2016, and I was not using any version control at the time, other than Google Drive. And the Google Drive client had already been busy detecting changes and uploading all the encrypted files—overwriting the old ones on the server.

That was it. Those were all the places the project was stored at the time. For a few hours, I actually thought I’d lost Eastshade, 2+ years in the making at the time. I remember I called my brother at 4 am, who was trying to console me that typically paying the ransom on ransomware actually does decrypt the files, since, in a sick way, they do have a “reputation” to uphold for future ransomware victims.

It was a terrible night, but eventually I found that, astoundly, Google Drive actually does have a version history. There was no batch tool to download old versions of thousands of files, so it was just a tedious matter of going through each file and downloading the previous version manually. It took a few days, but after the night I had on the mountain of solitude when I thought I had lost it all, I did this task with joy and a renewed passion for life.

Animal Folk

I suspect we just shouldn’t have done it. I was taking a page out of Elder Scrolls. I thought it would make the game feel more unique to have animal folk. And it did to a certain extent. We started to realize the mistake after feedback from Leaving Lyndow, prompting us to make massive improvements to the designs for Eastshade, but I don’t think it was enough. It was a huge turn off for so many people. It’s hard to quantify how many potential players we lost for this, but it really wasn’t an important aspect of the game, so no amount was worth it. I’ve always cared a lot more about what the Npcs say then how they look, and the game would have been much the same with normal humans.

If we were going to go the animal route, they should have been considerably more stylized, with bodies more like the animal. The issue with that is that it would have required unique rigs for each character, and therefore a unique set of animations. I’m not sure we could have pulled this off, me doing all the animations and rigging, which is something that is not at all my wheelhouse. And I suspect it would have been prohibitively expensive to find an animator for this on the industrial scale we needed. So we probably should have gone with regular humans.

Self-Publishing

On the one hand we didn’t have to give away substantial portions of revenue, but on the other I was stuck doing a lot of things that aren’t game dev; most of which I don’t enjoy. What I’m still unsure of is if a publisher would have truly offloaded these things from me, or if I’d be stuck doing parts of them anyway in one way or another.

I’m sure they would offload some things, but I’m not sure if it would be enough to account for the type of percentage most of them take (tends to be 30% for a non-capital fronting publisher). I suspect the best reason to go with a publisher is still if your primary need is development capital. It was tight but we made it, and we certainly don’t need capital now. I’ll also never know if the audience of an established publisher would have springboarded us into a substantially bigger sales curve, or if we made enough of a splash that most of our market found us anyway.

The tale of Eastshade’s launch day is an odd one. I have been wanting to catalogue it somewhere before the details of it vanish to the decay of memory. The tale begins, as many epic tales do, with some backstory.

In the final year of our five-year development, we were beginning to run out of money. With both Jaclyn and I working full-time on the game, we managed to stretch our savings quite far, but eventually the well was running dry. My mother and grandmother, who live together, very graciously offered that we come live with them. Bless their hearts! This helped us tremendously, and ensured we had enough reserves for final launch costs like localization.

My grandmother’s house is a bit rural, but the internet is fast, and continuing development there was never a problem. But on launch week, something truly rare happened. It snowed. A lot. In fact it was the 3rd biggest snowstorm in the Seattle area in the last 100 years. The day before launch we lost power. No problem, right? Just pack up the computer and drive as far as you need to to find power and internet. The problem was there was about 1 mile of private road to leave my grandmother’s house. With over a foot of snow, just about any car was hopeless, and no snow plow was coming.

We considered our options. The first thing we tried was driving over the snow. We made it about 20 feet before losing traction and starting to drift sideways, toward a ravine (fortunately this was still in the driveway, so we could leave it there). Next we started shoveling a path. Anyone who has shoveled snow probably is finding that notion quite laughable, because shoveling a mile of snow by hand is not really feasible. It only took a few feet of shoveled road to understand that.

Running out of ideas, we considered gathering our things and hiking out to the main road, and summoning a family member to pick us up. But among other logistical issues that are too tedious for this story, the roads were in no state for anyone to be driving on. Snow isn’t a huge problem in places that are prepared for it, but in the Seattle area, even a little snow is basically the apocalypse, and we had a foot of it.

In the end we decided we’d wait and pray the power returned before 7am the next day, our scheduled launch time. We did have a build I had uploaded a week prior, that was in a somewhat launchable state. Over the phone I was able to get my brother (in a neighboring city with power) logged into the Steam partner site, ready to hit the launch button if power didn’t return to us in time.

It was a dark moment for me. It wasn’t so much that I was worried things would go badly without the most up-to-date build (though I was worried about that), or that people wouldn’t be understanding of the slightly delayed updates due to our snowstorm situation, but just that I had been dreaming about launch day for five years. I had always envisioned being able to watch it all unfold from my own workstation, with my own internet. I found myself on the eve of our launch not even excited about the big day, but rather just praying through gritted teeth that the power would return.

At 4:30 am, just 2.5 hours before our launch time, the power returned. I uploaded the latest build with the force of a thousand well-lit rooms. And by the guiding light of electricity, I went into the kitchen for a pre-launch snack. There, on the counter, I found this:

While I was trying to jump start cars and shovel snow the night before, Jaclyn had secretly made an Eastshade pie by candlelight. Of uncooked oats, peanut butter, and honey, she had made the only thing she could come up with without an oven or burner. I cried like a baby. In all the madness I hadn’t thought to do anything to make the day special or memorable. I was too worried about the power to savor the momentousness of the occasion. When I saw the Eastshade pie she had thought to make, it finally felt like a special day. Even now if I think about that pie I tear up.

As far as the launch itself, it went pretty smoothly, all things considered. We did have one absurd bug with the Russian localization which we fixed within a few hours. A few days earlier we caught that some of the text fields were overflowing in Russian, so I scaled the Russian font down globally to 90%. On my ultra-quick verification test everything looked dandy, but if I had kept playing another minute I would have seen a ridiculous problem. I was doing 90% of the current font size. The result was the font shrank a tiny bit each time the text field was repopulated. Until you get something like this:

For months I was getting bug reports of that, because all the torrent sites instantly uploaded the 1.0 version of the game, and many of them didn’t bother to update, even though the fix came within hours. It made it very easy to spot the pirates.

I’m hugely proud of Eastshade. It’s a bigger and better game than anything I envisioned when I first started it in 2013. I am so fulfilled by its completion, that if I died tomorrow, I would be content with what I did with my years. To be clear, I’d very much like to keep living, but that is the level of impetus I felt to complete it.

In the months following its release, amidst the joy of finally achieving some security as an indie, and the warmth of its reception, a small part of me did feel off. It was the forward-looking part of dreaming about what Eastshade would become. It may sound a bit one dimensional, but for five years, I saw many things in life through the lense of being excited for Eastshade. If I saw a beautiful building, I’d think “Ooh we could do something like that in Eastshade!”, or if I heard a street performer, I would think “Wow wouldn’t it be cool if we had street performers in Eastshade?” All forms of inspiration were impulsively funneled into dreaming about the game. When it was finally released, I was a little unprepared for the quickness with which that habit had to die. “Oh that would be cool in Eas- oh right… It’s shipped and done, and whatever it is will always be,” I thought, as I found myself unexpectedly wistful about things that never came to be in the game. But you can’t keep working on something forever. And please don’t advise me to keep working on content updates for our fully released, single-player, barely replayable game with a regular decaying sales curve 🙂

Eastshade Studios is now a fully self-funded game studio free to work on our own products. We are a game ahead of our capital instead of a game behind (meaning our revenue is stockpiling for our next game, instead of going to pay back a publisher or investor from our last), which means we can go wherever our whims blow, instead of needing to seek more funding. While we intend to expand our budget a bit for our next title, we also intend to store some nuts for winter, and put ourselves in a position where one flop won’t kill us. It’s an exciting place to be! And we have every intention of our next game blowing Eastshade away in scope, polish, variety, coziness, wonder, and personality!