Hi everyone! It’s been quite a while since I’ve done one of these long form devlogs (compared to shorter ones), so now that 2017 is in full swing I figured it was time to bring it back. There’s a lot to discuss, so for those that don’t have all day to read the whole thing let’s cover some highlights.

We recently released our most ambitious update to Distance yet: The Ghost Update. It features ghost racing, a replay viewer, official HTC Vive support, an increased online player limit, a new stats system, and tons of other improvements! It’s now available via Steam Early Access and Humble Bundle. Check out the trailer for a quick overview, plus your first teaser for the final release of Adventure mode!

FREQUENTLY ASKED QUESTIONS

Before I continue with more detailed thoughts on the development, I’d like to cover some frequently asked questions. For a full FAQ (covering release timing, Kickstarter rewards, PlayStation VR, etc.) check out this new page that I put together.

Read more: Frequently Asked Questions (full list)

When is the game coming out of Steam early access?

When it’s ready, mostly likely in late 2017. We don’t have a massive number of tasks to complete before the game can be released, but being realistic we still have some big promises to fulfill and we can’t release the game until those promises are met. There will be a huge announcement when we’re ready to commit to a date. See “When will Refract know that it’s ready?” to see what’s left to do before then.

When is Distance coming to PS4?

The goal right now is to launch on PS4 at the same time as exiting Steam Early Access. That way everyone can play Adventure mode and everything else reserved for the final launch simultaneously. Aside from needing to finish the core game, we also have to complete a few PS4 technical certification requirements (specific rules Sony has for any game before it can ship on PS4), though we have made great progress on the majority of them. See “When is the game coming out of early access?” for thoughts on the launch window.

When will Refract know that Distance is ready?

Distance, as it is released on Steam early access, is quite far along. It’s a reasonably stable beta release with tons of single player and multiplayer features, 30+ Refract-created levels, Steam Workshop integration (with 1,800+ levels uploaded to Workshop), a powerful level editor, etc. The biggest things blocking us from a final release are a few features we promised during the Kickstarter, as well as a few features we feel are required for a 1.0 launch. As of writing this, Distance includes a complete Adventure mode (our short story/tutorial mode), a unique car for Kickstarter backers (or more accurately a system for multiple cars, plus a new model for backers), a stunt announcer, an attempted rework of Stunt mode, Steam/PS4 achievements, improvements to multiplayer accessibility, various multiplayer mode adjustments, PS4 technical certification requirements, an in-game Founding Modders designation, and a few other features.

We’ve already started work on each item listed above, so we truly are entering the final stage of Distance’s development. Some tasks are proving to be especially tricky, so we’re doing our best to keep scope in check while still living up to the original promises we made. Once we feel that each feature is complete, the last step is adding polish and doing additional testing with our early access community. We’ll be able to select a release timeframe and finally announce it to the world.

When are the physical rewards for Kickstarter backers shipping?

All backer rewards are planned to be released when the game is released, which is when it’s ready. This includes posters, shirts, physical copy of the game, etc. We know that it’ll take at least one dedicated month of work to prepare and ship the rewards, so we figured it would be smarter to work on them as the game is wrapping up instead of pausing game development for a month or more. Admittedly we didn’t originally plan for development to continue into 2017, but we still are committed to shipping high quality rewards as best we can alongside the final release. Non-physical rewards are also aiming to release at the same time. This includes the backer-exclusive car, the soundtrack, artbook, etc. See “When is the game coming out of early access?” for thoughts on the launch window.





PS4 DEVELOPMENT PROGRESS

While Distance is already released on PC in beta, we have yet to release any version of the game on PS4. Behind the scenes we’ve been doing our best to keep the PC and PS4 versions relatively the same feature-wise. Andrew continually does his best to keep the PS4 version in check with the PC build as new feature and content are added, as well as ensuring that framerate is acceptable. We have had to do quite a bit of optimization for PS4 to hit our target of 1080p at 60fps, but at the moment we’re doing well.

Visually, audibly, and gameplay-wise Distance on PS4 is nearly identical on PC, except for a few minor changes. For example, profiles on PS4 have been replaced by the PS4’s user account system, so you can use your PS4 accounts to enter into split-screen. We also simplified a few menus such as the graphics options so that we can focus on one version of the game looking and running great on all PS4s.

