Somebody613
Deity
- Joined
- Nov 18, 2019
- Messages
- 2,781
Since this topic is still coming up on and off all the time, here's what I came up as a THEORETICAL suggestion for it (may or may not sound stupid, sorry).
So, the major downside of making it a "real time switch between mono-maps" is MEMORY limitations.
And that means you should AVOID loading more than one map at a time, no question there.
So, I thought, how do we SYNCHRONIZE multiple maps without loading all of them at the same time?
Well - with Map Scripting (or is it Python, whatever)!
Given how WorldBuilder SAVE files ("scenarios") are literally *text* files (and thus are super easy to EDIT) - all we need, is a way to automatically SAVE your End Turn maps separately as "scenarios" and then LOAD them whenever you "move" to them.
Sure, game pacing would be QUITE SLOW (with big maps) - but this is unavoidable already due to the game's AGE itself (and hence limited MEMORY size used).
Basically, all you need is a rather simple (lol) Automatic Save Editor that would trace your map's changes in turn-real-time and keep your "planet map saves" up to date (pun intended).
And then you need to automate Load Game for those planets (because doing it manually would SUCK) - and voila, you have literal Multi-Maps that you can play on each in any order and do there the same things you can do on Earth (which would simply be ONE OF THEM to begin with).
Oh, and a Move To Planet MENU, of course, being accessible both from the Planet View (aka "normal game screen") or the Galaxy Overview (kinda sub-Main Menu of the current player).
For fun, you could even implement two Timeline Modes: Simultaneous (synchronized moves) and Separate.
The latter simply means playing on several planets as separate games - not exactly Multi-Maps, but more like just Space Maps.
The former, though, would be an actual Multi-Map and require an additional Python (or whatever) to synchronize the DATES between several SAVES (as in, not letting you proceed on any planet until you End Turn on ALL of them, loool; this should be reflected in the Galaxy Overview Advisor as well, since it'd suck to load a dozen of your planet maps merely in order to hunt the unfinished one).
Yes, it sounds ambitious as Quack - but I believe in your skills, TEAM C2C!
Any comments are welcome, lol.
EDIT:
Just realized that you'd still need to SAVE normally as well due to in-city stuff and so on, which isn't as easy to edit.
But I guess this simply means you'd need to Automate Save and Load anyways, thus the major invention should be an Automatic Turn Saver/Loader, so to speak.
In fact, if you go for separate-planets-as-saves, ALL you'd need is basically an automatic (and synchronizing) mechanism of Saving/Loading normal save files.
Just put all Current Galaxy saves into their own separate save folder to avoid any mix-up - and make each planet's End Turn state visible in the Galaxy Overview Advisor (accessible from ANYWHERE, be it On-Planet view or Current Galaxy view).
Sounds really much easier than achieving simultaneous map loading - even if this WILL SLOW DOWN the game play immensely (but like I said, this is unavoidable anyways).
Pheeew, lol.
So, any comments?
MORE EDIT:
And as of Space Travel, under this system it becomes quite easy.
All you need is to remove "spaceships" from where they "take off", and then place ("land") them on "another planet SCENARIO (here is where their *text* structure comes in super handy for removing and placing units easily)".
A much harder task would be to implement "space travel time skip", but you could just avoid it by inventing "traveling inactivity" to apply on ships (either "while taking off" on start, or "while landing" on finish, or even split that in two; OR add a "traveling in space" MICRO-map that would have a "space" plot that would "host" the "flying" spaceships for a given number of turns before putting them to their destination planet map's Space Port, not dissimilar to how your Heroes-to-Generals get "revived" while being "inactive" for a number of turns, but make it off-main-game-screen for a more realistic effect).
And yes, it DOES sound a bit COMPLEX, sorry.
Hint:
Yup, I *love* Spore, loool!
So, the major downside of making it a "real time switch between mono-maps" is MEMORY limitations.
And that means you should AVOID loading more than one map at a time, no question there.
So, I thought, how do we SYNCHRONIZE multiple maps without loading all of them at the same time?
Well - with Map Scripting (or is it Python, whatever)!
Given how WorldBuilder SAVE files ("scenarios") are literally *text* files (and thus are super easy to EDIT) - all we need, is a way to automatically SAVE your End Turn maps separately as "scenarios" and then LOAD them whenever you "move" to them.
Sure, game pacing would be QUITE SLOW (with big maps) - but this is unavoidable already due to the game's AGE itself (and hence limited MEMORY size used).
Basically, all you need is a rather simple (lol) Automatic Save Editor that would trace your map's changes in turn-real-time and keep your "planet map saves" up to date (pun intended).
And then you need to automate Load Game for those planets (because doing it manually would SUCK) - and voila, you have literal Multi-Maps that you can play on each in any order and do there the same things you can do on Earth (which would simply be ONE OF THEM to begin with).
Oh, and a Move To Planet MENU, of course, being accessible both from the Planet View (aka "normal game screen") or the Galaxy Overview (kinda sub-Main Menu of the current player).
For fun, you could even implement two Timeline Modes: Simultaneous (synchronized moves) and Separate.
The latter simply means playing on several planets as separate games - not exactly Multi-Maps, but more like just Space Maps.
The former, though, would be an actual Multi-Map and require an additional Python (or whatever) to synchronize the DATES between several SAVES (as in, not letting you proceed on any planet until you End Turn on ALL of them, loool; this should be reflected in the Galaxy Overview Advisor as well, since it'd suck to load a dozen of your planet maps merely in order to hunt the unfinished one).
Yes, it sounds ambitious as Quack - but I believe in your skills, TEAM C2C!
Any comments are welcome, lol.
EDIT:
Just realized that you'd still need to SAVE normally as well due to in-city stuff and so on, which isn't as easy to edit.
But I guess this simply means you'd need to Automate Save and Load anyways, thus the major invention should be an Automatic Turn Saver/Loader, so to speak.
In fact, if you go for separate-planets-as-saves, ALL you'd need is basically an automatic (and synchronizing) mechanism of Saving/Loading normal save files.
Just put all Current Galaxy saves into their own separate save folder to avoid any mix-up - and make each planet's End Turn state visible in the Galaxy Overview Advisor (accessible from ANYWHERE, be it On-Planet view or Current Galaxy view).
Sounds really much easier than achieving simultaneous map loading - even if this WILL SLOW DOWN the game play immensely (but like I said, this is unavoidable anyways).
Pheeew, lol.
So, any comments?
MORE EDIT:
And as of Space Travel, under this system it becomes quite easy.
All you need is to remove "spaceships" from where they "take off", and then place ("land") them on "another planet SCENARIO (here is where their *text* structure comes in super handy for removing and placing units easily)".
A much harder task would be to implement "space travel time skip", but you could just avoid it by inventing "traveling inactivity" to apply on ships (either "while taking off" on start, or "while landing" on finish, or even split that in two; OR add a "traveling in space" MICRO-map that would have a "space" plot that would "host" the "flying" spaceships for a given number of turns before putting them to their destination planet map's Space Port, not dissimilar to how your Heroes-to-Generals get "revived" while being "inactive" for a number of turns, but make it off-main-game-screen for a more realistic effect).
And yes, it DOES sound a bit COMPLEX, sorry.
Hint:
Yup, I *love* Spore, loool!
Last edited: