Welcome
Ladies and Gents:

These forums are now closed and registration disabled.

Please join us at our new forum on Proboards. Our hope is that these new forums are more stable, provide more and better features, and allow continuation of the project forums in a safer, more secure, long term environment.

me3explorer.proboards.com

--The ME3Explorer Team

WV | Plot Database

Development board for ME3Explorer tools. Please try to keep discussions for each tool inside its own thread.

Re: QUESTION: Plot bool/int/float db for ME1/2/3

Postby WarrantyVoider » 16 Apr 2013, 18:59

thats awesome work, thanks alot! I will move this to download area, but I guess its incomplete, so we now can add upon your base db and keep on posting it here :D

screenie for others...
Image

greetz WV
always backup your files!
mess with the best or die like the rest!
"I tried everything!" - "mkay, please list that..." ; please dont pm me for help, we have a help section
User avatar
WarrantyVoider
Emeritus
 
Posts: 2270
Joined: 22 Aug 2012, 11:33
Has thanked: 480 time
Have thanks: 626 time

Plot Database

Postby giftfish » 29 Mar 2016, 19:55

I'm putting together a default PlotDB.db for the toolset, but am waffling on the best way to handle a certain situation.

The tool right now has 3 tabs: ME1, ME2, and ME3. Fine. Makes sense. However, BioWare, in their infinite wisdom, apparently decided after importing a game from ME1 into ME2, ME2 would zero-out all ME1 plots and reuse them. I think. At least, as far as I can tell. Kinko mentioned something about this once and I didn't quite understand, but after looking at the source plot file for ME2 Modified Gibbed, I sort of... see what's going on.

What seems to be the case is the following, using the choice of Anderson as councilor in ME1:

--ME1 Bool = 5435
--ME2's import bool for ME1 decision = 1556
--ME3 import bool for ME1 decision = 15435

To make it even more confusing...

--In ME3 GIbbed, all 3 bools =T
--In ME2 Modified Gibbed, 1556=T ONLY in the ME2 Raw Plot Table, and 5435 is False in both the ME1 and ME2 Raw Plot Tables.

This pattern makes it incredibly difficult to know if you've identified the correct bool. It seems like some ME1 bools have been overwritten, others haven't, and good luck telling the difference. I'd like to strangle whoever thought this was a good idea :evil:

So, the question then becomes: what's the best way to organize the fact that ME1 plots have 3 different bools/ints. Do I put ME1 bools in every single tab? The "real" ME1 bools in the ME1 tab, and then the ME2/ME3 "versions" of the same bools in their respective tabs? That's a lot of duplicate entries >.<

@Kinkojiro -- if I'm not understanding this all correctly, please let me know. It's confusing as hell.

@SirCxyrtyx -- Is this lunacy something we could maybe account for when we redo the GUI for this tool? Maybe we could put all info on the same tab "trilogy plots" and have a game column for ME1/2/3? Then somehow make it possible to assign additional bools that are game-specific, or have a "Notes" column... or something?
User avatar
giftfish
Toolset Developer
 
Posts: 1247
Joined: 08 Jan 2016, 02:35
Has thanked: 129 time
Have thanks: 75 time

Re: Plot Database

Postby SirCxyrtyx » 29 Mar 2016, 21:46

giftfish wrote:The "real" ME1 bools in the ME1 tab, and then the ME2/ME3 "versions" of the same bools in their respective tabs? That's a lot of duplicate entries >.<


That sounds like the best idea. Each tab having the bools that are relevant to making mods for that game.

giftfish wrote:@SirCxyrtyx -- Is this lunacy something we could maybe account for when we redo the GUI for this tool? Maybe we could put all info on the same tab "trilogy plots" and have a game column for ME1/2/3? Then somehow make it possible to assign additional bools that are game-specific, or have a "Notes" column... or something?


Those all sound like solid suggestions to me.
User avatar
SirCxyrtyx
Toolset Lead
 
Posts: 345
Joined: 16 Apr 2014, 00:20
Has thanked: 28 time
Have thanks: 288 time

Re: Plot Database

Postby giftfish » 29 Mar 2016, 22:14

SirCxyrtyx wrote:
giftfish wrote:The "real" ME1 bools in the ME1 tab, and then the ME2/ME3 "versions" of the same bools in their respective tabs? That's a lot of duplicate entries >.<


That sounds like the best idea. Each tab having the bools that are relevant to making mods for that game.

giftfish wrote:@SirCxyrtyx -- Is this lunacy something we could maybe account for when we redo the GUI for this tool? Maybe we could put all info on the same tab "trilogy plots" and have a game column for ME1/2/3? Then somehow make it possible to assign additional bools that are game-specific, or have a "Notes" column... or something?


Those all sound like solid suggestions to me.

I kind of like my second idea more. The first one is of course straightforward, but the second goes along with the new GUI concept, the new toolset name, and the new focus on the trilogy as a collective whole. Plus, it avoids having to repeat plots for ME1 3 times, which, now that we actually are getting some decent modding tools, that could end up being a lot of plots. I likely have over 500-1000 plots sitting around for ME3. Maybe more. I can't imagine having to repeat 1000+ plots for ME1 in all 3 tabs.

Another added bonus is that merging them into the same area would allow the user to search all plots for all games at once, rather than confining them to different tabs.

----------

Okay. Well, unless we actually want to change the GUI before the stable (likely not), then that means I need to modify the list of ME1 plots I have right now to give them the "real" ME1 bool and not ME3's version of the bool.

/grumble
User avatar
giftfish
Toolset Developer
 
Posts: 1247
Joined: 08 Jan 2016, 02:35
Has thanked: 129 time
Have thanks: 75 time

Re: Plot Database

Postby The Fob » 29 Mar 2016, 23:01

Just a quick question on the example: Wasn't there a problem with the decision on who is councilor at the end of ME1? IIRC, the ME1 import save for ME2 was created before the player makes that decision, so the bool is not yet set in this save. This is why Miranda asks you who you chose during the shuttle ride after the ME2 prologue. Who is councilor in ME2 is actually set in this conversation because they didn't have the ME1 bool in the save. If I remember this right, the councilor decision should be a special case in any event.

I can tell you that I used a couple of ME1 bools for the MEHEM emails and they worked fine in all my tests (e.g. the variable about whether Sha'ira gave you the trinket or not, I got this variable from some ME1 variable database on some obscure corner of the internet). But I may have just gotten lucky.
User avatar
The Fob
Modder
 
Posts: 702
Joined: 08 Oct 2012, 04:37
Has thanked: 242 time
Have thanks: 212 time

Re: Plot Database

Postby giftfish » 29 Mar 2016, 23:17

@Fob -- I'm actually getting this stuff (in part) from the ME2 Modified Gibbed Editor source code. Specifically, the plot document, which is just a xml file.

There are actually two totally different sections for ME1 plots (which you can see in the tool GUI, also). There's "ME1 Plot Table, Legacy", which has the actual ME1 bools, and then "ME1 Imported Plot Table", which has the bools set in ME2 for ME1.

The ME1 Plot Project and the commonly referenced pastebin out there, contains the ME3 bools for ME1, as far as I can tell. Basically, any 5-digit number (16930) is an ME3 plot, as plots never reached 5 digits until ME3. This is likely why your bools for the emails worked :)
User avatar
giftfish
Toolset Developer
 
Posts: 1247
Joined: 08 Jan 2016, 02:35
Has thanked: 129 time
Have thanks: 75 time

Re: Plot Database

Postby Kinkojiro » 30 Mar 2016, 14:01

How it works is like this:

ME1 post DLC has plot bools 0-7650

ME2 imported some bools selectively from ME1 into its own table and kept a copy of the ME1 plot table separately. Its own bools were in 0-7650.

ME3 imports the ME2 bools 0-7650 then adds the ME1 table at 10000-17650. Its own bools are above 17650.

Gibbed save editors are not 100% accurate when they say this bool signals that - from memory I have found a couple of times they are wrong. I wouldn't take it as gospel. I think he took sequenced checkstates and the notations. We all known from looking at sequencing things sometimes are stated or programmed incorrectly.
User avatar
Kinkojiro
Modder
 
Posts: 578
Joined: 02 Dec 2013, 04:14
Has thanked: 233 time
Have thanks: 249 time

Re: Plot Database

Postby giftfish » 30 Mar 2016, 14:41

@Kinko -- Thanks for clarifying. I'm slightly confused about your usage of "ME1 post-DLC", but I think what your saying is that ME1 and ME2 _in their own games_ use bools/ints 0-7650. Yes?

So far I haven't taken much (maybe any) from gibbed -- yet. And, like I said this is also the ME2 Modified Gibbed editor. Someone else went in and fixed some things. Mostly, I was using it to help me figure out what was going on with ME1.

I've been using info in the game INIs/BINs, pastebins of bools HJF4 tracked down and recorded a while back, the ME3 Plot Project, the trilogy pastebin above, and then just scratching the surface with a few of my own bools/ints so far. The Plot Project contains a LOT of coalesced stuff, and the trilogy pastebin is entirely a coalesced reference if I remember correctly. In a majority of cases these are bools/ints that are well known. I check it against some of my saves if I'm unfamiliar with it, and I'm not copying everything, of course. Since the purpose of the tool is not to edit saves but to assist with mod-building, certain things just don't seem useful (e.g., Thane is in "appearance 1"). If someone else wants to add them later, then... meh, fine -- as long as the information is correct. Nothing wrong with being thorough.

@Sir -- Something I talked to about on Git is it would be really nice to be able to have a master document anyone could edit. I'm sure there are quite a few modders out there that have long lists of plots that could be added. The problem is that it's a .db file made to only be editable in the tool.

Maybe we could change the file type when we re-do the GUI? I'd really like something with entry fields you can tab through; it would make entering new plots so much faster. Maybe something that looks like a spreadsheet almost and has individual columns that are each capable of sorting. I copy and paste as much as I can right now, but the formatting still makes it difficult. If we did change it to be tabable, would we be able to import/export as a CSV, maybe? A CSV is something that I could (maybe?) set up a Google Doc for and then give specific folks editing permission. I actually don't know if Google will allow import/export of CSV for it's spreadsheets, but I'd think so. Then it would be easy for you or K to just download the most recent version and toss it into the toolset prior to pushing a new rev :D
User avatar
giftfish
Toolset Developer
 
Posts: 1247
Joined: 08 Jan 2016, 02:35
Has thanked: 129 time
Have thanks: 75 time

Re: Plot Database

Postby FemShep » 30 Mar 2016, 19:48

This is a format for XML or even json. It would be pretty easy to write a tool that you could tab through, hell with a json format you could write a web version in JavaScript since json is literally JavaScript object notation. It'd be pretty easy. I could do it, I have plenty of web dev experience. The issue though would be that I don't think you can post a file to git in any form other than a commit.

C# has pretty good XML support (limited json, but versionswitcher read json from github to find updates) and its not a complex format AFAIK so the toolset end of things wouldn't be much work either
Image
ME3Tweaks has modding guides, tools, forums for mods, a modding wiki, and ModMaker, an online mod creation tool.
ME3 Mod Manager, the civilized way of installing and managing ME3 mods.
ME3Tweaks Facebook Page
User avatar
FemShep
Modder
 
Posts: 1101
Joined: 18 Oct 2012, 20:48
Has thanked: 42 time
Have thanks: 76 time

Re: Plot Database

Postby giftfish » 31 Mar 2016, 20:17

Alright, so FemShep has done some work on this long-neglected tool. It's looking much better, but some decisions need to be made about layout.

First, some quick info on context and scope.

1. The existing format of plot information in the database is very reminiscent of the Gibbed Save Editor. I suspect WV might have used the code from it, so it's this sort of thing in a single line:

[Kaidan] Hostile at the Cerberus Corpse on Mars

There's nothing wrong with this, but it actually conveys a lot of information. It's worth considering if there's a better way to organize it, as the use is no longer for editing saves, but as a research and modding aid for content modders. We want the information to be easy to enter/locate and highly-navigable.

