This is somewhat misleading: the reason why there is "one liquid slot" left to fill or why an existing paint has to be replaced to add a new one is very specific to how tiles are stored. To save space, the data is packed very tightly into individual bits (not bytes). For example the game uses 5 bits to store the paint state of a tile, which happens to allow for 31 paint colors and "no paint". Similarly, there are 4 possible liquid states and 4 possible wire states.
There's nothing misleading about what was said [
here]. As a person who's had thousands of hours Coding and Modding, even I know that flipping a feature from "false" to "true" impacts game stability
(facts), even if the option for having such a feature set to "false" has been the default.
As a matter of fact, the
"how far away is my teammate" feature being adjusted by proximity is a perfect example of this. Recalibrating the "magnitude" in which something triggers 'on' or 'off' will also have an effect on performance.
If you're telling me that changes to the HUD can tank performance, but adding a new liquid to World Gen will
not...
I don't believe you, and anyone else who's ever created an edited "Water World" shouldn't either, because it'll always come down to 'optimization' and 'magnitude', not simply looking at "true" or "false" triggers.
Side Note: The critique about the paint replacement was a shot at the Dev Teams new design philosophy and how it's likely negatively effecting the game, it's not suggesting that it has or will have an effect on performance.
If ReLogic wanted to change this, all existing worlds would need to be migrated with a lot of extra code, and the world size would grow massively. Even adding one more byte per tile to a large world with 8400x2400 tiles would increase the file size by 20 MB.
On the other hand, adding new regular items, NPCs (town NPCs and enemies), tile types or projectiles is no problem at all. Until of course, the bytes used to store item ids, NPC ids, etc. run out, but we probably wont ever reach that. The game supports 32767 different items, NPCs & projectiles each, and 65535 different tile types, out of which basically nothing is used.
Keep in mind, my critique about any changes would be in the form of an overhaul or simple 'optimization' of already-existing assets, I don't find implementing the least reasonable method to be useful to anyone, especially if we're discussing things within the realm of a better running game. This is a bad news first, good news second tactic (which leads me to suspect that you're 'media trained'). Anything within the realm of increasing file size is off-the-table, and should be reserved for a second game.
Nice try, but there's a reason that things
cap-out when it comes to spawn-rates or even storage
(especially the slowdown for items loading in via Power Menu). If the game doesn't ever have to account for a number of them being present, then yes... of course it has
little to no effect on gameplay, but there's a stark difference between placing
ten (10) 1.4 Mannequins, and placing
one-hundred and ten (110). When the game has to actually start 'accounting for things', we're in a whole other realm of ids.
Also, keep in mind that nearly all NPC's sale items
(specific item ids) and have the ability to drop item upon death. So yeah, Terraria might support 32,767 different items, but I'm
pretty sure it can't display all 32,767 items at one time, now can it
(and I'm the one being misleading, huh)?
It is correct that everything affects performance in one way or another, but the biggest bottlenecks by far are still rendering, which is essentially CPU based with performance suffering accordingly, and collision/hit tests for projectiles, etc. which are (understandably) also not even remotely optimized. This is why for example summoning 500 Imp summons and fighting any boss would cause ungodly lag on almost any machine. Adding new town NPCs or tiles is almost irrelevant in that sense.
Perhaps,
but I will say that nearly every person who has experienced some lag spikes attributes some of it toward transitioning to different/ newer Biomes. If all of this stuff is "irrelevant at best", why does the new 1.4 Map cause slowdown?
In addition, games like Skyrim SE, Cyberpunk 2077 and Vindictus
(all 3D videogames btw) can all run rather smoothly when tweaked and settings are adjusted. I don't see how anything in a 2D game causing slowdown is
understandable when it comes to rendering, even for a 2011 game. You don't have to go out-of-your way, or do something unreasonable to experience lag or slowdown, so I can't even be sure that render
bottlenecking is the biggest culprit, it could just as easily be "dirty code", coding overlap or a series of "harmless errors" being compounded
(that's my conclusion, as Terraria running this poorly is extremely hard to fathom).
The game source code is more than 600 thousand lines big, which is quite a lot. As yorai has stated before, the only way to really improve on that would be to rewrite the entire game from scratch, which is really not viable. So you really cannot blame them for not making any large overhauls. Especially because despite that they still put in the effort; for example in the 1.4 update the entire enemy loot system was refactored from one singular gigantic function into a robust system
Actually
I can blame them, because "overhauls" aren't limited to
coding rewrites, it's also adding newer content and improving previous content
(to a noticeable degree, that's it really). I just got finished "overhauling Skyrim SE" with simple retextures; I also added some details to other 3D objects using SMIM. Here's the thing though, if I'm not smart about what I edit and
how much I edit the game, performance
will certainly take a hit
(especially if I have errors with overlapping or corrupt textures).
No one, especially myself, is suggesting that the Devs don't have the space for the stuff they're adding
(a lot of games have free space/ slots to add more stuff). If I'm insinuating anything at all, it's that they are
poorly choosing their spots to do it. The performance hit from 1.4 to 1.4.2 is pretty noticeable, so unless there's an official breakdown explaining why
(when Terraria is already known to be a fragile game), it's pretty reasonable to start throwing logic darts.
Note: I think it's important to bring up the HUD incident here as a good reference point, so that it isn't somehow lost on you just how easy it is to tank Terraria's performance.
Almost all of the tile placement related issues such as duplication, crashes, etc. come from the way the game handles tile breaking and resulting item drops. This usually has nothing to do with the actual tile type but just with the way the checks are implemented. Some of which simply have bugs which allow for these things to happen. They could add 50 new chest designs and they would all use the same code to check breakage. Although to be fair, there are quite a few unnecessarily buggy and weird interactions that could get fixed, but triggering them usually requires already exploiting bugs in the first place.
...or by simply placing 50 Armor decorated Mannequins at your HQ.
Seriously, what are we doing here?? We can already prove that "record keeping" hurts performance and some graphics aren't
rendered after a certain "cap" is reached, namely with Racks and Item Frames. If you're not going to go into detail about why this is happening, then I'm not sure how anything I'm suggesting is unreasonable or misleading.
In my mind, there's no excuse for the sudden hit to performance, if you are an
apologist of sorts, I'd love to hear why this is the case. I say it's because "the current build of Terraria is unstable, even if I don't have the inside scoop as to exactly why that is,
to that you say what?"
As loki stated above, there will always be devices and setups that become too old to run a game as it updates, together with the fact that the team is too small to realistically rewrite the game from scratch.
And also, with the right settings it runs almost at 60 fps on a 15 year old laptop with an intel core 2 duo and integrated graphics of mine
I don't think anyone here
has their panties in a bunch about having to upgrade their devices.