Reflex – Dev Diary 63

With last weeks Steam test resulting in cloud sync issues I wanted to solve it as quickly as possible and get a reasonably finished build off to Steam for the release review process.

As I mentioned last time after I had tested my game on a second PC and returned to my development PC I was finding a warning message stating that a platform state hadn’t been set prior to remote syncing. I contacted YoYoGames support about it but didn’t really get anywhere so I would have to investigate myself.

I decided to see if it was something to do with the way I was testing the game; my development PC was running Reflex inside GMS via the Steam API, and my test PC was running Reflex installed through the Steam client. I wondered if that was making a difference. To test this out I uploaded a more recent build to Steamworks and installed it on the test PC and my development PC via Steam. This time the development PC synced the save files that had been created on the test PC, which was unexpected. Once I’d played on the dev PC I quit it and started the game on my test PC. Once again the files synced up and I could continue playing on the test PC.

So it turns out that Steam API gets a bit confused when a game is tested in GMS and not run through Steam. With this information, I added in a debug variable that would let me develop in GMS and avoid Steam. When I’m ready I can flip a switch and activate Steam again.

Now because the game is only supposed to run through the Steam client I was curious to know what other games do when the games are launched and Steam is now running. It turns out they do one of 2 things; either they crash for no reason with no display, or, they launch the steam client and continue. For Reflex I decided to go for a halfway house approach. The game will run but a message is displayed saying that the game cannot continue without Steam.

With the Steam aspects finally completed (hopefully), I could focus on other development work.

All the game text from world 1 to 3 has now been grammar and spelling checked through Grammarly.

The toggle doors looked a bit too much like the breakable walls so I’ve reworked them to have 6 small red lights on the top which turn green as the door opens.

The games external resource files (tutorial videos and English string library) have been moved into a resource folder to avoid having dozens of files in the installation folder.

I’ve added an additional 4 achievements to the game; 1000 components constructed, 750 components deconstructed, 100 portal uses, and a new hidden trophy; taking the number up to 38.

The construction and deconstruction animation was a little jerky near the end. It looked as if the components snapped into place and that’s not really what I was after. I’ve rewritten the process to use pixel-based scaling instead of lerp scaling (which creates a sliding effect) and recoded the timing so that the scaling ends at the correct point. Some of the components were also missing the scaling routine so that’s been corrected as well.

The new holder that I added last week got some more love. Like with the construction animation snapping the holder also exhibited the same effect. The missile would approach the holder and suddenly snap 10-20 pixels into the centre of the holder. Now I have the holder ‘catch’ the missile and drag it slowly into the centre where it wobbles as if trying to escape. Looks much better, but there might be a bug hiding in the wobble that I need to look out for.

World 4 levels, albeit not included in the initial Steam release, have now been fully tested and timed. World 5 levels are starting to come together and I’ve written the titles and level briefs for all the current 20 levels. World 5 will add in a few new twists for the last 5 or so levels that I don’t want to spoil here. These last levels are going to be quite something though. Very large and complex.

The world server that appears at the end of each world has been upgraded. previously it could be destroyed just like the reactors, turrets and communication dishes. Now, however, they will require 3 hits to fully destroy them.

I’ve had to re-write the screen resolution code so the game can handle non 16:9 resolutions better. I’ve tried the game on some of the more common non 16:9 resolutions like the laptop favourite 1366×768, and even the old 4:3 1280×1024 should be OK – although I really wouldn’t recommend it. Is there anyone using 4:3 monitors anymore?

And finally, transporter components in World 5 have been given a coloured light effect.

A pre-release Early Access build was sent to Steam for the review process this week, and I’m happy to report that it passed their checks. Reflex is all ready to go live on December 1st.