#Character Marker and Healthbar System for OHD Modders [SOURCE FILES RELEASED]

95 messages ยท Page 1 of 1 (latest)

wet crag
#

Created a polished example of a character marker and healthbar system for @mossy breach, which might be useful to @wispy slate and others. Might expand to include dynamic minimap and advanced compass at some point if people are interested. If anyone has feature requests, let me know.

Please @mention me if you find any bugs!!!

https://youtu.be/jjktHkTyopw

  • distance, off screen, and line of sight visibility
  • uses Widget Component, easy to copy / paste to your Character BP and modify to your liking
  • updates color and visibility logic depending on team, updates if player switches team
  • alternate symbol/icon for team mates when hidden
  • post process outline effect for team mates through walls (and dead bodies for looting)
  • symbol/icon modifier for squad leader
  • event based updates, using performant checks for anything on tick

Source Files:
https://drive.google.com/file/d/1bjiYTj5H93tMs1DOzQEkpkQ4EZLmSgSH/view?usp=sharing

Packaged Mod:
https://drive.google.com/file/d/1TFD9pVYJtvUXQc2HbX80J_HS7K7czqqm/view?usp=sharing

mossy breach
#

@mossy breach likes this

#

Offhand the only concern at a glance is team mate outlines showing through the 1st person camera mesh, could be considered a feature though.

wet crag
#

Doing a final polish pass now, moved all the update/event logic into the Widget Component so it is almost completely standalone

mossy breach
#

Since you mentioned a minimap, there have been a few users noting that they want to move with the map open since right now it's a spawn screen - I don't yet know the work that goes into a map system, so if you decide to work on that, if it can work alongside a pop up large map that seems like it would fit right into the core game.

#

And for anyone else interested in content like this, I'll be working on variations of this once I understand how it works ๐Ÿ˜

#

And likewise update my content which is likely broken by comparison lol

pastel needle
#

didnt u say that Widget Component are expensive uriah?

mossy breach
#

I was advised to keep components together to minimize instances

#

How that affects how modifiable they are though, I don't know

wet crag
# pastel needle didnt u say that Widget Component are expensive uriah?

Yes, Widget Component itself is quite expensive, but that is only really going to matter if you're trying to squeeze every last bit of performance budget, and they are easy for modders to work with. The alternative is as I did in my game to create a sort of global widget which renders them all in one pass, but in OHD that would require a number of radical changes which would make it incompatible with other mods

wet crag
#

@here @mossy breach okay polish pass complete, I need a few people to test this before I release the files to make sure there are no major issues I overlooked.

mossy breach
mossy breach
#

from what was stated above, i think everything is working as intended relative to how the game works. one issue that occurs is that during spawn, you can actually see the enemy models through the wall briefly using the dead body grey color (im pretty sure this happens to allies as well, but id need to double check that). i think this occurs due to the way death and spawning is currently handled in OHD though.

#

it probably occurs for less than a full second during the spawn.

wet crag
mossy breach
#

im getting the impression the player model/controller shouldn't be in the world space before those components are ready, but i dont know exactly what those are

wet crag
#

Yep, fixed all that, there were some initialization edge cases

wet crag
#

Fixed a few more edge cases, now enemy do not have custom decal enabled at all, and I check if the local player does not exist (yet) before enabling custom decal, or if the player changes team at any time during the match, hoping that squashes that.

This improves the effect because previously you could see an enemy walk in front of a dead body or friendly because custom decal was enabled even if the post process wasn't displaying the outline, now custom decal isn't even enabled for the local player or enemy player, only enabled for team mates.

I'm doing this all client authoritative to avoid serialization issues. If we were super concerned about cheaters using hacks (e.g. wall hacking like in a competitive PvP game like CoD or BF) then this would all need to be implemented server authoritative, but I'm really not that worried about that right now, and the logic of implementing that gets way more complex, and is also less performant in terms of CPU usage on the server and networking.

wet crag
wet crag
#

Character Marker and Healthbar System for OHD Modders [SOURCE FILES RELEASED]

mossy breach
pastel needle
#

i dont think cheating is a major problem

mossy breach
#

Having a free game with free mods alone is likely enough to dissuade any sort of real money market from forming, with exception to any longer term progress based gaming where selling accounts becomes a factor.

pastel needle
#

even less for mods..

mossy breach
#

Gaming and it's modern population is vastly different than what it was 10 years ago.

pastel needle
#

we'll see on release, but we'll see about the number of people that play OHD, also it's a free game, the market for cheats and paid cheats is even less, the type of game also doesnt attrack cheaters like tarkov (loot incentive)

mossy breach
#

If these people were thrown into an fps designed with normal aiming restrictions, they would drown.

#

And that's when they clamor for their devices and tools to help them aim, which....is cheating.

pastel needle
#

also the interest for cheat makers to concentrate on a mod, is even less, having a specific hack for a mod? it would be easier to cheat the main game to have a wallhack instead of messing around with a mod code...

mossy breach
pastel needle
#

there will be cheats and cheaters, for sure, but i dont think it'll be a huge problem, and the community servers will slap thoses pesky assholes

mossy breach
#

