Half-Life RPG (one for the coders) Created 5 years ago2018-05-08 12:38:16 UTC by monster_urby monster_urby

Created 5 years ago2018-05-08 12:38:16 UTC by monster_urby monster_urby

Posted 5 years ago2018-05-08 12:40:42 UTC Post #339520
So I know this is a little far fetched, but one day I intend to finish and release The Core. After that, I will likely continue modding but something a little more interesting. One of my favourite genres is RPGs and I would really like to create one, but my only real ability is Goldsource mapping, so that's out. I could probably get by with Source if need be.

The idea would be to have the maps be fairly linear, but allow the player to bypass obstacles in different ways.

What I want to know is how easy/difficult it would be to add the following functionality to the Goldsource engine, maybe even say if it would be easier with Source.

1. Inventory System
The player would have a limited number of slots, say 16. Every single item from keys to health kits would take up a slot. Health and Armour would be applied from the Inventory screen. The player would have the ability to drop things if they needed to pick up a specific item and their inventory was full. Quest items (keys, repair tools) would need to be removable using triggers.

2. Weapon slots
The player would have 5 weapon slots, similar to standard HL. Melee, pistol, rifle, heavy and explosives. The player could only carry one item in each category and have the ability to swap out weapons they find in the level.

3. Dialogue Boxes (Essential and probably hardest :P)
Whether it's to respond to an NPC speech, or prompted by a certain action in the game (attempt to repair the machine), it would feature multiple choice dialog boxes. This would be a popup in the game with options the player can click.

In the editor, it would be a textbox up to 4 text fields. These text fields will also have trigger targets. Example of the fields in the editor.

Name: repairDialog
Message: The generator is not working. You can see the problem and could easily fix it with the right tools.
Option1: Attempt to fix the generator by hand
Option1target: repairFail
Option2: Attempt to fix with Tools.
Option2target: repairSuccess
Option3: Leave it alone
Option3target:
Option4:
Option4target:

Then repairFail would simply trigger another dialog box such as

Name: repairFail
Message: You attempt to correct the problem by hand, but it is not possible without the right tools.
Option1: Leave it alone
Option1target:
Option2:
Option2target:
Option3:
Option3target:
Option4:
Option4target:
monster_urby monster_urbyGoldsourcerer
Posted 5 years ago2018-05-08 13:23:30 UTC Post #339521
I've been toying with the dialog idea for some time and how it could be made to work with Source, though mine was way scaled up with impact for future interactions, open other dialog trees etc... But it was just an idea.

Would love to see something like this happen.
rufee rufeeSledge fanboy
Posted 5 years ago2018-05-08 15:55:28 UTC Post #339522
It's 100% possible, since Vampire: The Masquerade: Bloodlines was a Source game, and it had a dialog system. Not sure what you'd need to do to implement it but it'd be using VGUI.
Notewell NotewellGIASFELFEBREHBER
Posted 5 years ago2018-05-08 17:59:08 UTC Post #339523
I haven't kept up with the development of Sven Co-op but I think this might be relatively simple to implement using ActionScript if you don't want to work with Half-Life's messy DLL code.
Oskar Potatis Oskar Potatis🦔
Posted 5 years ago2018-05-08 18:00:55 UTC Post #339524
They use Angelscript, and no. You need to be able to persist data and they don't have that implemented yet, they also don't have any form of client side scripting and control over the inventory and weapons is too limited for what's being discussed here.
Posted 5 years ago2018-05-08 18:04:45 UTC Post #339525
It's 100% possible, since Vampire: The Masquerade: Bloodlines was a Source game, and it had a dialog system. Not sure what you'd need to do to implement it but it'd be using VGUI.
And VMT: Bloodlines used an early version of Source at that.

Half-Rats: Parasomnia has an inventory system. I imagine that you'd prefer a grid-based one though, or slider like in Heretic and Hexen.

You already have weapon slots and weapon dropping in Half-Life (though the latter will have to be improved). It works rather well in Counter-Strike.

Dialogue boxes would either have to use VGUI, or other GUI library, but I'm not sure if it would be possible to code anything else into the engine without it's full source code. And that's only for the visual part.

