The Official Golvellius Thread

Anything related in any way to game development as a whole is welcome here. Tell us about your game, grace us with your project, show us your new YouTube video, etc.

Moderator: PC Supremacists

User avatar
Falco Girgis
Elysian Shadows Team
Elysian Shadows Team
Posts: 10294
Joined: Thu May 20, 2004 2:04 pm
Current Project: Elysian Shadows
Favorite Gaming Platforms: Dreamcast, SNES, NES
Programming Language of Choice: C/++
Location: Studio Vorbis, AL
Contact:

Re: The Official Golvellius Thread

Post by Falco Girgis »

:shock:

Those are probably the sexiest moles that I have seen to date! I am still in love with how brutal looking the combat is. The moles burrow their asses around then throw a pebble at you. You waltz up to them and unleash hellish "epic" and "master" combos of 27 and 23 hits on their asses. ROFL.
User avatar
cypher1554R
Chaos Rift Demigod
Chaos Rift Demigod
Posts: 1124
Joined: Sun Jun 22, 2008 5:06 pm

Re: The Official Golvellius Thread

Post by cypher1554R »

Hah! :D It's funny how it looks like you just pull them out of the ground to kick their asses. xD

Excellent work ;)
User avatar
trufun202
Game Developer
Game Developer
Posts: 1105
Joined: Sun Sep 21, 2008 12:27 am
Location: Dallas, TX
Contact:

Re: The Official Golvellius Thread

Post by trufun202 »

Yeah, at times I think I may have strayed a bit too far from the original, with my crazy-ass combo system.

But...in the original, alot of time you have to go kill a million enemies to collect enough gold - so I might as well make that aspect of the game entertaining. :P
-Chris

YouTube | Twitter | Rad Raygun

“REAL ARTISTS SHIP” - Steve Jobs
User avatar
Falco Girgis
Elysian Shadows Team
Elysian Shadows Team
Posts: 10294
Joined: Thu May 20, 2004 2:04 pm
Current Project: Elysian Shadows
Favorite Gaming Platforms: Dreamcast, SNES, NES
Programming Language of Choice: C/++
Location: Studio Vorbis, AL
Contact:

Re: The Official Golvellius Thread

Post by Falco Girgis »

Yeah, I think that it is definitely an improvement over the original. You are making the core gameplay mechanics more fun.

By the way, I notice that TheNiceLordJ has found your channel. You must be doing something right. Keep up the good work!
User avatar
trufun202
Game Developer
Game Developer
Posts: 1105
Joined: Sun Sep 21, 2008 12:27 am
Location: Dallas, TX
Contact:

Re: The Official Golvellius Thread

Post by trufun202 »

GyroVorbis wrote:Yeah, I think that it is definitely an improvement over the original. You are making the core gameplay mechanics more fun.

By the way, I notice that TheNiceLordJ has found your channel. You must be doing something right. Keep up the good work!
Yeah, thanks for the heads up - zt0x has been banned.
-Chris

YouTube | Twitter | Rad Raygun

“REAL ARTISTS SHIP” - Steve Jobs
User avatar
MarauderIIC
Respected Programmer
Respected Programmer
Posts: 3406
Joined: Sat Jul 10, 2004 3:05 pm
Location: Maryland, USA

Re: The Official Golvellius Thread

Post by MarauderIIC »

Sweet :) Doesn't look very challenging yet though :)
I realized the moment I fell into the fissure that the book would not be destroyed as I had planned.
User avatar
trufun202
Game Developer
Game Developer
Posts: 1105
Joined: Sun Sep 21, 2008 12:27 am
Location: Dallas, TX
Contact:

Re: The Official Golvellius Thread

Post by trufun202 »

MarauderIIC wrote:Sweet :) Doesn't look very challenging yet though :)
lol, yeah, agreed.

Although those little bastards can be a pain if there are 3 or more going at once - then there's rocks flying everywhere.

I'll definitely need to makes some tweaks.
-Chris

YouTube | Twitter | Rad Raygun

“REAL ARTISTS SHIP” - Steve Jobs
XianForce
Chaos Rift Devotee
Chaos Rift Devotee
Posts: 767
Joined: Wed Oct 29, 2008 8:36 pm

Re: The Official Golvellius Thread

Post by XianForce »

trufun202 wrote:These little guys are kinda cool to watch. When I first got them into the game, I just sat there and watched them for a while. Then when they started throwing shit, they had to die. :lol:
Lol, I was Roflmao after that one :lol:
User avatar
Falco Girgis
Elysian Shadows Team
Elysian Shadows Team
Posts: 10294
Joined: Thu May 20, 2004 2:04 pm
Current Project: Elysian Shadows
Favorite Gaming Platforms: Dreamcast, SNES, NES
Programming Language of Choice: C/++
Location: Studio Vorbis, AL
Contact:

Re: The Official Golvellius Thread

Post by Falco Girgis »

I'm just curious, how do you plan to implement saving/death? Are there going to be savepoints and dying brings you to the last one?

Are you going to save from a menu and dying takes you back to a certain starting point with less money or something?

I am sure that these are things that are completely irrelevant until far in the future, but I was wondering if you had given them any thought. Those are some things that we had been thinking about with ES (also irrelevantly far in the future at this point).
User avatar
trufun202
Game Developer
Game Developer
Posts: 1105
Joined: Sun Sep 21, 2008 12:27 am
Location: Dallas, TX
Contact:

Re: The Official Golvellius Thread

Post by trufun202 »

GyroVorbis wrote:I'm just curious, how do you plan to implement saving/death? Are there going to be savepoints and dying brings you to the last one?

Are you going to save from a menu and dying takes you back to a certain starting point with less money or something?

I am sure that these are things that are completely irrelevant until far in the future, but I was wondering if you had given them any thought. Those are some things that we had been thinking about with ES (also irrelevantly far in the future at this point).
Saving from a gameplay perspective or the technical implementation? I guess I'll answer both:

Gameplay wise:
In the original, you had to visit this chick named "Winkle" who would give you a password. I plan on having the player visit her to save. Although, I really like how Zelda lets you save at any time, as long as you're not in a dungeon. So I may build something into the story where you can channel "Winkle" and save - but communications would fail while inside a dungeon.

Technical Implementation:
I know what I want to do, but I've only done it in C#, not C++. Object Serialization.

Essentially my game state will be "shrink-wrapped," or serialized to XML, whenever the player saves the game. The game state and corresponding objects, parameters, etc. will be stored in XML and can then be deserialized to restore a saved game.
-Chris

YouTube | Twitter | Rad Raygun

“REAL ARTISTS SHIP” - Steve Jobs
User avatar
Falco Girgis
Elysian Shadows Team
Elysian Shadows Team
Posts: 10294
Joined: Thu May 20, 2004 2:04 pm
Current Project: Elysian Shadows
Favorite Gaming Platforms: Dreamcast, SNES, NES
Programming Language of Choice: C/++
Location: Studio Vorbis, AL
Contact:

Re: The Official Golvellius Thread

Post by Falco Girgis »

Ah, I gotcha. You covered pretty much everything that I was curious about.

I am not really familiar with the process of "object serialization," but it sounds pretty much like the approach that I would like to take. I will have to do some homework and read up on how to handle that (when the time comes).

Oh, and I am seriously going to play Golvellius. I have been thinking about it for awhile now. I burned a Sega Master System/GameGear emulator for my Dreamcast with Golvellius on there, and I'm going to get started whenever I find the time.
User avatar
trufun202
Game Developer
Game Developer
Posts: 1105
Joined: Sun Sep 21, 2008 12:27 am
Location: Dallas, TX
Contact:

Re: The Official Golvellius Thread

Post by trufun202 »

GyroVorbis wrote:Ah, I gotcha. You covered pretty much everything that I was curious about.

I am not really familiar with the process of "object serialization," but it sounds pretty much like the approach that I would like to take. I will have to do some homework and read up on how to handle that (when the time comes).

Oh, and I am seriously going to play Golvellius. I have been thinking about it for awhile now. I burned a Sega Master System/GameGear emulator for my Dreamcast with Golvellius on there, and I'm going to get started whenever I find the time.
lol, nice, I hope you like it. I actually started playing through the original again last night. It had been a while, so want to play through it again and keep myself in check.

And I think you'll like object serialization - its a nifty concept. Essentially you're taking something that's in memory and dropping it to disk. Then you can pick it up from disk and reinstantiate it in memory.
-Chris

YouTube | Twitter | Rad Raygun

“REAL ARTISTS SHIP” - Steve Jobs
User avatar
trufun202
Game Developer
Game Developer
Posts: 1105
Joined: Sun Sep 21, 2008 12:27 am
Location: Dallas, TX
Contact:

Re: The Official Golvellius Thread

Post by trufun202 »

This question is primarily focused at Falco or Marauder - but anyone who wants to chime in, feel free.

I've been thinking about how I want to implement menu-driven conversations - such as approaching a merchant, having a textbox popup, then a menu with a list of options. I'm thinking of something similar to what Falco described in Chapter 13-2, but rather than "@labelname" I would specify a Lua function to execute.

So, in Lua, to create a menu-driven conversation would go something like:

Code: Select all

convo = CreateConversation("Do you want a beer?")
convo:AddOption("Yes", "GiveBeer")
convo:AddOption("No", "GotoHell")
convo:Show()
Now, the engine will display a textbox with "Do you want a beer?" along with a menu with all of the available options. When the user selects an option, the engine makes a call back into Lua with the corresponding method. This way, I can have Lua continue the conversation, modify the inventory, etc.

What do you guys think? Feel free to poke holes in my design and ridicule as needed.
-Chris

YouTube | Twitter | Rad Raygun

“REAL ARTISTS SHIP” - Steve Jobs
User avatar
MarauderIIC
Respected Programmer
Respected Programmer
Posts: 3406
Joined: Sat Jul 10, 2004 3:05 pm
Location: Maryland, USA

Re: The Official Golvellius Thread

Post by MarauderIIC »

So every conversation is a lua script in itself? Neat. Seems a bit much in the way of typing things, though. On the other hand, it'd be a simple matter to make the conversation execute other functions, such as start shopping or hurt the player (this is something that we currently don't support!)

You'll want something to generate them for you I think, though, since otherwise it's a lot of typing the same stuff.
I realized the moment I fell into the fissure that the book would not be destroyed as I had planned.
User avatar
Falco Girgis
Elysian Shadows Team
Elysian Shadows Team
Posts: 10294
Joined: Thu May 20, 2004 2:04 pm
Current Project: Elysian Shadows
Favorite Gaming Platforms: Dreamcast, SNES, NES
Programming Language of Choice: C/++
Location: Studio Vorbis, AL
Contact:

Re: The Official Golvellius Thread

Post by Falco Girgis »

Okay, before I say anything. I would like to note that I haven't actually implemented Lua/Textbox communication, but it's my second highest priority at the moment. Hopefully I may even get around to this tonight.

Here is the plan. I plan to have the conversations loaded from text files (generated by some sort of utility (that I'll make Peter make)). The reason for this is because it would be a pain in the ass (imho) to write entire conversations with nothing but Lua. Especially when there might be completely normal NPCs that don't need any sort of special Lua logic or AI. You can do their entire conversation in the editor.

A complex NPC might have this text file:

Code: Select all

@progress1
Wow, you aren't very far at all in this game.
I recommend that you quit failing at life.
Or at least go grind for an hour.
@progress2
I see that you suck slightly less.
You got a little better at the game,
but you still have a long way to go.
@progress3
Oh wow! You are totally kicking
this game's ass! I tell you what, homeboy.
Since you have 10 potions, I have a surprise for you.
:Accept:@accept
:Decline:@decline
@accept:TakeHP
For your hard work and effort put into this 
game, I would like to reward you by
taking your HP, dumbass.
@decline
Oh, suit yourself, prick.
[blank]
[blank]
@hit:LuaMethodName
OUCH, THAT HURT, ASSHOLE!!
[blank]
[blank]
Now we have a more complicated NPC scenario. Each NPC can have a Talk() method that gets invoked by the engine when you try to speak to the NPC. It might look something like this:

Code: Select all

function Talk()
    if player.progress == 1 then PopTextBox("progress1")
    else if player.progress == 2 then PopTextBox("progress2")
    else if player.progress == 3 and inven:getAmount("potion") == 10 then PopTextBox("progress3") end
end
Now, when you try to talk to the NPC, you can go to a certain label depending on whatever scenario you want. If they have so much money, if their health is this low, if whoever is in their party, etc. You are passing the label to the textbox, which goes to that label.

You have this:

Code: Select all

@accept:TakeHP
For your hard work and effort put into this 
game, I would like to reward you by
taking your HP, dumbass.
for when you want the engine to call Lua based on some sort of textbox input or something. When the textbox displays the "accept" label, it also calls TakeHP(), which hurts the player.

Then you also have special labels that don't get seen under regular conditions. For example:

Code: Select all

@hit
OUCH, THAT HURT, ASSHOLE!!
[blank]
[blank]
This isn't displayed unless a special event calls that label. I would have something like this in the NPC's Lua file:

Code: Select all

if PLAYER_SMACKS_NPC_WITH_ITEM then
    PopTextBox("hit") --bitch the player out
   ---Enqueue some sort of logic for the NPC to throw the item back
   --Or respond to the player's stimulus.
Now we have conversations for the NPC responding to an item being thrown at them. If they are hit by one, the textbox displays at the "hit" label (which is the NPC bitching at the player), then some sort of logic for the NPC's response to the stimulus is performed.

MarauderIIC is currently working on our NPC action queue, so that isn't quite implemented yet either, but the logic is still the same.

I prefer this method for the textbox because it's powerful as the textbox can call certain Lua methods based on the label, and a conversation can be started anywhere in the NPC's script by any stimulus (talking, being hit by something, being in its general vicinity, etc).

But again, I haven't implemented the actual Lua/Textbox interaction yet. I had sat down and planned the scenario out, and I'm pretty sure it would work nicely. If you see anything stupid or have a better idea, let me know.
Post Reply