![]() The code that calls scrDrawPlayerHUD first checks with the ‘main controller’ if the player exists. If we had just been more specific, logging scrDrawPlayerHUD instead of scrDrawHUD, we would’ve noticed that right away. We shifted focus: what if, despite the HUD being drawn, the player HUD was not being drawn? We went back, logged gameplay and realised that this was indeed the case. We checked in scrDrawHUD, and realised quickly that the HUD was still being drawn. scrDrawPlayerHUD then draws the HUD for the player with the player number provided – number 1 for player 1 and 2 for player 2. In Nuclear Throne, the HUD is drawn by two functions: scrDrawHUD, which draws popup text and pickup prompts, which then also calls scrDrawPlayerHUD for each active player. So we focused on was figuring out whether the code that draws the HUD was still being executed after the bug. That was a clue – from what we could tell, the bug would only occur while transitioning between levels. We concluded that one of the ways the bug could be triggered was by pausing the game during the end of the level transition. Not only does it bring you to the next world, it spawns a lot of radiation, a big weapon chest and some other stuff – so you immediately look badass for the trailer recording. It was originally created for our trailer creator, Kert Gartner, who needed a way to record video while not being quite amazing at Nuclear Throne. The only way we could get the bug to happen frequently was the ‘trailer cheat’. Using the developer cheats, we’d try walking around in different worlds and the like. When we started hunting the bug, the first thing we focused on was trying to create a reproducable method of triggering the bug. The core issue was that the HUD was disappearing at random moments, without any clear indication as to why that happened. was mostly busy today, I decided to take a shot at hotfixing the issue. ![]() I am obviously not the main programmer on Nuclear Throne, so for me a lot of the code, structure and specifics are not as natural as they are to J.W. That doesn’t make for fair competition.įor all of you that think of going into programming, the lesson today is *never make assumptions*. Sadly, there was a problem: for many players, the HUD just kind of disappeared halfway through the game. Obviously, this adds a lot of replayability and challenge to the game for those who enjoy that kind of challenge, without changing the game for those that don’t like to compete with others. This way, players can compete with players around the world on the same level, but only get one shot at getting a high score. In Update #55, we introduced Daily Runs, a challenge every player can take once a day in a pre-generated level. Yesterday, we launched one of the most important Nuclear Throne updates yet.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |