Search the Community
Showing results for tags 'modder discussion'.
Found 2 results
So, the idea was to get detailed, and see what happened in WeiDU with two ideas that have been coded into Aran. 1. - is it really really true that WeiDU does not care if you code things like this: IF ~~ a101 SAY ~[ARAN] Well, I have seen precious little o' th' Tel' Quessirim, truth be told. Those ears be a right interestin' sight on a lad. No harm meant, eh?~ IF ~~ THEN EXIT END or this, run all into a single line: IF ~~ a101 SAY ~[ARAN] Well, I have seen precious little o' th' Tel' Quessirim, truth be told. Those ears be a right interestin' sight on a lad. No harm meant, eh?~ IF ~~ THEN EXIT END (We know the answer to this - WeiDU does not care, but the human does. Nothing harder to troubleshoot than unindented stuff. If there is not a decent pattern, then you can't catch the silly things, like a missing tilde, or an IF ~~ THEN EXIT with no END. We are just having some fun with this as a control). So, first off, we create a folder called test1 in the BG2 directory. NOT THAT ONE!!!!! Nope, not the clean, nice, pristine, untouched one you have on your main hard drive. Trust me. Bad idea. Copy the whole BG2 clean version onto another drive, remap the baldur.ini in your copied one to your new one in the nice folder X:\TESTING\BG2, because you might want to get fancy someday and do things like edit creatures, or build macros that are supposed to manipulate values, or something fancier than what we are doing today. And when you do that, you will need to compare the original game structures to the modded ones, so that even before you test in-game, you can see if it is doing basically what you want, or have you accidentally done something like edit every single item in the game to have an extra couple of bytes, thus corrupting everything... believe, or suffer the consequences. I certainly hope you believe, because if you think it is tough to troubleshoot your installation now, just wait until you have been playing around trying to learn modding, and forget to uninstall a test - or worse. OK, on the testing install, I have that folder, and now I grab a copy of another mod's setup-mymod.exe (or just a regular old weidu.exe from its package), and name it setup-test1.exe. I whip up a quick .tp2 (unless I have a test one already created and are just editing it, like I do): setup-test1.tp2 BACKUP ~test1/BACKUP~ AUTHOR ~Me.~ VERSION ~v1~ BEGIN ~Check Dialog format~ COMPILE ~test1/test1.d~ And I grab the dialog thought I want to play with, and toss it in the folder with the .tp2: test1.d BEGIN ~test1~ APPEND ~test1~ IF ~Global("test1","GLOBAL",1)~ THEN BEGIN a100 SAY ~[ARAN] What a blighted great place to be fightin' for our lives at every turn. So do you come here often? How's the food? Know any available converts o' Sune? You thinkin' o' convertin'?~ IF ~!Kit(Player1,NMSUNE)~ THEN DO ~IncrementGlobal("c-aranflirt","GLOBAL",1) SetGlobal("c-aranlightflirt","GLOBAL",0) RealSetGlobalTimer("c-aranflirttimer","GLOBAL",ARAN_FLIRT)~ EXIT IF ~Kit(Player1,NMSUNE)~ THEN GOTO a101 END IF ~NumTimesTalkedTo(0)~ THEN BEGIN a105 SAY ~[ARAN] Yup, a stupid test~ ++ ~[PC] heya, 101~ + a101 ++ ~[PC] heya, 102~ + a102 ++ ~[PC] heya, 103~ + a103 ++ ~[PC] heya, 104~ + a104 END IF ~~ a101 SAY ~[ARAN] Well, I have seen precious little o' th' Tel' Quessirim, truth be told. Those ears be a right interestin' sight on a lad. No harm meant, eh?~ IF ~~ THEN EXIT END /* c-aranpidhum */ IF ~~ a102 SAY ~[ARAN] No, naught but tryin' to figure out if you be a native Chondathan, Luskan, or mayhap Rashemi speaker. Must be all that book learnin'. I just can't bloody well place your accent, is all.~ IF ~~ THEN EXIT END /* c-aranpiddwarf */ IF ~~ a103 SAY ~[ARAN] Nothin' wrong. Just tryin' not to trip over your short little sorry arse, eh?~ IF ~~ THEN EXIT END /* c-aranpidorc */ IF ~~ a104 SAY ~[ARAN] Just tryin' to figure out how to avoid tellin' you that you be the ugliest son o' a bitch I ever did lay eyes on. No harm meant, o' course.~ IF ~~ THEN EXIT END END and double-click the file setup-test1.exe. Now, I have weidu showing me a command box, and before I go further, I want to make sure I get all the data I can. In Windows (I am using Win7 pro x64, but it is all variations on a theme), I right click on the top bar of the command prompt (command box, terminal, whatever you want to call it), and I change the properties. First, I set the screen buffer size to something appropriate for my screen resolution. Since I work at 1280 x 1024, it ends up being something huge, like width = 150, height = 300. I make the window size width = 150 and height = 60. And most of all, I toggle options, and put a buffer size of 500, 4 buffers, QuickEdit mode, and Insert mode. Now, the command box will save lots of cool information - and I can cut and paste out of it. It looks pretty silly right now, but on troubleshooting a big install, I have a big wide net cast to discover troubles, and I can either screenshot or copy/paste the errors for forum posting, to bug and annoy share with friendly fellow modders. OK, now I go ahead and press i, installing the mod. Success! If there wasn't, I could do that snipping tool, giving you a cute picture of a black box with text, or just copy the contents and post here, like this: OK, now we have our answers to both questions. It installs, allowing single-line code, and if Divine Remix is not installed before Aran is installed, there will be some parse warnings that show up in the black box and will lead to people checking in and reporting this as an error. Useful information. Side Note: what we just found out was that weidu will allow an install to happen, and will show a successful install in the DEBUG. It will not throw a "Installed with Warnings", or fail outright. In other words, it found the correct structures, and did not choke/scream bloody murder/spit up on us. WE HAVE NOT FOUND OUT IF IT WORKS. WeiDU was designed by trial and error, and is rebuilt and maintained by serious moddarz, not folks who have 14 safety nets for every conceivable situation and way in which the average idiot like me will throw weidu's way. If you tell it politely to do something that sounds reasonable, using the correct language, and in the correct form, it will do it. But, as we are about to find out, what a modder *thinks* they want and what the game engine *actually* wants is not always... err... make that almost never... the same thing. SO, Now we check the files. Lots of ways of doing this, but since many folks starting out do not actually use weidu to look at dialog, let's use DLTCEP and go through the process. (Heh. That is a little joke, because when you are using DLTCEP, you are using a cool, powerful, hardworking tool that acts as a front-end GUI for weidu. It does other stuff, but in this instance, we are just letting DLTCEP form the weidu commands). First off, we point DLTCEP to our new test install, because if you leave it where it is, you will keep going back to the same original installation over and over, scratching your head, trying to figure out why the mod *says* it is installed, but DLTCEP just can't seem to find TEST1.DLG... That's always fun. Now, I choose the EDIT > DLG > Load Dialog, and find TEST1. Yup, it is there, and looks good. But I want to see it all laid out nicely like when I wrote it, instead of hunting down triggers and actions and text strings, all jumbled up - so I do FILE > Export WeiDU. Now I toddle over to my testing directory> script compiler > decompiled, and voila - a TEST1.D is all ready for me. Let's see what it looks like, opened up in Notepad++: OK. Now, there is something interesting to investigate next, another day, by either asking on the forums or trying it out in game. If we look at the decompiled dialog reply states, we has set up the logic "If the player has the kit NMSUNE, then go in this direction. If the player does not have the kit NMSUNE, then go in another direction." But with no entry for NMSUNE, because DR is not installed, the script now says "If the player has the kit 0, then go in this direction. If the player does not have the kit 0, then go in another direction." Before we experiment, of course, we can research. What is Kit=0? IESDP, http://iesdp.gibberl...ids/bg2/kit.htm, and we find... nothing. Nothing matching 0 in the old, incorrect .ids, nothiing in the new one... are we safe? Maybe. But logic tells us we might just have a problem. Because what that lovely piece of code is saying is IF NOT no_kit IF no_kit and there is no entry no_kit (and even un-kitted folks have 0x4000 TRUECLASS as their "kit") - I think we will have a dreaded NVROL "No Valid Replies Or Links" popping up. Lots of ways to solve this, by the way - everything from requiring Divine Remix to be installed before Aran [bad idea to create unneeded dependencies, so not my idea of a good solution] to rejiggering the dialog code to allow a valid link that allows folks who want to play without DR installed, by simply making that ~!Kit(Player1,0)~ into a very simple default condition always available, by using IF ~~ THEN REPLY or its shortcut ++.
Background The Crossmod Banter Pack (CBP) was started to provide a central clearinghouse for banters which take place between two or more mod-created NPCs, allowing interaction between said NPCs without tying the content to one NPC mod or the other, or requiring one NPC mod to be installed in a certain sequence relative to another NPC mod. One of its organizational features is that it requires express consent be given by the authors of all involved NPCs before it will publish any new content. That feature is the subject of this position paper. Position I have long opposed that organizational feature on the grounds that it affords a special status to mod content above and beyond that granted to core game content. Few, if any, modders have expressly sought the permission and approval of Bioware before publishing mods which augment or change core game content. The idea that a modder is deserving of greater consideration is distasteful to me and I can find no sensible moral basis for it. My stance is that content is content, and all is fair game. Furthermore, I assert that the "mutual consent" system demonstrably produces banters in both limited quantity and limited quality. Some modders choose not to participate for fear of their characters being compromised, some (myself included) have distanced themselves out of reluctance to lend credibility to the "permission" system at all. And the depth and interest of the subject matter explored in "approved" banters has tended to be limited--many reduced to glorified pattycake sessions between two characters whose authors were afraid to dig deep for fear of alienating one another. Recent Silliness Relatively fresh from his latest momentous return to modding, Moongaze (known now as "Moongaze II: The Richard Donner Cut") attempted to withdraw permission for NPCs and crossmod banters already in the pack, stating as his reason his contempt for one of the CBP maintainers. To their credit, the CBP maintainers swiftly denied his request. However, the episode was rather embarrassing and put in sharp contrast the weakness of the "permission" system--it can be based on as little as spite. Despite the fact that nothing actually happened, I assert that this put the nail in the coffin of the "permission" system, which has not generated a terribly inspiring body of work in the years it has been in operation. When I Say "Freeze", I Do Not Mean "This Is a Stickup!" I propose, therefore, that development of CBP be immediately frozen. Mothballed. Suspended. No new submissions be accepted for it and no new editions be published except in the highly unlikely event that a bugfix be made. Its maintainers would direct authors interested in creating crossmod content to an alternate venue. They may see fit to create it, or use one of the existing banter-related mods if appropriate. Such a venue would have a strong, theoretically detached editor or editors whose goal would not be to protect anybody's feelings about a particular character or characters, but to aid submitting authors in refining their content, as needed, to produce more interesting and engaging content. They would reject or suggest changes to something which is pointless, disjointed, far too verbose, wildly out of character, etc. etc. "But, Crockpot, aren't you just replacing the approval of the second mod's author with the approval of this uber-editor?" you ask. The major difference in my mind is that "single writer plus theoretically detached editor" is far more likely to turn out something of substantial interest than "two authors hesitantly feeling each other out for stuff each will let the other get away with in a banter." "But, Crampart, I don't believe there is any such thing as a detached editor in our contentious little circle. I certainly wouldn't trust you to edit my NPC's words!" you say. Perhaps not. I still suspect that even a modestly flawed editor in the single-author system would produce better content than the current "permission" system does. It would also make it far more realistic for a third party (one not involved in the creation of any mod NPC) to develop intriguing content for the NPCs, as they would be free from the requirement of seeking out both/all mod NPC authors involved. Between the wider talent pool and the emphasis on quality, rather than permissibility, I suspect players will be far better served.