Putting the 'role' back in role-playing games since 2002.
Donate to Codex
Good Old Games
  • Welcome to rpgcodex.net, a site dedicated to discussing computer based role-playing games in a free and open fashion. We're less strict than other forums, but please refer to the rules.

    "This message is awaiting moderator approval": All new users must pass through our moderation queue before they will be able to post normally. Until your account has "passed" your posts will only be visible to yourself (and moderators) until they are approved. Give us a week to get around to approving / deleting / ignoring your mundane opinion on crap before hassling us about it. Once you have passed the moderation period (think of it as a test), you will be able to post normally, just like all the other retards.

Vapourware Codexian Game Development Thread

barker_s

Cipher
Patron
Joined
Mar 1, 2007
Messages
812
Location
Poland
Codex 2016 - The Age of Grimoire Grab the Codex by the pussy RPG Wokedex Strap Yourselves In Codex Year of the Donut
Learning as you go means a lot of going back and reworking what you've already done. Here's the third iteration of my vents - I think I'm finally getting somewhere with it.

 

zwanzig_zwoelf

Graverobber Foundation
Developer
Joined
Nov 21, 2015
Messages
3,181
Location
デゼニランド
Did a bunch of small tracks for my game. Here's one of them. Currently looking for a more or less competent local character artist, since character art is a 'no go' for me right now, and I'd like to focus on the 'coding' part right now (character systems, combat, etc) to have some sort of a dirty alpha demo sometime next year.


welcome back ZZ
Thanks. Good to see you again too, Zed. I missed your random art stuff.
 

Alchemist

Arcane
Joined
Jun 3, 2013
Messages
1,439
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:
1tFPVIt.gif

Sorry for the long load time - I should really get a Youtube set up for this stuff.
 

Alchemist

Arcane
Joined
Jun 3, 2013
Messages
1,439
My blobber is starting to take shape. Got my grid-based movement controls sorted out.
Smooth, man.
Do you have collision and stuffies implemented already?
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.
 

zwanzig_zwoelf

Graverobber Foundation
Developer
Joined
Nov 21, 2015
Messages
3,181
Location
デゼニランド
My blobber is starting to take shape. Got my grid-based movement controls sorted out.
Smooth, man.
Do you have collision and stuffies implemented already?
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.
Brotip: raycasting is a good choice, especially if you want to add doors/staircases/shit like that.
 

Zed

Codex Staff
Patron
Staff Member
Joined
Oct 21, 2002
Messages
17,068
Codex USB, 2014
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.

xjWQpPe.jpg


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.
 

DavidBVal

4 Dimension Games
Patron
Developer
Joined
Aug 27, 2015
Messages
3,044
Location
Madrid
PC RPG Website of the Year, 2015 Codex 2016 - The Age of Grimoire Make the Codex Great Again! Grab the Codex by the pussy Insert Title Here RPG Wokedex Strap Yourselves In Codex Year of the Donut Codex+ Now Streaming! Enjoy the Revolution! Another revolution around the sun that is. Pathfinder: Wrath
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.

That's how I'm doing it right now, one file per conversation.

In agree, XML or a database is not worth it until you are willing to invest time and effort in an editor, because it's so easy to just work with a tab delimited file and just see it in excel, and edit it...

This is how one of my conversation files look when I open it in excel. Very convenient and comfortable to work with

dciRx.jpg
 

shihonage

Second Variety Games
Patron
Developer
Joined
Jan 10, 2008
Messages
7,199
Location
United States Of Azebarjan
Bubbles In Memoria
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.
 

DavidBVal

4 Dimension Games
Patron
Developer
Joined
Aug 27, 2015
Messages
3,044
Location
Madrid
PC RPG Website of the Year, 2015 Codex 2016 - The Age of Grimoire Make the Codex Great Again! Grab the Codex by the pussy Insert Title Here RPG Wokedex Strap Yourselves In Codex Year of the Donut Codex+ Now Streaming! Enjoy the Revolution! Another revolution around the sun that is. Pathfinder: Wrath
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.
 

shihonage

Second Variety Games
Patron
Developer
Joined
Jan 10, 2008
Messages
7,199
Location
United States Of Azebarjan
Bubbles In Memoria
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?
 

DavidBVal

4 Dimension Games
Patron
Developer
Joined
Aug 27, 2015
Messages
3,044
Location
Madrid
PC RPG Website of the Year, 2015 Codex 2016 - The Age of Grimoire Make the Codex Great Again! Grab the Codex by the pussy Insert Title Here RPG Wokedex Strap Yourselves In Codex Year of the Donut Codex+ Now Streaming! Enjoy the Revolution! Another revolution around the sun that is. Pathfinder: Wrath
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?

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.

In the example I posted, there are many lines with index=1, which marks the conversation beginning. If the first one does not meet one of the conditions, it is skipped to the next with the same index. check the screenshot, the NPC will only say that first line starting with "what in the name of.." line if player has the item 2503, and the variable "goblin_hunt3" has a value of 50. If not, it checks the next. Of course it's the scripter's responsibility that all posibilities are covered.

There's also a column with actions, which in case the line is selected by the player, are activated. This typically changes game variables.

as you can see, in the second column, there's either a Q (for "question", meaning it's the NPC talking) or an A (meaning a possible answer). Answers also have conditions that make them visible or not, and actions if you choose them.

I've actions for all kind of things, even for switching to another talker, making possible conversations with 3+ people.
 

vonAchdorf

Arcane
Joined
Sep 20, 2014
Messages
13,465
My blobber is starting to take shape. Got my grid-based movement controls sorted out.
Smooth, man.
Do you have collision and stuffies implemented already?
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.
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.
 

shihonage

Second Variety Games
Patron
Developer
Joined
Jan 10, 2008
Messages
7,199
Location
United States Of Azebarjan
Bubbles In Memoria
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.

It's not about whether it CAN do anything, but whether YOU are already handling these kind of scenarios without getting lost in dependency-tracking nightmare and wasting tons of time on maintenance.

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. But hey, up to you.
 

DavidBVal

4 Dimension Games
Patron
Developer
Joined
Aug 27, 2015
Messages
3,044
Location
Madrid
PC RPG Website of the Year, 2015 Codex 2016 - The Age of Grimoire Make the Codex Great Again! Grab the Codex by the pussy Insert Title Here RPG Wokedex Strap Yourselves In Codex Year of the Donut Codex+ Now Streaming! Enjoy the Revolution! Another revolution around the sun that is. Pathfinder: Wrath
Of course, you are giving me the right advice, which I appreciate. Should have done it at the beginning but you know how are these things... :P I have regretted it a few times, but it's not as nightmarish or buggy as it sounds.

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.

Not really, the editor will work with these same files: in the game I already have the code that parses that whole file into an object of the Conversation class, I just need to make an UI to alter it, maybe presented in a pretty tree, and then save it again.
 

Zed

Codex Staff
Patron
Staff Member
Joined
Oct 21, 2002
Messages
17,068
Codex USB, 2014
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 shall tackle that beast today.
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...
 

Alchemist

Arcane
Joined
Jun 3, 2013
Messages
1,439
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.
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.
 

Jonny Ree

Bouncyrock Entertainment
Developer
Joined
Nov 15, 2015
Messages
47
Location
Norway
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:
1tFPVIt.gif

Sorry for the long load time - I should really get a Youtube set up for this stuff.

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 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.

xjWQpPe.jpg


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.

Congrats! Text format looking pretty good. I've usually started on the editor side while figuring out the data-structure, which is most likely a mistake. Although I would quickly see the benefit of creating an editor as someone else mentioned.
Does Multimedia Fusion support Editor extensions sort of like Unity?
 

Alchemist

Arcane
Joined
Jun 3, 2013
Messages
1,439
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)
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.

And yeah - I'm a visual artist by trade so it's easy for me to get carried away making the visuals before getting much done with the coding and game design. Indeed I find the vector look very appealing in a retro way. I started gaming in the early 80's so it reminds me of old arcade games like Tempest and Star Wars. That definitely makes it fun to work with, even if it's just primitive shapes. Heck, I've even toyed with the idea of making the final game in that vector style. Still deciding on art style but it definitely won't be photo-realistic.
 

DavidBVal

4 Dimension Games
Patron
Developer
Joined
Aug 27, 2015
Messages
3,044
Location
Madrid
PC RPG Website of the Year, 2015 Codex 2016 - The Age of Grimoire Make the Codex Great Again! Grab the Codex by the pussy Insert Title Here RPG Wokedex Strap Yourselves In Codex Year of the Donut Codex+ Now Streaming! Enjoy the Revolution! Another revolution around the sun that is. Pathfinder: Wrath
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 shall tackle that beast today.
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...

I recommend using a 0-100 integer for quest progress, not a boolean, because a quest can typically have many states.
 

Zed

Codex Staff
Patron
Staff Member
Joined
Oct 21, 2002
Messages
17,068
Codex USB, 2014
Does Multimedia Fusion support Editor extensions sort of like Unity?
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.

As for creating an editor... Yeah, I think it would be possible do create on in MMF actually.
 

Jaesun

Fabulous Ex-Moderator
Patron
Joined
May 14, 2004
Messages
37,479
Location
Seattle, WA USA
MCA Dead State Divinity: Original Sin Project: Eternity Torment: Tides of Numenera Shadorwun: Hong Kong Divinity: Original Sin 2 BattleTech
I recommend using a 0-100 integer for quest progress, not a boolean, because a quest can typically have many states.

Yeah, that's how the Gold Box Games handle quests. For example, in Forgotten Realms: Unlimited Adventures, Quests #1 to #44 all have a default value of 0 (meaning the player has NOT received that quest yet, useful to checking if a player is currently on a quest). And then each quest can be increased by 1-99 (a value of 1 means they HAVE received that quest) and up to 99. Such as, Quest #1 means the player needs to find the 4 magic items. A value of 1 means they have accepted the quest, and then increment the quest value by 1, to indicate how many of the items they have found. When Quest #1 has a value of 5, they have found all 4 items.

Very useful for basic rpg QUEST functions. Provided you document the value of each of the quests clearly.
 

As an Amazon Associate, rpgcodex.net earns from qualifying purchases.
Back
Top Bottom