CC: Tweaked

CC: Tweaked

42M Downloads

Rebalancing Ender Modems

SquidDev opened this issue · 70 comments

commented

TLDR: Ender modems are OP.

CC 1.6 introduced the repeat program, which allows rednet to relay messages between computers. The intent here was to allow more long-distance wireless communication through the use of repeater stations. However, 18 months later CC introduced ender modems, which allow for infinite range communication, making both wired modems and the repeat system obsolete.

Nowadays there's very little reason to craft a normal wireless modem, aside from very early game. This has several side effects:

  • One can build a single GPS tower at spawn and cater to the whole server.
  • Wireless networking is entirely trivialised, as everyone (well, every turtle) gets a wireless modem.

This has undoubtedly made things easier and more accessible, and so I don't think there's any harm leaving things as is. However, modded Minecraft (tech mods especially) is basically a big infrastructure management game. It makes me sad that CC trivialised one of its hardest problems, and it would be nice to rebalance things.

I think I'd propose the following changes:

  • Remove ender modem turtle and pocket computer upgrades. Ender Modems can now only be used as in-world peripherals. We might want to remodel and rename them so they more obviously distinct from the wireless modem1.

  • Ender modems now only have infinite range when talking to other ender modems. When talking to wireless modems, they use the distance of the wireless modem instead. We might want to adjust the max distances of wireless modems to account for this.

Basically what I'm trying to encourage is having to think about (and build) infrastructure around your turtle setups. You can't just plonk down a few turtles and set your mining swarm loose. You need to place down an ender modem to communicate with them over a long distance, need to make sure they stay within range of the repeater station. Maybe you need a GPS tower too?

I don't know, maybe this is just adding complexity for the sake of it2. I'm very wary that what I'm suggesting here is making things actively harder for the player, maybe it's just too late to change things. Thoughts?

Footnotes

  1. While the BitNet Communication Tower is not the aesthetic I'm going for, I do really like the concept and mechanics - definitely an inspiration here.

  2. And I'm very aware that CC (CC:T especially) has far more OP features. Looking at you item transfer.

commented

Nowadays there's very little reason to craft a normal wireless modem, aside from very early game.

Isn't that the case for non-advanced items too? I don't think there is a reason to craft them in any modpack aside from very early game. This makes me wonder if nerfing modems is the right choice.

commented

Alternatively, make ender modem turtle and pocket computer upgrades creative-only. This way, world compatibility is preserved and modpacks can add recipes for these if they want the unbalanced lifestyle.

Yeah, that's a fair point. CC's upgrade system isn't really data-driven enough to enable that right now, but probably should look into changing that too. Would mean we can replace/supplement the CraftTweaker integration with something more vanilla-esque.

Either way, it's surprising to see "ComputerCraft" and "rebalancing" in the same sentence. While I like the idea, one has to ask themselves if every Minecraft mod has to be perfectly balanced.

Oh, this isn't the start of a nerfing spree or anything. I'm well aware that CC has plenty of other unbalanced features, I just think in most cases they add something to the mod1. Ender modems do add something, but also undermine a whole bunch of other features, and that irks me.

Footnotes

  1. As mentioned in the OP, item transfer is super broken but unlocks so much it's Worth It. Turtles too, though probably less so in today's modded landscape.

commented

I think the plan would be to make this change in a major Minecraft version (so 1.18 or 1.19). Most people don't tend to upgrade worlds between versions, and those that do expect some level of breakage. I suppose we could convert all ender modem upgrades to normal ones in this case, though would rather avoid it.

commented

I do agree that this should happen, would also add some extra challenges to write code for. Only concern I have is world compatibility. Big servers have a ton of ender modems and that should be accounted for when rebalancing this.

commented

Alternatively, make ender modem turtle and pocket computer upgrades creative-only. This way, world compatibility is preserved and modpacks can add recipes for these if they want the unbalanced lifestyle.

Either way, it's surprising to see "ComputerCraft" and "rebalancing" in the same sentence. While I like the idea, one has to ask themselves if every Minecraft mod has to be perfectly balanced.

commented

That could work, world compatibility is preserved, but ender modem upgrades can be used whenever you need to, either enabled by the server owner, or you.

commented

Continuing this slightly off-topic discussion of not crafting non-advanced items in the late game, I rarely craft advanced versions of things. I don't use monitors (advanced or not) and a lot of my programs don't have fancy UI systems that need mouse support or colours. I make for ender modems for my GPS and repeater setup and that's it for advanced items I believe.

