Jump to content

XCOM Modding: Need of a centralized source of information?


anUser

Recommended Posts

Well *I've* always known all of you XCOM 'code divers' were masochists at heart. As a recovering computer addict, I recognized the symptoms. ;D (Relapsed last night and only got 4 hours of sleep.)

The templates are for your benefit, so anything you think should be 'standard' ... it's easier to ignore something than come up with it. Have at it.

You've been very productive in new areas lately. I hope you can spare some time to write some subject articles about what you discovered on the way to the published mods. I'm reluctant to try to craft one out of what gets posted in threads here. There are always things the investigator went through that don't make it into the thread. In particular the XGUnit.BuildAbilities function, which seems on it's way to becoming central to a number of efforts, needs documenting.

I saw your suggestion in the 'NativeTables for UE Explorer' thread. I'll get to it either while I'm reorganizing or immediately after. [Edit: Added.] But we need an article on NativeTables that explains what they are and how they are used. Hopefully twinj will consider that.

We have a number of investigatory threads going that all deserve articles. Recall: sharing and preserving the lessons learned was the original motivation for the Modding Wiki. There is a lot of sharing going on via the threads. We just need a bit more preserving. (And yes, I do recall how much coders hate documenting as well. :sick: )

-Dubious-

Edited by dubiousintent
Link to comment
Share on other sites

  • Replies 121
  • Created
  • Last Reply

Top Posters In This Topic

I think I owe an apology here because I've talked much about the wiki and lately I've been doing some research and haven't posted any of the results... I'm always about to finish some mod or tweak when I get into another one... I bet you know that feeling too. Anyway now that the wiki is up and the sections are in order I'll start posting some of my research and some code and tweaks I've gathered all this time.

 

btw I've found navigation a bit complicated, there are categories that appear at different levels, such as this Game Files & Modding that I haven't yet figured out what's for. I personaly prefear strict hierarchical structures with three or four big main categories and the rest hanging from them in tree, this way when diving in unkown sections of the wiki you know what to expect.

 

That XGUnit.BuildAbilities function entry was an example I suggested as a template for function entries, to keep separated actual code (what) from procedural explanations (how). I think I referenced it in "Abilities modding subject" but I understand some explanation of what the function does is due in the same function page. Is that what you mean?

Link to comment
Share on other sites

@ anUser -- I'm a bad one to comment on the usability of the wiki. I tend to be good at figuring stuff out, so any system will work. In fact, I seem to have a preference for overly complicated systems (well, to me they don't seem that way <.<), which is why I've learned to value feedback from others in this regard!

 

I also am trying to pace myself with regard to jumping in and rushing to document everything. As you've experienced, a lot of the joy of modding is finding out new things -- the documenting is less fun (though still a little bit), but no-less critical if the mod isn't going to disappear.

 

I've taken to organizing my Notes documents into the following categories:

1) Abandoned

2) Working

3) Finished

4) Finished and posted on wiki

5) General Info

 

So far I have 4 thing on the wiki, 8 or 9 finished-but-unposted mods, and 7 or 8 in the "I'm working on them" stages. It's quite a bit of backlog.

 

My goal / pledge is to post one back-log article for each time I post up a new mod that I've completed. That way I don't lose momentum/motivation to keep modding, I don't get further behind on the documentation, and eventually will work through the backlog.

 

@dubiousintent

 

I don't quite understand the Native Tables, not completely. I think they are the lookup table that tells UE how to interpret hex codes, and provides clues to how many virtual bytes they require. EliotVU would have to jump in here to explain it further. That XCOM-specific Native Table isn't quite complete. I believe twinj pointed out that there were three operators he didn't resolve. I still had to hand-decompile (or tune) the one of the XGAIBehavior functions the other day becaue the virtual count got off, so all of the jump offsets were wonky.

 

As to documenting -- it's not quite as fun as the thrill of discovering a new thing, but documentation is really handy in at least the following ways:

1) You want to go back and change a mod after a couple of months (what the heck was I doing here?)

2) After a game patch you have to go back and fix the mod to work with the new release

3) After a game patch you don't want to be bothered to go back and make the mod work (now someone else can!)

 

It is also really very nice to be able to stepstone off of others' ideas. I wouldn't have made NEARLY the progress I had with the recent UI mods if I hadn't been able to build off the work that johnnylump had done in finding/separating out the SWF files from command1.upk.

Link to comment
Share on other sites

Please: more feedback on navigation issues. It's neither complete nor clear-cut at the moment, so it's a good time to make your concerns known.

 

Something that has become clear is that my original thought of using the 'Categories' as a form of Table of Contents (ToC) is not going to work quite as envisioned. 'Categories' are more like indexes. You don't put content in them (well, technically you can put a description of the category, but not the links themselves). Instead you add the category link to a subject page, which causes it to be displayed on the category page. The 'Category:XCOM' should be (per Dark0ne's request 'here', as I interpret it) the 'master index' of the articles on the site. However, most of the original pages did not have this category link, though they will eventually. The other 'Categories' are subcategories of 'Category:XCOM' and primarily exist to help narrow down the scope of listed articles for someone with no idea where it might reside. They appear in the upper half of the page. In planning for a broader focus than merely EU 2012 Modding, I had planned on a generic game but not version specific sub-category, with nested version specific sub-categories. But perhaps this was premature and once the existing articles have been named to reflect the game version they apply to, we can dispense with the version specific sub-categories until needed.

 

Article pages appear in the lower half of the category page. However, only those pages that include that category link appear there. Pages in a subcategory of that category do not. This is an argument for flattening the subcategory structure as much as possible. However, the broader the category, the more crowded it is likely to appear and the more difficult to find the desired page. So my initial goal now is to have at most three levels of sub-categories under 'Category:XCOM'. But that won't be achieved until the re-organization is complete.

 

However, while I am initially re-organizing I am putting pages in any and all existing categories that seem applicable, just so they can be found somehow. Once they have all been renamed to match the standard, I will go back through the subcategories and remove redundancies or fix hierarchy errors or re-categorize them.

 

Consequently I created some new subcategories such as '0_Start_Here' (hopefully to remain the first entry in subcategories: navigation roadmap, general topics that don't fit under subcategories), and the latest 'Game Files & Modding' (articles on the various files installed with the game or referenced in other articles or mods, most of which still need to be developed; also used as the index of all the 'downloadable' files (such as mods) referenced on the site.) These need to be documented in the 'Navigation RoadMap' article, but I'm waiting until I have finished moving/renaming pages and categories before doing so. (Discovering new needs all the time.) At the moment Category:XCOM is not the complete index it will eventually become; the sub-categories may have sub-sub-categories you need to delve into. Sorry for the inconvenience.

 

So please ask here about anything that appears suddenly and you are not clear about the use or intent. Let me know about anything you think should be organized differently and I will try to prioritize it's correction. Until I post something to the effect the re-organization is done, expect a state of flux. Your patience and feedback is appreciated.

 

In an ideal world, I think it would be most helpful if our code divers would post an article whenever they feel they have something reasonably understood (even if only partially) or that led to a published mod. That preserves and expands the 'knowledge to date' for others to build off of, especially when someone gets stumped and moves on to another avenue of exploration while waiting for new data or inspiration. I realize the threads serve as the primary and initial means of sharing information, but Wiki articles should provide some coherency to a chaotic process of discovery. Someone who is returning to the investigation after only a couple of weeks can more readily get back up to speed from an organized article than from a thread of snippets of discovery and inquiry.

 

But as I said up front, that is in an ideal world. I would like to encourage people to consider if publishing their 'abandoned', 'working but not actively' and 'general info' material might not provide the stepping stone someone else needs? Even knowing about 'dead end' lines of inquiry can save someone else the time spent repeating the same process or perhaps enable them to spot something you missed? Often times, being forced to organize your knowledge and thoughts can bring it's own breakthrough. We are already including caveats about 'incomplete' on existing articles.

 

And now a question: We already have some articles that have links to intended, related articles that currently do not exist. These show up on a page in red, making them easy to spot but perhaps the color is not recognized as to it's significance. Which is preferable: to have the links in the source article appear in red, or to have a dummy 'place holder' page for that link with the appropriate (at that time) template in it with a note that the subject article is needed? To see what I am talking about, the link to 'XComGame.upk' in 'Abilities Modding - XCOM:EU 2012' is a template place-holder page. My thought is that the template place-holder might spur someone (who felt the need to investigate the link) to contribute and the template will give them an idea of what is needed. But then the source article looks like the page exists because technically it does. Opinions? (Only those who respond to the question get a vote. If there are no votes, I'll go with the option involving less work. :devil: )

 

@Amineri: Obviously we need a subject article on the Native Tables. If noone gets to it before I finish the re-organization, I'll put our best guesses up, with a caveat.

 

-Dubious-

Edited by dubiousintent
Link to comment
Share on other sites

I vote for leaving the dead link without a page created (leaving it in red).

 

Often when creating an article I work top-down, creating the high level information. I put in links to sub-pages that I intend to create, but just haven't gotten to. Sometimes I put in a dead link because I think there there needs to be information there, but I don't have it (kind of prod to try and spur others into creating it).

 

The red color makes it very clear which pages still need to be created, as opposed to having to click on every page in order to find out if its just a dummy page.

 

The Native Tables issue is a prime example of where this is useful -- we KNOW that there needs to be information created, so a link to a dummy page can be created. This acts as a "reminder" that it needs to be added. (the color red is partcularly effective here).

 

-----------------------------------

 

As to the organization... I think a series of nested categories, not terribly deep, works fine.

 

The depth can be added to later, as needed. For starters, putting all the mods together in one "Mods" category is fine. If we ever get to the point where that category is getting crowded, someone can reorganize them into subcategories (tactical game mods, strategy game mods, UI mods), and then put each mod into the subcategory (a mod could also go into more than one category, if it fits).

 

I think even just a little organization will go a long way here. The only issue is that pages can't be renamed, so as long as we have a decent page-naming scheme (which I think we do now), life should be okay :).

Link to comment
Share on other sites

Just two small details, red links (not created pages) are ok for me, and as for naming functions, I'd name them ClassName.FunctionName because there are classes that have functions with the same name (there's 2 GivePerk functions in two different classes). My question is, should we add the XCOM:EU 2012 tag as well or is it safe to assume those names won't be needed in a future?

 

And thinking about the site admins, maybe we should list those pages we deprecate because of renaming, unless the site has an auto-deletion mechanism or some of the sort

Link to comment
Share on other sites

Well, since 'red links' seems to be preferred and means less work for me, I'm fine with that. However, I am going to leave the one dummy page I created as we know we are going to need it anyway. I'll just add a comment behind the link in the article about it being a placeholder.

[Edit: Actually, I've added a couple items to it, though not a full article. But it's a start and it's no longer just a dummy page.]

As for naming functions, I thinks article internal references should be in 'ClassName.FunctionName' format, and the article 'page' names should have the ' - XCOM:EU 2012' suffix appended. If the game is successful enough to spawn followups, there are no guarantees the function names in subsequent releases will not be different enough even with the same name that we need to distinguish among them. By using the release name suffix now in our file/page names, we are ensuring we don't get confusion down the road. It also helps with identifying those page that have not been reorganized. Currently the only files intentionally without the suffix are very general subjects that go into the '0_Start_here' category, like 'Guidelines', 'Navigation RoadMap', 'Steam and Mods', 'Help:Editting', etc.

If we remove all the content from a page, it goes into an 'Unused Categories' page. If you click on the 'Category:' label in the Categories navigation box at the bottom of any page, it will take you to a page listing all the categories in use (for the entire Nexus Wiki, not just the XCOM namespace). The number of 'members' refers to the number of links in that category. At the top of the page is a link to the 'Unused Categories' page. So the Nexus Wiki admins can delete them periodically if they desire. While I haven't found it as yet, I imagine something similar exists for empty article pages.

-Dubious-

Edited by dubiousintent
Link to comment
Share on other sites

Might I propose a pinned thread on this forum with a link to the wiki?

Seconded!

 

This thread has evolved much, a new thread describing the wiki to the forumers would be great imho. If I could I'd vote it for a pinned topic :P

Link to comment
Share on other sites

Well, here is the Wiki URL link to the XCOM namespace, exactly as is linked off the main Nexus Wiki page. However, I would propose linking to the 'Start Here' category page as it has the articles to help people get going on the site. Or the 'Navigating the XCOM Wiki' article page itself.

 

Which is your preference for the link? And what do you think should be in such a pinned thread? Once we get it started, we can contact a moderator and ask to have it pinned. (They will want to see it before making a decision, as they generally are parsimonious about pinning.) Meanwhile, no reason the OP (AnUser) couldn't be updated with the link decided upon to help those who start reading this thread.

 

Edit: On second thought, what about a 'XCOM Wiki' section in the 'General XCOM' section 'here'? Then this thread could be moved there, and other discussion about specific aspects of the Wiki could reside there as well. Unless people think there wouldn't be enough related threads to make a new section worthwhile?

 

-Dubious-

Edited by dubiousintent
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...