Warp Tango Devlog
Details
- Warp Tango is a 1-6 player co-op survival shooter where you exterminate darn vermin with your friends.
- Steam Release (Early Access): March 30 2023, for Windows and Mac.
- Steam Page: https://store.steampowered.com/app/1593160/Warp_Tango/
Nov 17
I just released the full version on Steam! The demo and full version are now available on Steam, and we are no longer languishing in Early Access limbo. I may release an itch.io demo, too, time permitting.
In the past couple of weeks, I have been trying to wrap up this project. I would like to move on to other things without feeling guilty that I never finished this one. I added a couple last features, like an achievements page, and cleaned up the UI, but had to let go of my other ideas for now (auto-generated maps, difficulty levels, and an upgrade/skills system). Of course, if I get the time for it, I can always revisit them.
I may do a longer post-mortem post at some point, but I’ll share some thoughts here, too. The game, as a product, is deficient in many ways, but I can’t help but love it anyways. It is missing many of the fundamental things that a player would expect from a game in its category, like an upgrades/skills system, multiple difficulities, multiple levels, and so on. I could always add those things. From an art+programming standpoint, they aren’t individually difficult to do. But the time all adds up, and eventually you need to cut your loses and work on other things.
The most important thing I’ve learned from this project is that energy (as in the motivation, inspiration, and excitement to work on something) is a limited, time-sensitive resource that must be treated with care. When scoping project requirements, you can’t just think about things abstractly as tasks that require input hours. Instead, think about how certain tasks will make you more excited or less excited to work on the project. There are, of course, miserable, tedious tasks that you must suffer through, but they shouldn’t exceed their healthy proportion. And even if all the tasks are high-energy/exciting tasks, eventually the wick will burn through and you’ll be left disinterested. I found that for this project the wick burned through a long time ago, and I just kept going and going. The project became, near the end, an awful machine that ate up one’s free hours without vending anything back. This is what happens when you don’t scope things properly. It is, I think, unavoidable for one’s first game, but still frustrating. Eventually, more exciting project ideas come along and compete for attention, which is only natural. I intend to keep development times short (preferably <4mo) for any future projects. That seems to be the sweet spot for me until interest starts waning.
Anyhow, I have plenty more games planned, especially quirky multiplayer games. If you’re interested, join the Discord, where I’ll post development updates :)
Sept 17
Long overdue update! I recently started a new full-time software engineering job, which is why I haven’t posted an update for a while. I had been working on Warp Tango full-time for a year or two, but needed a change (and some non-zero income). That said, I still have good energy and hope for the game, and I intend to keep working on it during my spare time. The feedback from the few people who have tried it has been very positive, which is enough reason to keep development going. My short list of goals goes:
- Fix the TLS error that prevents some players from connecting to the webserver – I thought I had fixed this, but my automated issue detection still pings me about it sometimes.
- Add a small Achievements/Goals page
- Release the Demo on Steam and Itch
- Transition from Steam Early Access to Full Release
May 10
I’ve been working on various graphics improvements. The game environment feels static and dead right now, so I’ve been adding little animations and interactions to lend it more life. The pipes now emit gas and the ferns do a little dance. I filled the map background with huge bushes (was previously solid black). I have a bunch more little things planned.
This should take a week or two more. I’ll then push an update and also release the Steam Demo with the improvements.
The demo allows playing the first 5 waves, solo or multiplayer.
Shooting probably requires the most improvement, of all the interactions. I haven’t yet gotten a combo of sound+feel+graphics that feels satisfying. I’ll post an update once I find something I like.
April 20
I submit the Demo for review today. Hopefully it should be up in a couple of days. The HandOfTrash video is drawing some views to the Steam page, but I suspect people are reluctant to buy after seeing it crash in the video (I certainly wouldn’t). I hope some people will try the demo and realize the crashes are fixed.
Also updated the Steam assets today. The old ones had a color saturation issue I had to track down.
April 13 - Crash Hunting [Update]
I pushed an update that possibly fixes the crash that got us on HandOfTrash! I still have not been able to reproduce it locally, so we’ll see. I finally got the Steam Minidump of the crash loaded up in Visual Studio. It told me the issue was coming from a texture init function. I suspect the problem is that the 9600x9600px map texture exceeds the max texture size of some GPUs, so it can cause a crash when it gets loaded on game start. I broke the map into parts so that all texture sizes are at most 4096x4096px. The trouble with using VMs (PaperSpace and Azure NVv4) for testing is that they usually are kept up-to-date with recent hardware+specs, so you don’t catch some stuff like this. I would love to be able to run tests through remote connections to a haphazard collection of different machines. Some test-lab services like BrowserStack are close but BrowserStack and similar services typically only support mobile app and website/webapp testing, not native desktop apps.
I’m still looking into it. Would be reassuring to repro locally and confirm the fix. I’m also not sure why the game didn’t connect to the webserver in the HandOfTrash video, so looking into that, next. I’m planning to add a demo to the Steam page for those who want to try before they buy.
April 13 - Crash Hunting
There is a bad crash effecting some users, where the app crashes and the window closes when they try to start any game from the main menu. I have been hunting this down the last couple of days, and it is proving hard to find. I haven’t yet been able to reproduce it locally, even on several clean Windows VMs, but I have a long list of ideas left to try.
The app has built-in error capture and reporting for Windows, where symbolicated stacktraces are sent to the webserver on app start. However, it’s not much help here because I’m only getting one stack frame with this crash. It’s a write to address 0 from the memset function in vcruntime140.dll (C++ runtime). I need to know the caller, but no such luck. I recently enabled the SteamWorks API minidump reporting tool and have some minidumps of the crash. I have so far not gotten them to spit out a coherent backtrace, but I may be doing something wrong in Visual Studio. I suspect this may take a day or two more. The search continues.
March 30 - We Released!
I released the game into Early Access late last night. I woke up to see a few positive reviews and some solid feedback, which made me happy. I also made $4 overnight (sweet, sweet sustenance)! I’m still working my way through a list of improvements for graphics, gameplay, etc. I will be reaching out to some content creators so that they can consider covering the game. Still a long way to go, here.
March 23 - Release Next Thursday!
We release next Thursday (03/30)! Earlier today Steam approved the release build, so all I need to do is clean up a couple minor usability items then hit the release button. Cost will be ~$2USD. I don’t think anyone reads this, but hope you like it anyhow.
I put together a presskit today, if anyone wants one.
March 1 - UI Improvements
Happy March! I have been getting ready for the planned March Steam release. It will be tight, and I may have to delay the launch by a month. We’ll see. Yesterday I made some improvements to the UI. I’m currently working on the weapon/ability upgrade system.
Hats
While playtesting with a few friends, I found it was hard to quickly see who was who. I added this little feature where you choose a hat. They are purely cosmetic, similar to the style variations in Super Smash Bros.
New Art
The art has changed a lot since my last post, I realized. The main characters and weapons have changed. Here is a more recent screenshot.
Dec 10 - First Boss
Dec 10 - Basic Zombies
About
I was originally working on a multiplayer capture-the-flag RTS. It was extremely over-scoped and development drew on and on. I hadn’t shipped anything for far too long and my moral was getting low. I finally decided to take the core multiplayer code and spin it off into a simpler game that I could ship within 5 months.
The new game is called Warp Tango. It’s a multiplayer zombie-survival game, with an emphasis on team-based mechanics.
I’m planning to release the game for $4 CAD around December 2022.
Some of the older entries below are from the original game idea.
Old Content Below
Sept 6 - Warping Around
Sept 6 - The Shotgun
Sept 6 - How are points scored?
(Pardon the dummy test bots in the center)
Sept 6 - Map Pics
Sept 6 - What is Broken???
Debugging networking problems is half the battle. I made some in-game tools to help players figure it out:
Sept 6 - UI gets a makeover
The startup UI:
Something I’ve always wanted in an app? An in-app crash viewer and reporter:
Sept 6 - Tooling Pics
Krita:
Tiled Editor:
Editing in Neovim:
Running the webserver and client in tmux: