FreeSpace is, at its heart, a mission-driven space simulator. It doesn't do sandbox or loot out of the box;
FreeSpace is, at its heart, a mission-driven space simulator.
Well, Goober once made a prototype RPG-style tech-demo, and now Axem is expanding on it with scripts and stuff. Who knows, maybe we'll see the day in which missions can be more procedural and less cinematic (can't say there won't be a place for cinematic missions, but only as "special events"). Since scripts are also being developed for capship AI and commanding, maybe in a few years it'll be possible to build a Freelancer-like RPG on FS engine.
Using the shipsave script to save basic ship info is something completely different than saving say... Bits for every conversation had with that ship in any mission/location... Or possibly trade options based on environment, achievements, and who knows what else. I think this is the kind of cross mission stuff BW is saying could fly way out of control.
It would take document after document to even remember which bit stored what info and for which character.If you tried storing all data with SEXPs using persistent variables, sure. That's why we have LUA. It would just amount to more of the same data the checkpoint scripts are already storing, just in a different format and recalled differently.
Yeah.. I still think you are minimizing the amount of stuff it could turn into.
Now start thinking of character histories and saving all of that data. I'm not talking about just basic ship info.. things that could affect dialog, story outcomes, or items acquired. So like, character interactions from damaged by, where, and when... to like what conversations have been had in what order. Current and past locations.. Upgrade history, etc.
And it's not just that all of this can be stored in a variable. Big whoop, we know it can be done. The point is keeping track of it all. Doing a full on sandbox with string and int variables would be a ludicrous amount of work with the way FSO is currently constrained to saving data and passing it between missions. It would take document after document to even remember which bit stored what info and for which character. Not to mention the SEXPing required to even do something with all of that info in any and every mission that's part of the "campaign".
I mean, we aren't talking about variable tracking for some BP dialog tree. We are talking about tracking full on sandbox data for any number of systems, planets, nodes, characters, upgrades, ships, and whatever else needs to be packed into a space sandbox to make it interesting. It's not that it can't be done. It's that trying to use any form of FSO variable-SEXP system to make a sandbox is like trying to build a real house out of Legos. I'm sure someone could do it, but it would be a stupid amount of work.. and Legos just weren't ever meant for that.
Scripting would definitely be the only way to do this sort of thing. Despite what Battuta says about the possibility, the practicality of storing all the sandbox data in mission vars is essentially zero.
It's not that it can't be done. It's that trying to use any form of FSO variable-SEXP system to make a sandbox is like trying to build a real house out of Legos. I'm sure someone could do it, but it would be a stupid amount of work.. and Legos just weren't ever meant for that.
There is a user-friendly interface, though. We have the promptbox script. We already have BP missions where the player can say 'I'll jump here, OR I'll jump there, or I'll just go home' by clicking on a menu.The prompt box isn't really user-friendly if you want to select from a large number of options, though... like, say, the number of valid jump targets in a system.
Well soon you'll have another user-friendly interface. It all depends on how the FREDder wants to display or give his choices.
Also how does JAD2.2 tie into sandbox open world stuff? I don't recall doing that. :P
Wait, I thought branching in FSO is technically very easy; just a conditional switch for mission progression.
I prototyped a system for tracking several dozen persistent characters and their ships across the course of a campaign. (Remember, I am not trying to equate this to some bizarre FSGTA open world!) Data storage, again, wasn't the bottleneck. It was content generation.
Wait, I thought branching in FSO is technically very easy; just a conditional switch for mission progression.
Yep, I agree. Although I think it is worth pointing out that most sandbox style games actually have very little persistence - the systems that populate and govern the play areas are homeostatic, and they tend to erase the results of player action over time.Because if you don't prune noncritical data from time to time you end up with a bigger world/savefile than the game itself. I've heard of Minecraft servers running into the hundreds of gigs. And of course, throwing around that much data is great for introducing errors.