#blueprint

1 messages ยท Page 386 of 1

lofty rapids
#

your using component

#

try actor

#

is this a seperate component

#

in the same bp, or another bp ?

#

i would see if the actor is overlapping

digital lantern
#

with ActorEndOverlap is work

lofty rapids
#

right and does start work ?

digital lantern
#

But I need this box to know when an object passes through so I can close the door

lofty rapids
#

maybe your actor is already overlapped

#

start them far apart

#

then try it

digital lantern
#

Already tried x)

lofty rapids
#

lol

digital lantern
#

The box is cursed

lofty rapids
#

what is this box ?

#

its a component on the actor ?

digital lantern
#

box collision

lofty rapids
#

remake it if its simple

#

yes but a box collision on a seperate actor right ?

lofty rapids
digital lantern
#

It's a collision box directly on the DoorMaster

lofty rapids
#

the sphere is another bp ?

#

whats that look like ?

digital lantern
#

No, I'm trying to overlap my "ModoCharacter" character. I have a few years of experience in BP, and I'm completely baffled by this. I don't understand why this is happening because it should work

lofty rapids
#

i'm trying to help you but it seems like your basically gave it up consider it a flaw in the system

#

i only know what your telling me

#

i can see you have a box collision

#

and your pulling weird

#

but you can do whatever you want

#

๐Ÿคทโ€โ™‚๏ธ

#

if you gave up thats fine i'm trying to debug from here

#

its usually user error tbh

#

are you trying to collide the box and sphere in the same bp ?

#

or what ? idk

lofty rapids
digital lantern
#

I'll keep looking on my own, I haven't given up, it's just illogical that it's not detecting a collision

lofty rapids
#

๐Ÿซก

icy jacinth
#

Hey all! I'm having some issues with an interact system. Everything works fine until I try to make the final adjustment to adjust the visibility collision once the weapon is equipped so that it doesn't interfere with the ability for players to interact with new equippables in the environment; right now, the weapon in the players hand will occasionally be outlined when the trace hits it.
Brief summary of the system: The trace hits a child actor component in the item BP, an actor component calculates which item is being targetted and which inventory slot to send the item to (based on tap vs hold logic), and the inventory BP component handles the logic for equipping the item to the appropriate socket.
Issue Summary: Any attempt to Set Collision Enabled to False on the child actor of the interaction area causes the system to fail; when the player attempts to pick up their first weapon, it stays on the ground. When picking up their second weapon, the first weapon drops in front of them as if it was equipped to a holstered socket and the second weapon goes to that holstered socket. From here, no weapons can be picked up.
Screenshots: These screenshots show the functions in the inventory component (aside from Event_ToggleInteractHitbox which is in the InteractionArea BP -- this uses two meshes since some items may have skeletal meshes and others may have static). Everything works until the "Cast to InteractionArea_Custom" > "Event Toggle Interact Hitbox"

lofty rapids
icy jacinth
lofty rapids
#

tldr, because i get confused easily

lofty rapids
#

i would just ignore the object type

#

hopefully your weapons are all a specific object type ?

#

hmm

#

but wait the other is the same object

#

hmmm

lofty rapids
#

or are they exact what you picked up ?

#

i'm thinking maybe even a holding flag, where you can multi trace

#

and ignore it if it comes down to it

icy jacinth
# lofty rapids whats your line trace look like ?

The weapons are all under a parent BP, but they're created via data tables rather than each having their own BP. When the trace hits an equipped weapon, it causes the outline and makes it so the player can't interact with another interactable item in the environment. Weapons are the exact weapon that was in the environment since that seemed easiest given that stats are randomized for weapons ๐Ÿค”

lofty rapids
lofty rapids
lofty rapids
#

so it would shoot right through the picked up weapon

#

because you set ignore on that channel

#

you can even ignore visibility, but i would make a custom one

icy jacinth
#

Yep! There's a variable in the InventoryComponent BP component which states the currently held weapon, and some arrays for the items in the holster sockets. That makes sense - I'll try adding them to the ignored array and a custom channel if that doesn't work. Appreciate you ๐Ÿ™

ruby cobalt
#

my struct has a value that I set based on the actor.. This works but I'm wondering if there's a better way to process a struct and insert more data?

lofty rapids
narrow kite
modern cove
#

If I execute one Custom Event that has a Timeline in it, and then another that also has a Timeline in the same chain, will they carry out at the same time?

ruby cobalt
narrow kite
#

It's easier to read, follow and trouble shoot. More people should put a little more time into it.

lofty rapids
#

its really not an issue if your solo nodes can be whatever you want

#

but thats nice it looks clean

#

easy to understand like to show someone or if someone else was to look at your code

#

or even later on when you go back it is nice to be cleaned up and notes

ruby cobalt
#

As stated, regardless. I was able to

narrow kite
lofty rapids
#

programming is a form of art, you take a blank canvas and create something out of it

ruby cobalt
#

this is like playing factorio or whatever but yu build your own systems.. if i didn't appreciate that i wouldn't be here hehe

gentle urchin
#

Factorio at the core

narrow kite
#

I cleaned up the bottom green comment. (Blue is enemy stats, Green is player stats)

lofty rapids
#

i tried it quickly and stopped with a friend

#

never played after taht

faint pasture
#

IDK why people bother with electronic nodes, it looks worse than stock IMO

lofty rapids
#

๐Ÿคทโ€โ™‚๏ธ

#

its not bad, its just really uncommon like it shouldn't even be allowed lol

#

i can see why you use it tho, it makes sense

narrow kite
lofty rapids
#

its just funny

#

i see why you used it

narrow kite
#

Yeah I was like REALLY? It's going to allow this!!!

lofty rapids
#

at that point i wouldn't be surprised you can add quotes

narrow kite
#

It's probably just a text field for naming or string so yeah

#

@!#--|'.`~) / my personal variable

lofty rapids
#

ya it's probably a string or something really weird

narrow kite
#

Doing an entire Combat Mechanic overhaul it's nearly done. Just shifting where the code resides and improving it to be cleaner and be Universal for all situations. Such as an enemy projectile can use it also to hit the player just as the enemy would.

lofty rapids
#

"Category/SubCategory/VariableName automatically organizes it in the details panel, which is highly useful for cleaning up blueprints with many variables." -gemini

#

i didn't know this

#

interesting

narrow kite
#

So I can search find devastation and it will go directly to that skill (not other references)

#

find restoration etc every skill

gentle urchin
#

Like inputs to a function, and you'd snap it to the bottom, no wire needed

faint pasture
#

in code execution pretty much flows top to bottom and data flows right to left but that might be a bit goofy in BP

ruby cobalt
#

so i add the 2nd reroute to keep it organised

faint pasture
#

I never ever use reroutes, all my BP just looks like this

crimson briar
#

It is probably related to some brain function, what feels more natural to a person. Curves work IMO because they don't change directions, you can predict where it is going. While electronic nodes change directions abruptly and I would need to always follow it along

ruby cobalt
#

yeah i'm a big fan of placing stuff vertically liek you do too..

gentle urchin
#

Reason: i got faaar more vertical space than horizontal

faint pasture
gentle urchin
#

Yes exactly

#

Fits well to an ultra wide monitor

narrow kite
#

I have seen 1,000's of workstation setups in professional environments. Then you across that 1 PERSON who rotates their monitor!!! And a few cases of people using approx 60 in wide monitors. But in ALL those cases it was for specialized software/use

gentle urchin
#

We all know that one guy ๐Ÿ˜†

narrow kite
#

This might drive me nuts. Is this due to a snap point? Sometimes you can't align node connections evenly. However, if you click on the reroute you can fix it.

#

Left * fixed with reroute, but it has to be done manually for each reroute

faint pasture
faint pasture
#

Why is stuff so spread out that you can't see the entire expression at once? It's not that much math.

narrow kite
#

I'm cleaning it up. It was a lot cleaner assinging local variables. But really that isn't necessary and those variables will exist in the BP forever doing that.

faint pasture
#

unless you mean intermediate locals

#

this is fine as is IMO

narrow kite
#

I'll get an example of why

faint pasture
#

I'd lose the unused input parameter though unless this is an override

narrow kite
#

All inputs are in use

faint pasture
narrow kite
#

I'm not sure you can do that another way?

#

To reference it without assinging it to variable

faint pasture
#

