Author Topic: Sandbox, loot and trading?  (Read 9535 times)

0 Members and 1 Guest are viewing this topic.

Offline AdmiralRalwood

  • 211
  • The Cthulhu programmer himself!
    • Skype
    • Steam
    • Twitter
Re: Sandbox, loot and trading?
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.
Ph'nglui mglw'nafh Codethulhu GitHub wgah'nagl fhtagn.

schrödinbug (noun) - a bug that manifests itself in running software after a programmer notices that the code should never have worked in the first place.

When you gaze long into BMPMAN, BMPMAN also gazes into you.

"I am one of the best FREDders on Earth" -General Battuta

<Aesaar> literary criticism is vladimir putin

<MageKing17> "There's probably a reason the code is the way it is" is a very dangerous line of thought. :P
<MageKing17> Because the "reason" often turns out to be "nobody noticed it was wrong".
(the very next day)
<MageKing17> this ****ing code did it to me again
<MageKing17> "That doesn't really make sense to me, but I'll assume it was being done for a reason."
<MageKing17> **** ME
<MageKing17> THE REASON IS PEOPLE ARE STUPID
<MageKing17> ESPECIALLY ME

<MageKing17> God damn, I do not understand how this is breaking.
<MageKing17> Everything points to "this should work fine", and yet it's clearly not working.
<MjnMixael> 2 hours later... "God damn, how did this ever work at all?!"
(...)
<MageKing17> so
<MageKing17> more than two hours
<MageKing17> but once again we have reached the inevitable conclusion
<MageKing17> How did this code ever work in the first place!?

<@The_E> Welcome to OpenGL, where standards compliance is optional, and error reporting inconsistent

<MageKing17> It was all working perfectly until I actually tried it on an actual mission.

<IronWorks> I am useful for FSO stuff again. This is a red-letter day!
* z64555 erases "Thursday" and rewrites it in red ink

<MageKing17> TIL the entire homing code is held up by shoestrings and duct tape, basically.

 

Offline Black Wolf

  • Twisted Infinities
  • 212
  • Hey! You! Get off-a my cloud!
    • Visit the TI homepage!
Re: Sandbox, loot and trading?
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.

To do this right, it's be necessary to punt a whole lot of data - player, environmental and npc, plus probably a lot more - into external files that can be recalled between missions, and edited within them. Even then you're talking about vast amounts of sexping, but it 'd be possible. Ish.

I doubt the engine could ever be freelancer or space-skyrim, but you could do a decent job of an RPG backend on a restricted mission set. Maybe have the player as a merc who chooses his jobs while working out some kind of meta plot, or something like that. A more advanced Bem Cavalgar, basically.
TWISTED INFINITIES · SECTORGAME· FRONTLINES
Rarely Updated P3D.
Burn the heretic who killed F2S! Burn him, burn him!!- GalEmp

  

Offline General Battuta

  • Poe's Law In Action
  • 214
  • i wonder when my postcount will exceed my iq
Re: Sandbox, loot and trading?
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.

I've spent a long time working on these systems. Believe me, I'm not missing anything. Was the snide shot at BP dialog trees really necessary?

I've been saying the whole time here that the problem is the content generation. Aren't we in agreement on that point? It could be done, but it's a ton of work?

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.

Having actually done it (something I think few people here can claim), it's nowhere near zero! Depending on what you want to do it can be quite ideal. I had a lot more trouble building the actual consequences of the data than I did storing and recalling complex data.

In your rush to declare everything impossible you guys are losing the nuance. We have the tools to tackle a modest range of the problems involved here, particularly with regards to data storage; boresighting in on data storage as the problem is short-sighed. The issue is generating content that uses that data meaningfully.

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.

 

Offline General Battuta

  • Poe's Law In Action
  • 214
  • i wonder when my postcount will exceed my iq
Re: Sandbox, loot and trading?
Axem, Spoon and I have spent a ton of time probing around the edges of what FRED can do in these respects. We have a really good understanding of the challenges here.

I feel like I need to restate this again to make sure it gets through:

The data storage available within FRED alone is pretty adequate for a wide range of persistence tasks.

Generating content that uses that data meaningfully is much harder, unless you are very clever about bottlenecking your phase space.

Even with all of the above said, FreeSpace is not very good at this, and it's kind of a pain in the ass.

Please remember that my day job involves working on persistence and investment systems in a triple-A engine at a major studio. Believe me when I say that in some respects FRED is way ahead of what most designers have access to.

 

Offline karajorma

  • King Louie - Jungle VIP
  • Administrator
  • 214
    • Karajorma's Freespace FAQ
Re: Sandbox, loot and trading?
This thread reminds me that I really should go back and finish off my SEXP container classes code. Being able to persist those would make this much more doable.
Karajorma's Freespace FAQ. It's almost like asking me yourself.

[ Diaspora ] - [ Seeds Of Rebellion ] - [ Mind Games ]

 

Offline Rheyah

  • 28
  • Will release something one day. Promise.
Re: Sandbox, loot and trading?
This is just my opinion and may have been previously discussed but I'll post it anyway.  Sandboxes are notoriously meaningless in terms of their content.  A lot of their storytelling is done by context, visual stimuli or by previously scripted tendencies built into the world itself.  So if you're at a station, the station has an X% chance to be in a pre or post attacked state, has an X% chance to receive a convoy, a Y% chance to be attacked during that time and so on.  Lots of pre-scripted content is already built in with ships having normal messages for conversation - a lot of that is loaded into the conversation generator based on mod type rather than implicit to the mission itself.  You COULD reproduce this if you designed a mission generator with a conversation system built in, but it would be a royal pain.

As an example, if you click on a guard in Skyrim, you get one of about 4 or 5 possible responses plus context sensitive dialogue.  Freespace could have that capability, but it would feel extremely dry by comparison to the current richness of content we have in missions.  I mean, most of this isn't impossible.

You could even generate a sandbox analogue without too much trouble simply based off producing mission files randomized off a grid, selected via the new script Axem produced.  Take a 5 by 5 grid which represents individual valid jumps in a system (something a number of mods such as Blue Planet and a few others have canonised) and then produce a number grid where 0 is an empty space and 1-10 are different mission and content types.  You then overlay a number of other elements to determine the various states of each possible content type and then produce scaffolds which then allow you to implement various randomised content states - pirate stations, civilian stations etc.

It'd be a pain to do, but it'd be doable.  Your problem comes in giving those situations meaning and making them internally consistant.  Example:

Stations tend to be in orbit of planets.  Thus a number of your nodes are going to be around planets.  You then need to tell the mission generator where the various positions of stellar bodies are, unless you want every single mission to have the planet in exactly the same position.

Then you need to event generate.  This is going to be close to impossible to make events of the standard we are used to in Freespace.  Again, you can use variables to store when events have occured and where - the overhead could be handled externally without too much trouble, but why would you want to?

Isn't it better to have a properly crafted, lovingly created world with some sandbox elements built in rather than a sandbox mess where content has no meaning?

 

Offline Dragon

  • Citation needed
  • 212
  • The sky is the limit.
Re: Sandbox, loot and trading?
I believe it would all take proper execution to make a fun, enjoyable RPG with pre-scripted "quests" and some randomly generated ones. Remember, cinematic action doesn't generally take place on a daily basis. As such, the game could still have pre-scripted missions, and in fact would depend on them to advance the plot. Quite a few games (such as X3) make the "sandbox" part the main feature, but a lot of others (including Skyrim) depend mainly on scripted events happening in a sandbox environment.

I think that a good first step would be a tech demo consisting of a small, persistent with a bunch of procedurally-generated civilian traffic. Say, a single system, with a few planets and asteroid stations. Planets could even be landable, though the accessible area would be pretty small (as usual with this kind of games). With a bare-bones trade system (probably done almost entirely in LUA), you could have a basically playable demo, and a framework that you could build quests upon. Once taken up, a "quest" would take over the procedural engine and would be FREDed pretty much like a normal mission. I believe that FS engine could be used to make a sandbox game at least on the level of X:BTF (the very first X).

 

Offline Rheyah

  • 28
  • Will release something one day. Promise.