One major feature that is currently missing and may continue that way for the 1.0 launch is the level editor and equivalent Steam Workshop support. Andrew spent time porting the level editor to the controller, but it’s an enormous endeavor. There are also file system concerns, lack of a Steam Workshop equivalent, and other technical issues, so right now we’re operating under the assumption that PS4 version won’t have level editor support. We do have some ideas as to how the PS4 could support user-generated content down the road, but we’re not yet able to make any promises one way or another.

Finally, I did want to make a brief mention about PlayStation VR. You probably noticed that we support the Oculus Rift and HTC Vive, so PlayStation VR is a logical next step. Well we’re already ahead of you in that we announced support a ways back and showed the game running on PS VR during PlayStation Experience 2015. While Distance works well on PS VR (for the most part) we are concerned about hitting the required framerate designated by Sony in the final product. A big part of the limitation there comes down to our engine, Unity3D. We are continually talking with the PS4 port team for Unity3D in the effort to maximize framerate, but it’s been quite a handful managing that and PS4 simultaneously. Long story short, we are still doing our best to release on PlayStation VR, but it might not be available alongside the primary PS4 launch. We’ll obviously post more as we make decisions about it down the road.





LOOKING BACK ON 2016

Last year was quite a year. Not to speak for all of Refract, but 2016 was easily the most all-consuming year of Distance’s development for me. My personal focus for much of the year was on our short “story” campaign (a.k.a. Adventure mode 2.0), but for the most part the team has been focused on developing new features for early access players.

I’ve been doing my best to keep people apprised of development progress on Twitter, blog posts on Steam, experimental branch changelogs, etc., but I had been pushing off this massive devlog until we could announce the release date. Throughout the first half 2016 it felt like we were close to it locking down, but as time went on my blind optimism became clear. We realized that we just wouldn’t be happy if we started hacking off features to reach an earlier deadline.

We clearly had some lofty ambitions heading into 2016. At the start of the year we felt that it would be no problem to wrap up Distance by Q1/Q2. Obviously we’re continuing on with development into 2017, so that (like most of our predictions) was way off. In reality I feel like I blinked twice and last year just flew by.

Of course some may assume that if we’re continuing into 2017, something terrible must have happened to cause such a delay. As you’re probably able to gather, we’re just bad at predicting how long it takes to do stuff we’ve never done before. At this point of development, everything we create is the first time we’ve ever done it. It’s an endless sea of massive guesses. We could just decide one day to call it bad and cancel some of the features we promised, but we’re quite stubborn and determined to finish Distance on our terms.





THE GHOST UPDATE

One final thing before I dive into general thoughts on the development. We recently released The Ghost Update, an update that (for better or worse) took 7+ months and an incredible amount of support from the community to release. At its core it contains a complex replay system that’s aimed at improving the arcade experience, but it also included dozens (if not hundreds) of tweaks based on community feedback. I just want to discuss a few highlights.

Ghost racing

While we have frequently described Distance as you vs. the track, the track can only offer so much. With ghost racing you can take on your friends, other racers around your skill level, or the world’s best (assuming you’re not yet up there). I know I’ve encountered a few occasions while testing something and suddenly the urge to beat a friend’s ghost overtakes me.

While creating a full featured and intuitive ghost/replay system was tricky enough, we weren’t able to release it until we knew the framework for saving, uploading, and downloading online ghosts was finalized. There’s obviously room to tweak things, but it would be a colossal waste of time to release the replay system and then a month or two later invalidate all replays because we had to change something under the hood. Fortunately, Jason thought ahead and created a fancy system for replay versioning in the worst case where something big needs changed.

Viewing Replays

For viewing replays the tech was really only half of the battle. Those who follow our team closely are probably well aware of the fact that we collectively struggle a bit with creating intuitive menus, and the replay viewer was no exception. The final result is hopefully something that isn’t confusing yet, allows for tons of flexibility when pausing, adjusting play speed, jumping forward and backward, etc.

Jason added some special functionality to drag along progress bars and essentially achieve scrubbing. This was especially tricky since we needed to be able to rapidly jump around the replay, which in reality is just a linear series of events. As the replay plays forward we fire off the inputs events as they’re happening alongside the movement and rotation of the car, so several things aren’t easily reversed like exploding, opening your wings, etc. When scrubbing backward he had to figure out how to walk backwards into the replay and find which events had conspired to lead to your present moment. I’m sure he can explain it better, but I found the whole process fascinating.

