Transferring script changes between places

My game has a major issue: its a space game. the map is huge. and by the nature of the game, its not huge ENOUGH to warrant separate places per star system, but at some point you cant fit more star systems without the null zone being too annoying, and we have reached that point.

However, the other problem the community wants more star systems.

So, How do we fix that? perhaps another place? well, this is where the technical issues come in. keeping the separate place up to date. What method of keeping the game up to date might work best? Bug fixes should be able transfer between places easily, but the map should be able to be different, some scripts are only required in one map, some not.

I have considered multiple possible ways to get past this issue:

  1. Manually transferring changes
  2. Package Links
  3. Making a plugin to copy paste specific scripts

The most plausible sounding one seems to be package links, however, I have not looked into them much, but they have the problem that you have to upload them to roblox, and well wouldn’t that be subject to moderation? It doesn’t sound like a problem on its own, the scripts are not malicious in any way, but I have had false flags in the past and all appeals denied when uploading scripts/module scripts to transfer to other games, and since then I have used rbxm files, but well, that circles back to manual and thats just tedious

Any well known methods to get over this problem?

Note : this is NOT a round based game, and when you join the main game, you should be guaranteed to be in the regular map (milky way galaxy), and joining friends shouldn’t be hard.

one more thing

While writing this, I thought of a way to fix this issue, I can just check which map is in use and make the scripts behave as expected.

You basically sort of invent modding in a way.
Build a base system that is meant to work across all places and have a variable that determines what kind of place it loads scripts according to it that communicate with base scripts (share function calls in some public modulescript or use my tutorial if you want to add community-made content: Modding in your expirience! (And game script communication))
Combine that with package links to ensure all places have the base script, and it should work.

You could also do it the more hacky way and implement it all in one place as well and insert scripts through InsertService or MainModule (MainModule is for game scripts only).

2 Likes

Were you publicly distributing these models? It’d be unbelievably stupid if they got moderated while private.

Packages are great for what you’re trying to do. But, if they also get moderated, you can instead try studio’s script sync.

the models were not public, roblox just deleted it and rejected my appeal. it was a script to spawn asteroids in an asteroid belt. using the default sphere part, didnt know how to model at the time.

Why do you correlate the space distances to the built-in coordinate distances? Since your game is a space game small distances(especially at situations like lets say driving a spaceship) don’t matter at all. This means that you can downscale the distances. For example one light year can equate to just 100 actual studs, and because speed is a relative thing you can maintain the illusion of moving fast by making the relative speeds fast and with a bit of visual effects.

You can also chose to have two coordinate systems for your game, one for when you’re on lets say a spaceship, and one for when the player is walking(for example on a planet).

In general I think that your game logic is really easy to compress(given that most of space consists of nothing and moving 1 meter in space is like not moving at all) and all this isn’t needed.

Downscaling distances will also help your game benefits from features such as streaming data to the player to reduce lag(only loading nearby planets and stars). For stars that are far away you can have a custom UI-based approach of a “tiny dot” so you don’t have to actually render something that is far from them and they can’t see well.

the game has unanchored parts and the planets are at most around 1500 studs big, thats why

What stops you from making the spaceship smaller so the planets relative to it seem bigger? I feel that everything is about perspective here, kinda like simulator games.

i really just want to transfer script changes between places, not make more room in the same place, that would hurt client and server performance a lot. (i dont have streaming set up right now.)