Since Source is the newer engine and has more available codebase, anything should be easier in that engine, but I haven't ever touched Source so I'm not speaking from experience.
Posted 5 years ago2018-05-08 18:05:28 UTC Post #339526
I figured you'd chip in, SK :) That's a no to that idea :(
Oskar Potatis Oskar Potatis🦔
Posted 5 years ago2018-05-08 18:39:46 UTC Post #339527
Probably possible. I've seen mods that have implemented stuff like this.

1. Inventory System
  • This was in cry of fear
2. Single weapon per category
  • Easy, this is in counter-strike, also in afraid of monsters: directors cut
3. Dialogue Boxes
  • Sounds like u wanna make Fallout in Goldsource. It probably does not to be THAT elaborate. I think cry of fear had choices during cutscenes like that
Posted 5 years ago2018-05-08 23:05:51 UTC Post #339529
Hunt Down The Freeman also had an inventory system. I'm serious.

Snehk I think is right about the notion that it would be much easier, or at least more possible to implement a system like that in the latest version of Source, though Half-Rats achieved a great deal with it's custom systems in the old GoldSrc engine. In fact I'd say anything is possible so long you have a capable coder willing and able. I think the real limitation is based on modder ability in this case.
Sheepy Sheepydon't touch me
Posted 5 years ago2018-05-08 23:38:57 UTC Post #339530
I thought you were going to say you were going to use RPG Maker. If you made a RPG Maker game, I’d play the fuck out of it.
Rimrook RimrookSince 2003
Posted 5 years ago2018-05-09 02:36:00 UTC Post #339531
You already have [...] weapon dropping in Half-Life
Where is it and why haven't I come across it in twenty years? It's there in Counter-Strike, but I never saw that in HL!
Posted 5 years ago2018-05-09 05:10:05 UTC Post #339532
Its all entirely possible It just comes down to how good a coder can "navigate" the jungle that is Source.
rufee rufeeSledge fanboy
Posted 5 years ago2018-05-09 06:13:35 UTC Post #339533
You just type "drop" in the console and currently held weapon gets dropped.
Posted 5 years ago2018-05-09 08:07:54 UTC Post #339534
Sven Co-op has that really amazing physics-esque weapon drop (I think running off similar code to HL1's gib physics I'd imagine) and I'm sure that was maybe a bit of work to get going in of itself, but it would be amazing if you got something like that working.
Sheepy Sheepydon't touch me
Posted 5 years ago2018-05-10 10:41:26 UTC Post #339541
Urby, are you adept with node-based coding? You can do a lot with such a platform. I’m building SMJ that way and it’s worked phenomenally well for me so far. If you want to make an rpg, make an rpg.
Rimrook RimrookSince 2003
Posted 5 years ago2018-05-10 11:37:54 UTC Post #339543
Urby, have a look at this "vault 88" or "vault 77" thing someone on YouTube was doing. It's incredibly similar to what you are asking in the goldsrc engine
Instant Mix Instant MixTitle commitment issues
Posted 5 years ago2018-05-10 12:25:19 UTC Post #339545
I would absolutely love to make a standalone RPG, but the issue is having the time to learn a bunch of new tools and necessary, the coding required as well.

Like I said, this will be after The Core is out... so it's probably not gonna happen.

But thanks for the info and suggestions. I shall have to take a look. :D
Urby, are you adept with node-based coding?
What-based who now?
Urby, have a look at this "vault 88" or "vault 77" thing someone on YouTube was doing. It's incredibly similar to what you are asking in the goldsrc engine
Sadly, both those search terms now return a bunch of Fallout 3 and Fallout 4 stuff. :(
monster_urby monster_urbyGoldsourcerer
Posted 5 years ago2018-05-10 13:45:24 UTC Post #339547
Inventory system

The slot based inventory system (à la Zombie Panic! Source) is do-able. That would be easy to program.

Weapon slots

This should be fairly easy to do as well.

Dialog boxes with choices

That's an easy thing as well.
Posted 5 years ago2018-05-10 14:18:32 UTC Post #339548
The reason I ask is because mapping entities, in a simple sense, is node based logic. You place blocks of logic to handle most of the raw code with a few inputs and parameters. UE4 has a 'Blueprint' mode that's essentially that. Node based material editors in 3D packages like Maya and Blender are quite popular, even Stencyl and its logic blocks lets you string your own logic together and writes raw code flawlessly.

If you're comfortable with mapping entities, there might be a kit you could use. Stencyl exports out to windows exe and it has tons of features that make the testing and publishing process really painless.

This is a behavior I wrote myself using drag-drop blocks. It detects if any "Bricks" are in an area using X and Y coords and a lot of if statements with greater than and less than comparisons.
User posted image
All the blocks are laid out on the palette, and it's even searchable. There's a lot of information at my disposal.

The reason I'm pushing it is because I tried for a long while to make a game in Goldsource. Turnstile, 6D, and a few more failed attempts for example. I made the jump to stencyl and have been happy ever since.

My advice is refuse to live vicariously. Make the game you want to make. There are soooooo many tools available that make the process far more tolerable, sometimes easier. Truth be told, you would have help. You would never have to do any of this alone. I would help you, shit I'd share some SMJ tech.

I know it'll be a while so take the time to look and feel it out. We're all waiting patiently for The Core, but I'm more curious what you will be making after that.
Rimrook RimrookSince 2003
Posted 5 years ago2018-05-10 16:24:35 UTC Post #339550
@Urby - video.. Guys been fairly quiet but looks like some of the shit is there.

@Rim

Yeeahhh, gueuegh, I don't know. I was a big fan of visual coding like that back when I used construct and attempted UE4, but I've realised that it's all really just a bit pointless and you should really delve into actual code. Visual scripting is very good to get the baseline logic down, but there'll be a point that there will be something you want to do but are limited by what's been made available to you.

Learn something piss easy like Python, then move onto more complex things. Got a pretty start writing my own framework and base for Love2D, a 2d engine based on Lua. Shame lua's a fucking shit language - vaguely OOP and has really dumb shit like array indices starting at 1
Instant Mix Instant MixTitle commitment issues
Posted 5 years ago2018-05-10 19:10:16 UTC Post #339551
Oh.

There ARE blocks that let me run straight Haxe, I use them all the time. I’ve made changes to the engine itself.

I like my power tools a bit much, don’t I?
Rimrook RimrookSince 2003
You must be logged in to post a response.