Thanks. Good to see you again too, Zed. I missed your random art stuff.welcome back ZZ
Smooth, man.My blobber is starting to take shape. Got my grid-based movement controls sorted out.
Thanks! Nope no collisions yet - I only just finished working out the scripting for basic movement this morning. Collisions will come soon, once I decide on my tile structure. Still a little up in the air about that.Smooth, man.My blobber is starting to take shape. Got my grid-based movement controls sorted out.
Do you have collision and stuffies implemented already?
Brotip: raycasting is a good choice, especially if you want to add doors/staircases/shit like that.Thanks! Nope no collisions yet - I only just finished working out the scripting for basic movement this morning. Collisions will come soon, once I decide on my tile structure. Still a little up in the air about that.Smooth, man.My blobber is starting to take shape. Got my grid-based movement controls sorted out.
Do you have collision and stuffies implemented already?
I finally managed to make a conversation system out of INI files. Pretty versatile in that I can add different checks and so on. It also replaces a token char (%) with character name.
I tried using XML first but there wasn't any good parser for Multimedia Fusion. The INI parser is fast tho, and it has some nifty stuff like /n for new lines.
The downside is that I will probably need to use one file for each NPC/conversation, but perhaps that's beneficial.
Well, I'll make the editor eventually, but it'll work internally with these same file formats, so it won't suppose a problem nor I'll have to redo them. Sure if I had done the editor from the beginning, JSON would have been the perfect choice, directly serialized into conversation objects. But this will do too, and allows me to work easily on a smaller scale.
You're right, the scripting has caused bugs in the past, but there's already 100+ conversations and 30 quests, I'm fine so far. Luckily I have good testers.
Does your scripting handle the scenario where the NPC has 2 quests he's supposed to give out in order (as a chain), but player didn't talk to the NPC at all, and accidentally completed quest #1 or #2 or both, and then finally talks to NPC, while having the required 10 boar hides on him?
Brotip: raycasting is a good choice, especially if you want to add doors/staircases/shit like that.Thanks! Nope no collisions yet - I only just finished working out the scripting for basic movement this morning. Collisions will come soon, once I decide on my tile structure. Still a little up in the air about that.Smooth, man.My blobber is starting to take shape. Got my grid-based movement controls sorted out.
Do you have collision and stuffies implemented already?
Yes, it can pretty much do anything. Each conversation line has a column for "conditions" that must be met, if not, that line is skipped to the next. In those conditions, I typically check for certain values on game variables.
I would advise writing an editor before too much data gets put into your current format. Because the editor will require its own data format.
I shall tackle that beast today.Conversations seem easy to script via text files, until you get to quests. That's when it all falls apart without an editor - in the debugging, maintenance, dependency tracking.
DavidBVal 's screenshot looks like he's already wading into that nightmare territory and Excel is about outlive its usefulness.
Thanks for the tips guys. The dungeon will be 3D with lots of interactive bits (doors, chests, altars, fountains, secret panels, etc...) so I think raycasting will be needed. The game is turn-based but I might make use of special physics effects at some point.Brotip: raycasting is a good choice, especially if you want to add doors/staircases/shit like that.
Yes. Though if it's strictly 2D and you don't want physics, an array with flags (walkable, blocked, etc.) might work as well.
My blobber is starting to take shape. Got my grid-based movement controls sorted out. Sticking to a wireframe / vector-ish display at least in the beginning, to stay focused on good gameplay / programming and not fiddling too much with art yet. This is in Unity 5 with the Vectrosity plugin for line rendering:
Sorry for the long load time - I should really get a Youtube set up for this stuff.
I finally managed to make a conversation system out of INI files. Pretty versatile in that I can add different checks and so on. It also replaces a token char (%) with character name.
I tried using XML first but there wasn't any good parser for Multimedia Fusion. The INI parser is fast tho, and it has some nifty stuff like /n for new lines.
The downside is that I will probably need to use one file for each NPC/conversation, but perhaps that's beneficial.
Thanks! For easing I'm just using some scripted Lerp functions (Vector3.Lerp for forward / backward, and Quaternion.Lerp for rotation). Nothing very elaborate, but as I'm quite amateur at programming (especially for 3D) it took me a bit to wrap my head around it, with lots of help from examples online. I'll be sure to check out AnimationCurves at some point - that sounds very useful for a variety of things. I haven't even touched the animation tools in Unity yet.This is looking very nice. I like the transitions. How are you handling the easing? I've been taking advantage of AnimationCurves a lot in unity as of late. Which works great especially when you know exactly what you're start and and point is going to be.
If you expose it in the inspector you can set it quite easily, although the curve editor can be rather problematic at times. The Benefit of using curves for both forward movement and even vertical movement (or Camera Roll?) might be that by switching out the curves based on the tiles
you're walking over or through you can drastically change the feel of your movement. Imagine waddling into a swamp, stepping over a body, or bouncing back when you hit a wall. Here is an example, although it's not very obvious as it wasn't meant to display this effect specifically (Old video).
But all I'm doing is switching out which Animation curve I'm using when moving towards a wall.
(Also turn down your audio. I apologize)
Video
Focusing on the feel before art is probably a great way to go. I tend to bring in artwork far too early for my own guard from "programmer art". The Vector effect does however still make it a lot more fun to look at which helps a whole lot while coding as well.
*brofist* (can't do the proper ones yet)
I shall tackle that beast today.Conversations seem easy to script via text files, until you get to quests. That's when it all falls apart without an editor - in the debugging, maintenance, dependency tracking.
DavidBVal 's screenshot looks like he's already wading into that nightmare territory and Excel is about outlive its usefulness.
I think I can solve it by doing something like
boolreq = 001
where 001 is an ID of a bool
and if it's true, just jump to another node specified under goto=4 where 4 is the new node
or something like that.
the same could be done for checking any sort of character stat or item in inventory.
not that I have an inventory yet...
Yeah. Reading INI is one extension, using tokens to replace text is another. I think it's possible to write your own extensions (in C++ I think) but I've never tried it.Does Multimedia Fusion support Editor extensions sort of like Unity?
I recommend using a 0-100 integer for quest progress, not a boolean, because a quest can typically have many states.