On the road to Steam Greenlight, I’m continuing to refine the game and add polish. From the last post:

Advancing Telos #004 The visuals are too rough in general, but I also want to do a better job “selling” the fantasy of piloting a large spidermech. These efforts should improve the perceived quality of the game and help with marketing. I think it can also be important for new players — so that even if they haven’t yet grasped all the gameplay mechanics, they can still have some fun just experiencing the game and seeing things happen. The fact that you aren’t running around as a human is a big thing that sets Arms of Telos apart from other games and I want to take advantage of that as much as possible.

New Features

Player trails are something I’ve wanted to add for a long time. I had even experimented with a couple approaches months ago, but shelved it at the time because I wasn’t satisfied with how they looked. With the release of Unity 5.5, Unity’s Line Renderer got some major upgrades. Unity 5.5 also added a feature called GPU Instance rendering, which I’ve been experimenting with for future features and effects. These two features, along with some engine bug fixes, convinced me to go ahead and upgrade the game’s engine to Unity 5.5 (from 5.2.2).

These trails only show up when a player is moving faster than a certain speed and they’re color coded for teams. It’s a really cool way to visualize player movement and I can’t wait to see these streak through the skies in a full match. It’s handy for chasing as you can follow the trails, but it also opens up the possibility of being more sneaky by limiting your speed to avoid producing trails.

As mentioned at the start of the post, one thing I wanted to work on was the sense of player scale. You’re piloting a spider-mech that’s about 3 stories tall and I want that to be part of what sets the game apart from other first person shooters. One of the ways to do that is through the environmental art. This can be tricky though, especially with a stylized game like this. A low-poly rock can look like a pebble and a boulder. A tree can look like a shrub. Banana leaves can can look like grass blades. I’m still looking for solutions to this challenge, but in the meantime I’ve implemented a couple ideas that I think work pretty well.

The first is cloud cover. The implementation is pretty simple — scrolling UVs over a mesh with some depth blending to give the sense that the clouds dissipate as they collide with structures and give the sense that there’s some depth as you pass through. Might play around with volumetric clouds in the far future but for now I think these get the job done well and I want to keep performance tight. Feels cool to jump above the clouds and gives the space colonies inside asteroids a better sense of atmosphere.

Next are these flowerbeds. I played with a few ideas to give the ground more detail and this one seemed to work best (though I’m still tinkering with one of the other ideas). One challenge was trying to come up with something that looked good far away and up close, and satisfied that sense of scale challenge mentioned above. What I ended up doing was blending UV scale based on distance. So as you get closer, it actually shows more detail. It’s sort of like dx11 tessellation, but for 2D detail (and much simpler). Hopefully it’s subtle enough where you don’t really notice it, but I think it looks alright and I’ll continue to tweak it. Right now the distribution is using simple perlin clouds but I may try hand-painting it later. Both these flowers and the cloud utilize the gradient vertex color tech I talked about in Advancing Telos #003.

I also added a new race course. I’ve found races to be great at teaching movement — they force you to practice certain routes and it’s really helped me and other players improve our consistency for things like grappling through flag stand 2’s zero gravity donut hole. I had noticed a lot of players barely use magnet surfaces effectively, so this time I built a race course specifically to highlight those — a good way to learn and optimize how to best use magnet surfaces to build and keep speed.

Full list from the changelog:

Changelog 0.20.0.1 - January 5th, 2017 - Fixed a bug where Preferred Play Times weren't properly saved

Changelog 0.20.1 - January 11th, 2017 - Boost speed now scales with score deficit

- Console commands are no longer case sensitive

- Score scaling now resets properly at beginning of new Pursuit match

- If you have primary fire bound to a key, it should no longer trigger when typing a chat message

- Fixed a bug where it would read input while typing chat message if you were chatting while made unfrozen in Pursuit

Changelog 0.21 - February 1st, 2017 - New player trails when moving at high speeds

- New race: Magnet Hopping

- New cloud cover in indoor areas

- New ground detail flowerbeds

- Improved water shader

- Asteroid base bridges given thickness again -- will revisit art

- Shield no longer breaks line of sight for Teleport Blade, but does severely slow down the charge rate for the explosion

- In Pursuit, you can now look around while frozen and you launch in the direction you're facing. Launch speed scales with score deficit.

- Upgraded engine to Unity 5.5

- The Pursuit frozen effect should now render correctly on Windows

- Throwing the flag in CTF no longer has buggy Pursuit behavior

- Sometimes CTF flag would have collider enabled and prevent recovery -- should be fixed

- Fixed a bug with the escape menu while frozen in Pursuit

- You could sometimes be teleported while trying to land on magnet surface, which should be fixed now

Current State of Balance

While I do like certain weapons/equipment acting as counters to others, the Shield was a bit too good at shutting down the Teleport Blade. Now, it will no longer break line of sight — instead, it will now severely slow down the rate at which the explosion charges to give you more time to get away. Will keep tweaking this as I get more feedback and data.

I’ve also made some more tweaks to the experimental Pursuit mode. Now while frozen, you can look around and when you unfreeze, you’ll be launched in the direction you’re facing. I felt that dying was a bit anticlimactic, so this should bring a bit of excitement to it. The speed you’re launched at is scaled by the score deficit (players that are behind the score leader will be launched faster). Boost speed now also scales with score deficit.

Eye of Jupiter’s Storm Shot is still something I want to look at. I also want to improve weapon feel across the board. Not sure on timeframe yet.

What’s Next?

I’ll be continuing my efforts to better communicate player scale and game feel. Some of that will be more environment art and effects, but I’ll also be turning focus to the mech itself and adding new effects there. Part of that is adding better feedback. For example, at high speeds on the ground you can turn and maintain your speed, but if you turn too sharply you lose traction and lose speed. A lot of players aren’t aware of this because of the lack of audiovisual feedback. Things like this will help drive home the distinct feel this game has from other games.

I also expect to continue refining Pursuit mode as I get more feedback and data.

As always, let me know what you think!