Been messing with this for a few hours, I think it looks nice. The script's pretty sloppy, though. It was one of those keep-chucking-****-in-as-you-go-along deals. Hell, it works and it looks nice, though! :P
Sample dialogue file, as you can see "-player" doesn't have to be defined as a character and displays the player:
DIALOGUE
-player: Ah, hello Bob.
Bob: Oh hey. How's it goin'?
-player: Just dandy.
Bob: I'll be on my way then.
Bob: Boy, don't you wish word wrapping worked correctly? I mean, I wish it only wrapped at the correct intervals to let words finish. I'd write a function myself, but I'm too lazy! Oh well..
-player: What?
Cheese!: BAAAAAAAAWH!!
-player: What..?
Bob: Run away!!! =(
DIALOGUEEND
And the script, it's in weapon form, but could easily be adopted as a class/DBNPC type deal. It's attached as a text file.
And a video because I get bored easily:
If you're interested as to why I make a video for everything I share (See other thread), it's because I like to share the kind of music I like to people subliminally.
Seriously, you have ****-all for content and you're not exactly pulling in new developer talent, angling for prestigious titles should be your last concern.
Could use the control GUI's, as they have built-in word-wrapping, and would also allow you to do some fancy scrolling(I disable the scrollbars and use scrollpos to build my own smooth scrolling).
Any intent to add anything more advanced, like player input(yes/no/maybe...)?
Also, most games store dialogue data clientside in a text file, as it's really not sensitive data(what harm is going to come of the player changing what an NPC says?). You could do this and probably simplify the loading.
Looks cool, but if I had to play a server and that popped up at regular intervals when interacting with npcs it would get quite annoying but that's just me.
Looks cool, but if I had to play a server and that popped up at regular intervals when interacting with npcs it would get quite annoying but that's just me.
I seriously think that this looks way better for NPC interaction, than using the default ways, such as the this.chat = "stuff"; variable and say2( "" );
If I ever get the motivation to start my own project, or if Mallow lets me on Final Star, I'd be totally changing the way players communicate with other players and NPCs. I hate how it's done in the default systems.
The idea was to allow player input and have dialogue trees, this is just over an hour of work or so. I might expand upon it, unsure at the moment.
Player input is already pretty much done, it's not much work in the first place, just a series of text files that reference other ones is what I would do. Could be conditional based on different variables the player has and whatnot, setting variables as well.
Also, I think this is loads better for dialog. You can even press M to skip, so people like you can be happy, or maybe press D to quickly advance it, like a say().
I had initially planned on using GUIControls, but I'm relatively old fashioned as far as Graal and GS2 goes and haven't done much with them, I usually do things manually with arrays, I feel more comfortable.
The animation looks stiff. Effects are what makes games cool, even if they are just small effects. If they look nice, they create a nice feeling. I suggest increasing the "speed" of the heads, or adding another form of movement to it (some kind of bounce? might look awkward).
*SlikRick: so should I even ask about your aim status?
*Xor: well if you want to
*Xor: but i am LARPING
*SlikRick: While on a computer?
*Xor: yes
*Xor: in my living room
*SlikRick: ahh
*Xor: i have a fort setup to hide from beasts
I love this idea but rather than having to keep typing the head filename and name, I think it'd be better to have some functions which defines an object for each participant of the conversation, which contains their specific attributes.
I thought of something like that, Abjorn, but figured it would be easier for LATs to handle it if it was stored in text files with a simple interface, could be done with an editor too.
The new format with trees would look something like this:
PHP Code:
CHARACTERS
"Bob" "head3.png"
CHARACTERSEND
DIALOGUE
LABEL choices
Bob: What should I do?
CHOICE "Go to label poop" line: poop
CHOICE "Load a new file" file: bloop.txt
CHOICE "End dialogue" line: end
LABEL poop
Bob: Ah, so you like poop!
-player: ummkay?
GOTO choices
LABEL end
DIALOGUEEND
Choices could be handled just as easily by sending back another array with corresponding choices, most likely parsed again by the server. Would be the easiest, in my opinion. Make have a SETVAR function to set player variables or a RUNFUNC function or something, dunno.