Back in the day, it was often less than 1% of players or something that actively tried to cheat and just by having communities that not only watch over but also show players who don't know any better what's possible, I think that dissuades the "omg! xXxEarly2000sUserNamexXx is totally hacking, therefore I will too!"

mossy breach
#

And that's ok too, that's part of growing communities

pastel needle
#

also i wouldnt as a modder concentrate too much on it, at least at this point,
it's a bit like optimization, unless you are a professional that knows what is a problem and will tank perf and knows the tricks to make it better, i wouldnt concentrate on it until you have a big enough population to see if indeed there is a perf problem and ways to test for it and learn/research how to make stuff performant

I'd say your time is best spent making a good mod with good features, to attract interest and player pop, instead of spending a lot of time on details ...

Same for cheats, whats the point of making a forteress with Ring 0 anti cheat (joking) if you have no pop...

pastel needle
#

in the french commu, we have a known bad admin (pure asshole) and it was avoided by a lot of people

mossy breach
#

There's that and then there are badmins who can't tell the difference between good players and cheaters

#

That actually killed late stage BF3

pastel needle
#

well , then the game / server wont be played ...

#

and that's fine ...

#

other server will pop, servers with decent admins

mossy breach
#

It's fine now, but it wasn't fine then

pastel needle
#

but for that very good admin tools needs to be implemented

mossy breach
#

But that was money

pastel needle
#

as well as good information for admins to learn to detect cheaters, idk if it's a thing...

mossy breach
#

And hosting a server now, especially with more open/free access is a whole different situation

mossy breach
#

I mean even ARMA and Squad have this

pastel needle
#

spectate is hard to do

#

i mean FP spectate

mossy breach
#

I remember playing Squad and some teenage admin literally floating next to me talking lol

pastel needle
#

and TP spectate can also induce bad admins to think people are cheating

#

because of interp and also the fact that the movement / rotation of player pawn

#

isnt exact (because of optimization)

#

between what a player see and the server sees

mossy breach
#

I'm actually thinking just make them a normal player with no guns

#

Invisible model

pastel needle
#

that's what i mean by giving tools for admins to do their job correctly and also explaining to them theses caveats...

mossy breach
#

Just for your run of the mill deathmatch/TDM/etc

pastel needle
mossy breach
#

When we did admin back then, our admins were mostly just players

#

The procon tools were sort of a last resort

pastel needle
#

yeah, thats very limiting

mossy breach
#

It's the primary way to tell and what I mean by having experienced players

pastel needle
#

but im not worried, goomes knows it's very important and is really pushing for it

mossy breach
#

Very good players know the difference

pastel needle
#

hopefully theses tools come quickly after EA

#

but again, you really need advanced tools for cheaters

#

for the rest, like assholes/grifters etc, a good log system, like with damage log, text chat log is a must

#

but i think it's been mentioned already

pastel needle
mossy breach
#

Yeah I mean I want a combat log for players in my mods, just like Half Life console

pastel needle
#

yeah but it needs to be included in base OHD it's a must have tool

mossy breach
#

As in someone who can be relied on even if they are mistaken about another player

#

Nerd rage is tolerable, what isn't is when you can't even talk to someone to explain what is likely going on

pastel needle
#

yeah, like i said, the player pop will tell the story, best server will rise to the top

#

tools like battlemetrics will tell the story

#

if the server is high rank : likely a good place

mossy breach
#

Yeah that's sort of what I meant by making a good game first

pastel needle
#

i meant for individual servers, and how it's admin, with no cheaters etc

mossy breach
#

Well, that's kind of what I mean too. I do expect OHD core to be popular, but if people end up making CoD/HALO mods, it may pull in the experienced players in those communities, the ones who didn't grow up on the modern versions of those games and don't mind indie level graphics and modding because it will actually look like what they previously played to begin

#

Or if someone is still working on the BF2 mod, I mean I would definitely play that lol

#

And I would not be complaining about more modern gunplay/movement

#

And that goes for literally everything else...SOCOM, Ghost Recon, Rainbow 6, i mean the list goes on

pastel needle
# mossy breach Well, that's kind of what I mean too. I do expect OHD core to be popular, but i...

ah ok you meant the modded experience, yeah ofc for sure

i agree with time the core experience will be less popular, but at first it will be the only exp so yeah, i was talking about the squad/hll/pr crowed flocking in , and thats what i was talking about for the admin/cheater factor driving the player count,
Ofc after that it'll be the mod itself, but then there will be different admins running the mod, so the admins/cheater will be the other factor driving player pop

mossy breach
#

as an example, the red used in HDPlayerCharacter clearly stuck out and was noted to potentially need refactoring, so that made sense, however a lighter red i saw was different, but since it has the custom "OnKilledEvent", i was thinking you may have chose that color because it might be related, but is different enough to use a separate color

mossy breach
#

the On Take Any Damage Event may be need to reevaluated as it does not appear in the SDK, the comment on the custom event should actually be on the Bind Event but the issue is described accurately otherwise from my evaluation. i need to setup a dedicated server to test either way, but I substituted the On Health Changed event and that works normally in the SDK as a client in PiE, which helps during testing.