Hello Terrarians!
The 1.04 update is in submission with Nintendo. We’re hoping to be able to release the update globally by the end of November, but until the update clears Nintendo’s checks we won’t be in a position to project a date. The focus of the work for the milestone was stability and being able to offer Expanded Worlds to New 3DS owners, as we have previously communicated.
The stability round was obviously priority number one to those of you having issues. In our own testing we found the game to be almost always stable, but Terraria is a game that everyone plays differently and a minority of you were experiencing crash issues that were blighting your experience. We’ve worked very hard to put in global fixes for these kinds of issues, and along the way encountered some very odd edge cases. Rather than try and explain every issue, we’ve pulled out a few from a long list that you might find interesting:
Expanded Worlds, then. This had to be a New 3DS-only feature, because we needed the extra horsepower to make it work. The Normal World on 3DS measures 1750 x 900 tiles, whereas an Expanded World grows this to 4200x1100. This is comparable in size to the Small world on the PC version, and if you’ve only ever played on 3DS you’ll be delighted with how this opens up the game. For multiformat veterans, this inches the handheld game towards the PC experience. We’ve added a new zoom level on the map screen, as there’s more to see now.
As well as giving you more world to play with, the shift to Expanded Worlds solved the majority of the 3DS world gen issues in one hit. The Normal worlds would throw up weird deformations in the world gen just by trying to pack everything into a smaller area than the original PC worldgen processes intended. It was rarely terminal, but you’ve all likely seen an oddly-formed Dungeon or suffered biome overcrowding. Switch to Expanded, and those issues vanish. If you’re playing a multiplayer game using a mixture of Original and New 3DS consoles, note that you’ll be able to see Expanded World games being hosted on either machine, but Original players won’t be able to join. Sorry about that, but no way to make that work. You can continue to play together on Normal-size worlds.
Another step on the road to bringing the 3DS in line with PC was a full rebalance of all the boss characters in game. Terraria’s Quality Director @Arkhalis spent countless hours playing and replaying the bosses as we tweaked them. The result is enemies that are harder to defeat across the board but still take into account the smaller viewing area on the 3DS screen. If you blasted
through them last time, a stiffer test awaits on your next playthrough. She went over and above in her efforts to help with this, and we are very grateful. All of which didn’t leave a lot of time for anything else, but we’ve always got our eyes on the forums for things we can address. You can thank your fellow Terrarians for the following:
The update also addresses over 100 other general bug fixes, so we hope you’ll notice a quality uplift across the board as you play. Fingers crossed for a first-time approval with Nintendo so we can get this into your hands!
The 1.04 update is in submission with Nintendo. We’re hoping to be able to release the update globally by the end of November, but until the update clears Nintendo’s checks we won’t be in a position to project a date. The focus of the work for the milestone was stability and being able to offer Expanded Worlds to New 3DS owners, as we have previously communicated.
The stability round was obviously priority number one to those of you having issues. In our own testing we found the game to be almost always stable, but Terraria is a game that everyone plays differently and a minority of you were experiencing crash issues that were blighting your experience. We’ve worked very hard to put in global fixes for these kinds of issues, and along the way encountered some very odd edge cases. Rather than try and explain every issue, we’ve pulled out a few from a long list that you might find interesting:
- Fixed an issue where an NPC would occasionally wander outside the confines of the game world, and would therefore report impossible positional data to the game. The game wasn’t prepared for
this, and would fall over. This was hard to debug, because on a crash you’re looking for what the player did immediately before the issue. But in this case, the badness was happening off screen. Because the world is so alive, you’re looking for the one faulty part across the entire map. Most of which you can’t see at any one time.
- Fixed an issue in multiplayer where the code that governed the growth of trees would get itself into a loop of sending too much network data and crashing the game. If your multiplayer game got
caught in this – and thankfully the repro cases were rare – it would create ongoing instability.
- There was a latent instability in the wiring system that would only reveal itself after many, many hours of play. The wiring system keeps a list of which tiles it already checked so it does not keep
checking the same tiles over and over again. This was only reset when the player pushed a button/switch. So depending on how much wires and how much time between button presses the list of tiles that did not have to be checked anymore grow so large that it would write over other very important data and kill the game. Every time you hit a pressure plate you reset the clock on this
issue, which made it very hard for us to work out what the root cause was.
- Fixed multiple issues with falling sand, which lead to a crash. Most notably, making a load of sand fall at once could cause important data to be overwritten. We even saw sand falling upwards as a
symptom – let us know if you see anything weird like this, because it might be the clue we need to look in a certain area!
- We also fixed edge cases around looting items from chests, grapping around minecart tracks, rendering the item placement ‘preview’ directly after you’d teleported – and a ton of other stuff.
The dev time was split 50% on bugs/stability, 40% on Expanded Worlds, and 10% to get a few of the community’s wish list items in. More on that later.
this, and would fall over. This was hard to debug, because on a crash you’re looking for what the player did immediately before the issue. But in this case, the badness was happening off screen. Because the world is so alive, you’re looking for the one faulty part across the entire map. Most of which you can’t see at any one time.
- Fixed an issue in multiplayer where the code that governed the growth of trees would get itself into a loop of sending too much network data and crashing the game. If your multiplayer game got
caught in this – and thankfully the repro cases were rare – it would create ongoing instability.
- There was a latent instability in the wiring system that would only reveal itself after many, many hours of play. The wiring system keeps a list of which tiles it already checked so it does not keep
checking the same tiles over and over again. This was only reset when the player pushed a button/switch. So depending on how much wires and how much time between button presses the list of tiles that did not have to be checked anymore grow so large that it would write over other very important data and kill the game. Every time you hit a pressure plate you reset the clock on this
issue, which made it very hard for us to work out what the root cause was.
- Fixed multiple issues with falling sand, which lead to a crash. Most notably, making a load of sand fall at once could cause important data to be overwritten. We even saw sand falling upwards as a
symptom – let us know if you see anything weird like this, because it might be the clue we need to look in a certain area!
- We also fixed edge cases around looting items from chests, grapping around minecart tracks, rendering the item placement ‘preview’ directly after you’d teleported – and a ton of other stuff.
The dev time was split 50% on bugs/stability, 40% on Expanded Worlds, and 10% to get a few of the community’s wish list items in. More on that later.
Expanded Worlds, then. This had to be a New 3DS-only feature, because we needed the extra horsepower to make it work. The Normal World on 3DS measures 1750 x 900 tiles, whereas an Expanded World grows this to 4200x1100. This is comparable in size to the Small world on the PC version, and if you’ve only ever played on 3DS you’ll be delighted with how this opens up the game. For multiformat veterans, this inches the handheld game towards the PC experience. We’ve added a new zoom level on the map screen, as there’s more to see now.
Another step on the road to bringing the 3DS in line with PC was a full rebalance of all the boss characters in game. Terraria’s Quality Director @Arkhalis spent countless hours playing and replaying the bosses as we tweaked them. The result is enemies that are harder to defeat across the board but still take into account the smaller viewing area on the 3DS screen. If you blasted
through them last time, a stiffer test awaits on your next playthrough. She went over and above in her efforts to help with this, and we are very grateful. All of which didn’t leave a lot of time for anything else, but we’ve always got our eyes on the forums for things we can address. You can thank your fellow Terrarians for the following:
- Ability to hammer platforms into stairs. We always said 3DS was 1.2 plus a few extras, and we pulled this in from 1.2.3 on PC. Houses just didn’t look right without them!
- Music from 1.3 You asked, we looked into it, and here it is. Note: we’ve not got all the events 1.3 has so some of the tunes were not applicable, but you’ll hear a few new tunes as you play.
- Beetle husks. This kept coming up again and again, so we grabbed a coder for a couple of days and made it happen. If you’re not sure why this is big deal, the veterans on the forum will fill you in.
The update also addresses over 100 other general bug fixes, so we hope you’ll notice a quality uplift across the board as you play. Fingers crossed for a first-time approval with Nintendo so we can get this into your hands!
Last edited by a moderator: