[WIP] Hexen RPG

Projects that have specifically been abandoned or considered "dead" get moved here, so people will quit bumping them. If your project has wound up here and it should not be, contact a moderator to have it moved back to the land of the living.
User avatar
Dancso
Posts: 1906
Joined: Wed Oct 11, 2006 10:39 am
Location: at home.. Status: lazy like hell

Re: [WIP] Hexen RPG

Post by Dancso »

DoomRater wrote:Put AC on the equipment subscreen. in fact, make the full automap screen the inventory subscreen. I've never seen a mod do this but I think it would work great with the Diablo look you already have. Of course you will have to warn players that they only get an automap if they have the overlay turned on... but again that's how it worked in the Diablo games.
Nice idea, although why take away the traditional automap if I could just make a new keybind for a character screen?
Still, i'm willing to try and see how it plays, although I don't know how to check wether or not does the player have the traditional automap selected. I could make use of ACS features there, but unfortunately SBARINFO is a bit limited. :|

So far I was going to make it use the forward/backward move and use buttons to navigate through some menus.

About the AC... I was thinking I'd either use a constant protection powerup and switch them around on the player, or have no armor feature at all... It would suck to lose a rare but good armor due to its durability running out. (Also repairing would be only possible for custom levels made for the mod)

EDIT:
About the hotbar. I was thinking about the hotbar on the bottom of the screen, numbered 0-9 also - and = (with the exception of 0 and the -=s in my mod)
I gave it a quick thought and I think it's best If the player can bind spells/abilities to the weaponslots, then when he/she tries to use that slot, it would change the player's selected spell (just like if you had pressed an F[number] button in diablo) and then the spell could be cast with either a custom keybind or make an altfire for each weapon, which would quickly switch to a hackish spell weapon that automatically fires, then switches back to the previous weapon used.
User avatar
SoulCrow
Posts: 842
Joined: Wed Dec 12, 2007 10:45 am
Location: UK

Re: [WIP] Hexen RPG

Post by SoulCrow »

I really like the new HUD, looks very good.
User avatar
Dancso
Posts: 1906
Joined: Wed Oct 11, 2006 10:39 am
Location: at home.. Status: lazy like hell

Re: [WIP] Hexen RPG

Post by Dancso »

An update again. Been working on this in the past few days.
  • I began working on scaled weapon power. I have managed to make the players' weapons damage depend on their strength stat (for melee weapons) should do the same for spells and intellect later too, it should be trivial.
  • Scaled monsters are now working. Every monster has their own script run which regenerates their health and mana (a bit faster than players do, to keep up the challenge) they also will be able to cast spells, even more at higher levels.
  • Attributes given a basic value. Vitality now gives 9 maximum health each point, Intellect gives 9 max mana, regeneration for both is by vitality for health and willpower for mana. Strength deals (Strength*2+1) damage, agility gives 0.00135 speed each point, willpower and vitality gives (stat/3/35)health/mana per tic regeneration, which means a player with a stat of 105 vitality and/or willpower will gain one health/mana each tic. At an equal vitality setting (105 points) this means a 27 second total regeneration. All values need to be balanced, feel free to give advice.
  • New(possibly final?) spell/ability system confirmed. The player will have to set abilities to the weaponslots which will then set his/her selected spell, which then can be cast with the altfire button. For now it seems the player won't be able to use his/her regular weapon and an ability at the same time, but the abilities execute fast so it shouldn't be much of a problem.
  • Menu system base script done. The player will have one simple menu pop up from a custom keybind, which will have every type of options there will be. Viewing stats, assigning points, setting abilities to slots and whatever else there will be, the menu will use 3 buttons: move forward, move backward and the use buttons, stopping the player of any action while he does that, the menu can be quickly quit with the opening keybind if needed.
I'm working on the scaled xp system now. I've run into some trouble trying to figure out a good xp/level formulae, it must be based on the enemy's attributes and should be progressively be harder to level up. (It's a real pain in the butt to find a good formulae)

Ok so err, I need a good name for this mod. "Hexen RPG" is just too basic, "Haxen" sounds cheesy, "World of Hexen" makes me feel like a copycat... Anyone have some good ideas?
User avatar
The Ultimate DooMer
Posts: 2109
Joined: Tue Jul 15, 2003 5:29 pm
Location: Industrial Zone

Re: [WIP] Hexen RPG

Post by The Ultimate DooMer »

Dancso wrote:I have managed to make the players' weapons damage depend on their strength stat (for melee weapons) should do the same for spells and intellect later too, it should be trivial.
It would be trivial if projectiles had an equivalent of A_CustomPunch/Melee/Rail/ComboAttack...sadly they don't, and ACS_ExecuteWithResult can't be used with actor properties. (or I'd have monster projectiles that do damage based on level, the hacky alternatives are just too much hassle to implement for the number of mobs I have)
User avatar
DoomRater
Posts: 8270
Joined: Wed Jul 28, 2004 8:21 am
Preferred Pronouns: He/Him
Location: WATR HQ
Contact:

Re: [WIP] Hexen RPG

Post by DoomRater »

Dancso wrote:
  • New(possibly final?) spell/ability system confirmed. The player will have to set abilities to the weaponslots which will then set his/her selected spell, which then can be cast with the altfire button. For now it seems the player won't be able to use his/her regular weapon and an ability at the same time, but the abilities execute fast so it shouldn't be much of a problem.
What I did to get something like this working was to run a loop in the flash states. My Dual Glock weapon used this method to achieve a pair of guns that could fire and reload independently of each other.
User avatar
Dancso
Posts: 1906
Joined: Wed Oct 11, 2006 10:39 am
Location: at home.. Status: lazy like hell

Re: [WIP] Hexen RPG

Post by Dancso »

Hmm indeed I forgot missile attack functions didn't take a damage parameter. Still, i could do a few things:
1. make all projectiles damage with an explosion on hit. If I could somehow transfer some information from the caster into the projectiles i might be able to make it. A_SpawnItemEx might be helpful if I manage to make it behave like an actual attack.
2. Another I have in mind would be firing multiple projectiles at once with 1 damage, number of projectiles spawned depending on the damage I want there to be.
3. A third option would be a feature suggestion :P

About the flash state. I've never really used it, I don't quite know how does it work. I'll try playing around with it, though.

I'm still looking for a name for this ;)
User avatar
DoomRater
Posts: 8270
Joined: Wed Jul 28, 2004 8:21 am
Preferred Pronouns: He/Him
Location: WATR HQ
Contact:

Re: [WIP] Hexen RPG

Post by DoomRater »

The method isn't too straightforward, but the reason I wrote it was to help introduce the solution to other modders who might have need for the system. If you'd like to see the system in action, let me know.
User avatar
Dancso
Posts: 1906
Joined: Wed Oct 11, 2006 10:39 am
Location: at home.. Status: lazy like hell

Re: [WIP] Hexen RPG

Post by Dancso »

Sure thing, post it please. :)
User avatar
DoomRater
Posts: 8270
Joined: Wed Jul 28, 2004 8:21 am
Preferred Pronouns: He/Him
Location: WATR HQ
Contact:

Re: [WIP] Hexen RPG

Post by DoomRater »

(looks over his old submissions)

....augh, plus I broke my version somehow and hadn't had time to fix it. SCRATCH THAT I'm A NUBCAEK WHO THINKS HE'S 1337 RUNNING THREE MOUSE KEYBINDINGS

http://www.megaupload.com/?d=2DZQQ21A

Notice how the entire left gun is contained within the Flash state and run with inventory items
User avatar
Dancso
Posts: 1906
Joined: Wed Oct 11, 2006 10:39 am
Location: at home.. Status: lazy like hell

Re: [WIP] Hexen RPG

Post by Dancso »

Ok so I finally decided to have a look at it.
Amazing. Didn't know the flash state was so seperated from the actual weapon.

I'm going to give players the option to have a few/several custom keybinds for a few additional "quickslots"

