Why Duck Game PS4 is taking Forever

vincent2

I haven’t really said anything in a week or two. I’ve been staying off/accidentally forgetting all about Twitter to avoid distractions as I’ve been working trying to get the PS4 version of Duck Game working correctly. A massive update is planned for the Steam version of Duck Game, and the plan is to release it at the same time as the PS4 (XBONE too I guess) version. There was a semi-open beta for the update content a few weeks ago, which was supposed to last only a week but I ended up leaving it open due to the code base and my attention basically being in limbo.

This post will hopefully clear up some questions about that, and help explain why this Duck Game update/port has been taking so long.

The PS4 and PC versions of Duck Game are pretty closely tied together. I originally wrote the update content for the Steam XNA version of the game, and had the porting company convert the changes over to the Unity based PS4 and XBONE versions of the game. The plan was to fix a bunch of stuff that bothered me in the original release (random levels, mostly, they are completely rewritten and much better and look like pyramids now), while also adding a new online leveling and room customization system that I wanted to have in the first place.  The update content was basically all implemented in June of last year, with the plan being for the PS4 version and update content to come out in August. That never ended up happening due to serious online performance related delays with the port, and I instead ported over a few smaller changes into a Halloween themed patch last October. So the plan was for the big update and console port to come out in November instead. Then February, then April, etc. etc.

It wasn’t until January of this year that I started helping the porting company directly, with hopes of getting the problems sorted out quickly so we could get this update out. I flew out to London for a week to work with the porting team directly, then flew to Atlanta for another week to work with Adult Swim directly, then finally they sent me some PS4 dev consoles and I’ve been working on the port from home since the end of February. Nobody expected it to take this long, and I never would have guessed how much work still needed to be done to do to get everything working. I’m still working on the port right now.

So what exactly happened that could cause the port to take so long, and how could the port keep the update from coming out? Adult Swim wanted me to time the release of the console version with the release of the big update, the idea was that it would be cool for everyone on every platform to be excited for the new content all at once. As the port got pushed further and further, keeping that promise got more and more awkward as people kept asking what was up. I was under the assumption that the port would be finished soon, so every month I’d say “It’s coming soon, should only be a few months till the update!”. I really believed it.

sdfdf2

The game was running at 60FPS with regular massive lag spikes with 2 players in an online match. With 4, though, the game was running at around 15FPS, with constant packet loss and network dropouts, along with an endless list of strange synchronization bugs that didn’t make sense. Then in January, when Adult Swim got me involved in the porting process, I realized what the problem was.  The netcode for Duck Game is bad, and it was way CPU intensive and took way too much network bandwidth to possibly work on console.

 “The netcode for Duck Game is bad”

Duck Game’s netcode originally took me about a year to write, and when I talk to people about it I get emotional and vent about how it was a terrible year and I’d never want to do it again. I’d never coded a real time network game before and the weird combinations of shit that can happen in Duck Game posed a serious challenge when it came to coming up with a system that would work for everything. The netcode is a total mess, that I was able to get everything working in the first place is nothing short of a miracle. At the beginning of January I realized that I had to re-write most of that awful net stuff that took so many endless nights of debugging and uncertainty. I had to re-write it and I had to know exactly what I was doing and why, because the PS4 couldn’t take running a bunch of unnecessary code and sending a bunch of redundant data.

So I’ve been re-living that whole process, building the online code from the ground up all over again. It’s kept the Steam update in an awkward state, too, since the Steam version needs to share a lot of code with the PS4 version. After I opened up the PC beta, I tore down a bunch of systems and got to work putting them back together. The beta was going to last a week, and I had a number of patches ready but then things got out of hand and I decided I couldn’t release any of the new net code yet with any amount of confidence. So the Beta is left open with a strange buggy half ported build that’s likely to stay the way it is a bit longer yet.

It’s only now, coming up on June, that an end is in sight. The PS4 version is running at 60FPS with minimal packet loss. I just finished re-writing the object interpolation and state synchronization code, since it’s a complete re-write there are a number of new gameplay bugs caused by it. Overall though the net synchronization is much more accurate and efficient, and as soon as the bugs are moved outside then the PS4 version is essentially ready minus some certification stuff that I’m told the porting company will deal with. Along with it comes the update for the Steam version. As soon as the PS4 codebase is back in the porting company’s hands, there’s still some new stuff I wanna get in there in the month or so I’ll have before release.

dartchaingun

So the quick version is that the major code changes required to make the PS4 version functional are finished, and release is only now on the horizon of the near future with any level of confidence. I’d love to see it come out by the end of June, I’ll definitely have the PC Beta updated with the new online code before then.

