The Sinister Design Forums

Games => Telepath Tactics (2015) => Topic started by: CraigStern on January 30, 2013, 10:50:36 AM

Title: Telepath Tactics dialog editor
Post by: CraigStern on January 30, 2013, 10:50:36 AM
So! I've been working on a dialog editor within the Telepath Tactics map editor, and it's coming along really well so far.  ;)
Here's what it looks like right now:


The conversation starts empty...

(http://i62.photobucket.com/albums/h96/craigstern/WIP%20Screenies/DialogEditorProgress3A_zps2046d1a8.png)

...then you right-click to add your first dialog branch...

(http://i62.photobucket.com/albums/h96/craigstern/WIP%20Screenies/DialogEditorProgress3B_zpse0b75a2e.png)

...and before you know it, you're editing a fully-fledged dialog tree! :)

(http://i62.photobucket.com/albums/h96/craigstern/WIP%20Screenies/DialogEditorProgress3C_zps006828c5.png)
Title: Re: Telepath Tactics dialog editor
Post by: Ertxiem on January 30, 2013, 05:27:20 PM
It's a great idea... and now I wonder if there will be fans creating campaigns using the Dialogue Editor and the Map Editor. Hint hint ;)
Title: Re: Telepath Tactics dialog editor
Post by: CraigStern on January 30, 2013, 09:22:11 PM
That's the plan. ;)

Update: different conversations are now labeled and grouped by their associated trigger:

(http://i62.photobucket.com/albums/h96/craigstern/WIP%20Screenies/DialogEditorProgress4_zpscbe064e4.png)
Title: Re: Telepath Tactics dialog editor
Post by: CraigStern on January 30, 2013, 10:42:52 PM
Aaaaand one more update: changing a dialog branch's trigger now automatically sticks that branch onto the end of the associated conversation; or, if there isn't one already, creates a new conversation for that trigger. (This, incidentally, is how you make multiple triggered conversations within a scene!)

Also, for the sake of visual clarity, I made it so the dialog map auto-highlights a dialog branch when you are editing it in a pop-out window.

There are only two changes I feel I have to make to the dialog editor before it will be complete, those being a Duplicate and a Delete function (for when you want to auto-copy-paste or delete a dialog branch).
Title: Re: Telepath Tactics dialog editor
Post by: CraigStern on February 01, 2013, 10:42:26 AM
Work has begun on a custom variable system to allow players to create, set and check custom variables from within the dialog scripting system. (You know, in case you want player choices to have consequences that stretch beyond a singular branch in the conversation.) ;)
Title: Re: Telepath Tactics dialog editor
Post by: CraigStern on February 02, 2013, 11:32:38 AM
Aaaaaand we're go! You can now define your own variables and modify / check them through dialog. As a test, I used this system to add money to a campaign; you can use this to simulate stores and transactions via dialog.

You can also now modify custom variables through use of items (meaning that you can create items that increase a custom variable--like, say, "Money".) ;)
Title: Re: Telepath Tactics dialog editor
Post by: ArtDrake on February 03, 2013, 12:10:14 AM
I can see this working very well with the idea of gaining or losing favor with certain factions, prompting either battles with them, or for their people to join your team. Then, if we tie factions to various competing gods or pantheons, well, we could implement items like prayer stones, to gain favor with a particular deity and their corresponding faction.

Oh! Or even better, you could have the progression of time! We could implement an open-world-type exploration system [setting new destinations from various locations], with various places to visit, but each time you travel, you lose a certain number of days [time taken to travel], and if the time counter reached zero, that would prompt a battle with forces you were fleeing from! And then to compensate for the fact that the enemy is moving as well, you could encourage the player to travel away from the approaching forces by increasing the amount of time they have left as they move forward! [think FTL if you are familiar with that, with an approaching rebel fleet you must flee -- they represent difficult and taxing battles it's preferable not to fight, so you just proceed onwards to the next sector]

And then, and then... if you have cutscene before a battle, assuming that when you say you can really simulate stores via dialog like this, this means the custom variables can lead you to get items... you could recieve bonus items based on faction relations/divine favor/anything else.

Or just on a specific battle-wise basis, we could have different versions of a battle given different values of these numbers -- like, a group of hostiles approaches, and we tell them that we have the favor of Valus, the god of courage and war, on our side, and a bolt of lightning cracks across the sky as we do so if our favour is high enough... and a certain number scatter, making the battle easier.

For a more sliding-scale approach, you could have the obvious implementation of karma or reputation, where your actions make you feared or loved, evil or good. I mean, I get the impression from your blog posts that that's not really your thing, but it's still a possibility.

If attacks and techniques can be bestowed via dialog, that opens up a new avenue for gaining techniques relating to your choices in-game, along the same lines as before -- who you side with, but any other concepts could work as well...

On an altogether different note, one could maintain a separate running total that could later translate into money [like upon defeating certain enemies/battles, you have the chance to pick up their shell, which you can sell back in town... or like gaining bounty rewards to turn in after defeating known outlaws or bandits!].

Oooh! Or party happiness! Depending on your actions, members of the party could become upset with you and leave, and it wouldn't have to be just due to one event -- cumulative annoying incidents could culminate in one last straw that broke the camel's back.

And then, this is kind of a big and then... Craig, the only thing that could possibly introduce more gameplay depth in the same way would be if we could get and set the stats of specific members [usually the team leader would be the one in mind] or of the whole team, in the same way as with these custom variables. Then we could truly have some faction-related, divine-favour-related, or [if we included a tavern+rest+energy/endurance system] weariness/hunger-related buffs and debuffs!

Now, just to make sure you get what I'm saying, I'm not asking for all of these amazing features [with the possible exception of the getting/setting character stats maybe possibly please?]. No way. I'm saying that by giving us these amazing custom variables, you've given us the power to make all of these things happen. The pronoun "you" is only used in the impersonal sense. So, thank you so much for giving your game the potential for so much more depth [particularly as it pertains to interactions outside of the battlefield].
Title: Re: Telepath Tactics dialog editor
Post by: CraigStern on February 03, 2013, 12:46:53 PM
Everything you just wrote is accurate. ;)

It will be a bit of a pain to code, just purely because of how many stats there are to cover, but I think direct access to character stats might be a possibility at some point.
Title: Re: Telepath Tactics dialog editor
Post by: ArtDrake on February 04, 2013, 12:56:10 AM
All of this being the case, I shall definitely start work on a mod as soon as possible [not because I think the main game will be lacking, but because it would be an opportunity for me to work creatively on an amazing game -- I'm not particularly great at programming, but I'm decent at developing gameplay concepts], primarily integrating roguelike elements [again, passage of time would be fun] and then maybe just a little bit of everything else that this custom variable system has to offer.

I suppose that if it would take a lot of work to include stat getting and setting, I wouldn't want it to detract from any of the many important objectives I'm sure you've got going.
Title: Re: Telepath Tactics dialog editor
Post by: mirromaru on May 01, 2013, 01:41:31 PM
Aw, I'm so excited for this! Finally I will be able to make my own campaigns although I lack programming skills.
Title: Re: Telepath Tactics dialog editor
Post by: ExplodingBanana on May 02, 2013, 12:33:46 PM
Quote from: CraigStern on February 02, 2013, 11:32:38 AMAs a test, I used this system to add money to a campaign; you can use this to simulate stores and transactions via dialog.
The editor seems pretty flexible already. Will it be able to trigger dialogue when two characters are next to each other? Like the banter in Fire Emblem. It's very easy to see a dating sim (or whatever inter-character subplot you want) created with this system. One feature that could greatly widen the scope of exotic uses for this dialogue editor would be a random number function in the script. Obviously there's some sort of if-else system in place, since otherwise a store wouldn't be much of a store.
Title: Re: Telepath Tactics dialog editor
Post by: CraigStern on May 02, 2013, 01:24:53 PM
Explodingbanana: a random number function is definitely planned. There is not yet a voluntary "Talk" trigger for adjacent characters who have dialog together, but that's something I'd love to add.

If-then statements are currently supported with regard to both character stats (IfStatGoTo) and custom variables (IfValGoTo)--if the defined conditions are met, you can direct the the dialog to go to a certain branch where other scripts may be run. Check pages 23-25 of the manual for more info on those. :)
Title: Re: Telepath Tactics dialog editor
Post by: ExplodingBanana on May 03, 2013, 07:51:27 AM
Quote from: CraigStern on May 02, 2013, 01:24:53 PMCheck pages 23-25 of the manual for more info on those. :)

Ooh. A lot of good information there.  :) I'm not sure if there's a general modding thread available yet, so I'll just dump all my thoughts right in this post.

I was very impressed by Lilarcor back in BGII so I quickly thought about a sentient sword. I'd like for it to have effects other than just random comments, so it would have to track its state and carry along the whole dialogue tree. Copy-pasting the whole tree to every single scene would work - However, is there any way to link another dialogue script file to be appended during load up? And while we're at it, is there any way for the item to update itself for example at the end of every battle or after each kill, or should it be manually triggered with an OnCharDeath script for every enemy? I was hoping that the weapon could track kills made with it (or whatever it needs) and initiate dialogue only after a set of requirements are fulfilled.

Checking out the Attacks portion of the modding guide, I spotted the AOE ranges. Trying to decipher the meaning of the various range descriptions, I thought about having all the ranges as a list of vectors. It could treat whatever direction as 'forward' - For example to the right. Then the bowman attack range would be [(2,0), (3,0), (4,0)]. Additionally it could have a setting for symmetry, which then replicates the range for every direction. It also allows for more variety in attack ranges, for example an attack could have a range of [(2,-1), (2,1)], which means it targets like a chess knight two squares forward and one to the side. This would require another parser and all the additional stuff, though...

The Conditions part had weather. I think if the sword mentioned above gets mad, it should change the weather to Fire, right? :) It only speaks of setting the weather during scene loading, so I'm not sure if that works or not.
Title: Re: Telepath Tactics dialog editor
Post by: CraigStern on May 03, 2013, 09:24:57 AM
Quote from: ExplodingBanana on May 03, 2013, 07:51:27 AMis there any way to link another dialogue script file to be appended during load up?

Yes: just stick the dialog in PersistentDialog.xml, and it will be triggerable in every scene in the game.

Quote from: ExplodingBanana on May 03, 2013, 07:51:27 AMAnd while we're at it, is there any way for the item to update itself for example at the end of every battle or after each kill, or should it be manually triggered with an OnCharDeath script for every enemy? I was hoping that the weapon could track kills made with it (or whatever it needs) and initiate dialogue only after a set of requirements are fulfilled.

OnCharDeath doesn't currently provide a way to check for the method of death--but in theory, once it does, you'd use SetVal to increase a custom variable (say, SentientSwordDeaths) by 1 each time the conditions are met.

Quote from: ExplodingBanana on May 03, 2013, 07:51:27 AMChecking out the Attacks portion of the modding guide, I spotted the AOE ranges. Trying to decipher the meaning of the various range descriptions, I thought about having all the ranges as a list of vectors. It could treat whatever direction as 'forward' - For example to the right. Then the bowman attack range would be [(2,0), (3,0), (4,0)]. Additionally it could have a setting for symmetry, which then replicates the range for every direction. It also allows for more variety in attack ranges, for example an attack could have a range of [(2,-1), (2,1)], which means it targets like a chess knight two squares forward and one to the side. This would require another parser and all the additional stuff, though...

That's one idea. I was just thinking I'd move the AOE reticle table to an XML file so players can add their own AOE configurations.

Quote from: ExplodingBanana on May 03, 2013, 07:51:27 AMThe Conditions part had weather. I think if the sword mentioned above gets mad, it should change the weather to Fire, right? :) It only speaks of setting the weather during scene loading, so I'm not sure if that works or not.

That would work--you'd just need to use the ChangeCondition action. I forgot to add this into the manual before, but it's really simple. Other than typing ChangeCondition, all you do is use the exact same parameters you'd use within the Condition tags. For instance:

ChangeCondition     Weather,Fire

will cause the map to start raining fiery sparks.
Title: Re: Telepath Tactics dialog editor
Post by: ExplodingBanana on May 04, 2013, 02:16:39 AM
Quote from: CraigStern on May 03, 2013, 09:24:57 AMYes: just stick the dialog in PersistentDialog.xml, and it will be triggerable in every scene in the game.

Alright. All that stuff sounds good.

