Blockland Forums > General Discussion
Why does no one use the creeper gamemode anymore?
Conan:
Haven't used creeper recently, but it isn't hard to test. I don't think anything new in BL would break just the lateral movement; if it did the normal movement or vertical movement would be broken as well.
Just speculation from a person very inexperienced with torque script; it just makes sense to me considering how coding goes
Mr. Wallet:
Easy to test, but you underestimate my powers of laziness. :cookieMonster:
The special thing about lateral growth on walls is that it's the only situation where the brick creation is definitely 100% not legal for a player planting a ghost brick, because it's "floating". Badspot changes how brick groups work every other patch so it's not a stretch to think he might have tweaked brick planting in a way that would break my force-plant method.
Mr. Wallet:
Someone PMd me about the possibility of raising the speed that creeper grows, and it's a popular enough topic that I figured I would make my response an open one so everyone can get a little perspective on why the limit is there. Specifically, it suggested:
--- Quote ---This could work by looking at average tick speed (use a 1-ms schedule loop and see how much the getSimTime() deviates from 1 MS per call) as well as clients (make sure clients aren't at a getPing() of 2361) to determine how much faster or slower the server needs to be to get the optimal speed.
--- End quote ---
In short, Torquescript is not set up to accommodate this kind of mod. I've done a lot of "cheating" to make it run as well as it does, but some boundaries just didn't seem worth trying to skirt around.
Having an accurate clock mechanism based on torquescript is one of the hardest things I've ever pulled off (for Rise of Blockland, and that was every 6 minutes and didn't need to be millisecond-perfect). Not only is the engine very inaccurate about schedules, but it tends to throttle their rate to around 35Hz even when it's running at nominal sim speed; the max speed on creeper is set to 50Hz to make sure that it's absolutely going to go as fast as it can. The normal speed on creeper is set to faster than Blockland will theoretically allow.
The only way I can think of to exceed the current speed on creeper is to either increase its growth per tick to beyond 1x1x1 bricks, which is Not Fun (I tried it), or to split the growth into multiple schedule threads. Given that creeper already had to be optimized to hell and back in its growth methods just to hit the basic schedule cap, it didn't seem worth my time to try and do this. First, it would be an enormous amount of work. Not only would I need to keep track of the multiple threads and make them start up and shut down together, I would need to make sure their player-hunting behavior and valid growth searches were working together so that I wouldn't be recalculating stuff needlessly. It would be extremely bug-prone and I would have no way to test it because I do not have the hypothetically-fast-enough computer in question. Finally, and this is the kicker, I'd be doing all this for like, 2% of users. 5% of hosts, tops. I've gotten a faster computer since I made creeper and this one isn't fast enough. There's no way I'm going to do all that work, bug-prone with no way to properly test it, for almost nobody to use.
This is a case of people wishing for something that is technologically infeasible. This is related to fluid simulation problems, which are also notoriously difficult for computers (most video games don't have realistic fluids that can pour and splash, in case you didn't notice - the ones that do tend to do nothing else, because every precious bit of CPU is being used on the fluid). It's really a matter of cheating out as many calculations as you can get away with before the whole thing stops doing what you were going for entirely.
Conan:
Oh, that makes sense. Well, it's already fast enough as it is already; just some people don't realize that the growth is in multiple directions, not just one. When focused down to laser guided or related accuracy, it's pretty darn fast, but doesn't spread laterally
Mr. Wallet:
I'll try to remember to look into that.
The player-hunting behavior was actually one of the tricks I used to get around the growth speed issue. If I could just make it grow really really fast that would never have been added.