you already have a local called Mastery

#

But for this function it's not that necessary, it's small enough that you can just fly the pins

#

if it was big it'd be a lot more of a mess

narrow kite
#

I created the local for demonstrating I'm removing all the local vars

#

to essentially just do that fly them all

#

It's also needed, but the conversions Int to Float make it messy. You should not be doing / * on ints without converting them. You won't get an error, but you may not get the right results either.

faint pasture
#

This is what I mean

#

parameters ARE available as locals

narrow kite
# faint pasture This is what I mean

Got it, thank you. One issue that was causing extra confusion on that was I named one of the input Player Stat. I couldn't find the local variable for it so I renamed it. Probably best as that's more of a reserved variable name.

faint pasture
#

I don't see why this has to be a function at all, you aren't returning anything so just make it a part of the greater DoTheStatMath function

#

A function that's called in only one place shouldn't be a function IMO

narrow kite
narrow kite
#

Also randomize the final result between 70%-100% of that number

#

Another skill might use 82% of Magic + Mastery. It's designed to be flexible.

faint pasture
#

Since you're calling it every time you use it I'd just make it a pure function and override in your subclasses (which I think you already are doing)

narrow kite
#

It sounds like the pure function may lock the value and cause issues if it's trying to change the value later on?

lofty rapids
narrow kite
# lofty rapids in theory a pure function should not have whats called "side effects"

It does though. As this explains the value is 2 different results depending on the setup https://www.youtube.com/watch?v=TZ4xZq2BEEg

Have you ever wondered what those green nodes are in blueprint? why dont they have pins like normal nodes? how are the different and when do you need to use them? Well, let's take a look at that!

Wishlist my game on steam! : https://store.steampowered.com/app/3271340/Dark_Reflection/?beta=0

Get Jetbrains IDEs (including Rider) the first 3 mon...

โ–ถ Play video
fiery swallow
#

pure functions are deceptive af if you don't fully understand them

narrow kite
#

I can see maybe potential cases for them, but is there really an advantage in this case? Such as a pure function using less resources etc?

#

The locking of value is this done by habit may be helpful or problematic. I would presume if the output is just transfered to a variable then it wouldn't matter so much.

fiery swallow
#

I don't know if It's an advantage necessarily but it does gaurantee no values can be set in them

#

and it doesn't have any exec pins (thought you can give it them)

narrow kite
#

In that specific example an output isn't needed. All the output would do it push the information back into a variable using set right after the function is called.

#

Whether the value is changed after this is more complex. I would have to consider how it's calculated, but I don't think I would want to lock it.

#

Such as if it's a critical attack : Skill Damage * Crit Dmg = Player Damage

However, maybe a buff Skill Damage * 1.1 (10% extra) after. That would generally be in the function though.
Ideally the main point is though with just leaving it non pure that doesn't matter.

fiery swallow
#

I almost always use pure functions for convenience, and someone seeing a pure functions lets them know immediately "this function doesn't change state" and only returns information

lofty rapids
#

it defaintely not necessary

#

its justa programming concept

narrow kite
fiery swallow
narrow kite
#

I'm not sure in this case that will even do much of anything. That value is going to be referenced somewhere else entirely. Another section or function. Not right after the output

#

I don't think it can be referenced directly like the local inside the function?

lofty rapids
#

there is also some issues with pure nodes, if used wrong

#

like they run for everytime they are attached

fiery swallow
#

To me it's a simple concept similar to making things const or not. I do think it has some small optimization benefits when compiling for a packaged game

fiery swallow
#

You don't ever need to use a pure function though if that's what you're wondering

#

But I definitely love them and use them every chance I get

narrow kite
#

It's refering to this: where the inputs are being referenced

fiery swallow
narrow kite
#

I will need to use the variable Skill Damage somewhere later on. So I will need to reference that variable. It's just an output I don't see how without assinging it.

lofty rapids
#

sometimes you'll see people be sticklers about pure functions but its really a choice, it helps in some situations like if you want a quick value or a getter function

narrow kite
#

What if the result value needs to be called in a completely different function later on?

lofty rapids
#

i've never actually like mentioned "needed" a pure function, but they can be useful

narrow kite
#

But in that case regardless of the function type it would need to be assigned to a variable to access it?

lofty rapids
#

i mean i would just use the function as a getter

#

or like a formula node

narrow kite
lofty rapids
#

couple ins, do maths, out

fiery swallow
lofty rapids
#

but in practice they are not necessary at all so i can see why you would question it lol

#

but they can be useful

narrow kite
#

There may other logistical issues. That function has a bunch of inputs. That data is created / sorted out in the skills function. So it makes sense and for testing purposes.

#

Otherwise it's a scattered mess. It would probably need to be structured in a table or something to really pull it properly.

#

These block are on each skill and each one is different. It's manually assinging the stat to use, which mastery, and what % of the stat point etc.

lofty rapids
#

you could then use the formula to set any variable

#

isntead of being stuck to just the one

narrow kite
#

I'm a little unclear about the locked in value also. That may or may not be used universally at this point. I'm uncertain. For example an enemy skill might use that same function and call that function from a different blue print. What happens with the "locked value" at that point? Or does it no longer exist as the execution of that page finishes first?

#

Regardless for now I'll probably leave it as is. Thanks for all the feedback though. I leaned a few things and will use the local variables inside a function.

gentle urchin
#

In a foreachloop for instance

lofty rapids
#

yep of course

gentle urchin
#

Today you can force cache pure nodes aswell so that's neat

#

You can right click it and 'convert it' in place to a regular non-pure func

#

So you can get the best of both worlds ๐Ÿ™‚

lofty rapids
#

oh nice yes, pure functions can really be a huge issue

lofty rapids
#

called is probably better word

#

i like it when i don't want to mess with the execution for whatever reason and i just need some data

#

or a formula is perfect

#

so setter/getter there are some benefit, but definately don't connect it to the foreach

#

lol

gentle urchin
#

Exactly

lofty rapids
#

with bp i think you got to be careful because you need all the performance you can get

#

its kind of like len(array) in a loop

#

but because its bp the performance hit is enormous

#

i even make sure to do this is any code i keep the redundant calls outside the loop

#

its just n times better

maiden wadi
# lofty rapids like they run for everytime they are attached

Just to be specifically correct about this. They run for every EXECUTED node they're attached to. You can attach the same pure node to five different other pure nodes running to the same executed node or five different parameters on the same executed node and it will only run once.

harsh remnant
#

Hi everyone, i have a question.
Im in ue 5.7 know and i have a issue when im in the character blueprint.

Normaly you have the component tab on the right. Mine is gone, i cant get it back somehow, I searched everywhere but with no result

harsh remnant
#

yes, thank you!

faint pasture
#

Meaning, what percent of the time does it effectively have to recalculate the value rather than being able to use a cached value?

odd kiln
#

How to rotate a Spline Mesh Component relative to itself ?

#

I'm spawning Meshes along a spline with Construction Script with the Add Spline Mesh node

#

But when I try to rotate in this node, it rotates all the meshes and the "pivot" is the Spline

#

I want so each Mesh rotates randomly but with their pivot

narrow kite
faint pasture
#

Is it like WoW or PoE where you have buffs coming and going all the time, so it makes sense to calculate a "fresh" value per usage, or is it pretty much only updated when you swap gear around?

narrow kite
#

Probably one cycle on the 3rd person BP. But it can also be called from other BP's

#

Every attack would call that function to part of a damage value. That's not a final formula.

faint pasture
#

per attack class instance

lofty rapids
faint pasture
narrow kite
#

I'm not certain it would. I just that variable as a place holder. It just gets over written each time.

faint pasture
#

run the function every time and just use its results

narrow kite
#

The results still need to be referenced from other locations to finalize the formula.

faint pasture
#

Why do you have a shared instance for all the abilities in the world, why isn't each ability an instance of some class?

#

Are you sure they aren't?

narrow kite
#

That's why it's stored as a variable. So the value can be referenced.

odd kiln
faint pasture
odd kiln
narrow kite
#

Or other BP's

odd kiln
faint pasture
#

But that's probably the correct result, as the root of the spline mesh component is NOT at the start point. The root of all of them is in the same spot, the mesh itself is translated (or at least its verts are) from the set start and end points function.

faint pasture
lofty rapids
odd kiln
odd kiln
narrow kite
odd kiln
#