I ran into some issues with installing the map editor, though. In Linux, the game installer prompts for root password and refuses to install without it. I think you really, really should change that so that it doesn't need root access. In the end, the game directory and the map editor directory are both owned by root and don't give out write permissions to anyone else, which forbids anyone else from pasting stuff to the directories unless you sudo chown it or whatever. I'm not in the habit of running around with root access available, and hopefully no one else is either. :)
Title: Re: Telepath Tactics dialog editor
Post by: CraigStern on May 04, 2013, 08:33:14 AM
That root access thing...I don't believe that's a setting I control. (Frankly, I'm not even sure what that is in Linux.)

Were you able to get the map editor working?
Title: Re: Telepath Tactics dialog editor
Post by: ExplodingBanana on May 04, 2013, 12:00:44 PM
Quote from: CraigStern on May 04, 2013, 08:33:14 AM
That root access thing...I don't believe that's a setting I control. (Frankly, I'm not even sure what that is in Linux.)

Were you able to get the map editor working?

I found this page that has a reply from Adobe to this issue: http://blogs.adobe.com/ashutosh/2009/03/air_applications_and_root_acce.html

So it's something only Adobe can control. Too bad. Anyway, I did install them both as root and ran the editor too, but it didn't have any tiles to use for the maps. I'm a bit confused by the advice in the backer mail that said to copy the map editor directory and paste it to the data directory of the game... I could understand if we were to copy the data directory and paste it to the map editor directory. It's just a bit counter-intuitive to me.
Title: Re: Telepath Tactics dialog editor
Post by: CraigStern on May 04, 2013, 02:53:48 PM
Right. The way the map editor works, it looks for the Tiles, Objects and Characters subfolders within the Data subfolder of the Telepath Tactics install directory. So if the map editor isn't actually located within the Data subdirectory, it won't find those folders and won't load the Tiles, Objects and Characters that it needs. That's why you have to move it there.
Title: Re: Telepath Tactics dialog editor
Post by: mirromaru on May 21, 2013, 01:38:10 PM
I'm trying to install the map editor on Mac, but even though I tried first copying the map editor .app into the Telepath Tactics Folder (via "show package contents" and then copying it into the package, I don't know if that was what I was supposed to do?) and after that didn't work I tried making a new "Data" Folder with copying all the stuff from the Telepath Tactics Data folder I wasn't able to get it to work. Any suggestions what I should do?
Title: Re: Telepath Tactics dialog editor
Post by: CraigStern on May 21, 2013, 07:35:19 PM
I need to test it out on a Mac to be sure, but my gut instinct is that you should have more than just an app file in the map editor install directory; make sure you copy everything from there into the Data folder.
Title: Re: Telepath Tactics dialog editor
Post by: mirromaru on June 01, 2013, 08:53:22 PM
Sorry, I guess my wording was kinda confusing. What I meant was: I didn't copy the .app file, I meant the package contents inside the .app file.

Anyways, after being frustrated with it not working I tried to install it again today - and now it at least partly works! Still don't know what the problem was because I didn't do anything different except for downloading the latest files. Vodoo I guess. I can make a map and add tiles, but I still can't add objects or characters. The dialog editor is working though. Anything I could have done wrong/missed/forgotten? I really can't think of any reason why everything except for adding characters and objects should work. Help appreciated, is there really no one else using a Mac here? :)
Title: Re: Telepath Tactics dialog editor
Post by: CraigStern on June 02, 2013, 11:33:29 AM
It's hard for me to tell without seeing what you've done. What happens when you click to add objects or characters? Does it show you a blank gray box?

I think I miiiiight know the problem. I've just updated the AIR installer; see if the newer version fixes it. (Note: the only thing from the .app file you will really need to update should be the swf file.)
Title: Re: Telepath Tactics dialog editor
Post by: mirromaru on June 04, 2013, 03:21:01 PM
Unfortunately not. Now I'm back to "can make a new map but can't paint anything or add anything".  There is no menu, no reaction to me clicking the button whatsoever. I'm kinda out of ideas what I could change. I don't know if, by luck, I copied something somewhere that made half of it work last time (I though I'd done everything as I did the last time) or if it was what you updated this time, anyways I now can't even select tiles anymore. If you need screenshots let me know. I'm looking forward to trying out the map editor, although I understand if this isn't exactly top priority on your "to do"-list :)
Title: Re: Telepath Tactics dialog editor
Post by: CraigStern on June 04, 2013, 03:30:18 PM
Okay, stay tuned; I'm going to see if I can get a friend to bring a Mac over so I can test it out myself.
Title: Re: Telepath Tactics dialog editor
Post by: mirromaru on June 13, 2013, 05:14:06 AM
Thanks for the update! Unfortunately I (on Mac) still get an error, I attached a screenshot of it. Is there anything I can do to solve this? If not I'll be waiting for the next update :)
Title: Re: Telepath Tactics dialog editor
Post by: CraigStern on June 13, 2013, 07:16:57 AM
Aha! Well now I at least know what the problem is--it's the fact that Mac OS buries the subfolders of a program in several extra subdirectories of crap. I'll see if I can figure out a solution to that. :)