Page 4 of 17

Re: The Official Golvellius Thread

Posted: Wed Nov 12, 2008 1:38 am
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.

Re: The Official Golvellius Thread

Posted: Wed Nov 12, 2008 8:59 am
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 ;)

Re: The Official Golvellius Thread

Posted: Wed Nov 12, 2008 9:33 am
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

Re: The Official Golvellius Thread

Posted: Wed Nov 12, 2008 9:40 am
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!

Re: The Official Golvellius Thread

Posted: Wed Nov 12, 2008 9:46 am
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.

Re: The Official Golvellius Thread

Posted: Wed Nov 12, 2008 5:16 pm
by MarauderIIC
Sweet :) Doesn't look very challenging yet though :)

Re: The Official Golvellius Thread

Posted: Wed Nov 12, 2008 5:26 pm
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.

Re: The Official Golvellius Thread

Posted: Wed Nov 12, 2008 9:31 pm
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:

Re: The Official Golvellius Thread

Posted: Thu Nov 13, 2008 10:21 am
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).

Re: The Official Golvellius Thread

Posted: Thu Nov 13, 2008 11:08 am
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.

Re: The Official Golvellius Thread

Posted: Thu Nov 13, 2008 11:39 am
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.

Re: The Official Golvellius Thread

Posted: Thu Nov 13, 2008 1:25 pm
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.

Re: The Official Golvellius Thread

Posted: Fri Nov 14, 2008 5:25 pm
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.

Re: The Official Golvellius Thread

Posted: Fri Nov 14, 2008 6:00 pm
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.

Re: The Official Golvellius Thread

Posted: Fri Nov 14, 2008 8:01 pm
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.