@Heath04🌳 Thank you so much for such a well-structured response with illustrative gifs. (I have to work on making higher quality and bigger gifs like yours
)
"Re-Logic decides to add some major functionality, then 'the game engine' usually requires a major modification too, which can be a massive undertaking by itself as they have to make sure that the existing features continue to work."
I'm really glad that we received these wonderful answers when we asked about the game engine. I never expected any response, but I was pleasantly surprised!
Regarding this suggestion, I can see how step 4, with the checker moving from right to left, could be considered a major functionality. Although I won't know for sure, as no one has commented on what would actually be the major functionality here. What I do know is that the current spawning system already has a 'moving' functionality where it checks if the tile is in the air or not and then moves down until a block is reached. However, this is, of course, simpler moving than what the checkers are doing, and I don't know if there is any feature that already has a very similar function to what the checkers would have.
I also think
@punchready added some great insights:
And to answer the original question properly, the commonly spread notion that the "game engine" is limiting is simply wrong, instead the game's implementation has grown to such a messy state that many new features would require significant engineering effort like Tunnel King explained. There are still instances where the effort was put in however, for example with the release of 1.4 the implementation of enemy loot was completely redesigned from a terribly messy single function to a very robust and extensible system. In some cases, the "new feature not being possible" is also just due to "lazyness", for example it would be trivial to restructure the internal tile representation just a little bit to support twice as many liquid types, or twice as many paint types (or even both).
What I interpret from this is that it is easier to add code to an existing structure, such as adding a weapon, item, or mob, as these elements can seamlessly fit into the current working system. However, if the game engine has to be changed, unpredictable issues might arise due to the messy and complex nature of the engine. This is one of the reasons we aimed to propose something that wouldn't alter the current system significantly and hopefully would just be an 'addition' in terms of code.
Additionally, I interpret that some changes to the game engine are possible without breaking the game. For instance, it appears that enemy loot was completely redesigned, making it easier to add and modify loot behavior(my guess). However, I'm uncertain about the extent to which this feature would need to change the game engine or how significant its impact on the game's functionality would be. Nevertheless, I believe that step 4 is the major cause for concern.
For the other point I don't think most players will notice since
A, newer players tend to make NPC hotels so zombies spawning on the roof means nothing
I just watched a YouTube video where someone played Terraria for the first time. They built an arena by placing platforms on top and to the side of their 'NPC hotel.' At night, when fighting the EoC for the first time, zombies became a major obstacle to their victory, preventing them from staying on the arena. (I can try to find this video if you want).
I don't believe there's any new player who is satisfied when they learn that zombies and walking enemies spawn even when building platforms high in the air and on their roofs. No, I think more players would be satisfied if they learned that they can actually build their structures to their advantage, keeping all the walking enemies below them, watching helplessly as the enemies can't reach them. Instead of being punished by walking enemies jumping from roofs and invading every arena.
Alright, players often figure out that they can build a large hole and just dig themselves down next to it to deal with almost all enemies. But players who try defending themselves with walls and height won't be nearly as rewarded as those who build large holes. In fact, they will mostly be punished.
For the other point I don't think most players will notice since
B. more advanced players really don't care about such a thing
I think this becomes more prevalent when building larger buildings and bases, as the effect of walking enemies spawning everywhere has an even greater impact and is more dangerous, especially in higher difficulties like Mastermode and mediumcore/hardcore.
You bring up interesting points here:
There are multiple different ways to counter the zombie attacks (or any other enemy using fighter AI) so this suggestion would be meaningless to those players. These types of things are so ingrained in my brain personally that I don't even tend to notice it, whenever I see zombies on my platform my first instinct is to just dunk and recover, it's 2nd nature now. Which is why I really don't agree with this suggestion overall, without these features that are currently in the game then players wouldn't have figured out such counters to the AI or ways to add defenses to housing. Without such features videos like
this would have never been made most likely.
Are you saying that players who have learned to counter these fighter AIs would see this feature as meaningless? Why? It's not like these players will have no need for these techniques anymore. You will still encounter just as many fighting AIs around the world; you would just have the option of not having them on the roofs or arenas. If you miss walking enemies on any of these areas, just place a dirt wall behind a block somewhere, and the checker will ensure that walking mobs will spawn there as usual, or just remove the wall, and the surface line will be reevaluated (perhaps not immediately).
The defensive possibilities would be even greater so that Khaios' video would be even longer and with more tricks! All the tricks he showed will still be very relevant. What trick that Khaios brought up wouldn't still be relevant?
You also still yet to explain this "surface line"
What more explanation is needed beyond the definition provided in the implementation guidelines with the four steps given in the post? This is the definition that we have to use when talking about the surface line, so that we don't get confused and all refer to the same thing.
It's perfectly fine for people in this thread to theory craft a way for this to work but from what I've read it just doesn't seem like there is any/enough thought put into this. Even if you spend ages to add to it you'll also have everyone who isn't on the forums or hasn't seen this thread who can further push this idea and potentially break it. Just because someone in this thread can't give a good reason to break it doesn't mean that someone who does play the game and reads the code can't. There are a lot of people who enjoy reading the source code and finding what they can exploit in this game, especially bugs.
Well, you are helping by adding thoughts into this right now, and I can assure you that we have thought hard about the implementation guidelines. But of course, it still needs refinement, and any additional aspects are greatly appreciated. As I've said before:
If anyone can find a naturally generated surface or player-built structure that this current implementation guideline does not address satisfactorily, your assistance will be invaluable in helping us refine the details of these tools we have laid out!
This feature is meant to be utilized so that players can enjoy not having walking enemies everywhere. It is designed so that you can alter your world and build places where no walking enemy can reach.
However, I don't see how this would "break" the game. If you wanted to prevent walking enemies from spawning on the surface of the world, you would have to ensure that the checker never reaches the surface. This would be equivalent to building an artificial surface without any of the walls defined in the second step and with no way for the checker to reach any part of it.
In other words, I don't see how you could use this to your advantage other than preventing roofs, arenas, and bases from being filled with walking enemies. There would be no realistic way to use this feature to ensure that no walking enemies spawn on the surface, for example. Building an entire artificial surface wouldn't be an overpowered strategy, especially not when compared to simple lava-filled holes.