I’m sorry to everyone who’s been waiting longer and longer and longer, and I’m extra especially sorry to anyone who’s tried to talk with me in the last couple of months. My mind has been either 100% in this port, or freaking out about how I broke the net code again and it’s “definitely broken forever this time”. It’s not broken anymore, but it’s gonna be a few months before me and Duck Game are back to normal.

Thanks for sticking around.

This entry was posted in Uncategorized. Bookmark the permalink.

22 Responses to Why Duck Game PS4 is taking Forever

  1. Kelly says:

    Thanks for the update. Thanks for all your hard work. We’re all excited for the update 🙂

  2. ncr100 says:

    Quaaaaack!!

  3. Gonzalo says:

    Thanks for this <3 take your time, i love you and i love duck game

  4. Tom says:

    Thanks for putting the effort into making a game me and my siblings adore. The possibilities and creativity in every aspect of it is something I absolutely appreciate. Can’t wait for more!

  5. You’re doing gods work there pal! <3

  6. SomeFaggot says:

    Sounds stressful. Take your time if you need it. We’ve waited this long, we can wait a bit longer. This shining diamond of a game is worth the wait. Nice to know what’s going on though, thanks for the update and all the work you’ve put into this.

  7. steve says:

    ask your computer scientist friends for help!! networking is tough!

  8. Nombre says:

    With the engine changing, will it be possible to do a Linux port?

  9. VirtualFishbowl says:

    Thanks for reaching out to the community and explaining all of the confusion with the beta and the update. You’re building and amazing game, and I really look forward to Duck Game’s future!

    p.s. totally buying that Duck Game plushie.

  10. TheBrokenRecord says:

    Weapon Idea: Trap Gun. Fires a substance within 4-6 pixels of range, with it spreading across the surface of that part of the map at a maximum length of 4 pixels and works the same as the net gun having to get out of the net, but half the amount of struggle to escape it while trapped.

  11. Stan says:

    We’re just super glad such a fun game hasn’t been forgotten! Stay positive, have fun, we’ll see you when it’s done!

  12. Spoforth says:

    I just finished creating a multiplayer game in Unity for a university assignment. I understand how you feel completely. Netcode is bullshit black magic and I never want to touch it again

  13. Spencer says:

    you’re very good and your game is wonderful =)

  14. Ryan Orwig says:

    Hey there superjoebob. By any chance will there be cross-platform multiplayer?

  15. MazNova says:

    Love ya Superjoebob 🙂 i really don’t mind waiting, as I said before the game works great on PC so anything new would be a plus, not having it would never be a minus ^^

  16. LockedLogic says:

    I’m excited to see where Duck Game goes. All my thoughts can be summed up in one word:
    Quack.

  17. Beandip says:

    Would have been nice if you just could have released the update for PC, but I understand if your higher ups wouldn’t allow it.

  18. Alazu says:

    Hey! Landon! I wish you well…. and I hope that you get to know that you inspire us with your hard work! “Net Code” is very difficult to implement properly and I’m wowed by how much you worked into this Wonderful game. BTW I love your “Game Things™” websit. My only issue NOW is that your VST has problems…. 1St being the fact that whenever I search for it Instead of getting your website I get {http://www.ym2612.wonthelp.info/} Instead. 2nd is that i do believe that your VST 2 is not doing so Hot in most of the DAWs I use….. In fact it’s completely broken….. but! Maybe after you’re finished WOWING us by Rewriting Duck Game’s port for PS4 then you can update it proper right? -Most Likely after you rest from getting buffed into shape by Adult Swim games-

    InConclusive Pander: Thus though why on EARTH would I help this F&%#’R at all? I don’t have any good reason all but I hope I can point you to some help and cool people well at least 1 person. If you want a good grasp on a Mathematical Synth VST Reproduction at least with FM/ and I DO BELIEVE chipsound you can try and contact the legend “extentofthejam” maybe not. But it’s not like I’m telling you to smooch up to a Plogue employee.

    My final wishes and condolences to your next ventures I hope that you make it out all good!
    P.S. If you did update the VST and it’s just because you made a old website that you forgot don’t worry just ignore it.

  19. Badum-tshhhhh says:

    I’ ll ask this here, also:

    Are there any plans to add button remapping on Switch version of the game?
    It is a much needed QoL feature, that doesn’t sound too complicated to implement.

    Thanks in advance for the answer.

Leave a Reply to Gonzalo Cancel reply

Your email address will not be published. Required fields are marked *