Re: Sandbox, loot and trading?
I would argue that a Freespace RPG of sorts could easily take a form much closer to say the main campaign of Warcraft 3 and Starcraft 2 than say, Skyrim.  We have an advantage over conventional RPG scripting in that our scripting is unbelievably explicit and built into the engine itself.  When you look at the Skyrim approach it is so incredibly botched despite modding being quite heavily built into the engine.  We redesign weapons and systems with the greatest of ease here.  Procedural generation in this game could even be taken out of the game engine itself and purely into scripting because of the ease with which we can modify landscapes.

That said, I personally am much more interested in the type of RPG I mentioned above.  A very strongly scripted, branching experience where the player has control of strategy and approach to accomplish set goals and thus develop character.

 

Offline General Battuta

  • Poe's Law In Action
  • 214
  • i wonder when my postcount will exceed my iq
Re: Sandbox, loot and trading?
I think what Rheyah's talking about is realistic and worth doing, and what Dragon's talking about is not.

 

Offline Goober5000

  • HLP Loremaster
  • 214
    • Goober5000 Productions
Re: Sandbox, loot and trading?
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.

Someone actually did this. :)
http://www.topgear.com/uk/photos/james-may-lego


 

Offline AdmiralRalwood

  • 211
  • The Cthulhu programmer himself!
    • Skype
    • Steam
    • Twitter
Re: Sandbox, loot and trading?
I think the odds that we'll see someone interested in tackling a project like this rise dramatically once Axem's script comes out and people can select a jump target in a fairly user-friendly fashion. I do think that anyone who thinks they'll get a full-blown open world, Skyrim-style, is dreaming; that just seems like it wouldn't be worth the amount of effort in this engine. On the flip side, we have some interesting examples of individual missions with sandbox-like elements (thinking of some Tenebra missions, obviously), and it would be interesting to see if that concept could be applied to a slightly larger scale.

For example, suppose the player is ordered to find a way to deal with a Corvette escorting a Destroyer so that allied forces can take out the Destroyer. In a "current-generation" sanbox-esque mission, you might find the player having options like inserting a virus into some key component of the Corvette, or using hit-and-run tactics to strip off its turrets so it's no longer a threat, or maybe
Spoiler:
hacking a Mjolnir to destroy it for you ;)

Suppose, though, that the mission gave you a fully-functioning jumpdrive and a destination selection menu along the lines of Axem's script, and your options multiplied accordingly. The player gains the ability to, say, jump to a nearby system and attack a civilian convoy to force the Corvette to jump in to assist. If the player doesn't hit them hard enough, the convoy doesn't think you're enough of a threat to call for backup; if you hit them too hard, they don't have time to call for help (or the Corvette assumes they'll all be destroyed by the time they could get there anyway, for sufficiently ruthless commanders). Alternatively, the player jumps to the local refueling depot and blows up some fuel storage tanks, causing the Corvette to be sent to secure their fuel supply. Alternatively, the player jumps to a nearby jump node and starts attacking shipping as it comes through, only they miscalculated the response generated and the Corvette brings along its Destroyer to grind the player into dust bunnies.

My point is, some really crazy mission design is possible. Technically, I suppose it's possible right now, there just wouldn't be user-friendly interfaces for it yet.
Ph'nglui mglw'nafh Codethulhu GitHub wgah'nagl fhtagn.

schrödinbug (noun) - a bug that manifests itself in running software after a programmer notices that the code should never have worked in the first place.

When you gaze long into BMPMAN, BMPMAN also gazes into you.

"I am one of the best FREDders on Earth" -General Battuta

<Aesaar> literary criticism is vladimir putin

<MageKing17> "There's probably a reason the code is the way it is" is a very dangerous line of thought. :P
<MageKing17> Because the "reason" often turns out to be "nobody noticed it was wrong".
(the very next day)
<MageKing17> this ****ing code did it to me again
<MageKing17> "That doesn't really make sense to me, but I'll assume it was being done for a reason."
<MageKing17> **** ME
<MageKing17> THE REASON IS PEOPLE ARE STUPID
<MageKing17> ESPECIALLY ME