Can't find a way to rotate the Transform of the Mesh itself only

lofty rapids
#

see where it say relative transform ?

faint pasture
#

OK back up a bit, what IS an ability in your system?
If I wanted to make a Fireball ability, what would I actually be adding to the project?

odd kiln
lofty rapids
#

they will all have the same transform

odd kiln
#

The issue is that their pivot is on the first point of the Spline and not their own pivot (of mesh)

faint pasture
#

it just happens to be at the root of their parent

narrow kite
# faint pasture That sounds super wacky

-- A player using a skill
-- An enemy melee attack (on the enemy master (parent BP)
-- A projectile creates it's own actor (the projectilie which pushes the information onto that BP). For example the damage it will do or just a enemy stat like STR to be used as a calc

odd kiln
#

They are all rotating from the first "Spline Mesh Component" added

narrow kite
#

It actually seems quite normal without projectiles or other circumstances. For example the enemy BP really needs information from the player all over. Instead of just passing it tons of variables. A cast to the player BP gets all data access.

faint pasture
#

You are spawning all at the same location, they all have the same pivot

#

the meshes are internally offset when you set start and end, but importantly, their pivot is NOT MOVED

odd kiln
#

Yes ok now I want to be able to rotate independently each rectangle on your draw

faint pasture
odd kiln
#

I want to exclude the rotation of the Spline or anything

mental trellis
#

Set the rotation to absolute instead of relative.

odd kiln
#

No success

faint pasture
#

you are literally spawning all the components at the same location. The computer is doing exactly what you tell it to do.

#

A spline mesh component is NOT located at the start position you give it, it's located where you spawn it.

odd kiln
#

Ok I got it, so I need another way to spawn the meshes along the spline, right ?

faint pasture
#

What are you actually trying to do here

#

First off, do you need deformation or are you just doing beads on a string?

odd kiln
#

Beads on a string

faint pasture
#

then you dont' need spline mesh component at all

odd kiln
#

I'm trying to spawn Cubes along a spline each X distance

faint pasture
#

just spawn mesh components at transforms along the spline

#

you can get position at time or distance along spline, that's the position. Cook up rotation however you want.

odd kiln
faint pasture
#

Spline mesh component is for bending meshes like this:

odd kiln
#

Sorry for that !

#

I forgot the "Spline Mesh" thing is not for my case..

shut blaze
#

alright, I am going nuts on how I should do this
So my doors use a BPI to be opened
But my puzzle uses another BPI to make actors interact with each other
But in this scenario, I need the puzzle to open a door
Pic1 Door; Pic2 Component of PuzzleActor

#

Should I just replace with event dispachers?

lofty rapids
shut blaze
#

Trace end is for a niagara system, unrelated
left, is a door, keys = quota

lofty rapids
shut blaze
#

wdym?

#

oh yeah

#

old code

faint pasture
shut blaze
#

Ima leave it as is, it ain't the main problem

shut blaze
#

alr not a bad idea

#

maybe I should make an electricity component instead of doing this shi manually

faint pasture
shut blaze
faint pasture
shut blaze
#

thing is, doors function in keys, whilst in the future I want the casters to have Wattage

faint pasture
#

Make a component

#

Pretty much anything that an interface can do a component can do better

shut blaze
#

fair enough

#

how tf am I gonna translate W into Key, that's a problem for later I guess

faint pasture
#

If the concept is that things can send and recieve power to do things, that's just a component with SendPower and RecievePower.
Just slap that component on your caster, on the different blocks, etc. The component can implement events (dispatchers) that its OWNING actor can respond to.

warped juniper
#

Yeah as a rule of thumb casting is basically free if you cast to a class you already use.

rigid osprey
maiden wadi
# rigid osprey

You need to debug if left mouse button is even running for a start.

rigid osprey
#

it is, left mouse fires off nodes and such

#

i tried a breakpoint in the function and it just stopped at the begininng it went nowhere

maiden wadi
#

Can you show the function internals?

rigid osprey
maiden wadi
#

It stops on the first branch here?

rigid osprey
#

yeah it goes "grabobject" then first branch then nowhere

maiden wadi
#

Well based on this. Either your trace that is storing this hit info is either not hitting anything, or the thing you're hitting doesn't implement that interface.

rigid osprey
#

the object is implementing

maiden wadi
#

Where are you actually setting this hit result?

rigid osprey
#

like the whole function? in the character blueprint like the tutorial

#

the grab blueprint interface is on a cube

maiden wadi
#

You should put a print before that function. PrintText. And inside of it do like...

Attempted To Grab: {Item}
Actor is Valid: {IsValid}
Actor implements interface: {ImplementsInterface}
#

Put that in a FormatText node

#

And then you can plug the object, and your two booleans in. So you can see why your branch is failing.

rigid osprey
#

I'll try that rn

rigid osprey
#

solved!!

gentle urchin
#

Print string is really one of the best tools ๐Ÿ˜†

#

So usefull whem debugging

queen heron
#

not sure if this is a good place to ask about it
but how could I use the physics bodies in the character physics asset as hitboxes to receive overlap events from an object type?

narrow kite
#

On a hit animation notification I have an apply damage which sends the damage causer as the 3rd person actor. How would I pull the information (player data) on the other side?

#

Is that even how it's supposed to be done? I can simply cast to the player character and pull all data that way. Is there really a reason not to do that?

#

I would presume this may be the answer

#

Which is just a more accurate way of doing this? In case of multiplayer, multiple character options?

#

Is that correct? So an enemy blueprint would always cast to the player character regardless? As the data would be essential for all kinds of purposes like combat calcuations?

#

Or at least cast to something to obtain that information

crimson briar
#

The first question is - why does the enemy need to know about the player there?

#

If you cast to the player there, you bind it exclusively to the player. Meaning you will have trouble adding friendly damage or environmental damage

narrow kite
narrow kite
#

It would seem no side can act on it's own. Between enemy/player. They both need access to all the information. I do that by running most everything off the enemy because it can cast to the player. Thus in that situation ALL information is always accessible from both parties.

#

Also it works with environment damage, projectiles etc. As when an enemy creates a projectile it passes that information to the projectile BP. Which can also cast to the player resulting in the same effect. All BP's can cast to the player because it can be specifically identified by the index which is always the same.

#

The only issues I can see is
-- to much casting (resource cost), but that might not be true
-- unable to cast properly in multiplayer environment (this isn't)
-- unable to identify the proper index of which character is loaded (if multiple characters can be created)

dark drum
gentle urchin
#

casting is 'free' in many circumstances, but i wonder why you need the player to know the damage specifically ?

narrow kite
gentle urchin
#

Damage popup would be handled on the hit target side

#

its not odd att all, inheritance is a powerful way to strucuture it

narrow kite
#

In the example provided - The player hits the enemy. The melee animation notify creates an apply damage event. That is picked up by the enemy parent and start with event any damage.

#

That ONLY establishes the player has made contact with an enemy.

#

There still needs to a system/formula/combat calculations to determine exactly how to handle this situation.

#

That "handling" requires information from both the player and enemy. For example I have a 3 tier hit/miss system. 1st hit is 100% dmg 2nd is 80% and defaults to 60. That has to know the attack type (melee, magic) and (evasion, resistance, accuracy, focus) from player/enemy.

dark drum
narrow kite
gentle urchin
#

It feels a bit backward in bp land, but as pattym says, it solves it directly

gentle urchin
narrow kite
gentle urchin
#

It doesnt matter that it happens in "enemy parent" ,

#

its the same enemy

#

the child is parent and then some

narrow kite
#

The enemy BP just needs to trace for hits and result in the actor

#

That's when the enemy attacks

#

However, it doesn't require anything on the actor bp. (Aside from casting to it and calling functions on the player BP)

#

Damage pop up btw doesn't really matter which BP it comes from. As long as the proper location can be determined.

#

A lot of data isn't even really being passed, it's just accessed. I'm not certain if that's standard, but it works. For example the player BP updates when using a skill to what skill is being used. When the enemy BP is ran, it simply checks the information on the player BP and determines which skill is being used so it can create a calculation based on that. Along with the mechanics, hit impact, sounds etc.

lofty rapids
#

Many ways to do a thing

narrow kite
# lofty rapids Many ways to do a thing

The main question would be how it's traditionally done. What happens if the player can choose multiple characters with the way I set things up? Wouldn't that destroy everything? Any cast to a specific 3rd person BP would change the index and bp

lofty rapids
#

idk about traditionally, i know that if you don't know what kind of thing your using i would probably use an interface

narrow kite
#

That might make more sense that you're tying the blueprint access together via an interface rather than direct cast. I'm just not familiar enough to structure everything around it. I may do some testing later for it.

#

Unless the 3rd party BP wouldn't change anyway. I may not really implement it either. But it a matter of changing the 3d mesh and using the same BP

lofty rapids
#

ya i havent been able to keep track of what your saying, i'm easily confused lol

narrow kite
#

Would it be standard to use the same 3rd party BP and switch characters by just changing the meshes?

lofty rapids
#

like for me if i have several of a character, i have a parent and the children
then you can cast to the parent and you have any child

#

this allows for more diversity other then just the mesh

#

so when you get damage causer, you cast to parent

#

and you will get any of the children

#

In this video we are going to learn how to use event dispatchers in blueprints in Unreal Engine.

This is part 5 of my blueprint howto series.

In this video we are going to learn how to use inheritance in blueprints in Unreal Engine. Iโ€™ll show a quick demonstration the power of inheritance with blueprints, we're going to create a parent class...

โ–ถ Play video
#

bare with me, i didn't actually watch the video

#

lol but this is what i usually do in the case of multiple players

#

but i'm not traditional in any sense either

dark drum
lofty rapids
#

"Inheritance is generally faster and more memory-efficient than using components"

#

idk if this is true, but its all over the webs

maiden wadi
#

That statement feel like someone saying "Broccoli is more green than oranges". Like... Sure, yeah. You're technically correct. But I'm still not fucking making orange juice out of broccoli.

lofty rapids
#

so its correct, thats all i was wondering

dark drum
narrow kite
lofty rapids
#

silly folks

#

lol

lofty rapids
narrow kite
lofty rapids
#

are you saying inheritance is bad now

#

lol

#

of course

narrow kite
#

If you had someone without knowledge they would probably just create an individual blueprint for each enemy. Without sharing the parent class. Just redoing all the nodes.

lofty rapids
#

are you saying someone might fk up and do it wrong ?

maiden wadi
#

Inheritance is good. You can inherit components though too.

Inheritance just kind of creates a concept of something. Your functionality inside of that concept can still come through composition, internal systems in that inheritance tree, or interfaces.

narrow kite
#

I'm saying it's nearly impossible for them to do it right by default

lofty rapids
#

whatever that supposed to mean

#

idk

#

๐Ÿคทโ€โ™‚๏ธ

#

your saying its too hard ?

#

its fkn simple

#

you literally right click, create child, done

narrow kite
#

Is that why studios have 200 developers working on a project, because it's just "that simple" / ๐Ÿ˜‰

gentle urchin
narrow kite
#

Someone new to the concepts, unreal, blueprints, etc does not know any of that. And they don't know what they don't know

lofty rapids
#

the internet drags me down more and more every day, people are so fkn strange

gentle urchin
#

avoid the internet !

lofty rapids
#

yes at all costs

#

go out and get some fresh air

#

fk this shit

gentle urchin
#

Ii got my window open, I'm all good lol

lofty rapids
#

lol thats about what i do as well

gentle urchin
#

sooon my mass migration is completed, and i can start spawning stuff!

lofty rapids
#

i get annoyed but i still go online like some sort of fein everyday

lofty rapids
maiden wadi
lofty rapids
#

but i'm solo, so it dosn't have to be readable

narrow kite
narrow kite
lofty rapids
#

i still don't see your point

#

or are you just saying its hard ?

#

๐Ÿคทโ€โ™‚๏ธ

#

and are you a noob or something ?

#

i don't see what your saying

narrow kite
#

Anyone new to Unreal has a major burden of concepts all over to get started. It's not inuitive either to know that. It's part of a larger learning process. When you get to the point of deeper understanding, it's a simple concept. For someone new it's not at all.

lofty rapids
#

its really fkn simple in the overall scheme of things

#

but anyway ig your right in the sense that simple is relative

#

but i'm not understanding your point at all

#

is that simple is relative ?

narrow kite
#

No, but I'm able to comprehend that situation from the standpoint of someone who would be starting. And the bigger picture that setting a enemy BP with a parent/child relationship is not instinctual or intuitive by default.

lofty rapids
#

ffs

#

๐Ÿ˜†

#

ok man, whatever that means

#

i'm glad you like to make games

#

hows the game going ?

narrow kite
#

It's been a struggle, but it's at a good point and I think I have everything I need to complete it.

#

FAB's new limited free assets should also be out in a few hours. Grab the current if you want them before they are gone.

lofty rapids
#

i like the platformer pack i could probably use this

lofty rapids
#

looks kind of cool to play

#

i'm a huge fan of 3rdperson rpg type game

#

is it rpg ?

narrow kite
lofty rapids
narrow kite
#

That was a test for flowing lava and niag splash effects. It works well.

#

Full action combat with combos

#

It's still going to take a lot of work time to get everything I want, but it's at least on course. Many people on discord have helped greatly with BP concepts, explainations and general info.

lost wolf
brisk iris
#

Can you turn messages into pure functions?

narrow kite
# lost wolf its really really dark imo needs a lot more lights

It's a dungeon ^^. The lighting is currently being tweaked and went over some major changes. The end result is that it now comes from the player (point light). It's going to different in the editor vs game play for that reason. It's mainly concerning optimization.

lost wolf
#

the next thing i would look into is how to improve the look of the tiled textures on the walls and floors

#

it shouldn't be hard to make them look a lot nicer

lost wolf
#

I would give all the players and enemies like trinkets that glow and a torch and magical items that glow

#

the only thing i can see atm is the UI when its dark cause its super bright , can't see any enemy models or animations

narrow kite
#

If the enemy hits boxes where not shown, you would just glowing eyes in the distance until you approach. That was done during testing for enemy social AI.

lost wolf
#

it might look better if cover the walls with vegetation like vines and tendrils to hide the texture tiling

#

pillars and corner and bottom strip to blend corners nicers would also help a lot

narrow kite
lofty rapids
lost wolf
#

with real raytraced global illumation it wouldn't matter how many lights you have

narrow kite
#

In general all maps are subject to detailing. Improvements on appearance, not being empty etc. However, the plainness is also part of the design. Such as textures reduced to 1024 and lowering vertices. I could do some tweaks later for that though.

lost wolf
#

a lot of people will not look at it for more then 0.1 second if they see it look that bad

brisk iris
lofty rapids
#

i see

lofty rapids
#

like a wrapper

lost wolf
#

it feels like it would be easier if you moved more logic to c++

narrow kite
brisk iris
narrow kite
# lost wolf with real raytraced global illumation it wouldn't matter how many lights you hav...

Even in a video about raytracing global illum and what it would take it completely tanks the performance and warns about limited and proper use. I'll get an update video to better demonstrate the lighting. Those are old vids with Lumen + Point lights in some of them.

Also I presume the point light settings could be adjusted by the player. One struggle is to much light ruins the atmosphere, but to little means some objects, corners, enemies may be difficult to see.

#

The original dream still exists, but I had to abandon the open world design for performance issues.

lofty rapids
lofty rapids
narrow kite
# lofty rapids can't you load the different sections on the fly with partitions if you want a o...

That is utilizing the open world partition system. However, there are many disadvantages to doing so. Such as being able to more properly isolate issues. If you encounter issues within a single level it's much easier to trouble shoot. Also corruption issues etc. And down to simple asset organizing.

That's important for advanced aspects such as using property matrix. In those levels I had to increase the height of all walls. It was easy to just grab them all by name in a single level and update them.

lofty rapids
#

๐Ÿค”

#

i use single levels in my games as well

#

but i'm pretty sure world partition allows you to load levels on the fly

#

idk much about it i've never used it tbh

narrow kite
#

There are many settings such as loading a specific region in the editor. And controlling what a region/block size is. You are relying on that system to work properly and I'm not sure it does in call cases. It essentially loads/unloads sections as needed. You can set view distance etc also. It seems like a nice system, but

lofty rapids
#

i wouldn't worry it was going to fail

narrow kite
#

-- When you encounter an issue like FPS issues or problems it's not isolated to a level. It's much more difficult
-- If you just add assets (potentially 1,000's there is no default organizing) they just exist in "the world outliner".

#

You can create folders or even toggle them on/off with other methods, but it's simply to many assets to manually handle

queen heron
#

so, this is soo weird, the hit location goes to zero if make the that hitbox overlap the other character
I'm in control of the one to the right

lofty rapids
queen heron
#

but if the hitbox from the other character overlaps with the one I'm controling, I'm getting a result, but still inacurate

lofty rapids
#

so the hitbox on the right and the character is your player, and something is fkd when something overlaps ? your showing zero i don't even see an overlap

queen heron
#

here's the visual debug
this time I'm on the left

#

the white sphere that is floating up there is the result from the static character

lofty rapids
#

wdym "result " ?

queen heron
#

the overlap location

lofty rapids
#

whats the boxes then ?

#

because they are not overlaping

queen heron
#

this is the whole blueprint

narrow kite
# lofty rapids i wouldn't worry it was going to fail

I ran into an issue where the player would fall through the ground in certain areas of the map. That was a huge landscape that may have bugged when it was moved around. In an open world partition that's a huge problem and not easily fixed. You can't just replace it because of so many edits to the surface for dips, mountains, etc. At least in a single level environment that only effects that level.

lofty rapids
queen heron
#

both characters are instances of the same character blueprint

lofty rapids
lofty rapids
#

blocking

#

see if blocking hit is true

queen heron
#

I've already set them so the skeletal mesh responds to a custom object type during the overlap

#

the boxes are set to be Attack type and the skeletal mesh is set to Basic so there won't be any conflicts with the pawn capsule

narrow kite
#

You are showing a hurt box with just a simple overlap. That should work. But what that image does it trace the actual animation and specfically the weapon location.

lofty rapids
#

don't assume ime

#

check there is a blocking hit

queen heron
#

so I can see if there will be a trigger on overlap

#

and since there is, it should return the right location, which for some reason, it does not

#

ah right, I'm not using on the skeletal mesh to trigger the overlap, I'm using the main capsule collision to see if it has anything to do with the location in world space

#

so right now the hurt box sends a trigger when it overlaps the pawn type

queen heron
queen heron
# narrow kite Why?

cause line traces require to be fired every tick, or every few ticks
which can get pretty intensive when the project becomes more complicated

lofty rapids
narrow kite
#

Line trace is a built in dream that most older devs didn't have access to

lofty rapids
#

๐Ÿ‘€ ๐Ÿคทโ€โ™‚๏ธ

queen heron
narrow kite
#

That tracing is what makes the combat superior to nearly all other systems. Because it tracks the motion and exact position instead of a sloppy hit box.

#

Multi trace and for loop are also needed if you intend on hitting multiple targets in a single attack

queen heron
maiden wadi
narrow kite
maiden wadi
#

Lol?

#

Dude. UE4 was released in what... 2014?

#

You're aware that line tracing has been a concept in gameplay mechanics since the mid 90s?

narrow kite
astral flame
#

Hey, Im using a timer by event and have it so my Drain Stamina Timer called by event begin play. is that okay for a small horror game?
Image

maiden wadi
narrow kite
astral flame
#

I want it to only call it when my velocity is greater then 5

#

is there a way to make the function do this?

#

or the timer not function

narrow kite
#

Many where just slopy stick out a hit box and check for collison, like those images in his test.

#

If you had to create your own line trace system and complex collision it would be rather difficult. Luckily it's just all built in to Unreal.

narrow kite
#

AI Overview
To stop a looping timer in Unreal Engine, use the
Clear and Invalidate Timer by Handle node, passing in the Timer Handle variable created when the timer was set. This immediately stops the loop, prevents further execution, and clears the handle for reuse

#

You could potentially create a start/stop condition and when it's met start the call function timer/loop and end it?

lofty rapids
#

๐Ÿค”

astral flame
#

Yeah but this is a single player game one player a few enemies(AI) this is trickly just to make sure you dont loose your stamina if your not moving. its calling every .1 seconds to check the player when they are sprinting.

narrow kite
#

That is actually what I did for some status effects. The same thing as what you are trying to do.

lofty rapids
#

you do be crossing lines lol

#

ig its fine its just, shivers

narrow kite
#

What do you mean? The organization or the setup?

maiden wadi
#

It's not fine. If you happen to start two timers before clearing one. You have an infinite timer.

#

Though doesn't BP overwrite timers for same object and function? I can't recall.

dark drum
#

Yea, i would highly recommend always storing a looping timer handle in a variable. This allows you to clear and invalidate it before you try creating a new one. It also gives you access to it should you need to clear and invalidate somewhere else in the code.

crimson briar
#

It does overwrite by event, not sure with by function name

maiden wadi
#

Always hated that functionality. Really wish they'd make that a flag on the callsite.

lofty rapids
#

yeah i wouldn't do that

#

right click, promote to variable

#

and use the variable

narrow kite
#

You mean something like this

lofty rapids
dark drum
lofty rapids
#

it looks like they are even events

#

not functions

#

interesting to choose by function name

dark drum
narrow kite
astral flame
#

Okay so In my stamina system I set a clear timer handle so when I stop Sprinting it clears the timer until I sprint again

dark drum
astral flame
#

Well my character walks and crouch I guess I could check trhe max walk speed and if its over the min walk speed then activate sprint if its less then disable sprint?

#

No it worked

lofty rapids
#

makes sense

astral flame
#

I know calling this timer isnt going to effect my games performance at all. I just want to get use to the best practice!

narrow kite
astral flame
#

Well yeah my Shift button is sprint

#

using IA_Sprint

lofty rapids
#

i thought delays are batched ?

astral flame
#

the .15 delay is handling other logic due to my crouch so I can sprint then crocuh if its not there my camera wont operate when i crouch

#

I have my camera move down then move forward when crouching.

lofty rapids
#

like when it hits zero

#

can i spam it ?

astral flame
#

When my stamina is less or equal to 0 I call my stamina system which then calls logic to regen stamina

#

Ignore the PodCast im listening to

#

Its my camera system when crouching

#

here is a better example

lofty rapids
#

an example of breathing ?

#

i don't see whats going on or how its relative to stamina

astral flame
#

So that delay is handling my camera movement in other logic

#

u asked about that delay

#

lets just forget this thread on the crouching I think I misunderstood the question.

lofty rapids
#

can you spam run when you have zero stamina ?

astral flame
#

Let me check

#

Umm...Yes So I need another timer

lofty rapids
#

๐Ÿค”

astral flame
#

to delay the stamina regen correct?

narrow kite
lofty rapids
astral flame
#

My start sprinting is called when I hit shift

lofty rapids
#

can you show it jus where it do that ?

#

i mean a ss is fine, personally i have a hard time with videos

lost wolf
#

which is weird cause you barely have any

narrow kite
# lost wolf which is weird cause you barely have any

That's part of the problem. Unreal isn't going to tell you what's causing it. You have to figure it out. You presumed that it's graphic (mesh etc). Not only is that not proven the real life truth is it's multi factor and would require a lot of tools/trouble shooting.

lost wolf
#

well yes you have to measure performance

#

but lots of games have done open world things

dark drum
lost wolf
#

lots of better looking games

#

especially in unreal its pretty easy

#

compared to doing world streaming from scratch

narrow kite
# lost wolf lots of better looking games

Factually incorrect. The fact is many games released in Unreal are known for performance issues and bad loading times. With professional teams. And Epic isn't willing to admit any fault on their side. Just all those devs just don't know what they are doing!

lost wolf
#

partially yes

lofty rapids
#

i mean yes they really didn't optimize well enough most likely

lost wolf
#

or didnt want to spend the money

#

cause frame gen hurr

narrow kite
#

There is also a lot of conflicting information.

#

And you can easily say things, but real life projects won't match what you say.

lofty rapids
narrow kite
#

In fact I had some issues at times with getting the same frate on a brand new level with nothing in it.

lofty rapids
#

for you yes you had this experience

#

doesn't make the defacto

#

and really i think a lof of people complain because of the low end hardware

lost wolf
#

skill issue

lofty rapids
#

unreal kind of has a high entry level

dark drum
lost wolf
#

we're hardware in way but that doesn't make up for the fact that he is measuring performance in editor lmao

#

that is just so conformist

dark drum
#

TSR can cause a big hit on older hardware but is used by default.

narrow kite
#

How does AI know this exists?

Coincidence? or because it pool data from the web?

Unreal Engine (especially UE5) offers cutting-edge visuals like
Lumen and Nanite, but it faces criticism for high performance demands, often leading to stuttering or low FPS if not heavily optimized. While it can deliver high-fidelity graphics, it frequently requires upscaling (DLSS/FSR) for smooth, playable framerates on average hardware

lost wolf
#

oh no AI was invoked

#

we are obviously wrong in that case

#

my apologies

narrow kite
#

In order for AI to report that it would have to been reported across the board in many locations ๐Ÿ˜‰

lost wolf
#

shame on us for not knowing that

#

you got us good

narrow kite
#

It is a known issue. And why do the Epic developers literally have a discussion about it and get asked that question? I think I know why ๐Ÿ˜‰

#

If it wasn't an issue they wouldn't be directly asked about it

#

In many of the occurrences I had it wasn't about just drawing meshes either. It could be lighting, invoker methods etc.

lost wolf
#

if you have a bug it's because you created it

#

if you have performance issues its because you did something wrong

#

stuff doesn't just magically happen by itself

lofty rapids
#

" on average hardware"

#

it do be having a high entry level

lost wolf
#

help lumen doesn't run at 120fps 4k on my gtx 960

lofty rapids
#

does your game have an issue with performance ?

thin panther
#

That doesn't meant the cause of those problems is accurate to what oeople think it is. At the end of the day exactly 0 gamers have ran a profiling trace.

Yes, such tools have higher hardware requirements. No, not all unreal games use it. No, not all unreal games perform like ass. Yes, a large part of such blatant performance issues is probably a result of everyone jumping to a new engine they've not used.

The other thing you've got to remember is that this is a tale as old as time. We're hearing lots about it because there's lots of unreal games being made. It stands to reason. You're not going to hear about performance issues in re engine, because it's proprietary and the company using it uses it well. Likewise, "Unreal game performs to expectations" isn't a news headline that gets people interested, so you're not really hearing about the better unreal games.

There's always a solution to these problems. Epics fault in this, and their consequent questioning is because they released a bunch of intensive features that looked promising in a tech demo, with little documentation on the consequences, systems it interacts with, as well as how to revert to the older methods.

lost wolf
lost wolf
thin panther
#

Indeed

#

Which again, totally epics fault

narrow kite
# lofty rapids ๐Ÿค”

It's more basic then that. If you have tons of games released by completely different independent teams it would be foolish to write it off as they all just don't know what they are doing. If the game engine is that difficult to establish reliable FPS then it's very likely some of the issues reside in the engines design or distributed information on it.

lost wolf
#

no game engine is perfect, if you want the same rendering functionality as unreal you are going to have a performance hit, and if you make it yourself it's going to be a lot worse

lofty rapids
#

i mean when the thing skips at 4k 120fps

#

ffs

#

but what i think is people released un optimized game and didn't relaize the minimum requirements

#

and then want to blame the tool

#

very typical

#

its like blaiming the language for your bad code

#

lol it do be happening

lost wolf
#

all bad games are made in c++

#

so c++ is bad

#

also computers are bad

#

and fuck the internet

narrow kite
#

There are also issues that would be very difficult to explain. How could I have a bad FPS rate on a new level with no changes, close the game reload it and have totally different results. With the exact same settings and hardware? ๐Ÿ˜‰

lost wolf
#

cause you are measuring performance of the editor

#

and clearly dont understand what that is

narrow kite
#

It's the same editor in both cases.

lofty rapids
narrow kite
#

Same tools reporting the FPS. Literally nothing changed.

lost wolf
#

so you think there is no difference

narrow kite
#

No, no you can't use that excuse remember

if you have a bug it's because you created it
if you have performance issues its because you did something wrong
stuff doesn't just magically happen by itself

maiden wadi
lofty rapids
#

the thing is with a huge software like this things can go wrong very easily

lost wolf
#

to me it sounds like your project is one of those nightmare projects that leak memory everywhere etc

narrow kite
thin panther
#

We can take Borderlands 4 as a good case study of why it's not necessarily entirely the fault of the engine.

Despite DLSS being notoriously unpopular, the game was developed around it. It was designed to have lower fps on average hardware and to use framegen. Hell Randy maintained the game was optimal.

You got no chance if the documentation is confusing as well as having a ceo that appears to live in a fantasy world. Most of the poor performance is plain and simple cost cutting. You look in the past and see the same pattern. (Side note, I find it mildly funny I've seen some of the ue5 is bad crowd hailing crysis as an old beautiful game, while also forgetting where the crysis memes came from)

maiden wadi
#

I played my first Crysis playthrough at 15FPS. Good times.

dark drum
# narrow kite It's more basic then that. If you have tons of games released by completely dif...

Its foolish to assume they know what they're doing. The engine is too large for one person to know and with solo or small teams, the knowledge available would be low. Not understanding the art pipeline for UE for example could result in low performance. Not understanding hierarchy can cause performance issues. Not knowing about event driven design can cause performance issue. The list goes on, especially when we start looking at feature specific stuff.

I've often looked back at stuff I've created and thought 'What was I thinking, no wonder it ran like sh*t'

lost wolf
#

unity games run well.. because the default settings look like utter shit

#

once you crank up unity it still kinda looks like shit and has bad fps

#

any other alternatives?

narrow kite
maiden wadi
#

I mean. Like I said. Fortnite runs on a shit cellphone. Hell it runs in a fucking Nintendo Switch for fuck sake. And it uses UE5.

lost wolf
#

you can use unreal to make a console game

#

if you really wanted too

#

it will have a thousand fps

#

easy

narrow kite
# dark drum Its foolish to assume they know what they're doing. The engine is too large for ...

That isn't the case though. That would presume the reporting just came from small dev teams or inexperienced devs. When much larger projects are still yielding those results it surely indicates an issue at some point. Fingers can't be pointed everywhere, but there is certainly a larger issue. You can not just discredit that many people across the board. Many with years of experience in mutiple engines, unreal specifically, etc.

lost wolf
#

how many of these projects have you worked on

maiden wadi
lofty rapids
#

where are all these projects that say that ?

lost wolf
#

are they in the room with you right now?

thin panther
# narrow kite There are other measurable factors. For example I played several UR4 games that...

Older engine, more performant, less graphically intense. Again it stands to reason.

New engine, new tech, studio doesn't know how to use it, less performant.

I've played plenty of non unreal games as well with performance issues. Hell minecraft still runs like ass without performance mods.

Another thing you've got to remember is a lot of people are on the same, if not similar hardware that they were before ue5. Games get more intensive, that's reasonable. Eventually that hardware will fall behind. I can't blame gamers for being mad the games don't run because not everyone has 2 grand to shell out every 2 years to play on ultra settings, but you also shouldn't be surprised if you have to drop down a resolution or couple of quality levels.

lofty rapids
#

i honestly believe a lot of it is people don't know there should be like a minimum tech to run this, or perhaps there minimum is to low ?

lost wolf
#

minimum to run editor smoothly is usually 2-3x of what it takes to run the final packaged smooth

#

you have non optimized development builds

maiden wadi
#

I mean... ARK: Survival Evolved was made in UE4... Lets talk about how amazingly optimized that experience was. ๐Ÿ˜‚

lofty rapids
#

i've not made very graphical intense games, but so far they all run pretty good

#

my gpu gets howling sometimes lol

#

but it runs fine

dark drum
#

I can remember the first game I made in UE4. It barely kept above 30 fps. I'm currently working on a similar concept (in UE5) and it runs around 110 fps on average and there's significantly more features and looks a million times better lol.

lost wolf
#

blaming fps on the game engine is like blaming the driving on the car

lofty rapids
#

its common in programming i noticed this trend, they blaim the tech for shit code

thin panther
#

Imagine trying to have to learn the complex intricacies of a new engine when you have a release date a year away and a ceo pushing for unpopular technology. It's a losing game. Which again, is epics fault partially because their documentation of this is ass and they never covered any of the pitfalls before releasing. (I get not doing it in a tech demo, but not at all is just bad), but we can't blame the engine when clearly performant games have released, and these studios have the entire source code on hand. If they really cared so much they would take their source build and patch these issues. The fact they haven't is because it costs money to do so

lost wolf
#

even if your car is a shitbox you can still jerry rig an f1 engine to make something funny

maiden wadi
thin panther
#

That's a fair point, I still lay some blame at them though because the documentation issues have been a long standing problem. Not helped when they laid off most of the online learning team.

It's gotten somewhat better regarding new features but it's still far from what I'd expect for such a widely used engine.

That being said, as with most problems with products the majority of the problems lie with upper management who see a new shiny and really really want it while not being able to listen to consumers

narrow kite
# maiden wadi You can discredit them though. Because they made games using new tech that their...

Metal Gear Delta had major fps issues. It was built by Konomi. An industry leader for decades. They have over 2,000 employees. So you can't just write it off as these inexperienced devs or small teams.

If the issue keeps occurring and the problem can be resolved it's like BOTH parties that are at some portion responsible for it. You can't just claim everyone doesn't know what they are doing.

maiden wadi
#

2,000 employees trained on ancient practices that don't apply in the new rendering features means zero people who know what the fuck they're doing.

thin panther
#

You forget another part of the equation. Most of those employees have no say in what happens and regardless of their personal thoughts have to do their job. Even if they did know, it's likely they had little influence in fixing it

maiden wadi
#

As an industry leader. The smart play is to not use tools your 2000 member team isn't trained in. So yes. Their shit performance is 1000000% their own fault.

lost wolf
#

they dont get to decide what to spend their time on

maiden wadi
#

If you want to take a risk. Take a risk. That's fine. But fucking own it.

lofty rapids
lost wolf
#

assuming competent leadership is very bold

thin panther
lost wolf
#

It's cheaper not to optimize ๐Ÿ˜‚

#

why spend more if you don't have too?

#

duh

dark drum
maiden wadi
#

Note. I'm not dissing on the people. But the team leaders who made this choice. It is their fault and it is NOT Epic's. I'm sorry. I will be the first person to bitch about UE and it's systems sometimes, but this is not Epic's fault.

dark drum
narrow kite
# dark drum I'm pretty sure Metal Gear Delta was Konomi's first big game using UE5. I guess ...

That may be true, but it's like a presenter giving a speech and the audience can't fully comprehend what they are trying to convey. Then just stating the audience is all incompetent. The presenters role was to convey the information in a manner that was digestible.

Part of a game engines functionality is to create viable products in a "reasonable" manner. If everyone is just "using the tool wrong" it indicates there is also a problem with the tool itself.

lofty rapids
#

define "everyone"

narrow kite
#

I don't need to. My part of the discussion is over. I'll go back to blueprints. There is nothing to be gained by further information on this.

lost wolf
#

"trust me bro"

dark drum
lost wolf
#

fps

thin panther
#

Even through the engine has problems in this department imo, is it not more the fault of the people running the companies that are aware of this and chuck their studio in the deep end with a release date on the horizon anyway

lost wolf
#

people just love complaining but it's a bit funny hwen it's their own fault ๐Ÿ˜‚

#

i think it's bait

narrow kite
# dark drum So what needs fixing exactly? Whats broken?

Probably documentation and conveyance of the issue. I believe it may stem also from the highest levels in Epic down to more human nature. Not willing to accept their flaws and work on a resolution. But instead to shift blame. From the upper level responses that seemed to be the gist.

thin panther
#

I could do a game jam in unreal, but ask me to use godot and you're getting a broken mess because I don't know how to use godot

dark drum
narrow kite
# dark drum So performance issues aren't down to the engine but how its used?

It can't be simplified to that extent. It depends on which specific tool how it's implemented, how it's tested etc. And where the issue really exists. For example Lumen, Nanite, Nav mesh, etc. If literal AAA studios are having issues getting it right, I think it's overwhelmingly obvious it's not just a "lazy uninformed dev" issue.

lost wolf
dark drum
lofty rapids
#

i think its hillarious the devs are trying to blame the engine, its classic i see this trend

#

this is why they have "safe" programming lol

#

its all bs

#

anyways

#

blueprints amirite ?

lost wolf
dark drum
lofty rapids
#

fancy

narrow kite
lost wolf
lost wolf
#

or more optmized

proper moon
#

thats how optimization is for every game

lost wolf
#

tell me you havn't touched a profiler once without telling me you havn't

proper moon
#

to make it run at a smoother rate, you have to eliminate hitches, which you can come to know from measuring

narrow kite
lost wolf
#

lol

proper moon
lost wolf
#

it ran fine on a gtx 1080 which is super fucking ancient

#

probably older then some people here

proper moon
#

1080 was pretty insane

dark drum
lost wolf
#

just like kcd

proper moon
#

a lot of optimizations are things devs could have done but they weren't given enough time to do so

or optimization wasn't taken into account at the beginning, and rewriting was not an option too late

thin panther
#

hell a lot of the issues are overblown still. i played bl4 a week after launch. performance was objectively bad but the game was still fun, and i was on an RX 580.
i also think people get so bogged down in trying to get 4k 120fps that they just forget to have fun in a game

lost wolf
#

same kind of vibe from people that argued for a decade that the human eye could only perceive 24fps

narrow kite
lost wolf
narrow kite
#

They have billions of dollars and can hire anyone, yet everyone they find just can't get the job done. I mean at SOME point if you want to be serious you have to look a little deeper.

mental trellis
lost wolf
lost wolf
mental trellis
#

Just because somebody is "experienced" doesn't mean they're skilled or doing anything correctly.

dark drum
lost wolf
thin panther
# narrow kite The summary is: Everyone is incompetent, no one knows what they are doing. They...

The summary (at least mine) is: Studio leaders are ignoring consumers and pushing to abandon tech that has been used for decades in favour of a newer engine that no one is trained in. As a result experienced devs may or may not know how to fully utilise the engine, and even if they did are blocked by ceo's saying things like "30fps is reasonable on average hardware" and "muh DLSS". As an aside, the average user hardware hasn't increased much leaving a lot of gamers left behind as specs increase to match an increased demand for fidelity.

narrow kite
#

So at what point would the responsiblity ever shift to Epic/Unreal? Just never?

maiden wadi
lost wolf
#

Nobody is forcing anyone to use unreal

#

Write your own engine

maiden wadi
#

Or

proper moon
maiden wadi
#

Just turn off the new rendering features?

mental trellis
lost wolf
frozen hedge
#

Good afternoon guys

thin panther
#

it never shifts to epic. it may partially lie with them, or be exacerbated by them, but epic isn't whispering in these studio's ears: "hey drop that engine you've been working on for 15 years that your devs know how to use well, and switch to ours"

#

It will never be wholly an engine maker's fault that game studios decided to drop their own tech for theirs

thin panther
#

esepcially when said engine maker is successfully using said engine in a performant manner

frozen hedge
#

Itโ€™s up the studios what engine they use

lost wolf
frozen hedge
#

They use UE for many reasons over other engines

lost wolf
#

we need to start a movement to demand game developers charge atleast 200 bucks for their games

dark drum
#

I've played many games using UE that ran very well. 'Hogwarts Legacy' ran smoothly despite me only have 2gb of vram at the time. Then there's both 'Grounded' games. Again no performance issues.

proper moon
thin panther
#

now if fornite wasn't on low power platforms and needed a 5070 to run on 1440p medium at 60fps, then yes epic would be more responsible. never for studios switching, but just for making a crap engine

lost wolf
maiden wadi
narrow kite
# thin panther The summary (at least mine) is: Studio leaders are ignoring consumers and pushin...

That is at least more reasonable and realistic. However, despite deadlines, top level managements decisions etc these companies would have individual teams working on this. Collaborating, discussing and bringing up issues. Weekly meetings, board room meetings, manager meetings. And this isn't one company. It was enough of them that months ago this was discussed heavily. With many reporting on it.

proper moon
lost wolf
#

denuvo is winning atm

proper moon
#

you can play denuvo games

#

without paying

#

its called offline activation

lost wolf
proper moon
#

you don't pay for that

#

what would the point even be then lol

frozen hedge
#

I donโ€™t use piracy icl

narrow kite
# frozen hedge What is your main concern?

It's just a general discussion. It really can't go anywhere. The bigger concern would just be the lack of interpreting information that should be obvious. Such as -- if major studios on a large scale where having so many issues it just seems common sense that the issue wouldn't just reside with them. There is quite obviously more at play. Again, though there is nothing here to be resolved.

thin panther
# narrow kite That is at least more reasonable and realistic. However, despite deadlines, top...

yes they have indidvidual teams working on it, but these teams cannot override the direction the leadership wishes to go. It's not just the C-Suite that's at fault either, it's most of upper management. Again harking back to borderlands 4, Randy thinks 30fps is acceptible, that the game was optimal and that DLSS is magic optimization juice. How are you, as a mid level employee going to convince him to spend money on fixing the problem that is obvious to you, or push back a release date so you can iron out all of the kinks introduced by unfamiliar technology

It's no secret that companies enjoy sacrificing consumer enjoyment for money, see literally anything you've ever bought recently. Why are we pretending games are different?

proper moon
frozen hedge
proper moon
#

yep

frozen hedge
#

It probably never going to die for a long time

proper moon
#

exactly

thin panther
#

even if games companies were filled with tiny independent teams with full creative control, the blame still isn't epic's. It's just the leader of that small team for again, ignoring consumer wants, jumping to a new unfamiliar technology and not spending the time to work out the kinks

frozen hedge
#

Agreed

lost wolf
#

the people who decide when to publish can always say lets spend x amount of time on optimization

#

but they dont

narrow kite
lost wolf
#

money is always there

thin panther
#

it's a pattern you see not just in gamedev

#

it just so happens that in gamedev that problem manifests as poorly performing games

lost wolf
#

btw this whole discussion was started by him having performance issues in a solo student project with ps1 graphics

narrow kite
#

I doubt Crimson Desert is going to have FPS issues. They are MAGIC though!!!! It's a different engine sure. But their developers are magic and somehow ALL of these reasons you state won't exist. Magic!!!!!!!

lost wolf
#

scroll up

frozen hedge
#

Way too much text lol

cloud token
#

The issue is ps1 graphics then

narrow kite
# frozen hedge lol

No, that's actually not true. I had some some FPS issues, but it's not just that.

frozen hedge
#

Mhm

thin panther
#

if we can't accept that studios management makes bad decisions en masse, then we wouldn't see issues like ubisoft stock plummetting, games like highguard and concord, issues like FPS game anticheats as well as CEO's saying "you won't own a game, but you'll like it", or things like "microtransactions give a sense of pride and accomplishment"

narrow kite
#

Crimson Desert's CEO is magic!!! Their dev team magic!! Their dead lines, finances, Magic!! Somehow they will get it done and none of these excuses will apply? I don't know how except...magic!!

cloud token
#

Lets go back to the topic then. This lead nowhere.. its also wrong channel..

Im thinking if there is people need help with blueprints

frozen hedge
#

Fairs

narrow kite
#

Not in the US. Not sure about other regions. And it's possible the FPS tanks, but I doubt it.

frozen hedge
#

Do it in general

thin panther
#

well i say decades, idk how long BDO has even been out ๐Ÿ˜…

maiden wadi
#

This isn't even really en engine issue. They would have done just fine in Unreal.

#

They just needed to disable the RT required feature set for rendering.

narrow kite
proper moon
thin panther
#

it's not a new engine, black space is built off bdo engine, at least as far as i'm aware

#

it's somewhat common (for some unknown reason) to keep renaming proprietary engines

#

though i do understand it if the creativity was limited to "black desert game engine" lol

lofty rapids
#

this is how i goto next level in my game

#

lol its an item

thin panther
#

what bearing does that item have on anything here? I'm really confused as to why you'd do that

#

you're not actively using the item in level switching

lofty rapids
#

when u finish a quest u get an item

#

you use it

#

it goes to next level

thin panther
#

but why do you need to use it, you could take that inventory chunk out and you'd still move to the next level?

lofty rapids
#

because what if i finish the quests

#

but theres side quests n shit

#

and other enemy maybe i can kill

#

then i go when i'm good n ready

sand shore
#

I think the consent gate is nice

thin panther
#

ah ok i see. so you're kinda using the item as a replacement for like a hub world or an end of level teleporter?

dark drum
sand shore
#

so, the player has to open their inventory and use the item, which says "go to next level" as its name?

lofty rapids
sand shore
#

they can do that from anywhere?

lofty rapids
thin panther
#

what if you decide you're ready and want to go back at some point? at a surface level of side quests existing, that's something i'd expect to be able to do. Sometimes it's fun to blast through story and go back for the side content, or say, missing an achievement in a level

sand shore
#

i think folks might get confused

thin panther
#

At the very least I'd hope for some kind of level select menu

lofty rapids
thin panther
#

It sounds cool but i'd worry about backtracking and confusing from the most surface level look at it

sand shore
thin panther
sand shore
#

but then each level needs a unique item

dark drum
# lofty rapids what would u prefer ?

I'd probally have an event dispatcher called 'OnConsume' that the owning inventory can bind to. That way the inventory can just remove it when need. No need to include the player character as middle man.

However, as a quick fix, i'd just use the 'Get Component By Class' to get the inventory component without need to cast to a specific character class.

thin panther
#

Yeah I'd want them as persistent items i can use, but not taking up regular inventory slots

#

like powering up my pocket teleporter with some kind of data source for each level allowing me to travel between them at will

lofty rapids
#

i have not thought about going backward yet

#

maybe a forward and backward item and you get limited amounts of them

#

or just a level item where you can go forward and back

#

but i have to think more about it, thanks for the feedback

#

how about this beauty ?

#

lol

#

this is actually my fkn combos

thin panther
lost wolf
#

it's all fun and games

dark drum
#

Just to cleanse everyone's eyes. This is what I've just setup.

lost wolf
#

until the spaghetti monster appears and eats you alive

lofty rapids
# lofty rapids

i could refactor it but i can't be bothered it works so idgaf i know what its doing

thin panther
#

blueprints quite quickly go from "i'll make a simple system" -> "oh god what have i done" - > "i need to refactor this for my eyes" -> "... it works and i daren't touch it"

dark drum
lofty rapids
#

lol no comments too

lofty rapids
#

all my code has zero comments

#

well no, most of it

thin panther
#

future you is going to despise past you

lost wolf
#

comments can be a sign that the code needs better structure and naming

lofty rapids
#

nah i'm used to it, i go back n forth projects all the time

#

its is a pain sometimes to get my thoughts together after a bit of time off

#

but i just comment some important things that i might of been doing

#

like a todo kind of thing

thin panther
lost wolf
#

true i am not saying they are always bad

#

but they can indicate smelly code

lofty rapids
#

i madea visual scripting language and i added a source node, this would be nice in blueprints

dark drum
#

Present me only just knows what its doing, let alone what past me was doing. Its why I try to keep things tidy.

lofty rapids
#

it really gets rid of a lot of noodles

sand shore
#

I tend to overcomment because I have days where I simply have less cognition to spare

lost wolf
#

just putting a comment that says //Do something doesn't fix unreadable code

sand shore
#

I comment for those days

thin panther
dark drum
thin panther
#

yeah for the inverse square root

dark drum
thin panther
#

you know i get that feeling about a lot of "magic" from older games ๐Ÿคฃ

#

i refuse to believe the old methods for mirrors wasn't some red eyed engineer going "but what if... what if we like... made a second room and flipped it"

lofty rapids
#

this is like me being organized n clean with it

thin panther
#

why'd you crisscross them ๐Ÿ˜ญ

lofty rapids
#

because they were backwards

#

so i fkn flipped it instead of fixing it

thin panther
#

i can respect and empathise with that level of lazy

lofty rapids
#

its how i operate

#

lol

#

for me its not a big deal it was quick easy fix and its just a few nodes i can mess with it later

thin panther
#

based

lofty rapids
#

this is probably the most complex part of my blueprints

#

i just kept having to make edits lol

#

so its a mangled mess

#

its the main inventory/looting window

#

this is probably my main priority for a refactor tbh

#

like i'm seriously considering it lol

lofty rapids
#

lol

#

i know whats its doing too, thats the fkd up part, but with normal code you can flow easier, this click and drag stuff sometimes get annoying

#

the less i have to right click and drag the better

#

so i jam shit into the small spaces

#

anyway i was just showing off how amazingly clean my code is lol

sand shore
#

blueprints from hell is leaking

narrow kite
lofty rapids
gentle urchin
#

Functions is your friend

#

Reusablez clean and tidy

#

Troubleshooting becomes easy