Weekly Dev Log for October 18th, 2021
Hello everyone, and welcome to the Weekly Dev Log for October 18th, 2021, detailing all the changes that have happened since October 11th, 2021. Note: Devs that don’t appear in the weekly log are not necessarily away or not doing work, but may be working on things currently not announced or backend work that doesn’t need to be detailed.
Steam Issues
As you probably are aware by now, Tower Unite is currently experiencing issues with EXP, Item Transactions, and Achievements due to Steam’s backend systems being unstable and unreliable.
We are currently working on migrating away from using Steam Inventory for items, as well as tracking EXP and Achievement unlocks on our own systems, instead of relying on the Steam Stats and Steam Achievements systems.
As you can probably imagine, this is going to take some time, and we’re unable to offer an ETA of when we’ll be finished, but working on it is our top priority.
Background
Steam offers developers various tools to use for developing their games: Achievements, Stats, Inventory, Networking, Workshop, and so much more. These tools are great to have for many developers, as they free up the developer from having to spend time to make these backend systems themselves, and instead allow the developer to focus on making the game they want to make.
When Tower Unite began development, we decided to use Steam Inventory for storing users’ items, Steam Stats for storing users’ EXP and other stats, along with utilizing Steam Achievements. Steam provides these tools to developers in the form of an API, and using this API we can tell Steam to do things and Steam will do them. We have our own backend system called the AGC that interfaces with these Steam APIs.
As many gamers who use Steam are aware, on Tuesdays, Valve performs maintenance on Steam’s backend servers. These maintenances can last anywhere from two minutes to several hours, and when they are happening most of Steam is often unavailable for users.
On Tuesday, October 12th, 2021, upon the completion of Steam’s maintenance, we got a couple reports from users stating that they were having issues obtaining items. As we typically get some of these reports on a Tuesday, we didn’t think much of it.
The next day, Wednesday, October 13th, 2021, we released the Halloween update, and with the influx of users that our holiday events bring, we immediately began observing issues across the board. It is important to note that, for the Halloween update, none of our backend code that interfaced with Steam was changed at all. Code that worked fine for months suddenly stopped functioning correctly.
What’s happening?
Steam’s API, like many APIs, uses HTTP Status Codes to denote if a particular action was successful or not. An HTTP Status Code of 200 indicates to our backend system that the action we asked Steam to take has occurred successfully, while an HTTP status code of 500 indicates to us that Steam is having issues with their servers.
Our backend system, the AGC, handles these errors. However, since the Steam maintenance on October 12th, our AGC is telling Steam to do actions, and Steam responds that it has performed those actions, along with a HTTP status code of 200, but, in actuality, it either hasn’t done the action, or the action ends up being delayed by hours.
Our systems cannot function properly when the API we trust to perform actions for us is not being truthful about what it is actually doing. Due to this, anytime we ask Steam to give a user an item, or take an item away, give a user EXP, or grant an achievement, Steam isn’t cooperating with us.
It’s not only our backend systems that are being affected by this. When a user boots up Tower Unite and looks at their inventory, their game client is using the Steam API directly to get their Steam Inventory information. Steam is only sending some users part of their inventory, or none of it at all, leading the user to believe that they have lost all their items.
What are we doing about it?
Last Friday, October 15th, 2021, at around noon, we sent a support ticket to Valve using their dedicated developer panel. As of the time of this posting, we have not received any response.
Since the API is currently unreliable and unstable, and given the fact that it has a tendency to go down without any developer support, we have no choice but to move all Tower Unite users’ inventories off of Steam Inventory, and onto our own systems. In addition, we can no longer rely on Steam accurately updating user’s EXP or granting a user’s achievements, so we’re going to have to start tracking that on our end as well. If it sounds like a lot of work, it is, but it’s now our top priority.
We’re just as frustrated as you are about the current situation, and this will probably lead to a delay to what we were planning for the second phase of the Halloween Events, but it’s work that we have to do for the stability of Tower Unite.
So, to reiterate, our current plan is as follows:
- Migrate user stats off of Steam Stats to our own stat system.
- Migrate tracking of achievements onto our own systems.
- Migrate user inventories off of Steam Inventory to our own inventory system.
There is an upside to doing all of this on our own: it should hopefully make transactions and item purchases faster, while also making it easier for us to work on the Community Condos feature, which would require shared inventories.
We’re hopeful that sometime this week, Valve will issue a fix for this issue, allowing for smoother sailing while we create the new backend systems required for handling this data.
We’ll continue to keep you all posted on our status page, which can be found here.
August / September 2021 Survey Results!
Thank you again to everyone who participated in our survey. We had a whopping 6,700+ responses!
You can view the results of this survey here.
October 2021 Halloween Condo Contest BEGINS!
As we’ve done in the past, the theme for October’s contest is Halloween!
Feel free to interpret that how you like, whether that means making a haunted forest maze, a creepy basement, a chill Halloween party, or anything else, so long as it follows the rules and reasonably suits the theme.
The contest ends on October 27th, 2021, at 11:59 PM CT.
View the contest rules here!
Accessibility Suggestions
We’ve created a forum post asking the community for suggestions on how we can improve gameplay for players with certain conditions such as colorblindness, dyslexia, or anything else that might affect a players ability to use the standard presentation and controls of the game.
If you have any ideas or suggestions, and possible solutions on how to solve a particular issue, please check out the forum post here.
Shooting Gallery Ride
@Johanna finished up the first art pass on the shooting gallery ride.
@Wheezwer continued working on paintings for the shooting gallery ride.
Shooting Gallery Ride
Minigolf: Cove
@Johanna continued working on an art pass to Minigolf: Cove, adding course walls, and updating textures, lighting, and foliage.
Minigolf: Cove Art Pass WIP
Little Crusaders: New Map
@Lifeless continued working on the new map for Little Crusaders.
Little Crusaders: New Map WIP
Miscellany
@Sabrina is working with the other developers on migrating user information off of Steam.
@joshua continued working on various NPCs.
@macdguy continued working on coding the shooting gallery ride, getting the track logic completed and planning gameplay and visual events.
@madmijk continued working on adding MIDI support.
@Sketchman finished working on Gizmo stuff, and is working with other developers on migrating user information off of Steam.
@Will continued working on sounds for the shooting gallery ride, while also working on new music for Ball Race and Accelerate.
Wrap It Up
That about covers everything that happened since October 11th, 2021 at PixelTail Games.
Join our Discord for development updates and community fun!
https://discord.gg/pixeltail
We love awesome people like you!
We’re also active on Twitter!
https://twitter.com/PixelTailGames
Follow our developments on our Trello in near real-time:
https://trello.com/b/6BwRMiPw/tower-unite-roadmap
Take a peek at what’s being worked on every week in our weekly dev logs! There’s bound to be something interesting every week!
https://forums.pixeltailgames.com/c/devupdates/weekly-dev-logs
Please report bugs & submit suggestions on our forums. We’re active everyday & here to help.
For bug reports: https://forums.pixeltailgames.com/c/bug-report/18
For suggestions: https://forums.pixeltailgames.com/c/suggestions/7
<3 PixelTail Games