For now it seems I might make two spellbars, quickly switchable between the two, both holding 4-5 abilities (so the player wont have to reach for that annoying 9 key to select his mana shield!)
It looks like the player will be able to cast spells while using his weapon, but will only be able to change his selected spell/ability when the weapon is ready (a_weaponready...) which might not be a bad problem I think :wink:

I have a hard time balancing it out, not even the attributes or their effects are near final. I might regret mentioning this now, but I might be in need of some testers later on. (not yet, anyone who's interested should just simply keep watching the topic, the subscribe to topic feature is there for a reason)

My next move will be making all the weapons and monsters scaled (even if unbalanced) and make the -only one weapon equipped at a time- system.

It would be nice to know if anyone's actually interested in this mod. My greatest source of motivation lies in feedback. :)
User avatar
Naniyue
Posts: 884
Joined: Fri Mar 13, 2009 8:06 pm

Re: [WIP] Hexen RPG

Post by Naniyue »

I'm interested in trying as many RPG mods as I can for the DooM family of games, so count me in for playtesting when you believe it is time.
User avatar
DavidPH
Posts: 382
Joined: Fri Aug 28, 2009 1:46 pm

Re: [WIP] Hexen RPG

Post by DavidPH »

I'm certainly interested, especially if it's an action-oriented RPG. I can never much get into complex puzzle driven game-play (like Hexen, go figure), but I do like RPGs that have you running around bashing bad guys' heads in for XP and money (like Diablo II).

Ideas for name: Role-Playing Hexen (RPH) or Hexen-Playing Game (HPG). Kind of silly, but not too cheesy. Hexen EXperience and ENgagement (HEXEN). Well, it worked for GNU... Hexen RPG isn't so bad, actually.

As a suggestion, don't worry too much about inventory realism (or any realism for that matter). Having to manage limited inventory space is bad enough with a good item management interface, but doing it in Doom is just asking for trouble. Of course, if you think it'll improve the game-play (or you just want to try making it work, as a programmer I understand that feeling), then do it.

Also, something to keep in mind, consider making level progression unlimited (as much as is possible with the engine). What's the point of getting to level 99 if you can't get to level 100? I know that you're nowhere near the point where you have to make that decision, but in my experience things like that are best considered early on.

For the XP formula, (EnemyLevel - PlayerLevel) works, if you can determine an appropriate EnemyLevel. It also has the advantage of not requiring as steep an XP-per-level curve, which helps increase the hard-limit on level.

One more thing (sorry about the length), if you need any ACS work done, I could always use a break from working on my level compiler. I'd also be willing to help with DECORATE, even if ACS is more fun.
User avatar
Dancso
Posts: 1906
Joined: Wed Oct 11, 2006 10:39 am
Location: at home.. Status: lazy like hell

Re: [WIP] Hexen RPG

Post by Dancso »

An update! (actually I spent most of my afternoon today working on this!)
I've decided to redo the statusbar/HUD to something similar but more eye-appealing, also drew a few guidelines of where should be what.

Here is a picture of its latest look (its a "render" image; not exactly how it will look ingame.
http://img9.imageshack.us/img9/884/hud2preview.png

I'll take a moment to explain what is what.
  • A/B - These are going to show the selected ability/spell, the player will be able to switch between A and B ability by pressing a key.
  • 1-5 - These are the placeholders of where the player will have their abilities readied, upon pressing the corresponding key (like you would do with choosing a weapon) the A or B abilitiy will get set to it. This way, the player can quick-switch between two hotbars and two abilities.
  • xp bar - This will show how much experience the player has out of the needed to gain a level, is also going to shop percentage and the current level.
  • The central area - This will show the currently selected inventory item of course.
I'm also going to make it possible to toggle numbers for health/mana on and off (probably by just switching between HUD display and regular statusbar unless I plan on making an actual smaller hud.

It looks like I might be able to make the ingame menus have a cursor-based interaction, I've also made a new Arial based outlined font for it as well as a transparent background:
http://img46.imageshack.us/img46/2664/s ... 091208.png
(this is just a test, in a seperate wad file to see how it would look on moving the mouse over an icon)

Now to answer a few things:
Yes I want this mod to be action oriented (but that doesn't stop you from slowing down if you want to)
Right now it seems I won't limit inventory space but the player WILL be limited to one weapon at a time (but your other weapons stay in your inventory so it just takes a moment to change it.
It would be nice to have unlimited levelling but it would lead to some problems on later levels. Unlimited levels mean unlimited stats, unlimited stats lead to broken features. You get what I mean.
I shall ask around whenever I need help with coding or ideas for implementation. ;) Right now most of it seems fine except for making projectile based attacks scale properly with stats, my current solution is to spawn more projectiles but that might lead to lag so I'm accepting ideas for that.

Finally a little note of what I might make into a feature in the future:
"Exporting" a character. This means saving its all of its statistics into an uncompiled acs file and execute it on importing, possibly unspending any stats and skill points so re-speccing could be possible. In zdoom's case cheating on this system is entirely in the hands of the player's dirtyness: Play fair or not. You're not really making trouble if you edit your "savefile" unless you play it in multiplayer. For Skulltag, the files shall be stored on the server's hard drive (untested) so only the admin has access to it.
The tricky part would be making a proper system to set a password and username for their characters.

Been pretty graphic these days... I'm also working on the HUD for Doom: Battle but my priorties are random (based on my mood actually)
User avatar
DavidPH
Posts: 382
Joined: Fri Aug 28, 2009 1:46 pm

Re: [WIP] Hexen RPG

Post by DavidPH »

I've come up with a pretty decent solution for the variable-damage projectiles. The only problem is getting credit for the kill. (And it's kind of awkward to use, but that's less of a problem.)

The DECORATE is just demonstration, but the ACS is pretty much usable as is (you'll want to add an actual list of projectiles, of course).

ACS

Code: Select all

str projectile[1] =  {"Rocket2"};

// Calling from DECORATE:
// ACS_Execute(759, 0, (x << 16) + y, (z << 16) + (byteangle << 8) + type, (damage << 8) + speed)
script 759 (int data1, int data2, int data3)
{
	// Through the miracle of data packing...
	int x      = (data1 & 0xFFFF0000);
	int y      = (data1 & 0x0000FFFF) << 16;

	int z      = (data2 & 0xFFFF0000);
	int angle  = (data2 & 0x0000FF00) >> 8;
	int type   = (data2 & 0x000000FF);

	int damage = (data3 & 0xFFFFFF00) >> 8;
	int speed  = (data3 & 0x000000FF);

	Spawn(projectile[type], x, y, z, 759, angle);

	SetThingSpecial(759, 0, damage, speed, 0, 0, 0);

	Thing_ChangeTID(759, 0);
}
DECORATE

Code: Select all

ACTOR RocketShooter
{
	States
	{
	Spawn:
		PLAY A 35

		// Fire rocket from current position, at byte angle 64 (90 degrees), type of 0, 1 damage, and 32 speed.
		PLAY A 0 ACS_Execute(759, 0, (x << 16) + y, (z << 16) + (64 << 8) + 0, (1 << 8) + 32)

		loop
	}
}

ACTOR Rocket2 : Rocket
{
	States
	{
	Spawn:
		MISL AA 0 A_ChangeVelocity(args[1], 0, 0, CVF_RELATIVE|CVF_REPLACE)
	Idle:
		MISL A 1 bright
		loop

	Death:
		MISL B 8 bright A_Explode(args[0])
		MISL C 6 bright
		MISL D 4 bright
		stop
	}
}
User avatar
Dancso
Posts: 1906
Joined: Wed Oct 11, 2006 10:39 am
Location: at home.. Status: lazy like hell

Re: [WIP] Hexen RPG

Post by Dancso »

Impressive. Haven't thought of using args[] yet. I'll try playing around with it later. Thanks. :)
There really should be a weapon attack function that enables the use of TIDs :( Hmm, feature suggestion time! *rushes off to pray*
Locked

Return to “Abandoned/Dead Projects”