Here's how it could read instead (with column contents defined by hashes):

Priority: Mars - Conversation - Kaidan - Hostile at Cerberus Corpse


This would ensure the entry would appear under Priority: Mars in the tool, which essentially helps the modder know what game files to look in.


2. The intent is to include a default database with the tool; currently, there is none so all players have to start from scratch. In addition, the tool can now export/import CSV format. That means I can upload a copy of the default plot file to Google Docs and give folks permission to edit. I could open it to anyone, but I'd like to minimize error.

Therefore, the intent would be to give experienced modders interested in contributing, permission to edit the document. It would be awesome for us to be able to share information on all the plots we've tracked down while modding. Then, K/Sir/Heff can download the most recent version and pop it into the toolset before releasing each new rev :D


Okay, all that said, here's an example of what things look like in the tool right now. I've added a variety of bools and ints:

Image

What I want to focus on is the Category/States columns, but before I do that, I want to point out a couple of things:

  • "Broken" -- As we know, certain plots in the games don't get set properly, and then can't be imported into the next game. Two great examples are Jacob's father's fate in ME2, and Liara's rekindle status in LoTSB. The checkmark for "Broken" is to indicate a broken plot. When checking the box, additional information about the problem can be put into "Notes".
  • ME1 > ME2 ID, ME2 > ME3 ID -- These are specifically to deal with the adjustment ME2 makes to ME1 plots upon import. Obviously, this means only ME1 plots will have these columns filled in. It'll be very nice to have these all referenced on the same line.

On to the Category/State columns. These are the bread and butter of the tool. The challenge is that a huge variety of information can be added to these columns. I've tried to show some of that variety in the content I've added to the test file above.

The basic question is: how many more columns do we add?

Too many means some might not ever get used. Too few and you're having to cram too much information into the same column, which then impacts sortability and navigation. In addition, unless there's some type of order as to what can be put in the columns, it will be easy for sorting to become problematic. For example, having mission names in two different columns.

I've already asked FemShep to implement one more column, "Category 2", and to change "State" to "State/Value". That way, an integer value range can be placed in the column, as well.

I've been continuing to brainstorm about this, and I think a solution is forming in my mind. I think every entry needs an actual category, and then we drill down from there. Here's a slew of them I came up with in the last 30s:

Code: Select all
Achievement, Mission, Pet, Relationship, Conversation, GAW, Player, Bonus Power, Armor, DLC, Upgrade, Galaxy Map, Email


So, each entry gets assigned one of those. Then in the next column we start to get more specific:

Code: Select all
Paramour, Priority:Tuchanka, Space Hamster, Romance, Ashley, Hanar & Drell, Alignment, Reave, Project Overlord, Advanced Mineral Scanner, Eagle Nebula, Thane


At this point, it starts to get more complicated, additional categories won't always be necessary (but probably will). If not, it might be time to move onto the State/Value column. I'll keep going with the same example ("X" = n/a):

Code: Select all
X, Mordin, Acquired, Thane, Poetry Book Given, Medigel upgrade, Paragon, X, Played, Activated, Amun, Huerta invite


And, we keep going:

Code: Select all
X, Cured genophage, X, Active, X, X, Current Value, X, X, X, Unlocked, 0-2


I think folks are probaly getting the idea. This would be a total of 4 columns: 3 categories and 1 State/Value. An entry would require using Category 1 and the State/Value, but that's it use of anything else would be optional. I mean that in the sense not that the tool will force you, but that would be the minimum amount of information you'd want.

Anyone seeing a better way to do this? 3 columns of categories? 4? 2?

As a final aside, of course everyone is allowed to format their own database to their liking (assuming they use the tool at all). But, if the folks interested in using the tool can agree on some basic ways to do things, it's less work for each individual.
User avatar
giftfish
Toolset Developer
 
Posts: 1247
Joined: 08 Jan 2016, 02:35
Has thanked: 129 time
Have thanks: 75 time

PreviousNext

Return to ME3Explorer Toolset Development

Who is online

Users browsing this forum: No registered users and 1 guest

suspicion-preferred