It might be that I'm bad at collecting resources, or that some people are used to more than ore doubling, or maybe I just like being resource-efficient. That said, before I stopped playing my 1.16.5 world I was overflowing with gold.

commented

People have been talking on discord about adding resource consumption for ender modems (one even suggested being able to change the number of resources consumed to increase the range of the ender modem - if the range of the modems changes).

This idea gave me an idea of making ender modems water-cooled, CC can already move items and fluids, and turtles can collect water from the world. So using just CC one could feed the new modem buckets of water, and if another mod adds a tank that can empty buckets then CC can use that to move fluid water into the new modem.

commented

Of course, this can all be bypassed with websockets, but who would do that?

I feel that if the way the rebalancing is implemented isn't fun to do then everyone will eventually get tired and defer to using some websocket server hosted by someone else.

commented

Personally, I think that any changes should be reversible via config, because I personally love how ender modems are. I do agree that they should only have infinite range when talking to other ender modems, the infinite range for even normal modems is a bit weird to me.

The turtle/pocket limitations should definitely be put into the config so that players/servers like myself can enable them for turtle/pocket computers. For me, the only peripheral I ever put on pockets is an ender modem, because that's what I think is the only suitable peripheral for them, without communication they basically become useless.

Of course, this can all be bypassed with websockets, but who would do that? (I think this would be a fun project to get around these limitations, provided you have a server capable of hosting a websocket bridge thing.)

commented

Water is infinite so I would just have the modem void the appropriate amount when it sends a message.

The appropriate amount decided by the range, which could be changed via a function on the peripheral.

commented

Then what? Add a condenser block that turns steam into water and create a closed cooling loop? Condenser has to be placed in water maybe... that actually sounds like a fun addition.

commented

Isn't that the case for non-advanced items too?

Yes, though I feel maybe less seriously? I very rarely craft advanced turtles for instance, can get away with normal ones.

[Websockets]

I'm choosing to ignore websockets as I think by using them instead of rednet you're already making a conscious decision to sidestep CC's mechanics. GPS aside, there's very little reason why you wouldn't use them already - they're better than modems in every way!

[Water cooling]

I really don't want to add any new mechanics here, just tweak existing ones. Same goes for energy costs, which I know were mentioned elsewhere.

commented

More suggestions from discord:

  • default range of the ender modem is the same as a normal modem and doesn't consume water, extra distance does consume water.
  • no water in the nether, modem setups in the nether may be too difficult
  • separate long-range modems from cross-dimensional modems
  • cross-dimension messages need ender pearls to transmit
    • if we don't have a specialised cross-dim modem then a function to set this behaviour would be nice, not all messages need to go cross-dim and not eating all the pearls would be nice
commented

which I know were mentioned elsewhere.

discord, it's what gave me the idea of water cooling

commented

Another mechanic idea, what if ender modems need to be in the same plane for long-distance messages? This would mean that they would need to share 2 of either their x, y, z positions.

commented

I like the original idea of only allowing infinite distance if both modems are ender modems. It means there is a reason to update to ender modems everywhere, or you can save on resources by setting up relay towers near large areas of modems.

For the idea of disallowing it on turtles, I feel the best approach is splitting the turtle peripheral custom recipe into a recipe for each peripheral. It is relatively trivial with how crafting table recipes are set up to define custom serializers for recipes, so a format of ingredient -> peripheral would allow easily changing or disabling individual peripheral recipes. I have a lot of experience with custom recipe serializers if you want some pointers on this idea. What this would mean is you could either disable or enable turtle ender modems by default, then make a datapack for the other behavior.


Another mechanic idea, what if ender modems need to be in the same plane for long-distance messages? This would mean that they would need to share 2 of either their x, y, z positions.

This is an interesting idea, though worth asking, are you still expecting ender modems to only work with ender modems? Or is this just for mismatching modems?

commented

Personally, I understand problem, but I don't like suggested solution.

Both solution will lead us to just setup additional computer to be a relay from infinite network to finite once for turtles. Pocket computers will be just smashed away, they are not very useful now and with this changes they can only serve like limited remotes, which is not so cool, as infinite remotes.

If we need a to add network complexity, maybe, we should rework network somehow and force players to run satellites to serve like infinite network and make them to collapse time by time? But I guess, this is really will be another mod

commented

