Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411517 Posts in 69377 Topics- by 58431 Members - Latest Member: Bohdan_Zoshchenko

April 27, 2024, 09:44:06 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsTelepath Tactics (Releasing in April 2015!)
Pages: 1 ... 37 38 [39] 40 41
Print
Author Topic: Telepath Tactics (Releasing in April 2015!)  (Read 114316 times)
randomshade
Level 1
*

Fastzelda


View Profile
« Reply #760 on: February 01, 2013, 11:28:27 PM »

Really digging adding all of the tool support for moddability - very nice. Regarding the XML script you've shown for the items, do you support omitting keys? It would make that XML way tidier/easy to read/etc.

Not sure how much control you have over your xml parser, but wrapping the get attribute call with your own function like: item.AddsStatus = xml_node->get_attribute("addsStatus", item.AddsStatus); is the quick and easy way, where the variable's default value is passed and thus returned if the key isn't present in the data.

Anyway, game is looking better and better all the time!
Logged
Craig Stern
Level 10
*****


I'm not actually all that stern.


View Profile WWW
« Reply #761 on: February 02, 2013, 10:30:52 AM »

Thanks!

I'm not supporting omitting attributes right now, but it's something I'll consider in the future whenever I get around to the point that I'm optimizing this stuff rather than simply adding in new features and bug testing. Smiley
Logged

Gregg Williams
Level 10
*****


Retromite code daemon


View Profile WWW
« Reply #762 on: February 02, 2013, 10:44:54 AM »

With all the XML use, you might consider creating some schema files to actually validate all the XML if you haven't already.
Logged

Craig Stern
Level 10
*****


I'm not actually all that stern.


View Profile WWW
« Reply #763 on: February 02, 2013, 11:30:55 AM »

Update! Now you can not only modify custom variables with both items and dialog, you can actually place dialog triggers that check for certain variable thresholds.

This one, which I just tested out, triggers dialog as soon as the money threshold reaches or surpasses 100:

Code:
<Dialog>OnVal/Money,>=,100/Emma Strider/Oh, snap! I just got all this money. That is pretty sweet.
<Reply>.../EndConv</Reply></Dialog>

The key bit there is OnVal/Money,>=,100 -- OnVal is the new trigger type, and Money,>=,100 are the parameters, functioning just like they do in the dialog Action IfValGoTo.

I figure this should be handy for offering character commentary on certain MacGuffin-collecting side quests, or for offering more dynamic character relationships. (Random potential usage: maybe someone on your team makes a sarcastic comment if you collect too many flowers on maps throughout the game.)


With all the XML use, you might consider creating some schema files to actually validate all the XML if you haven't already.

I've been considering that, though I haven't ever seen an example of what that would look like, so I haven't attempted it yet.
Logged

Craig Stern
Level 10
*****


I'm not actually all that stern.


View Profile WWW
« Reply #764 on: February 02, 2013, 07:33:21 PM »

More updates! You can now trigger dialog based on the destruction of a certain class of destructible object. This is handled with the preexisting OnCharDeath trigger, but the trigger parameters are a little different than with dialog triggered by a named character's death.

Named character death dialog is handled like this:

Code:
OnCharDeath/-1,Garrett the Impaler

Which looks like this in an actual dialog branch:

Code:
<Dialog>OnCharDeath/-1,Garrett the Impaler/Garrett the Impaler/...ugh...b-blast.-NEWLINE-[He crumples to the ground.]
<Reply>.../NewBranch/1</Reply></Dialog>

But what if you want dialog triggered by the destruction of a certain type of object? Easy! Just use None for the name parameter, then add a third parameter with the character's class name:

Code:
OnCharDeath/-1,None,Chair

And in context:

Code:
<Dialog>OnCharDeath/-1,None,Chair/Emma Strider/AGH! Take that, you stupid chair!!!!
<Reply>.../NewBranch/1</Reply></Dialog>

So basically: instead of triggering with something like OnCharDeath/-1,NAME, we use the format OnCharDeath/-1,None,CLASSNAME; easy peasy!


I've also added in a couple of new dialog Actions: RemoveFromCoords and FlushDeathQueue.

The second of these Actions, FlushDeathQueue, is specifically meant for use with OnCharDeath. The game won't actually kill any characters whose deaths trigger dialog--you have to do that manually at the end of the conversation. KillChar and RemoveChar work based on a character's name, which is (of course) only helpful for removing characters with unique names. FlushDeathQueue will just automatically remove everyone who is dead, named character, destructible object, or otherwise. (Just make sure that whatever you're removing isn't going to have any lines of dialog afterwards!)

The first of these Actions, RemoveFromCoords, is also meant for getting rid of stuff without a unique name. If you want to trigger the removal of a door or the opening of a secret passage through a wall, this would be the Action you want. Wink
Logged

deadlyhabit
Level 0
**


View Profile
« Reply #765 on: February 03, 2013, 05:30:24 AM »

I'm amped to get my hands on the editor almost as much as the full game itself.
Logged
Craig Stern
Level 10
*****


I'm not actually all that stern.


View Profile WWW
« Reply #766 on: February 03, 2013, 10:55:36 AM »

Thanks! I know I'm looking forward to getting it out in the hands of players. Wink

So, I've added a few new things:

A TeachAttack action. This has two parameters--the name of a character, and the name of an attack--and it does exactly what it sounds like it does. The character gains the attack permanently.

A TeachAttackTemp action. It's the same as TeachAttack, but the attack granted only lasts until the end of the battle. (Good if you want to simulate the temporary effects of equipping an orb or somesuch.)

A NewScene reply parameter that lets you move directly to a scene of your choice. (NextScene, by contrast, instead moves to the default scene defined by the nextbattle attribute for that map.) I had forgotten this before, but luckily it took only a few minutes to stick in!


Right now, I'm going back through everything and documenting the various triggers, actions, and reply options in the game manual. There is a lot of stuff to document here, so this is probably going to take a few hours...
Logged

Gregg Williams
Level 10
*****


Retromite code daemon


View Profile WWW
« Reply #767 on: February 03, 2013, 11:17:41 AM »

Are the teach commands limited somehow, or is every character, going to be animated for every attack in the game?

Also I wonder if something like "JumpToScene" might be clearer than "NewScene" which could be confused with trying to create a scene possibly.

Logged

Craig Stern
Level 10
*****


I'm not actually all that stern.


View Profile WWW
« Reply #768 on: February 03, 2013, 11:50:54 AM »

No limitations! The plan is to have characters use a "default" attack animation for attacks they don't have specific animations for. (For instance, if a swordsman learns Pyro Blast, she'll just use the normal sword swing animation and the game will spawn a fireball projectile anyway.)

I think I'll be sticking with the NewScene nomenclature for now in the interests of keeping it consistent with NewBranch, but I'll change it if it turns out that people get confused.
Logged

Craig Stern
Level 10
*****


I'm not actually all that stern.


View Profile WWW
« Reply #769 on: February 04, 2013, 06:38:32 AM »

All right! More updates.

-- Duplicate and Delete now function properly in the Dialog Editor, so it's easy to create lots of similar branches and delete unwanted ones.

-- I fixed a bug with the RecruitChar and DismissChar dialog actions; you can now easily gain (and lose) characters from your army via dialog.

--I also went ahead and documented every trigger, reply option and script action in the game (complete with explanations of the parameters each uses and usage examples) in the Modding section of the game manual. This is important for supporting modding by the community, of course, but it's also helpful for me, because it was starting to get to the point that I couldn't keep the details my own framework straight!

With the Dialog Editor done and the various intricacies of the dialog / scripting system now exhaustively detailed, there's just one last bit of clean-up to do: make the map editor organize all the various conversation branches in a human-readable order when all the editing is said and done and it's time to save out an XML file.

Once I finish that, it'll be time for me to turn my sights back on the game's AI. I have two big goals there for this month: (1) finish the defensive routine I started wherein characters try to avoid spaces they can be attacked on, and (2) make enemies intelligently attack obstacles preventing them from reaching the player (e.g. player barricades). This will be challenging, but I think it'll be worth it!
Logged

Craig Stern
Level 10
*****


I'm not actually all that stern.


View Profile WWW
« Reply #770 on: February 04, 2013, 04:10:13 PM »

All right! The dialog editor is now complete. Wink

Next step: finish the defensive AI routine...
Logged

Craig Stern
Level 10
*****


I'm not actually all that stern.


View Profile WWW
« Reply #771 on: February 05, 2013, 06:47:28 AM »

Spoke too soon; found a couple of bugs in the dialog editor that need fixing. Hopefully, I should get those ironed out today... Huh?
Logged

Craig Stern
Level 10
*****


I'm not actually all that stern.


View Profile WWW
« Reply #772 on: February 06, 2013, 04:45:11 AM »

Okay! I fixed the dialog editor bugs, and made a video showing it off (along with some of the nearly infinite possibilities of the Telepath Tactics dialog / scripting system). Check it out:

http://youtu.be/mx7zbkKcZq4?hd=1

In addition, I've improved the map editor's eyedropper tool. Previously, it only supported selection of tiles. Now, when editing characters, right-clicking a space will instead select that space's character for duplication; when editing objects, right-clicking will eyedrop the object on a space; and when editing elevations, the eyedropper will select the space's elevation. Just a little feature to speed things up during editing. Smiley
Logged

Gregg Williams
Level 10
*****


Retromite code daemon


View Profile WWW
« Reply #773 on: February 06, 2013, 05:15:56 AM »

Dialog editor looks to indeed have a nice feature set.

Couple of suggestions towards accessibility and overall friendliness.

1. Make the trigger/action boxes, drop down lists of the available triggers and actions. You can't define custom ones from what I see, so why require people to memorize the names and type them in? Also what happens if you make a typo?

2. If the above was to be added, perhaps also add a mouse hover tool tip, so that you can have a tool tip show that is the description of the currently selected trigger or action, depending on which is hovered over.

Anyways might not be worth the effort, not sure how hard that is to do flash, but I do believe it would be valued. No one wants to in general have to look at a manual Smiley
Logged

Craig Stern
Level 10
*****


I'm not actually all that stern.


View Profile WWW
« Reply #774 on: February 06, 2013, 07:10:01 AM »

Thanks! I've thought of both of those things; I think they'd be good to add (particularly the drop-down lists), but I want to wait until I feel fairly certain that I've added all of the triggers and script actions I'm going to use before I do that. I don't want to have to go into the map editor and make changes every time I add new functionality to the game's scripting system, ya know? Wink
Logged

Gregg Williams
Level 10
*****


Retromite code daemon


View Profile WWW
« Reply #775 on: February 06, 2013, 07:43:16 AM »

Thanks! I've thought of both of those things; I think they'd be good to add (particularly the drop-down lists), but I want to wait until I feel fairly certain that I've added all of the triggers and script actions I'm going to use before I do that. I don't want to have to go into the map editor and make changes every time I add new functionality to the game's scripting system, ya know? Wink

You use XML for everything else, you should populate the drop down boxes, and tool tips from XML as well Smiley
Logged

Craig Stern
Level 10
*****


I'm not actually all that stern.


View Profile WWW
« Reply #776 on: February 07, 2013, 05:45:19 AM »

Finished up the eyedropper functionality, fixed a couple of bugs, added a couple of minor features:

--text scrolling scenes now have an indicator that you can left-click to speed it up
--left-clicking now speeds up the text even more
--the map editor now visually displays whatever editing mode you last selected)

You use XML for everything else, you should populate the drop down boxes, and tool tips from XML as well Smiley

I mean, it's not that it'd be hard to add a string into the code either--the map editor is a small file that compiles in seconds. The actual step is simple; it's more a matter of not adding extra steps for me to have to remember to do weeks from now in the first place. Less room for human error that way. Wink
Logged

Craig Stern
Level 10
*****


I'm not actually all that stern.


View Profile WWW
« Reply #777 on: February 08, 2013, 11:21:33 AM »

I'm having another Telepath Tactics playtesting party tonight! In anticipation of this, I created a new multiplayer map, "Cone of Cold"--the first 3-player map in the game.



Not entirely coincidentally, I also expanded the Snow tileset with a few new tiles after I noticed some gaps.
Logged

Craig Stern
Level 10
*****


I'm not actually all that stern.


View Profile WWW
« Reply #778 on: February 11, 2013, 04:25:15 PM »

I'll have a longer update in the morning, but for now: let's just say that I've added something very exciting into the game. Wink
Logged

deadlyhabit
Level 0
**


View Profile
« Reply #779 on: February 11, 2013, 07:52:25 PM »

I'll have a longer update in the morning, but for now: let's just say that I've added something very exciting into the game. Wink
A hat shop?  Gentleman
Logged
Pages: 1 ... 37 38 [39] 40 41
Print
Jump to:  

Theme orange-lt created by panic