<MageKing17> God damn, I do not understand how this is breaking.
<MageKing17> Everything points to "this should work fine", and yet it's clearly not working.
<MjnMixael> 2 hours later... "God damn, how did this ever work at all?!"
(...)
<MageKing17> so
<MageKing17> more than two hours
<MageKing17> but once again we have reached the inevitable conclusion
<MageKing17> How did this code ever work in the first place!?

<@The_E> Welcome to OpenGL, where standards compliance is optional, and error reporting inconsistent

<MageKing17> It was all working perfectly until I actually tried it on an actual mission.

<IronWorks> I am useful for FSO stuff again. This is a red-letter day!
* z64555 erases "Thursday" and rewrites it in red ink

<MageKing17> TIL the entire homing code is held up by shoestrings and duct tape, basically.

 

Offline General Battuta

  • Poe's Law In Action
  • 214
  • i wonder when my postcount will exceed my iq
Re: Sandbox, loot and trading?
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.

 

Offline General Battuta

  • Poe's Law In Action
  • 214
  • i wonder when my postcount will exceed my iq
Re: Sandbox, loot and trading?
Also, everybody should be required to play JAD 2.22 before posting in this thread

 

Offline Axem

  • 211
Re: Sandbox, loot and trading?
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

 

Offline AdmiralRalwood

  • 211
  • The Cthulhu programmer himself!
    • Skype
    • Steam
    • Twitter
Re: Sandbox, loot and trading?
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.

...Also, any of those missions before Act 4? Because I'm not remembering that...
Ph'nglui mglw'nafh Codethulhu GitHub wgah'nagl fhtagn.

schrödinbug (noun) - a bug that manifests itself in running software after a programmer notices that the code should never have worked in the first place.

When you gaze long into BMPMAN, BMPMAN also gazes into you.

"I am one of the best FREDders on Earth" -General Battuta

<Aesaar> literary criticism is vladimir putin

<MageKing17> "There's probably a reason the code is the way it is" is a very dangerous line of thought. :P
<MageKing17> Because the "reason" often turns out to be "nobody noticed it was wrong".
(the very next day)
<MageKing17> this ****ing code did it to me again
<MageKing17> "That doesn't really make sense to me, but I'll assume it was being done for a reason."
<MageKing17> **** ME
<MageKing17> THE REASON IS PEOPLE ARE STUPID
<MageKing17> ESPECIALLY ME

<MageKing17> God damn, I do not understand how this is breaking.
<MageKing17> Everything points to "this should work fine", and yet it's clearly not working.
<MjnMixael> 2 hours later... "God damn, how did this ever work at all?!"
(...)
<MageKing17> so
<MageKing17> more than two hours
<MageKing17> but once again we have reached the inevitable conclusion
<MageKing17> How did this code ever work in the first place!?

<@The_E> Welcome to OpenGL, where standards compliance is optional, and error reporting inconsistent

<MageKing17> It was all working perfectly until I actually tried it on an actual mission.

<IronWorks> I am useful for FSO stuff again. This is a red-letter day!
* z64555 erases "Thursday" and rewrites it in red ink

<MageKing17> TIL the entire homing code is held up by shoestrings and duct tape, basically.

 

Offline General Battuta

  • Poe's Law In Action
  • 214
  • i wonder when my postcount will exceed my iq
Re: Sandbox, loot and trading?
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

Are we still talking about sandbox open world stuff, or about jumping between locations? I've made it clear from the beginning I think a sandbox open world is a bad idea in a lot of ways.

 

Offline Axem

  • 211
Re: Sandbox, loot and trading?
I guess I just don't know what you're expecting people to find related to the topic in JAD2.2. I'm flattered that you're urging people to play it, but it doesn't have either sandbox open worldish things or jumping to other locations. :p Or is it just a "your imagination is the limit" sort of thing?

 

Offline General Battuta

  • Poe's Law In Action
  • 214
  • i wonder when my postcount will exceed my iq
Re: Sandbox, loot and trading?
It uses a hub-and-spoke mission system that is absolutely connected to the topics discussed in this thread, in a broad design sense.

 
Re: Sandbox, loot and trading?
Technically, that's JAD:XA, not JAD 2.22.

 

Offline General Battuta

  • Poe's Law In Action
  • 214
  • i wonder when my postcount will exceed my iq
Re: Sandbox, loot and trading?
JAD needs better branding.