I'm starting to really like the infinite plane idea, it's still quite easy to set up a repeater network for server-wide comms but means that one GPS array can't cover the whole server anymore. Yes, setting up that repeater network might be a bit more difficult and expensive, but that's arguably the goal of this change.

@KnightMiner
If I was implementing this then I would have it that longer than normal modem range would require a shared plane. My intent would be to make it a CC like narrow beamed communication method. These ender modems would essentially have a normal modem built into them as well.

As for if a normal modem would be able to receive those long-ranged beamed messages, I'd defer to the community opinion on that, in my mind the CC way would be to allow them to receive those messages, but with how I have in my head of those beamed messages working, I feel like they should be incompatible.

@SirEdvin
If your remote control program uses rednet then you can use the repeat program to extend its range. So I don't think pocket computers will become any less useful than they already aren't. Also, the idea of satellites collapsing doesn't sound very CC like.

commented

@Lupus590 how does repeat program extend its range? I mean, if we speaking about mp server, when you can't have chunk loaded every 64-128 blocks

commented

Both solution will lead us to just setup additional computer to be a relay from infinite network to finite once for turtles. Pocket computers will be just smashed away, they are not very useful now and with this changes they can only serve like limited remotes, which is not so cool, as infinite remotes.

Why does this change negatively affect pocket computers? Just put an ender modem on your pocket computer (if that is not supported yet, might be worth supporting). In my mind, the proposed change only actually nerfs a type of computer if you disallow ender modems on turtles. Otherwise you have all functionality that existed before as long as you use ender modems everywhere. Makes their increased cost mean more.

commented

In the very first post, one of the proposed changes is removing ender modems from pocket computers.

Remove ender modem turtle and pocket computer upgrades.

commented

[Planar modems]

I really don't want to add any new mechanics here, just tweak existing ones. Not that I think they're bad suggestions, just don't think suitable for this change.

[Pocket computers]

This is true, and not something I'd really considered - was mostly thinking about turtles here. Obviously one can draw real-life parallels here - my phone doesn't work in the middle of nowhere - but that's not really been much of a concern within CC.

I guess I'm kinda hoping that #861 balances things out here - pocket computers become more useful in some ways and less useful in others? Hehe, no clue.

commented

I think I'd propose the following changes:

