Author Topic: Toolset  (Read 16877 times)

0 Members and 1 Guest are viewing this topic.

Offline Raven

  • Miriam's sane half
  • Administrator
  • Level 5
  • *****
  • Posts: 3603
  • Karma: +118/-33
  • Gender: Female
  • Like Awesome!
    • View Profile
    • Vampire Tales
Toolset
« on: July 11, 2012, 06:26:59 AM »
Can someone make a cool tool set like they use for Dragon Age of the NWN series? Some of these ancient tools crash and burn. :(
Per me si va nella citta dolente.
Per me si va nell eterno dolore.
Per me si va tra la perduta gente...
Lasciate ogni speranza perduta che'entrate!

Offline Solaufein

  • Lord of the Realms
  • Administrator
  • Level 5
  • *****
  • Posts: 5149
  • Karma: +127/-19
  • Gender: Male
  • The night is dark and full of terrors...
    • ICQ Messenger - 251194643
    • Yahoo Instant Messenger - gscott7833
    • View Profile
    • http://teambg.net
Re: Toolset
« Reply #1 on: July 11, 2012, 06:27:02 AM »
That would in the hands of those smart people who know a thing or two about programming.
My mods:
Dark Horizons
The Undying
Nikita
IWD2 store

Co-contributor:
Dark Side of the Sword Coast BG1 Weidu
Aurils Bane
Encounters
Saerileth
Baldur's Gate - Enhanced Edition beta tester
Baldur's Gate 2 - Enhanced Edition beta tester
Icewind Dale - Enhanced Edition beta tester

Offline Magnus

  • Global Moderator
  • Level 1
  • *****
  • Posts: 315
  • Karma: +6/-0
    • View Profile
Re: Toolset
« Reply #2 on: July 11, 2012, 06:27:11 AM »
DLTCEP is the most powerful out there and still maintained (and a TeamBG project too). NI comes close second (just find the latest version), but both are very usable.
Where's me bleedin ale?

My Mods & Contributions:

Dark Horizons

CoM Encounters

Offline Amy

  • Global Moderator
  • Level 3
  • *****
  • Posts: 1235
  • Karma: +85/-10
  • Gender: Female
    • View Profile
Re: Toolset
« Reply #3 on: July 11, 2012, 06:27:21 AM »
Those toolsets are cumbersome and not user friendly. What we need is a Weidu type tool but GUI based so the average player could make a mod without much difficulty.

Offline 8people

  • Newbie
  • *
  • Posts: 2
  • Karma: +0/-0
    • View Profile
Re: Toolset
« Reply #4 on: July 11, 2012, 06:27:22 AM »
Problem is balancing power with usability.

More often than not a really helpful gui hinders the application of the code.

There is also the presumption that WeiDU is a difficult thing to get to grips with, the basics are inherently quite simple, perhaps a co-ordinated, annotated primarily textual interface would be appropriate as an introduction to key aspects of the programming language with template code that can have different variables and names inserted for common functions to demonstrate abilities.

A lot of tutorials around tend to be along the lines of "copy/paste this, but change where it says XCHANGEHEREX to your own name" which tends to give grounds to the basics of "do this, then this" but doesn't help broaden the understanding of what is and isn't possible.

The simplest (relatively!) way I can think of for making the code a little more accessible would be virtual simulation of the code - if possible. For example a dialogue tool that you could 'run' the dialogues without compiling, loading up the game, getting all the actors together. Instead have it pick up who is in the party, bring up a mock dialogue window, perhaps in the same font as the game, showing the portraits of the characters talking (Or the ? default for a non-defined speaker)

So you can SEE what you're making on the fly, it gives a sense of achievment without a fair share of the hassle involved in regularly testing out what you just made.

I concede I wouldn't know where to start with a project like this, I contemplated making something similar as a VB project in school yet I am not, and was not a programmer, simply a modder with ideas beyond my general skill ;)

Offline lynx

  • Newbie
  • *
  • Posts: 12
  • Karma: +0/-0
    • View Profile
    • Email
Re: Toolset
« Reply #5 on: July 11, 2012, 06:27:29 AM »
It would be nearly impossible to that though. Dialogs can check for anything and often run ingame actions. Any quick tester would be a bad approximation.

A WeiDU editor would have similar problems. You can easily make a nice interface for rapid and easy-to-understand basic kit making or some other easy mod idea. But as soon as you require some scripting, custom spells, items, the complexity goes through the roof and no amount of GUIs can help.

Since NPC mods seem to be the most common, a helper for that task would likely be the most useful.
GemRB - IE anywhere!

Offline Raven

  • Miriam's sane half
  • Administrator
  • Level 5
  • *****
  • Posts: 3603
  • Karma: +118/-33
  • Gender: Female
  • Like Awesome!
    • View Profile
    • Vampire Tales
Re: Toolset
« Reply #6 on: July 11, 2012, 06:27:37 AM »
Too much work? That is too bad.
Per me si va nella citta dolente.
Per me si va nell eterno dolore.
Per me si va tra la perduta gente...
Lasciate ogni speranza perduta che'entrate!

Offline Amy

  • Global Moderator
  • Level 3
  • *****
  • Posts: 1235
  • Karma: +85/-10
  • Gender: Female
    • View Profile
Re: Toolset
« Reply #7 on: July 11, 2012, 06:28:24 AM »
:(

Offline cmorgan

  • Newbie
  • *
  • Posts: 40
  • Karma: +4/-7
    • View Profile
Re: Toolset
« Reply #8 on: July 11, 2012, 06:30:29 AM »
There is a small java-based dialog utility that is in development over at SHS; it doesn't do the big stuff, just basic dialogs in a tree form. No drop-downs for conditions or vanilla triggers, etc. But it runs into the same problem as everything else - there is a core base of understanding that is needed to be able to understand way things are set up the way they are. I would think it would be possible to build a tool that is completely text based, using code snippets and Notepad++ to 'automate' building code snippets, as Mike1072 has done, and I have played with on Context, Crimson, and TextPad code completion/highlighters, but that falls back to the point made above - it doesn't help to have something that prompts

> Do you want to add a new dialog? Y
> What triggers do you want to add? {big long list of potentials, plus ability to add a new one}
> What triggers do you want to have block this dialog? {big long list of potentials, plus ability to add a new one}
> Do you want to add this dialog to an existing NPC?  {big long list of potentials, plus ability to add a new one}
> Is this an interjection? What dialog file?
> Is this a banter? What NPCs paticipate?
> Is this a quest? What variable will you use to track the quest?


etc. etc.... 

lynx has it right. the engine was never really designed to be user-friendly in the first place. Even a helper has to roll back to "copy this, and then insert your own data".  But 8people has an interesting idea. If there was an automated way of showing the dialog play out, setting the conditions and letting the dialog run, without having to create a special false NPC, then compiling the dialog, then starting a new game and CLUA-ing to a new space and CLUA-ing in everyone you want and running a scriptblock that sets the environment (chapter 3, area X, bhodi is dead, NPCs x y and z have been encountered, X Y and R are in party but Y is dead, the following mods have been added to the install and have set variables f, g, and h) - it would be so much nicer than the current testing method. Which is either do all this, or save a series of savegames and do this, or most frustrating of all, building lots of stuff and then putting yourself and playtesters through several games from start to finish, secure in the knowledge that you will never have enough permutations of the testing environment to make sure everything works under 90% of the usual conditions... :D

I'd love an automated test environment more than a 'helper" dialog, that is for sure.

Offline jcompton

  • Level 1
  • *
  • Posts: 111
  • Karma: +0/-0
    • ICQ Messenger - 132458288
    • AOL Instant Messenger - jasonpcompton
    • Yahoo Instant Messenger - jason_p_compton
    • View Profile
    • http://www.pocketplane.net
Re: Toolset
« Reply #9 on: July 11, 2012, 06:30:30 AM »
Yeah, I've talked to Weimer several times about creating a "dialogue simulator", both in the WeiDU days and the WeiNGINE days, and both times the issues of complexity stopped it from going anywhere.

One of the things which makes testing Infinity dialogue extra-painful is the state trigger system. We reduced the pain (both of developing and testing) quite a bit in WeiNGINE by allowing you to start dialogue in any arbitrary state. Adding that capability to Infinity isn't feasible, but is it available in GemRB? If so, then that could speed some testing tasks, depending on the complexity of the dialogue. (I.e., if all you need is a bunch of people to stand around talking, then you just assemble all of the relevant actors with CreateCreature and start the dialogue.)
"[A] number of Baldur's Gate II mods have been successfully produced. The best can be found at pocketplane.net." - PC Gamer UK

Offline Solaufein

  • Lord of the Realms
  • Administrator
  • Level 5
  • *****
  • Posts: 5149
  • Karma: +127/-19
  • Gender: Male
  • The night is dark and full of terrors...
    • ICQ Messenger - 251194643
    • Yahoo Instant Messenger - gscott7833
    • View Profile
    • http://teambg.net
Re: Toolset
« Reply #10 on: July 11, 2012, 06:30:31 AM »
The game engine wasn't even designed to be user friendly with the developers either. I recall some of the Bioware employees making comments at the old TeamBG forums about how much easier it was to sue the TeamBG tools compared to the software they used to edit the IE. David Gaider even made some add ons using the TeamBG tools.
My mods:
Dark Horizons
The Undying
Nikita
IWD2 store

Co-contributor:
Dark Side of the Sword Coast BG1 Weidu
Aurils Bane
Encounters
Saerileth
Baldur's Gate - Enhanced Edition beta tester
Baldur's Gate 2 - Enhanced Edition beta tester
Icewind Dale - Enhanced Edition beta tester

Offline jcompton

  • Level 1
  • *
  • Posts: 111
  • Karma: +0/-0
    • ICQ Messenger - 132458288
    • AOL Instant Messenger - jasonpcompton
    • Yahoo Instant Messenger - jason_p_compton
    • View Profile
    • http://www.pocketplane.net
Re: Toolset
« Reply #11 on: July 11, 2012, 06:30:35 AM »
He did all of the post-TOB stuff (Tougher boss fights/Ascension*) with third-party tools, as I recall in part so that it would have purer bloodlines and not seem like it was official/sanctioned/done on company time/etc.

I do think legend has it that some items for TOB were also made with third-party tools because they were easier to deal with.

* - yes I know he did not do Ascension on his own.
"[A] number of Baldur's Gate II mods have been successfully produced. The best can be found at pocketplane.net." - PC Gamer UK

Offline lynx

  • Newbie
  • *
  • Posts: 12
  • Karma: +0/-0
    • View Profile
    • Email
Re: Toolset
« Reply #12 on: July 11, 2012, 06:30:36 AM »
Sure, it would be easier to make a test environment with gemrb, since you can script (in python) the thing in advance, basically creating test cases without a need for saved games (means more work with setting up the variables though).

We're mimicking the original for obvious reasons, so you can't talk in arbitrary states. There's no reason it couldn't be a future extension though. Give us a few more years to make all the originals obsolete and then a second golden era of modding can start. :D
GemRB - IE anywhere!

Offline cmorgan

  • Newbie
  • *
  • Posts: 40
  • Karma: +4/-7
    • View Profile
Re: Toolset
« Reply #13 on: July 11, 2012, 06:30:37 AM »
I look forward to that, lynx - actually, to both WeiEngine and to GemRB.

In the meantime, the closest I can come to suggesting a manipulatable test scenario for dialogs and quest scenarios, etc., is to leverage the cutscene functions and make an installable "minigame". Basically, set up a cutscene trigger, so all you have to do is type CLUAConsole:SetGlobal("starttest","GLOBAL",1).
The cutscene follows a standard format; moves you to the relevant area, sets the variables you want (chapter, etc.) uses CreateCreature and JoinParty to drop in teh NPCs in question, and then sets the initializing variable to 0 again. It isn't perfect - in fact, it is a big PITA, so for standard non-conditioned talks it is better just to set a 30 second timer on them and trigger them bang, bang, bang, right on the heels of the last one, right there in the initial area in a new game. But now I am way offtopic, and have moved from a discussion of the tools to suggestions about getting around their limitations... so time for me to shut up!

Offline Jarno Mikkola

  • Newbie
  • *
  • Posts: 59
  • Karma: +2/-0
    • View Profile
Re: Toolset
« Reply #14 on: July 11, 2012, 06:30:40 AM »
so all you have to do is type CLUAConsole:SetGlobal("starttest","GLOBAL",1)
It could be helpful for someone to know that the console has "memory", you just have to push the up arrow key to get the previous... and that you can actually pre-write the set commands into the baldur.ini files
Quote
[Lua Edit]
String0=CLUAConsole:SetGlobal("starttest","GLOBAL",1)
String1=CLUAConsole:SetCurrentXP("100000")
...
String9=CLUAConsole:MoveToArea("ar0406")
-portion, it has memory of 10 line as you can probably conclude... there's should actually be a way to add the lines, but I don't remember how.