Increased Online Player Limit

Increasing the player limit wasn’t hard at all, but supporting everything around it was challenging. For both viewing replays and racing online Jason had to spend a significant amount of time optimizing car performance. Rendering the graphics/physics for each car quickly adds up, and as I’m sure those who modded the game to support 12+ players surely felt the pain when you had a ton of players right next to you. Jason did some general optimizations to car performance, but the biggest help was adding a LOD (level of detail) system that smartly adjusts the quality of each car as it gets farther away from you.

We also decided that since it seems online car collisions are currently outside this project’s scope, it makes the most sense to spawn online cars all in the same spot. In theory this wasn’t too complicated, but rendering 12 cars on top of each other looked really messy. To get around this we had to adjust our shaders to support a sort of proximity-based fade. When you’re right on top of another car it’s invisible, when it’s close but not directly on you it’s an outline, and as it gets farther away we use a modified version of our laser shader to “fade” it into existence. It’s not perfect visually, but on a functional level it gets the job done for now.

Improve Medal, Level Unlocking

Adding an unlock system might seem counter-intuitive to existing early access players, but in reality it wasn’t added for veterans. It was added to help give a sense of progression and achievement to the arcade portion of the game as well as show which levels you’ve played/not played in a logical way. After finishing a map you can now much more clearly see how you did compared to the bronze, silver, and gold medal times. Using leaderboard times as a point of reference can be quite intimidating since many of the top players have been put in 500+ hours. Instead you get a better baseline for what Refract expects from players.

Stats System (Achievements)

Finally I wanted to mention the stats system and attempt to explain why it exists. Certainly it’s fun to see the juicy details of a match and your general play style, but the core reason it was added was as a prerequisite to achievements/trophies (on Steam and PSN). We haven’t yet announced which achievements will be released, but a few are already in development for eventual release. You even might be able to guess which are coming based on what stats we added.





IMPROVING THE BETA (everything but Adventure mode)

Last year was an insane year of learning for me. Not only did I get to experiment with every nearly area of narrative development, but I also exposed myself to many new interesting concepts tech and design-wise. I was (surprisingly) quite involved with the design-side of controls adjustments that took place in our Creativity Update, usability of ghost racing and the replay viewer, the arcade mode medal progression system, the stats system, etc.; basically a lot of menu design.

(simple primitives on display in the level Uncanny Valley)



We released two huge updates last year, one of which was not really in the plans at all from the beginning, and one was essentially trying to live up to a promise we made during the Kickstarter. The Creativity Update was focused around new tools we added to the level editor, new levels we created using those tools, and a large refactor of the game’s controls. None of this was specifically intended from the start, but as amazing feedback kept pouring in we realized how important it was to adapt to these new ideas.

Early on we had users creating sculptures using buildings and obstacles, which prompted us to add “Simples,” primitive building blocks for creating untextured sculptures in the game. Eventually in the Creative Update Andrew became incredibly passionate about improving that system to add more flexibility while keeping performance in check. He also added an entire particle system that we could finally offer to level creators, throw out Unity’s system, and use it ourselves in Adventure mode. These two things became real game changers in terms of what’s possible in Distance, so seizing the moment and pursuing them was an incredibly logical choice.

(showing off Andrew’s new particle system in Amusement)

On the controls side we mostly sought to ensure that before we 100% commit to a replay system, we know exactly how the car works controls-wise. As the result of extensive testing with new players, early access feedback, and tons of experiments, we ended up simplifying the core rotation controls while adding a new ability, grip. We’ve had fun adding it as a requirement for sections in Adventure mode while also seeing community creators push it as far as they can.

(new level Friction designed to teach the Grip ability)

As for the Ghost Update, the replay system was 90% of the challenge. I’ve already covered most of that in the Ghost Update section above, but it was such an intense learning experience. It was basically Jason doing his best to continually improve functionality and usability while battling the seemingly endless list of incoming bugs cropping up in our experimental builds. I certainly applaud his persistence in powering through that featureset.

The only major expo we attended was PAX West, and it was in a largely reduced capacity compared to the previous year. In general, last year was all about trying to stay focused. We really just wanted to keep our nose to the grindstone and attempt to live up to the quality bar we set ahead of ourselves.

As bonus, here are a few other cool miscellaneous things we created in our free time (mostly as weekend projects) last year:





