HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

Conversation System - Likes / Dislikes

07-01-2008, 07:46 PM#1
Captain Griffen
Basically, I want people to test this demo map, and tell me what they think of the system(s). Basically, it's two conversations, one after another. You can use the arrow keys for conversation choices, and the escape key to skip what's currently being said, instantly (or you can wait it out).

As fas as I can tell, it workless seemlessly and actually works quite well as a design, but I need other people's opinions on it as well. The more detailed critique, the better.

(Some of you might recognise the demo map, but I've encorporated some new systems and made it sleeker overall. CG Convo is actually now an outdated name; should be CG TransConvo or something.)

If you need any real enticement, it's funny, and very short.

Cookies are available for helping.
Attached Files
File type: w3xCGConvo New.w3x (34.0 KB)
07-01-2008, 07:55 PM#2
DevilAsh
I like it, although I think that the text could be somewhat better placed.

I also think that you'll have problems with the environment, as you can see for long distances, etc. By that, I mean you can see Jana in this cinematic when you're talking to the ghoul.

That's not a big problem in this, I know, but if some map maker was to use this, then it could be.
07-01-2008, 08:17 PM#3
Here-b-Trollz
It's nice, just like last time, but it seems to me that waits are lame. This requires that a trigger fires your conversation. If this were a pure jass system (although it feels like it's meant for GUI...), it'd probably be best to do:

Collapse JASS:
//Empties out the current conversation
function ClearConvo takes nothing returns nothing

//This sets up the current convo, adding a choice displayed as 'name', that, when the player presses the appropriate key, 
//has the current hero say 'say', the sound 'play' is played, and, once the sound either finishes or ESC is pressed, the
//callback 'caller' is called (where callback is a function interface or boolexpr or similar). Returns false if all five slots are full
function ConvoAddChoice takes string name, string say, callback caller, sound play returns boolean

//Displays all choices avaliable
function DisplayConvo takes nothing returns nothing

Oh, and about transmissions and such, well... I tend to take the OOP method:

Expand JASS:

So that making someone say something is as easy as <Charname>.say()

Granted, that method only really works linearly, but I believe OOP is the way to go. You already have the convo struct, so why not make it all use .syntax? I would *still* suggest using constant integers such as CHOICE_UP, CHOICE_RIGHT, CHOICE_ESC, if only for robustity ^^ And also a slight delay - it makes things more natural.

Nothing you haven't heard before. It works nice, and if you are happy with the interface then I wouldn't change it.
07-01-2008, 08:32 PM#4
Captain Griffen
Quote:
Originally Posted by Here-b-Trollz
It's nice, just like last time, but it seems to me that waits are lame. This requires that a trigger fires your conversation. If this were a pure jass system (although it feels like it's meant for GUI...), it'd probably be best to do:

It's meant for me. The coding method is in a style I like (KISS).

Quote:
Oh, and about transmissions and such, well... I tend to take the OOP method:

Expand JASS:

So that making someone say something is as easy as <Charname>.say()

Granted, that method only really works linearly, but I believe OOP is the way to go. You already have the convo struct, so why not make it all use .syntax? I would *still* suggest using constant integers such as CHOICE_UP, CHOICE_RIGHT, CHOICE_ESC, if only for robustity ^^ And also a slight delay - it makes things more natural.

Nothing you haven't heard before. It works nice, and if you are happy with the interface then I wouldn't change it.

OOP isn't needed. The only reason why conversations are OO is because you might have multiple instances; I'm either going to remove the OO for that or extend it. OO shouldn't be used for the hell of it, but when you want it.

CHOICE_UP, CHOICE_RIGHT, etc, are too verbose; when I move to the next itineration of this before I actually start making stuff with it, I'll move to UP, DOWN, RIGHT, LEFT. And robustness isn't an issue, since if you mistype it, it just inserts it into the first one that is free, and you should really refer to them by indices.
07-01-2008, 08:44 PM#5
Nuclear Arbitor
with out even looking at it i have to say i HATE slowly scrolling text, i don't usually want to skip but i don't wanna waste time, a button which makes it all appear instantly would be very appreciated.
07-01-2008, 08:50 PM#6
Captain Griffen
Just press escape...? It only skips the current dialog, so you don't miss anything. I do believe, in my infinite wisdom, I even added in protect so you don't accidently skip the next one by pressing just as it changes, but I can't remember if I did.
07-01-2008, 09:29 PM#7
Here-b-Trollz
If this is for you only (which hell... I don't see the point of making a system taht you wouldn't use), then it's pretty much perfect for what it does. Seems a little clunky to me (lots of timer usage that is rather confusing to decipher), but it certainly does work just fine. I'm not completely sure why you included camera movement in the system... it seems like there will be instances when you might need to do something else with the camera.


So then my only relevant suggestions are with timing - sometimes things are worded in a way that people have to read through twice, but if things are auto-timed, then that can be an issue. So I'd say, if there is no voice over, the duration should be fairly long, or just infinite (only changes with ESC). That one is NOT a matter of taste. It is important to be able to continue the map at your leisure.
07-01-2008, 09:43 PM#8
Captain Griffen
Quote:
Originally Posted by Here-b-Trollz
If this is for you only (which hell... I don't see the point of making a system taht you wouldn't use), then it's pretty much perfect for what it does. Seems a little clunky to me (lots of timer usage that is rather confusing to decipher), but it certainly does work just fine. I'm not completely sure why you included camera movement in the system... it seems like there will be instances when you might need to do something else with the camera.

Indeed it is, really I'm just looking for what people think of the end result rather than the code.

As for the camera locking, that's because I have to enable user control for the arrow keys to work, which means I have to lock the camera (or it'd move).

Quote:
So then my only relevant suggestions are with timing - sometimes things are worded in a way that people have to read through twice, but if things are auto-timed, then that can be an issue. So I'd say, if there is no voice over, the duration should be fairly long, or just infinite (only changes with ESC). That one is NOT a matter of taste. It is important to be able to continue the map at your leisure.

The automatic cut off for most transmissions (those not explicitly TransmissionTimed) can be toggled on and off with a boolean already (it would be an option in game), while I'll probably have a variety of text speeds.
07-01-2008, 10:53 PM#9
Here-b-Trollz
I played through a second time and I have to say... the color of yellow '|cffaaaa00' is pretty gross. I understand you dont' want as bright a yellow as |cffffcc00, but this one is extremely dull... Try maybe shades or gray or light blue?

EDIT: it could have just been the background of sand... I hate sunken ruins sand.