Ship games faster with Epoch

Idan Beck
Epoch ML
6 min readMar 21, 2023

--

Great games don’t just happen — talented teams work through iteration after iteration of a game to produce experiences that gamers will play for hours on end. It’s a shame then when all that hard work ends in heartbreak and games fail because of things like undetected bugs, bad performance, or an unexpected negative reception from players.

These are fundamentally hard problems often caused by a failure of what we refer to as the game development iteration loop. This loop consists of game studios working through version after version of a game build, addressing issues that arise, and sniffing out constructive feedback, all while marching the game closer to release one step at a time. Epoch’s mission is to build the first true zero integration game development platform to power the game development iteration loop directly, thereby helping games come to market faster, with less guesswork, and deliver improved player experiences.

We help teams generate and distribute builds to the right folks at the right time, collect and manage relevant session data and feedback, and combine all this information in an actionable real-time dashboard your whole team can read and configure to their needs. Also, using the data we collect we can automate certain rote and routine tasks, such as boot and smoke tests, UI/UX navigation tasks, and more.

The Game Development Iteration Loop

Also, we want to be clear about what we’re not. We’re not building game engines, SDKs, or frameworks — we are agnostic, and require zero integration to use. We’ll support whatever teams are already using, and provide solutions if needed. Game teams already have a lot to worry about already, and we’ve taken this to heart. As such, our job is to make sure using Epoch saves you time — so we are black-box and as easy as point-n-click, and drag-n-drop to use.

Build distribution

Games revolve around a tight loop of iteration, and this ultimately comes down to getting large files out to many people, multiple times a day. Even at face value, this is not trivial to do, but it’s even harder to manage in the face of milestone deadlines, changing requirements, or unexpected bugs and issues. Epoch powers this core aspect of game development iteration by ensuring that the right build gets to the right person when they need it.

We can pull builds directly from your existing pipelines if you’re using something Jenkins for example, but it’s also possible to upload builds manually. We keep everything up to date, and in the cloud, and ensure that the right selection of your team gains access to the right set of builds. We can also provide permission layers so that certain builds go to your devs and testers, while others go to artists or even your publishers and partners.

No more cutting and pasting google drive links into Slack — you can even opt into email notifications that will email folks when there’s a new build ready for them to check out. Get the right build, to the right team member, at the right time.

Deployment, session capture, and annotation

Getting the build to someone’s machine or target device is only half the battle, it’s not a guarantee that they’ll be able to even launch it. Anyone that’s spent a bit of time in game development knows that sinking feeling after you’ve toiled away at a new project for months, finally sending it to someone to try it for the first time, only to hear back the dreaded words “didn’t run”.

The agony!

Epoch packages up your game build such that not only do we ensure that the build has been downloaded correctly, and is set up for success — we also capture everything from the user’s screen to their key input and all relevant logs and artifacts. That way, when someone runs your build only to “fail on start” as is more common than many like to admit, it’ll be possible to see what actually happened without getting on a call with them to help them find that obscure log file.

Most importantly, we allow developers, testers, and gamers alike to add their own annotations to a session. These annotations can be added while playing the game with configurable key combinations, or after the fact in a session annotation view. We’re clever, so we let you use emojis to indicate if something is a moment of delight or an issue — and we even integrate with JIRA to let you promote annotations directly into new JIRA issues. Imagine having a JIRA issue that gives you all the context you can ask for around a bug: video capture, exactly what the user was doing with their controller, keyboard, or mouse, and even the logs and relevant artifacts that can help you find the root cause of the issue faster than ever before.

We work with different kinds of studios all making different kinds of games, and everyone’s needs are different. Some care more about performance than others, while some games care a lot more about storage or engagement. Ultimately, we can capture anything that matters to you across disparate sessions and over the development process of your game and can bubble this to your team in real-time — no more relying on excel “dashboards”!

Real-time dashboard

Wouldn’t it be amazing if your team could tell, at a glance, how everything was going? Studios we spoke with had trouble answering simple, yet critical, questions such as “how many hours of testing did we do today?” or “how many issues per build are we finding on average?” If you can’t ask simple questions, then getting a sense of whether or not you’ll hit that looming deadline is next to impossible. As such, one of the most valuable things we can help teams with is the ability to see exactly what’s happening based on real-time and automatically updating information.

Once in Epoch, sessions can be sliced and diced to bubble up the most pertinent details in a way that is meaningful to your team. We can tell you how many hours of play and evaluation are going on on a daily basis, or we can bubble up how many bugs are being found on average per session. We can map the build size over milestones, or compare the issue count to the frame rate.

The real-time dashboard really shows you how quickly your team is progressing a game towards release, or what are the possible bottlenecks that are preventing you from moving faster. This is what we’re all about, helping your team go as fast as possible, and wouldn’t it be nice if we could take care of some of the work too?

Automation of rote tasks

We capture a lot of data, and automate a lot of the packaging, distribution, and deployment of builds — so why not reverse the flux capacitor and use this firehose to help your team with the rote routine tasks that are critical, yet are not as value-accretive as say — play testing the game.

We can replay back the session data we collect on new builds as they come in, and can often replay up to half a minute of gameplay. That may not sound like a lot, but it can often cover sufficient ground to automate boot tests, smoke tests, UI/UX navigation tests, or even certain tasks such as “open and close the door 20 times”.

Our automation suite can be set to trigger automatically every session or can be manually leveraged for more tactical use cases. You can use this to give you and your development team superpowers, supercharging the trajectory of the iteration and helping get your game out to players faster.

Game development is its own thing

Games are a unique art form, marrying disparate fields across a unified objective of bringing gamers deep and meaningful experiences. It’s often hard to explain to folks not in the industry, how in a given day you may need to span across 3 different artistic fields, navigate technical limitations, and then get hit with the reality that “something, and we’re not sure what, just isn’t working”. It can certainly be brutal day to day, albeit rewarding in the long term, but it’s a real shame that the tools themselves contribute to the difficulty.

Ultimately, it’s our mission to fix that, and this mission is rooted in a simple yet key insight: Game development is unique. Across the industry we see studios struggling, with no choice but to force a round peg into a square hole by using tools and frameworks not designed for game development. It’s time for Game Development to have its own platform, one that doesn’t require you to lift an additional finger, which is why we’re building the first truly zero-integration Game Development Platform.

--

--