ADVENTURE MODE

It’s probably no surprise, but Adventure mode was my baby throughout 2016. It’s also one of big ticket items preventing Distance from exiting beta and releasing on PS4. There are plenty of arcade features and PS4 tech requirements to finish, but the Adventure mode remains a top priority for hitting gold. For better or worse, we only get one chance to impress with linear narrative content.

We’ve always attempted to keep scope low in Adventure mode, though as experiments unfolded it’s been challenging to keep everything in perspective. At the moment the campaign only lasts about an hour, and it really flies by. With how long it took to just get to this point, I don’t expect that to change much before launch. We’re still pursuing quality over quantity; a sharp and focused experience rather than something long and meandering.

Looking back, 2015 was largely driven by community events, expos, and arcade features in the form of early access updates. We improved upon some of the weakest parts of the game and put a ton of effort in making level editing easier. Despite all of that, going into 2016 I felt that we didn’t have the momentum in Adventure mode to achieve our original goals. We had a core gameplay progression and several interesting story ideas in place, but the underlying substance was still missing.

Upon starting 2016 I set out to solidify the framework on which the story was built. At the time that meant locking down a compelling backstory for our world. We had far too many logic holes in our previous iterations. I figured that the key to great world design is getting everyone at Refract on the same page when it comes to the “what, where, when, and why” details of the world. From that perspective, we would check new art assets and story moments against the world’s “rules” to see if everything is in check.

As a side project while working on early access features, I re-worked the backstory over and over again. There were so many parameters to accommodate. It needed to rely on a lot of previously created art assets since we didn’t have time to recreate everything. It also needed to work within the spectrum of gameplay we had already refined. We could add stuff to the gameplay, but we really didn’t want to change or remove anything if it wasn’t necessary.

After a few months of iteration I finally felt a bit more confident in the world’s backstory. The logic gaps were starting to close, but at the same time I also started to realize how complex and detailed it had become. If we had the time/skills to pull off elaborate cutscenes, perhaps we could figure out how to cram this much exposition into the world, but it really didn’t seem feasible. So once again I had to simplify the story to service the short timeframe for the campaign. For a point of reference this was around the time we shipped the Creativity Update in early May, and after this point I (mostly) moved to working on Adventure mode as my primary task.

All along the way I had been iterating on levels and experimenting with various forms of storytelling. The tools we have available obviously define how we’d effectively convey any information, so I wanted to explore all possibilities. For example, since I’m audio focused I started by exploring voice overs, ambient SFX, sequenced audio in “cinematic” moments, etc. I also experimented with ways to make the level feel more dynamic by having lights and other decorations subtly animate as you drive near them. Since we unfortunately don’t have the ability to create elaborate animations for every important moment, I also attempted to create dynamic animations by doing live audio analysis.

Around June I started to rethink environmental storytelling and how the world could better be used to convey information. Since I’m not much of a 3D artist, I started by taking Eddie and Laura’s 3D art and tweaking 2D elements and/or adding new game logic. I didn’t want to eat up all of their time with experiments, so I figured I could just experiment on my own and ask for a “final” version once the design was well tested.

While Eddie and Laura usually work remotely from another state, we had the ultimate pleasure of having them for a few weeks in person at the end of June and beginning of July. In preparation I did my best to get as much story stuff ready as possible so we weren’t spinning our wheels unnecessarily. It was a really productive time for us all, and it helped a lot leading into the madness that is PAX.

From July to August I kept pushing ahead with Adventure mode with the intent of solidifying the first several levels with the new backstory, visual design, and storytelling elements. Seemed logical for creating a PAX demo, and we’d also be creating sort of a new vertical slice for the rest of the game to follow. During this time I picked a few experimental story elements to commit to and followed them as far as I could in that time. Let’s just say there was a lot of vocal recording done in August.

PAX West finally took place in Seattle right at the start of September. While in 2015 we went all out as somewhat of a marketing experiment, last year we largely used it as a playtesting milestone. It definitely helped to gather some press interest and remind several PAX goers (and other devs) that we’re still going strong, but the real focus was on testing our latest content. All in all we learned a lot from players, and I was able to practice several new pitches for the updated story. There were some clear gameplay issues to address in the first few levels, but interest in the story progression had never been higher.