* Remove ender modem turtle and pocket computer upgrades. Ender Modems can now only be used as in-world peripherals. We might want to remodel and rename them so they more obviously distinct from the wireless modem[1](#user-content-fn-1-1e8b5b2a5c5d9882b48dae62fd07a04e).

* Ender modems now only have infinite range when talking to other ender modems. When talking to wireless modems, they use the distance of the wireless modem instead. We might want to adjust the max distances of wireless modems to account for this.

I thought about this over the weekend and in my opinion this might just be best solution?
For rebrand/rename i would propose "Ender Ansible" to differentiate it from normal modems and explain why they communicate on separate network.

In fact I propose going for 2 extra limitations to flesh it out.

  1. Ansibles speak only to Ansibles and Modems speak only to Modems. Removing ability to cross talk would make it more clean break between two systems. (After all they are different technologies)
  2. Replace "Eye of Ender" in recipe of Ender Ansible with "End Crystal" (Might even be part of new model if its not too cursed to implement. It would fit ansible theme.) This slightly increases the price of making one and requires a bit more work then just slaughtering the end and some blazes while not making the cost be too much..

Additionally i do agree that increasing the ranges of normal modems would make this changes seem more fair. (Changing the range math is already a must with upcoming world height change anyways.)

All of this would mean that everyone base/common existing spot will have either Ansible <-> Modem relay or GPS Satellite with that functionality. Basically making it so if someone wants to be able to use pocket everywhere they go they have to either use infrastructure someone else made (be it using build in repeater program or custom ones) or build their own if they don't trust them.

On side note for backwards compatibility ender modems should stay ingame but be rendered uncraftable and have their functionality be limited to normal modem.. This would make sure someone can bring world over to next version (and back) and not have to replace all the modems they have ever placed (or have on turtles/pockets). Kinda backwards compatibility?

commented
2. Replace "Eye of Ender" in recipe of Ender Ansible with "End Crystal" (Might even be part of new model if its not too cursed to implement. It would fit ansible theme.) This slightly increases the price of making one and requires a bit more work then just slaughtering the end and some blazes while not making the cost be too much.

On some servers the nether is semi broken, ghasts don't spawn, maybe a way to make ender modems or "Ansibles" with different recipes, changeable in config. Would be easy enough to manage in a sever environment i think.

commented

On some servers the nether is semi broken, ghasts don't spawn

Sounds like a problem with the server. I don't think mods should be balanced around "some" servers being broken.

maybe a way to make ender modems or "Ansibles" with different recipes, changeable in config. Would be easy enough to manage in a sever environment i think.

Isn't that what datapacks are for?

commented

Isn't that what datapacks are for?

AFAIK datapacks don't exist on 1.12.2

commented

Nvm wojbie just told me this change was for 1.17.1 onwards so that point doesn't stand

commented

I don't think directly mapping locations really makes sense. Aside from the nether, where you'd definitely expect them to apply nether scaling, there's also dimensions where you can't access all locations (e.g. compact machines), and so you need infinite distance.

commented

Personally, I would want ender modems to have a limited range identical to regular wireless (maybe a bit larger), but they can go across dimensions. This means an ender modem at 100,100 in the overworld could talk to one at 100,100 in the nether, but not to one at 100,1000 in the overworld. (Not applying nether scaling since many dimensions don't have it.

commented

With compact machines, one could just match the location in the overworld, or possibly add a modem which can be linked to 1 other modem wirelessly, rather than an infinite amount.

commented

"math the location in the overworld"?

commented

"math the location in the overworld"?

You know, life, the universe, everything == 42 it's basically addition. 😛

commented

I still definitely think that all of this should be behind a config, or even just a datapack to bring back old ender modems
I love how the current ender modems are, for obvious reasons, and I'd really hate for them to change.

commented

"math the location in the overworld"?

*Match

commented

As someone working off-and-on with an adventure map featuring remote-controlled turtles, the first change gives me concern. I do understand that my use-case is pretty rare, and that the repeat function is pretty useless right now... so I am of the camp that if you do change ender modems, you should also add a creative-only "infinite modem", which literally just acts like the current ender ones, and can still be given to turtles/pocket comps. The change to make ender modems only high range if talking to other ender modems though? 100% support.

commented

Another mechanic idea, what if ender modems need to be in the same plane for long-distance messages? This would mean that they would need to share 2 of either their x, y, z positions.

This would mean that you'd need occasional gps towers (since they can't be on the same plane), but could get away with a 384 block tall tower at spawn and have each computer on repeat. Thats only ~3000 gold ingots (~3000 iron, ~400 redstone, ~400 ender eyes), which is relatively easy to get with the nether gold and turtles.

commented

With compact machines, one could just match the location in the overworld, or possibly add a modem which can be linked to 1 other modem wirelessly, rather than an infinite amount.

I'd appreciate modems that can be permanently linked to one another, but I'd use it for using pocket computers as a remote control. If this is something @SquidDev would be interested in I can draft up a feature request for it.

commented

Another possibility would be using the communication range of the normal wireless modem during normal<->ender modem communication.

As a separate suggestion, in order to allow GPS to continue working, ender modems could be allowed to "overcharge" themselves for a single transmission. The transmission would have to be limited in size (number or <=32 byte string?) and would start a (~5 second? ~10 second? ~30 second?) cool down before the modem could be used again, but would bypass ender modem nerfs. This would incentivize local GPS relative to global GPS, but allow global GPS to still work in a limited fashion.

commented

I am very much in favor of adding a config for making Ender Modems only talk with other Ender Modems. It would make it very easy to balance them on a per server basis, especially if recipes can be modified with data packs. Making it a config will let the players make the choice of keeping it as it was or to use the change.

Since Wireless Modems have a longer range the higher up they are it would allow for some variable distance and additional difficulty in setup of relays that can cover an area. Although I don't even know how practical it would be with the current implementation of the variable range since I never had a reason to use it due to Ender Modems.

One could even have an area that is covered by a bunch of Wireless Modems and a central server that has both an Ender Modem and a Wireless Modem to talk between areas when there is a vast distance/different dimensions.

The GPS script could also probably be changed so that it would work more like how satellites work with only needing a connection to the closest three and outside the area it would need an Ender Modem to work. Although this would probably lead to Ender Modems being spammed whenever GPS is needed, but I suppose that if the server owner wants to avoid Ender Modem spam then they could change the recipe themselves.

Making it an opt-in option would also solve compatibility since it would have to be up to the server owner whether to change it or not.

commented

I like @Wojbie idea of Ender Modems (or Ender Ansibles) having their own network/frequency and being more expensive, and I think one could also make them unavailable for turtles (so you have to create a local wireless modem system), but pocket computers should have it available as an option.
For example, I might want it to tell me what's happening at my home while I'm away/exploring/etc, and one can't really bring computers and modems to have a relay every few blocks.

commented

While I understand the concern as to how OP ender modems currently are, I'm sure if it was pushed straight into default it would break a lot of programs, worlds, and servers.

If it is going to eventually be added, I hope it will be behind a config. E.g. "enable_limited_ender_modems" or something.

Or, if it for sure will be pushed into default, at least give us the ability to switch back to how it was in the config. Much like how the turtle fueling can be turned off by setting "need_fuel" to false in config.

commented

That might not interact well with modded "portals" like ExU deep dark ones and compact machines (I don't know if these are relevant after 1.12, but I'm sure there are similar things).

commented

You don't have to remove ender modem functionality, just make it very difficult to use them: you can for example require a multiblock (or something else, if that doesn't fit in with the mod's style) to use the ender modem, and also require nether star in crafting recipe, or consume fuel to send data.

Also, wired modems are not at all obsolete. They must be used to access peripherals, and they also allow players to create hidden networks (e.g. in a secret base), unlike the wireless and ender modem, which can easily be located.

commented

Perhaps it would be cool to make ender modems work like OC linked cards - you make them in pairs and each pair can communicate only with the other one. This would incentivize development of actual routing systems. The existing ender modems could remain as a creative item.

Anything running on consumables would be really impractical without extra mods, and adding nether stars just seems boring.

commented

It seems weird though, that turtles require fuel to operate, and computers don't. Maybe at least the ender modem should require some fuel (or even RF, but that seems unlikely)

commented

Multidimensionally wise, we could have wireless messaging go through portals, so the distance to a modem to another dimension would be the sum of the distances from both modems to their nearest (linked) portals. Though if you were to allow signals to enter more multiple portals (overworld -> nether -> overworld) for example, you could have your signal extended due to the (1:8) nether ratio.

commented

Another mechanic idea, what if ender modems need to be in the same plane for long-distance messages? This would mean that they would need to share 2 of either their x, y, z positions.

But then one could make a 'Great Wall of Ender Modems' to bypass this, but they will need to gather the resources in
survival.

For modpacks, if an energy mod is installed (many use simple Forge Energy), then computers and peripherals (and Ender Modems? )could consume energy. This would mean in modpacks a player can't just get a computer in the first night, as they need to power it. Also the amount of energy that is consumed should be able to be changed in the config, like the Turtle's fuel.

Also, because we have dyeable Turtles can we have dyeable Network Cables, which different colours won't join. This may make people want to use Network Cables as they can run them in parallel in tighter spaces.

commented

I believe there should be a "Linked modem" of some sort similar to Linked Card from OpenComputers that is crafted in pairs and each one only communicates with it's pair.

commented

@powerboat9 Why would spoofing the location help? That is just a sidegrade from the current modem, can just grab enough modems, place them centrally and repeat commands, infinite range in theory

commented

I'd propose a larger range, and mapping the ender modem to be in the end and nether. In the end just a direct map and in the nether a 8x map. In case of the modem being placed in the nether just scale the map 8x down for the other dimensions

commented

@Lupus590 Yup, SquidDev has talked about how this should be a tweak.

I really don't want to add any new mechanics here, just tweak existing ones. Same goes for energy costs, which I know were mentioned elsewhere.

commented

@kristibektashi @osmarks I'm wondering how linked modems rebalance the ender modems in general, considering they would be a seperate block, they might replace ender modems but that would create issues with existing servers: Where would you link the replaced modems. In case of a seperate recipe, how would you compensate for the price difference

For modpacks, if an energy mod is installed (many use simple Forge Energy), then computers and peripherals (and Ender Modems? )could consume energy.

As far as I know CC has been a standalone mod for ages, I don't think this is a good solution, @promitheas-nikou is on the right track though, although its not perfect, fuel can be produced in mass very easily with CC, a seperate fuel item also doesn't seem great though

I think multiblock structures would be out of place as well.

Removing the ender modem from turtles and pocket computers is an option, but on a turtle you could make the ender modem pull from the turtle's fuel, decreasing complexity.

Moving the ender modem to a config option or the creative menu seems like a good idea in general, transition for servers would be less harsh that way

I've heard some people say this shouldn't be rebalanced because websockets exist, and I don't really agree with that. Websockets require real life hardware that costs real life money, thus shouldn't really be compared with ender modems

commented

'm wondering how linked modems rebalance the ender modems in general, considering they would be a seperate block

They will allow to archive same result as current ender modem, but will require a bit of setup to connect to distance networks.

commented

[Removing ender modems] would create issues with existing servers
@EmmaKnijn

This kind of change is very likely to be done over an MC major version change and be marked as not allowing clean forward compatibility, which I believe is the norm for MC mods (to have breaking changes lining up with big MC updates). I doubt that SquidDev would put this in a regular release without warning.

commented

@powerboat9 Why would spoofing the location help? That is just a sidegrade from the current modem, can just grab enough modems, place them centrally and repeat commands, infinite range in theory

You can always get practically infinite range by placing enough modems. Location spoofing would add a directional element to long range ender modem usage, incentivizing the creation of more complex repeater networks for long distance communication (one ender modem for settlement 1 <-> 2, one for 1 <-> 3, one with a custom program to track the player and their pocket computer, one to handle settlement 1 <-> blaze farm, etc.).

commented

Maybe give ender modems only ~16 times the range of a normal modem, but allow them to spoof their location? An ender modem at (0, 64, 0) in the overworld could be reconfigured to act as if it was at (5000, 64, 5000) in the nether for the purposes of range/distance calculation. You'd have to use some offset based off the modem's position and rotation.

commented

Configurable locations are an interesting intermediate point between linked modems and the current anywhere-to-anywhere thing.

commented

Would 1.20 be a good update to do this on?

commented

Would 1.20 be a good update to do this on?

Probably, its a nice round number.

commented

One can build a single GPS tower at spawn and cater to the whole server.

One of the major blockers I've had here is what to do about GPS. I don't feel great about how trivial GPS is right now, but having access to GPS everywhere is incredibly useful, especially for pocket computers.

The design in the OP makes ender modems (or ansibles, following Wojbie's suggestion) a one-way long-range modem, which means that GPS would no longer work from normal wireless modems (as the initial PING would never be received). However, I was discussing this elsewhere, and it occurred to me that we could still allow for server-wide GPS if GPS hosts broadcasted a position packet periodically (every second or so). This way normal wireless modems will still receive the position packet and so will be able to trilaterate, just with higher latency.

Obviously we can't actually enforce how often the position packet is broadcast (you could write a program to do it every tick). Which is a bit of a shame - it would give you a nice tradeoff of local GPS (immediate) vs server wide (some delay, and thus less accurate) - but I don't think there's any way we can practically limit the number of modem messages if someone really wants to send them.

commented

Maybe ender modems don't have a distance return value at all and thus can't be used for GPS.

commented

Distances at long ranges could have added noise (scaling with distance), but this would break a lot of things and require smarter numerical algorithms in GPS.

commented

Distances at long ranges could have added noise (scaling with distance), but this would break a lot of things and require smarter numerical algorithms in GPS.

That would incentivize modem spam in order to average out the noise, unless the noise could be made systematic.

commented

Could modems have a distance beyond which messages to/from them don't come with distance information? It would prevent GPS from working at longer ranges, but keep long range message transmission.

commented

I just thought of a couple things, including adding latency, adding packet loss (both depending on range from an ender modem) along with decreasing overall range.
You could also change the throughput of modem messages scaling with distance.
While offering upgrades with something like nether stars increasing one parameter a bit per nether star.
This is more akin to a real life cellular network and is reasonably easily balanced by changing base stats and upgrade amounts.

commented

I would be warry of any solution which just requires the player to add more ender modems to compensate. A lot of people download programs, so such a thing would just lead to more ticking block entities for the same result.

commented

You could design against modem spam by doing things like limiting transmissions in an area by channel or group of channels and making distance errors systematic and variable by location, but at some point you would just be reinventing real-world radio and it could get annoying.

commented

Ender modems being able to spoof their location would work well with a smaller distance measurement range, especially if time/energy is required to retarget ender modems. You could still set up a GPS for your pocket computer (location spoofing with small changes in location over time), but multiple GPS towers would be incentivized.

commented

On second thought, GPS which dynamically retargets a pocket computer as described above would require knowledge of the pocket computer's current location, requiring some form of GPS access to begin with