Following PAX, we set out a plan to finish Adventure mode. We now understood the tools at our disposal and the time it takes to create new content, so now we needed to just form a plan and stick to it. Unfortunately being aware of our limitations doesn’t make us that much more efficient. It just allows us to see a theoretical path towards a completable campaign.

Leading up to IGF submissions near the end of October, I tweaked a thousand things, added tons of new audio, improved some of the major progression pieces, and Eddie, Laura, and Kyle all added new level content. It was exciting to see all of these new ideas and experiments in one new flow, and in general I felt good about the submission. Not because I felt that it was a polished and complete product, but because so many of our ambitious ideas over the past couple years came together in this build.

After IGF I decided to take a bit of a step back and attempt to reflect on where we were. When everything’s getting thrown in at the last minute for a big deadline it can be easy (at least for me) to lose that sense of perspective since it’s all in the moment. I got swept up in Ghost Update stuff and decided to make that my primary focus in wrapping up 2016.

In starting up this year I had probably too many thoughts on what’s left to do Adventure-wise, especially after allowing my mind a break during the holidays. Regardless of how many cool ideas we have at this point for expanding the campaign, I’m pushing for simplification and refinement as our primary focus. Creating a cool looking, fun level is already quite time consuming, but adding a consistent layer of compelling narrative to each level is a whole different animal. Pacing is another struggle we’ve run into over and over again. You have to keep track how often story stuff happens to keep things interesting, but not make it so detailed that you’re experiencing stimulus overload. We’re currently facing the later in many areas, so one of my current tasks is to create more breathing room for important moments. It’s too easy to cram in a ton of data and assume players will be able to digest it all while playing what is frequently a challenging game.

One of the biggest weakness I see right now in the campaign is simply a lack of cohesion due to a wide array of incomplete experiments making up of the cool moments. As we push forward we’ll need to keep scope in check, achieve a consistent level of polish through the experience, and focus on landing our few major storytelling moments.

To wrap up this I’ll say the biggest surprise is how tough it’s been to balance public arcade feature releases with internal private development of narrative content. At many points it feels like we’re developing two entirely separate games, though their intersection is essentially the most critical part of the game to nail (in my opinion). We have to ensure that adding/tweaking Adventure mode 2.0 isn’t breaking the publicly available Adventure mode preview, as well as any other arcade features and content, and vice versa.

Mentality-wise it’s been an impressive struggle to rapidly jump between private and public development. If I dive deep into Adventure writing/design I tend to get disconnected from social media and the early access community (and most people think I probably died). If I take too much of a break from early access features it’s easy to lose my programming edge and lose track of what’s important to the community.

Being able to jump between these areas keeps things continually fresh and exciting. Not that I mean to complain, it’s just a surprising struggle that I wish someone had potentially warned me about years ago.





NEW MUSIC

While I’m not excited to give out too many Adventure mode teasers just yet, I’ve decided to share some of the latest work in progress music I’ve been creating for Adventure 2.0. I’ve made one new track, Scratch, available to the public! It started as a weird mashup of a few different styles I found intriguing and quickly evolved into its own thing. Check it out here:

On top of that, for those that pre-ordered Distance Deluxe or backed at the Soundtrack Tier I’ve uploaded an additional 6 new unreleased tracks for you to check out! Simply use the soundtrack preview link at the top of your Humble Bundle download page to hear them. As always I’m curious to hear what you think!





GOING FORWARD

Making Distance has been hard. It’s been a long road. Working to complete a long unwavering list of predetermined features is tiring, all while attempting to cycle in great suggestions and requests from current players. At this point of development I am a bit glad that we aren’t seeking to expand dramatically, we just want to finish strong.

There are plenty of promised features to finish, but we’re doing our best to have fun and keep things interesting every week. The next few months will be some of our most challenging yet, but I have faith in our team to follow through to the end. I’m not quite prepared to dive into what exactly is being developed at the moment, but I can say that we are essentially planning for two more major releases: an Arcade-focused update (basically everything feature-wise not related to Adventure mode), and then a final, gold, Adventure 2.0, “the game is done” update. It’ll be largely content focused and be released on PC and PS4 simultaneously if we continue down our current path.

If you made it this far, thanks for reading! As always, thank you to our phenomenal Steam early access community for providing insightful feedback weekly, and thanks for our earliest backers for continuing to cheer us on throughout the entire development. Your encouragement is continually the fuel that keeps us afloat in the toughest times.

- Jordan (with everyone at Refract)