#ue4-general

1 messages ยท Page 178 of 1

pulsar badge
#

?

gleaming shore
#

Ok screenshot me what you see

gleaming shore
#

keep going back in the folder until you see a textures folder

#

like, keep going to the previous folder (if that makes sense)

pulsar badge
#

its a foliage

#

not texture

#

its foliage folder

#

Could you just make me some

#

lol

#

Like that video

gleaming shore
#

i would need the base texture to work off of

pulsar badge
#

Foliage?

#

Thats where i found it in

gleaming shore
#

I know but thats the uasset alot of things make up the asset and i just need the .png texture

pulsar badge
#

do you have teamviewer

#

you can just ez grab it from my pc

gleaming shore
#

I do but i have like 16 programs open atm and really dont fancy opening another

pulsar badge
#

lol

#

ok

#

idk what im looking for ๐Ÿ˜ฆ

#

Could you not install the thing i did

#

and just use it

#

?

gleaming shore
#

im packaging a game atm so i wouldnt be able to import it

timid shoal
#

dont wanna discourage you, and i definetly admire DBBKs patiens but you sir need bit more basics and you should get them by watching some tutorials ๐Ÿ˜ƒ

gleaming shore
#

I agree tbh

pulsar badge
#

lol

timid shoal
#

start about here ๐Ÿ˜ƒ

gleaming shore
#

We all start knowing nothing, and in UE4 its really really easy to get to grips with stuff, even though it may look hard

pulsar badge
#

ok.....

timid shoal
#

only and biggest input you need to learn Unreal 4 is time

#

rest is kinda free

gleaming shore
#

Exactly

gleaming shore
#

Does anyone know how to stop everything being cooked when packaging or if you even can

pulsar badge
#

Anyone know why if i step back from grass or a small planet it disapears

#

plant

queen arch
#

help point me to the right direction?

#

I'm trying to get my croshair to transform into a mouse cursor, when I get close to a computer screen so I can click on umg buttons, without pausing the game

#

I've been searching all day and I can't find anything

#

one problem is that the crosshair isn't accurate. The line trace hits it square on only at a certain distance

gleaming shore
#

@queen arch have you tried Set Show Mouse Curser and ticking the boolean?

queen arch
#

yes, but the mouse cursor is all over the place, it doesn't follow the center of the screen

gleaming shore
#

Do you want the curser to be stuck in the center?

queen arch
#

yes, so the player can aim at the button

#

like in doom 3, or prey

gleaming shore
#

Aim at buttons that're NOT on a widget?

queen arch
#

aim at button that are on a widget

gleaming shore
#

Ive never played those games so im slightly confused as to what you mean

#

What do you mean by the mouse is all over the place?

queen arch
gleaming shore
#

You could swap out the crosshair widget for one with a picture of a curser?

queen arch
#

start 3:00 ends 3:20

floral heart
#

Turn off the crosshair, draw a cursor on the in-game "screen" corresponding to the player's aim point. How you do that, I don't know.

queen arch
#

That is the general idea, I also don't know how to do that

gleaming shore
#

or simply set visibility of crosshair to 0 and the mouse to 1 (assuming you choose to have a picture of a mouse and not actually the curser)

#

Do you already have a working concept, for example can you already interact with the computer ?

queen arch
#

yes i can interact with the computer, with a widget interaction component on my player character

#

which is a line trace and works well enough... but. The line trace and the crosshair (or any other icon i could try importing) are only accurate at a certain distance

gleaming shore
#

Ok so its simple, find a nice picture of a curser and put it right ontop of your crosshair in the widget then create a binding on visibility or opacity and set them based on whether your in distance of a computer

#

or rather than do distance itl be easier to just a box collision, so if player overlapping box collision set crosshair opacity 0 then set mouse opacity 1

queen arch
#

hope this works

gleaming shore
fierce tulip
#

--

gleaming shore
#

Thanks

queen arch
#

This done with the way you described?

gleaming shore
#

Pretty much, Although I set a variable (Is player near computer) on overlap and then unset it when player stops overlapping

flat pilot
gleaming shore
#

the variable is then used in the widget to determine whether to show crosshair or mouse, simple if statement (branch) then set visibility @queen arch

queen arch
#

Great! I will try that, thank you

gleaming shore
#

Hey @fierce tulip you're a UE4 pro right, is there a way when packaging to stop it cooking every single thing

fierce tulip
#

i dont do much cooking

#

unless its in the kitchen

gleaming shore
#

ahahahaha, thanks anyway

tropic pilot
tropic pilot
#

anyone who can help?

humble sun
#

@tropic pilot what kind of collision is there?

tropic pilot
#

the ball has complex collision and the road segments has simple collision

#

@humble sun

nova venture
#

Does anyone know why for some random reason the Steam OSS only initializes for one server on an a machine, like if I start 8 servers, only the first server will have access to the SteamAPI

plush yew
#

Hey all, I was wondering how I could disable display scaling in the editor. My graphics card fried on my desktop and those damn miners bought all of them so I can't afford to buy a card right now and I'm stuck with my desktop, and Unreal makes everything look huge on it. I tried going into the .exe and disabling dpi display scaling but it didn't do anything; any ideas?

humble sun
#

@tropic pilot Probably best to overlap the collisions by extending them a little bit in the static mesh.. make the collision box a bit longer than the static. MIGHT alleviate the bump.

quasi lake
#

FString::Printf

#

Would this print its content to the output log window?

#

Official doc says "as well as displayed to the screen with UE_LOG debug messaging "

#

But I dont see any shit on the screen or log window

#

Is there any document or video that shows exactly why we need to add a ' * ' before a FString in some situation?

#

This may cover some engine programing stuff,but I hope there's some senior dudes knowing this.

gleaming shore
#

Anyone ever dealt with travel faliure invalidURL when doing mulitplayer?

next badger
floral heart
#

Not for me

floral heart
#

I do. For that page only. Interesting. Edit: Found it somewhere else. Looking for threads with linked images now.

next badger
#

@floral heart are you logged?

floral heart
#

Yes.

#

Works on Edge, where I'm not logged in.

next badger
#

okay...it was my fault...uBlock

paper kernel
#

bug report for today:

#

-Capsule is not getting enough contact

#

-Capsule is getting too much contact

upbeat fern
#

hey guys, I'm making some collision models for a donut, and need the hole in the middle, any suggestions for UCX mesh ?

paper kernel
#

form a ring from boxes?

floral heart
#

That looks like a ring of boxes. And it's about as good as you're getting.

upbeat fern
#

yeah, that's pretty much what I've got going

#

all good then, thanks ๐Ÿ˜„

cursive dirge
#

@upbeat fern is the ring a simulated rigidbody?

paper kernel
#

UE why you do htis

cursive dirge
#

or static collision on the level?

#

UE4 convex builder sucks at shapes with holes in the middle

#

@upbeat fern anyway, if you don't simulate that donut shape itself and it's just a static collider, you can use mesh collision (complex as simple on collision setting)

#

if it's needs to be a dynamic rigidbody, then you need to do what you are doing now

#

of course, you wouldn't have very high poly mesh for complex as simple

#

more like, use lowest LOD mesh for that

honest vale
#

@paper kernel that's how floating point numbers work

patent siren
#

floating point error

honest vale
#

they aren't exact

#

you only have 32 bits to use and try to represent the whole range of numbers with infinite amount of decimals too ๐Ÿ˜›

paper kernel
#

this not anywhere near the error margin

cloud cobalt
#

Sure looks like it

honest vale
#

"Value actually stored in float: 555.5999755859375"

cursive dirge
#

pretty much so

#

but

#

ue4 editor actually truncates the value a bit

#

as you don't really want to see the long figure there

patent siren
#

floating point error is the root of all evil

cloud cobalt
#

It's also why floating point even exists

honest vale
#

because it's the root of all evil?

cursive dirge
#

nah

paper kernel
#

well, this is the first time I've actually managed to hit a rounding error with static value

cloud cobalt
#

Because it's a fast approximation

cursive dirge
#

because we don't want precise figures

#

we love getting things rounded off

honest vale
#

1.3 ==1.2999999523162841796875

#

in floating point math

#

doesn't take that much to find a value that doesn't line up

cursive dirge
#

that's fine tho

cloud cobalt
#

If you need something more accurate than a float, you shouldn't use a float. Floats are as fast as integers on modern systems, that comes at a cost.

#

There is double - more accurate but same logic

cursive dirge
#

I use doubles

patent siren
#

ue4 editor doesnt support doubles iirc

cursive dirge
#

it doesn't

#

nor does ue4 math libraries

#

I had to roll my own

patent siren
#

but sanitizing a float takes in a double

cursive dirge
#

only few things on math classes have templates

cloud cobalt
#

Doubles are also much more expensive, so they're rarely used in game logic because it creeps down to the entire game code, and in most projects you don't really need it.

patent siren
#

yeahhh

cursive dirge
#

they really aren't that much more expensive

cloud cobalt
#

I suspect they'll be hype with all that open world battle royale stuff

honest vale
#

except with all these open world king of the hill games

cloud cobalt
#

^

patent siren
#

well they just use origin shifting

cursive dirge
#

main disadvantages are that you miss some SIMD optimization possiiblities on SSE2

honest vale
#

rebasing helps, yea

cursive dirge
#

and that they consume more space so more cache misses

cloud cobalt
#

More cache miss, more memory usage, less hardware optimization

#

UE4 isn't just for PC, too

patent siren
#

yeah

cursive dirge
#

I wouldn't really mind having game world in doubles

#

and camera relative rendering

patent siren
#

vector3d ftw

cursive dirge
#

you could handle all the rest in floats

patent siren
#

also 100 units in unreal is 1 meter

#

so that doesnt help

cursive dirge
#

cm vs m doesn't really change this

#

due to how floats work

#

both have somewhat same precision

cloud cobalt
#

I wouldn't mind having a 64-b depth buffer either, but then people would cry about how it's slower

#

And useless for all but my own game

devout gulch
#

@patent siren origin shift is not really solution for multiplayer games

honest vale
#

I propose 48 bit oneandhalfs

devout gulch
#

nor is segmeneting or clustering single game world

patent siren
#

it kind of is

honest vale
#

afaik Squad is using origin shifting in MP

patent siren
#

the game i work on uses origin shifting for multiplayer

#

pubg does

devout gulch
#

for origin shifting you can use it only on clients

honest vale
#

they just have to make sure their RPCs handle it in a correct manner

devout gulch
#

you miss the point

cursive dirge
#

it solves the local client animation jitter

patent siren
#

yeah

devout gulch
#

server still does have precision issues

patent siren
#

thats the main issue with floating point error

cursive dirge
#

it's only one of the issue

patent siren
#

the server doesnt have to be as precise though

honest vale
#

origin shifting is mainly for animation jitter imo

cursive dirge
#

server precision is another

honest vale
#

so server doesn't matter

patent siren
#

well it does

cursive dirge
#

like, your hitboxes will go off, your CMC movement will be less stable on server

honest vale
#

not in practise

devout gulch
#

world clustering > you have to figure out all edge cases on what happens on object on cluster edges"

cursive dirge
#

and your clients do corrections from server

#

so it affects clients too

devout gulch
#

server does matter

cursive dirge
#

physics will break (but I hope you don't use physx for your multiplayer game anyway)

devout gulch
#

a lot

#

especially if have highly authoartive game

#

where everything is rounded trough server

#

(like me)

patent siren
#

we personally havent had an collision or physics issues with rebasing

devout gulch
#

I do have prediction, but everything is double verfified by server anyway

patent siren
#

the main issues we had were local stuff like lods not working

cursive dirge
#

@patent siren you don't see those in client when you rebase, it actually fixed them on client side

patent siren
#

yeah we have a client side damage model

cursive dirge
#

but if you can't rebase, like server can't, you get those issues on serverside

#

and if you have authorative server, server corrects clients

#

so when server goes bonkers, clients follow

devout gulch
#

anyway

cursive dirge
#

client side damage sounds bad in many ways

devout gulch
#

for antyhing not related to physics simulation (like rigid bodies)

cursive dirge
#

hope it's not a competitive game

devout gulch
#

you cloud use fixed point 64 bit coordinates

patent siren
#

it is a competitive game

devout gulch
#

instead of doubles

patent siren
#

overwatch has a client side damage model

cursive dirge
#

so you just trust the clients?

devout gulch
#

chances are you don't need sub milimeter collision precision for gameplay

patent siren
#

we have some server validation

cloud cobalt
#

@patent siren You really want to run all logic by the server for competitive stuff

patent siren
#

ehhhh

cloud cobalt
#

Both on server and client

patent siren
#

you want great client prediction and server validation

cloud cobalt
#

On the client for responsiveness, and on the server for safety

patent siren
#

the server does validate damage

devout gulch
#

yes you want prediction

#

not handling on cliet

#

client*

cloud cobalt
#

The way you said it was more like the client would handle damage

patent siren
#

client takes a shot

#

hits a pawn

#

rpc's to the server

#

server has some minor checks to make sure it was possible

honest vale
#

does the server rewind?

patent siren
#

then applies damage

#

it would be able to

cloud cobalt
#

Just replicate all the damage system

honest vale
#

or how do you reconcile the lag differences?

patent siren
#

you really cant

cursive dirge
#

yeah, that sounds like something that will be exploiled

patent siren
#

you know what also feels bad

#

shooting your weapon and its a 100ms behind in a different location

devout gulch
#

you really want to double verify, client send RPC with hit but server makes it own simulation

#

100ms is unplayable for shooter anyway

#

who cares optimizing for it ?

dusk marsh
#

ehhhhhh?

cursive dirge
#

it also feels bad when you don't get fair chances

#

as you allow everyone to cheat

dusk marsh
#

i can play overwatch on EU just fine

devout gulch
#

there are always going to be people unhappy either person who shoot or the one who has been shooted

dusk marsh
#

(NA)

patent siren
#

yes

paper kernel
#

"omg anything above 3ms is unplayable and is lowering my kd"

patent siren
#

but trust me

#

if you dont do client side damage

#

it feels awful

paper kernel
#

-any wannabe esport gamer

devout gulch
#

I don't

cursive dirge
#

we don't trust you

#

that sounds horrible, no offence

devout gulch
#

i don't trust clients

patent siren
#

until someone comes up with a better method

#

that doesnt feel or play like shit let me know

cursive dirge
#

you can still do damage EFFECTS clientside

paper kernel
#

until someone invents time travel

devout gulch
#

my clients are only allowed to predictvely spawn effects

cursive dirge
#

like have things throw blood splatters, etc

dusk marsh
#

fun fact: if you play overwatch on high ping, the hitmarker comes in delayed

#

speaking of damage effects.

patent siren
#

they do client side damage with some interp

#

but there are ways to prevent exploitation

cursive dirge
#

why would they?

#

I mean, it makes very little sense for a game like that

patent siren
#

no it makes complete sense

cursive dirge
#

I would expect that kind of crap from ubisoft shooter

dusk marsh
#

if i shoot someone in the head i expect them to die tbh

patent siren
#

when you shoot

#

you expect it to go where you shot it from

#

not where the server thinks it came from

cursive dirge
#

but your client isn't in realtime

devout gulch
#

and person who is shooted expect to not be hit because it was 1 meter away

#

your point ?

cursive dirge
#

two clients see two different realities

dusk marsh
#

i have a better perspective on my shot than the person who got shot at

patent siren
#

yes

dusk marsh
#

that's why we favor the shooter

patent siren
#

and until we have instant connections with 0 ping

#

there will be no "right" way of doing it

dusk marsh
#

the shooter knows better.

patent siren
#

if its server side it isnt fair

#

if its client side it isnt fair

cursive dirge
#

if you accept boths, when in other other dies and in other vise versa, that wouldn't break the immersion for you?

devout gulch
#

no the shooter wants to feel better

cursive dirge
#

think about it

devout gulch
#

only server have authorative view

cursive dirge
#

both players shoot other player, in each of their screens they themselves survive and opponent dies

#

what does server do?

#

as your client already told both lived

dusk marsh
#

that's a problem with any client-sided prediction

cursive dirge
#

and clients told both died

patent siren
#

lol

#

thats not how it works for us

devout gulch
#

so you record who shooted first ?

#

send it to server

patent siren
#

if both clients said they damaged each other

#

they both die

#

on server and client

devout gulch
#

and then one player feels cheated..

patent siren
#

okay

#

but until ping isnt a thing

cursive dirge
#

but since the client which you trust (itself) told it didn't die

patent siren
#

theres no better way

honest vale
#

it's a tradeoff in the end ๐Ÿคท

cursive dirge
#

and server isn't authorative

#

so both clients live

patent siren
#

client doesnt tell itself i didnt die

cursive dirge
#

there's a way better way

dusk marsh
#

clients don't say whether they live, they say whether other people die

devout gulch
#

we just telling you we don't do client side damage

cursive dirge
#

what everyone else is using

devout gulch
#

we just do "visual" predicition on client

#

and verify on server

cursive dirge
#

at least, if they have a serious online shooter

honest vale
#

that isn't client side then

#

๐Ÿ˜‰

cursive dirge
#

I dunno who has told you that you can do these things client side

#

as it's first rule in online MP: "never trust the client"

cloud cobalt
#

Clients should definitly not say if someone dies

#

They should say : I fired this vector

patent siren
#

boys

#

lol

cursive dirge
#

only if it's some co-op noncompetitive game, you can trust the client, as then it doesn't matter

patent siren
#

im sorry until there is something that feels better

#

there is no way you can convince me

cloud cobalt
#

"Trust me", I did a MP shooter game once

#

It was very responsive

#

Also hacked to death

cursive dirge
#

of course client side sim will feel better

#

but it doesn't prevent cheating

devout gulch
#

rampart cheaters will convinve you for sure (;

patent siren
#

okay

#

listen

devout gulch
#

convince*

cursive dirge
#

this is main reason why whole server authorization was implemented

dusk marsh
#

if you're going to cheat in a shooter why not just write an aimbot

patent siren
#

youre not going to discredit me or tell me i've done one thing once

#

im not some shitty 8 year old sittin in his moms house playing with unreal

honest vale
#

@dusk marsh (your nick is annoying to write) see Arma games for reference

patent siren
#

you dont know me or my experience

dusk marsh
#

you can call me brackets if it's easier :p

honest vale
#

they have hacks that spawn grenades around all players

cloud cobalt
#

We're not 8 either, and we're just giving you some feedback. Take it or don't, doesn't matter really

cursive dirge
#

we know games that fail on server authorization from experience

#

it feels bad man

dusk marsh
#

that's clearly indicative of much worse problems than favor the shooter

devout gulch
#

like For Honor quess what ?

patent siren
#

i know users hatr it when their shot doesnt hit where they aimed

devout gulch
#

they implemented dedicated server..

cursive dirge
#

we just recommend you to not do the same mistake

dusk marsh
#

all favor the shooter does is give people the ability to shoot people who moved behind a wall 100ms ago.

devout gulch
#

authorative dedicated server

dusk marsh
#

that's the only cheat you can write for it.

#

why bother?

patent siren
#

well as im not the only member on the team many of the other programmers have agreed on this method

honest vale
#

so speaking of UE 4

devout gulch
#

coz 100ms feels better than being cheated by DDoS (for example)

honest vale
#

when the client says "I fired this vector XYZ"

#

what validation should be done?

cloud cobalt
#

Just replay the entire firing logic on server

#

Don't just validate

devout gulch
#

you should make the same simuation on server

patent siren
#

but the server is not going to be exactly where the client was

devout gulch
#

and compare what there actor have been based on timestamp from client

paper crest
#

that moment when you rename the struct, and problems goes away.. well played Epic Games

devout gulch
#

you rewind entire simulation to that point

patent siren
#

we've done test with both

#

we've tried many methods

#

this works for us

honest vale
#

but UE 4 doesn't have any kind of rewinding framework, does it?

patent siren
#

it does

honest vale
#

oh

devout gulch
#

gameplay prediction

#

is game specific

cursive dirge
#

it has for movement

cloud cobalt
#

@patent siren And the fired upon client isn't going to be where the shooter client think it is, so you're just making it better for the shooter, worse for the shootee

cursive dirge
#

I don't think it has for shooting

devout gulch
#

^

patent siren
#

it has for more than movement

#

it keeps track of all rpc calls

#

you can literally record all network events and replay it

cursive dirge
#

I haven't checked shootergame specific things tho

patent siren
#

like in call of duty

devout gulch
#

replay system

dusk marsh
#

the shootee can't tell whether the shooter was aiming at where they were or where they were 0.1s ago. the only thing it affects is cover.

devout gulch
#

is no the same as prediction...

patent siren
#

pubg has a replay system

#

looks boys

cloud cobalt
#

"boys" lol

patent siren
#

this isnt as simple as you guys think

cursive dirge
#

pubg isn't great example either

#

it's so lazy job in all ways

patent siren
#

okay?

#

they have a rewind system

#

thats what i was talking about

#

replay system*

#

the last project i worked on had it

cursive dirge
#

they also allowed clients to hack the healing system by not doing server side checks

patent siren
#

and you know what

#

they patched it

cursive dirge
devout gulch
#

replay system is not used for prediction

cursive dirge
#

sure

devout gulch
#

-;-

#

is not kind of rewind we talk about..

cursive dirge
#

but who knows what else people can hack there

patent siren
#

pubg is one of the largest games ever

cursive dirge
#

we only see some of these things in public

patent siren
#

its going to have hackers

cloud cobalt
#

PUBG is probably an extreme example of incompetence

#

tbh

dusk marsh
#

damn yall know better than every popular shooter of last year this is a real 400iq chat

cursive dirge
#

they constantly ban people from cheating

patent siren
#

dude yeah

cursive dirge
#

instead of preventing it in the first place

honest vale
#

1 million bans per month iirc

#

๐Ÿ˜„

patent siren
#

you guys have this whole shooting mechanic over a network figured out

devout gulch
#

all those cheaters are going to buy game again

patent siren
#

go talk to blizzard about it

devout gulch
#

it's better to ban

patent siren
#

they'll need your help

devout gulch
#

than prevent

cursive dirge
#

like mentioned, pubg isn't the greatest example

cloud cobalt
#

PUBG is the worst example, because cheating is everywhere

cursive dirge
#

you can't do shit like that and succeed like they did

cloud cobalt
#

It's just so fun it still works

patent siren
#

ugh

#

boys

keen birch
#

PUBG's a crap game in the right place at the right time, same way Ark is

dusk marsh
#

right but... thats all shooters.

#

i mean not rly but

patent siren
#

it wasnt a look at pubg and copy

#

it was a how do i get the best feeling weapon system

cloud cobalt
#

@patent siren You can stop defending yourself, we heard you the first 41 times

devout gulch
#

Ark is as bad as example as PUBG

#

funny

patent siren
#

you guys think you have all the answers though

#

and you really dont

devout gulch
#

that technically worst games in their respective generes are most popular ;s

keen birch
#

And you might be underestimating ages here. We're not 8-year olds in our mom's basements ;3

#

(I'm probably the only one you could get away with calling 'boy')

dusk marsh
#

favor the shooter is, like, everywhere. idfk wtf yall mean saying "no serious shooter uses it"

patent siren
#

it was a joke

keen birch
#

@devout gulch Yup, that's my point

#

Kinda sad

cloud cobalt
#

No one cares about anyone's resume here. We're just sharing advice

#

Take it, don't, no one cares

cursive dirge
#

unless your game succeeds and is crap

devout gulch
#

yes we know facor the shooter is popular

cloud cobalt
#

No point in arguing for half an hour about whether the "boys" are correct

cursive dirge
#

we want better games

devout gulch
#

and it is not taken to extreme

#

you still do server validation for it,

dusk marsh
#

ye

devout gulch
#

and just operate within "error" margin

dusk marsh
#

ye i'm pretty sure everyone was agreed on that

fair violet
#

TLDR: serverside shooting alone feels unresponsive, but clientside shooting with server validation isnโ€™t quite good enough as it doesnโ€™t compensate for lag. Best method = clientside trace with server rewinding to that time stamp if something was hit to verify

devout gulch
#

it's not like something with 200ms lag will be able to hit no matter what that would be straight up cheating

dusk marsh
#

that's where you're losing me.

cloud cobalt
#

The problem with "hit what you see" on remote clients is that you're technically seeing a 400ms old player

patent siren
#

you cant punish users for bad ping

cursive dirge
#

well, this discussion isn't going anywhere either

cloud cobalt
#

If the lag really is 200ms

languid shard
#

Hey everyone ! Quick UE4 editor related question, is asset saving speed mainly tied to storage I/O speed ?

fair violet
#

To add to that- ping caps should switch over to serverside shooting beyond a certain high ping like battlefield does.

patent siren
#

see thats interesting

#

i actually like that idea

fair violet
#

But serverside shooting for regular ping shouldnโ€™t be used as you have to lead based on ping

patent siren
#

but also i dont

devout gulch
#

if you would always prefer client, regardless of their ping, players with really bad ping would have advantage

cloud cobalt
#

IMHO, you should never let a player with extreme ping provide its own opinion of whether the shot was successful. The server is simply more knowledgeable of this.

dusk marsh
#

how so?

devout gulch
#

they are in the past for others, but shoot from the future

patent siren
#

i mean this stuff is all very game design oriented

dusk marsh
#

but they can get shot from the future, too, so it doesn't really seem like an advantage to me.

patent siren
#

lets say i made a game like arma

fair violet
#

Definitely- high ping players getting old shots allowed is bad and why we can get shot way around corners

cloud cobalt
#

^

patent siren
#

id 100% probably just fire the bullet on the server and do basic client side prediction

cursive dirge
#

@cloud cobalt sorry boy, but your are wrong, it would feel unresponsive to do it any other way kappa

#

(had to)

patent siren
#

i dont call you guys boys to make you sound younger

#

its just how i talk ๐Ÿ™„

dusk marsh
#

its ya boi

patent siren
#

but yeah

#

any of you guys going to gdc

#

we can talk more about this there

devout gulch
#

high ping players can't really be shoot, because you don't see them where they really are (server have authoartive location, but their input is still coming late)

dusk marsh
#

if you're low ping, though, then you're seeing them at close-to-server location

#

so why can't you shoot them?

patent siren
#

oof who wants to talk about why oop is bad

fair violet
#

You can shoot them, no? @dusk marsh

dusk marsh
#

that's how it seems to me. @devout gulch said "high ping players can't really be shoot" so i didn't understand what they meant

fair violet
#

They can if the client that sees them shot them and he has a reasonable ping

steady fractal
#

WHAT IS DIFFERENCE BETWEEN UNREAL-CHAT AND LOUNGE?

patent siren
#

lounge is like offtopic?

dusk marsh
#

somehow that's what i always thought you did.

steady fractal
#

ah, so like a general/miscellaneous channel, but not crazy unrelated stuff

frank escarp
#

@cloud cobalt have you seen the videos about overwatch networking?

#

they say they favor the shooter, allways

#

its client side shooting

#

but the client sends the server "hey i hit this guy", and the server then rewinds time and checks if that shot was possible

#

and if it wasnt overriden by a movement skill

patent siren
#

that is essentially what we do

fair violet
#

The time stamp is the most important part

#

If you donโ€™t do that and rewind, you have to increase error tolerance by a large amount

sudden agate
#

@frank escarp that sounds really weird tbh

fair violet
#

And itโ€™s even more inconsistent if the enemy moves behind cover on the non rewind verification trace

frank escarp
#

counter strike does the same

fair violet
#

@Raildex#6923 almost all shooters follow this logic

frank escarp
#

except much more acurate becouse small hitboxes

fair violet
#

Otherwise itโ€™s not responsive enough

frank escarp
#

but they do the shooting in client side, and then the server checks if the hit was valid

#

by basically rewinding time, and checking if the raycast goes in the correct position

cloud cobalt
#

@frank escarp The problem with this is, it favors the shooter, gameplay wise, not just on feelings

frank escarp
#

and people love it becouse it feels very responsive

fair violet
#

CSGO, Battlefield, call of duty, overwatch etc etc

frank escarp
#

when i worked on heavy gear assault we were kind of retarded about super server side shooting

fair violet
#

Itโ€™s definitely the standard for shooters

frank escarp
#

and honestly it felt wrong

#

you had to lag shoot

dusk marsh
#

man i'm so glad most shooters get the networking right nowadays.

frank escarp
#

if your server validation works fine, you should be doing client shooting

#

but of course, you NEED to validate it

#

or some smart guy will create a "kill all" cheat

patent siren
#

dude we want hackers to hack our game

cloud cobalt
#

I think everyone's in agreement over the fact you're going to verify all of it and kick the offenders to death

#

What i'm saying is, moving the shooting logic to the client isn't a trivial, make-it-better solution. It's hard to get right on the server validation, and it has an impact on gameplay

fair violet
#

Basically make the game feel as responsive as possible on client without actually giving the client the power to do anything without server checks similar to movement

honest vale
#

iirc Unreal 1 had really server side shooting

dusk marsh
#

it's not trivial by any stretch, but it's still the right call, and necessary for a shooter.

patent siren
#

i think

honest vale
#

with a 200 ms lag your firing anims would be delayed by the round trip time to the server and back

patent siren
#

the most important thing for a competitive shooter or any game is frame rate

#

which is a bit off topic

honest vale
#

as in the local client prediction was non-existent

cloud cobalt
#

To take a cheat example, you could freeze your network locally with a lag switch, aim at someone, fire, release netorking. Almost impossible to detect

fair violet
#

Even if you played those anims locally instantly and the shot played out on the server it wouldnโ€™t be good enough nowadays @honest vale

cursive dirge
#

@fair violet everyone agrees that client needs it's own sim but what people disagree is what client can dictate to the server, nobody is telling you shouldn't visually see the shot the moment the client fires a weapon or not to immediately see hit response

honest vale
#

@fair violet I have always preferred that

cloud cobalt
#

Obviously pure server side is bad and pure client side is bad, literally no one is arguing about that

fair violet
#

@cursive dirge Yeah but itโ€™s not only just a cosmetic response but also a potential hit for the server to rewind and validate. Otherwise players feel that they arenโ€™t hitting what is between their crosshairs

#

Itโ€™s a very interesting topic ๐Ÿ˜ƒ

patent siren
#

its a very complex thing

#

that has no "real" solution

honest vale
#

damn light speed

patent siren
#

it differs with every game i think

dusk marsh
#

things with no real solution have some of the coolest research

patent siren
#

yeee

cloud cobalt
#

My view is that the move from server-side authority to client-side has dubious value on gameplay, and plenty of abuse opportunities. If you're doing a fast-paced twitch shooter, well, why not

patent siren
#

we'll never have pingless networking though

#

that wasnt a response to you btw

frank escarp
#

look, you can just boot people past a certain ping

fair violet
#

Yeah like everything with multiplayer, at some point thereโ€™s a trade off. I tried fully server shooting for my game and it was a joke watching people try to shoot someone who was strafing because they had to lead constantly. Then again no one likes being shot around corners, which is common with client side validated games. So itโ€™s up to the designer to pick a mix of both

frank escarp
#

or dont trust them that much

#

honestly, blizzard is blizzard

#

blizzard does client shooting, blizzard has the most popular online shooter lately

#

i would look at what they do VERY seriously

#

becouse blizzard knows what they are doing

#

also counter strike

patent siren
#

do you guys remember when pubg first came out

dusk marsh
#

it's not an entirely unpopular opinion to dislike favor the shooter, but i'm definitely all for favor the shooter here

frank escarp
#

wich is also client shooting

patent siren
#

how people could unplug their ethernet

frank escarp
#

its favor the shooter on both

sudden agate
#

But what speaks against Client Visual shooting (animation,Sound) and the Server checks and progresses?

patent siren
#

and smack everyone and then plug it back in

frank escarp
#

@Raildex#6923 actually thats not that good

patent siren
#

and theyd all die

frank escarp
#

its better to relay the effects to server validated

cloud cobalt
#

@patent siren Yeah that's what I was talking about. Destiny suffers from that too

dusk marsh
#

and i guess it's safe to say that the most popular modern shooters heavily favor favor the shooter

frank escarp
#

hitmarkers and such

patent siren
#

wow

#

destiny does?

frank escarp
#

in overwatch the hitmarkers are actually server-side

patent siren
#

thats insane

fair violet
#

If your game is competitive it basically canโ€™t have a solely server authoritative model as it means the amount each player leads differs due to latency and that kills consistency. They might have to lead by 1 meter one game and 4 Meters the next

#

Pro players need consistent gameplay

cloud cobalt
#

Destiny 1 at least had lots of cheaters with that method , and it was a console exclusive

frank escarp
#

you want your hitmarks to be server side becouse if you dont then the player will be like WTF BUT I HIT HIM when the server rollsback and cancels his shot

patent siren
#

the biggest issue with the game i currently work on

#

is optimization

#

we're so gpu capped

#

its bad

frank escarp
#

in counter strike that happens with blood

#

blood only appears when the hit is fully registered

patent siren
#

we also have a massive ass map

#

and all this fun stuff

fair violet
#

Yeah the server validates the client hit and if it accepts it, then the blood fx plays

#

So the solution is never play damage causing or hitmarker type cosmetics until the server verifies

dusk marsh
#

GPU Kappa d

fair violet
#

But itโ€™s ok to do concrete on the client instantly

devout gulch
#

but yhen you end up with 100ms delay between shoot and effect

frank escarp
#

sparks and shit are fine

sudden agate
#

@frank escarp but that's what I suggested. Animation/Sound on client and actual hit recognition on Server.

frank escarp
#

to play on the client

#

but hitmarkers should be 100% server validated

patent siren
#

have you guys ever read into how halo did grenades

fair violet
#

The muzzle flash, shot sound etc can all be local

frank escarp
#

so the player knows their hit registered

devout gulch
#

althoug it can be acceptable on highes distance (bullet travel even is it is trace)

patent siren
#

its incredibly smart

devout gulch
#

on close distance, not so sure

frank escarp
#

meanwhile on my new prototype im doing 100% client authority on stuff

#

becouse i cant be bothered with serious server checks on a PvE game

devout gulch
#

you doing VR again ? (;

dusk marsh
#

it's so disorienting playing widow on EU and losing the instant feeling of reward from nailing a headshot

patent siren
#

oof

dusk marsh
#

but i can still accept it

frank escarp
#

@devout gulch yes

patent siren
#

vr market is something that i wanted to get into

#

but they dont sale enough

frank escarp
#

my "warframe but vr" shooter failed

#

i just cant art

#

but im back to my dungeon crawler concept

#

with melee combat

#

for such a thing perfect responsivenes is crucial

#

or it will be disconected as fuck

devout gulch
#

depends

frank escarp
#

so everything client side authority on the parry/melee hit

devout gulch
#

you do it "very realistic"

frank escarp
#

server just assumes its valid if the player is near the enemy XD

devout gulch
#

or you do it Black Desert Online way

dusk marsh
#

trying to prevent cheats in a VR game seems like a gigantic meme

devout gulch
#

spawn shit load of fancy effects

#

and just do standard trace

sudden agate
#

How would you handle Physical Bullet objects though?

frank escarp
#

@dusk marsh im also going to do ps4 where people cant attach a debugger, so...

patent siren
#

oof

#

the last game i worked on

dusk marsh
#

(^:

patent siren
#

essentially we shot a bullet on the shooters client

#

then multicasted to everyone else

frank escarp
#

thats common

#

i do that too

devout gulch
#

UT code

#

;o

patent siren
#

UT has good example code

frank escarp
#

its just logical to do that

devout gulch
#

they have nailed it

patent siren
#

i wonder what fortnite does

fair violet
#

Probably a similar approach

frank escarp
#

fortnite weapons are all instahit

#

except the snipers

devout gulch
#

probabaly some gameplay task for abilities

dusk marsh
#

wait rly i had no idea

devout gulch
#

wich encapsulates entire thing.

fair violet
#

Yeah the snipers are what I meant

#

They feel great because there is travel time

frank escarp
#

snipers have perfect client side hitreg

#

im sure the bullet is thrown client side, and then mullticasted

#

and when the bullet hits IN YOUR SCREEN, the server checks if the hit was valid

fair violet
#

And interpolated toward the servers bullet? Ah or that method works too

frank escarp
#

doubt it

fair violet
#

Too fast yeah

frank escarp
#

they do the same on overwatch

#

for projectiles

fair violet
#

The validation makes more sense

frank escarp
#

the projectiles are done clientside, and then replicated to server

#

but for example, phara rockets are server side

#

for the explosion

#

client side rockets will not explode

devout gulch
#

the "spawn on client, then on server, then interpolate to server" works only for slow moving projectiles

cloud cobalt
#

Fast moving bullets suck on the render side too, to be honest.

fair violet
#

Yeah the bullet would be too fast that makes sense

patent siren
#

bullets are just bad

#

video games dont need them

devout gulch
#

i don't see reason to have fast moving bullets

#

you can just as well use trace

patent siren
#

ehh

fair violet
#

I would stick with instant traces for bullets yeah

patent siren
#

what if you want a milsim

frank escarp
#

there is a difference beetween fast bullets and traces

#

specially at medium/high range

fair violet
#

Unless itโ€™s a super accurate game etc

frank escarp
#

at a short range you are fine with traces

#

but fast bullets do have a serious difference in medium/high range

patent siren
#

i think our projectiles do a trace for like 10m then do bullet drop

devout gulch
#

then you roll your own physics

patent siren
#

some other way

frank escarp
#

look at fortnite snipers

#

they are pretty damn fast

dusk marsh
#

tbh seeing people lead shots in pubg revived my lust for bullets

frank escarp
#

but they aint instahit

devout gulch
#

I still rather to "simulation" using trace

frank escarp
#

becouse if they were instahit they would be 100% fucking broken

patent siren
#

yeah same

devout gulch
#

rather than spawning physical projectile

patent siren
#

projectile components are lame

devout gulch
#

measure bullet speed traver, distance to hit

fair violet
#

Call of duty does instant hit snipers and they can feel good too but I like that they went with projectiles in Fortnite

devout gulch
#

and approximate where the trace would hit at that bullet speed

fair violet
#

Makes it a lot more skillful

devout gulch
#

it's still better than spawning bullet

cloud cobalt
#

Real-life bullets do one meter in one millisecond, so your average 20m shot is barely more than one frame, and half of the lag. Whether it's hitscan or not is purely a point of view, because tehcnically it's really hitscan

patent siren
#

you know what unreal doesnt do good out of the box

#

vehicle movement prediction and replication

devout gulch
#

for Snipers, player actually expect they will be instant hit

patent siren
#

they just too fast

devout gulch
#

at least they are in most games

tawdry birch
#

fortnite weapons are all instahit
instashit //fixed

cloud cobalt
#

@patent siren There was talk of having prediction for general objects, not just characters, but it's pretty much dead

#

I implemented vehicle rep myself too

patent siren
#

the game i work on doesnt have vehicle

#

but our lead from squad did vehicles

fair violet
#

Did the udemy course work out or is it still unfinished @cloud cobalt

#

Good info in there regardless

devout gulch
#

I can't imagine generic prediction framework, that won't be overarchitected bloat

cloud cobalt
#

It's unfinished IMHO, but there is great information

fair violet
#

Apparently he will be back to finish it and do a steam dedicated section so we will see what happens ๐Ÿ˜„

devout gulch
#

I've seen single prediction interface implemented on movement component

tawdry birch
#

@devout gulch well the simplest prediction is just to simpulate multiple ticks in a row in a single ticks
but I guess that can get hard on server for lots of objects ๐Ÿค”
Otherwise one has to know sorta the movement formula for object? O_o

cloud cobalt
#

@fair violet The Steam side was surprisingly easy to handle, even though there is zero doc

fair violet
#

I really should look into it properly soon haha. You got dedi instances registering with steam and authorizing joining clients?

devout gulch
#

@tawdry birch my point, how you can predict something in generic way, if you don't have any information about it ? Ie how you can predict something like shooting, or ability activation ?

#

in generic way

patent siren
#

yeah

#

you cant

#

itd be bad

tawdry birch
#

well yeah predicting events is impossibru

#

but movement of things?

devout gulch
#

you might be able to extend it to property prediction

#

but it probabaly would turn out messy

cloud cobalt
#

@fair violet No, I'm doing simple stuff. Play with friends. The matchmaking / joining / inviting stuff is pretty okay

frank escarp
#

isnt that what ability syste does?

devout gulch
#

yes it have prediction build in the system, it's hardly generic (;

fair violet
#

Ah yeah the listen setup is straightforward. Hopefully can replicate the same setup with dedicated instances

devout gulch
#

@tawdry birch the movement prediction in character component is complex as hell

#

I don't really want something similiar to bloat actors even more

rose bison
#

how is it complex?

#

last time I checked it just runs the same code

sudden agate
#

Someone mentioned GameplayAbilities. Can they do more than spells and such?
What is considered an ability? If I can remodel my movements into GameplayAbilities, I would like to do it. (Climbing is a GameplayAbility?)

devout gulch
#

@rose bison it adds complexity to code

#

@sudden agate there is deidcated channel for gameplay abilities

#

but yes

#

if you want, you can treat everything as ability

sudden agate
#

that sounds pretty awesome ๐Ÿ˜„

devout gulch
#

that's what I do (though I don't use build in system)

cursive dirge
#

re: sniper delay, there's actually a long delay on fortnites sniper shots, you can think of it as bullet travel time but in fact, you could immediately send the shoot event to server when the player fires the trigger

#

also, there's a clear delay on their hits even at closer range

tawdry birch
#

purely server side bullet?

cursive dirge
#

nah

tawdry birch
#

I mean client sends fire input to the server
Server spawns a bullet and it gets spawned on client via rep

#

or client still does visual bullet spawn just to cover up latency?

cursive dirge
#

yeah, both client and server would sim it

tawdry birch
#

oh man it's so hard to do semi-authoritive client in current replication paradigm (IMHO)

#

Or maybe it's just me
I really would love the repl code for Owner/Server/Remote be separate in 3 different classes components or something

#

it hurts my brain to read plain code and keep track of which method goes where X_x and in which concept it's running*

rose bison
#

just draw a code flow diagram

#

a whiteboard helps ๐Ÿ˜„

devout gulch
#

meanwhile in CryEngine roadmap

#

SVOGI Offline Voxelization

#

interesting

cursive dirge
#

it's in already

#

I mean, in the github

#

so it's definitely going to be in 5.5

#

glare?

#

remove spec and make it fully rough, or just use unlit material

#

if you don't need lighting for the background, definitely use unlit

#

?

#

you still feed in the texture?

#

it probably needs to go to emissive

#

that's not unlit

#

it says "Default Lit"

#

show your unlit material

#

no

#

the UE4 material

#

the one you showed

#

but when you have unlit setup

sudden agate
#

its not unlit

cursive dirge
#

...

#

I'm pretty sure you don't get Base Color enabled with unlit materials, meaning it will not use that input channel

sudden agate
#

change "Default Lit" to "Unlit"

cursive dirge
#

so you need to wire it into emissive instead

#

it actually works on default lit too

#

but it's just more expensive

#

see

#

it's greyd out

#

the wire and input on material

#

move the wire to Emissive Color

#

and boom, let there be light ๐Ÿ˜„

#

different material modes enable and disable different inputs there

#

this happens if you use masked or translucent too

#

so be aware of what's greyed out and what is white there, in the nodes input

#

if you want to keep using the default lit, you can just do the other thing I told

#

put spec to 0 and roughness to 1

sudden agate
#

@light lintel how does it look now ?

opal coral
#

okay so I have a long running problem of issues when FPS is not ~120, most notably everything speeds up/slows down, moon gravity, can barely jump and so on.
I'm multiplying any variables that change on Tick with GetWorld()->DeltaTimeSeconds, have also tried GetDeltaSeconds(), but same results.
any suggestions for what I can try?

#

not using physics, moving and tracing manually

cursive dirge
#

you need to show your movement code

#

but it does sound like you apply deltatime wrong

opal coral
tiny coyote
#

can someone help me? my collision box in the physics assstes (for my simple car) is crooked. The bones and the meshes are all ok

#

with the opacity value

#

I think

cloud cobalt
#

Make it masked, and zero opacity

#

Or just set the mesh to hidden

honest vale
#

it's a setting in the mesh

tawdry birch
#

where can I get content examples for unreal?
I see them on the wiki, but there is nothing in a marketplace -_-
It's like a Shooter Game project that I acquired by some miracle O_o

cloud cobalt
#

"Learn" tab in launcher

tawdry birch
#

lol that made me feel so stupid
thanks! ๐Ÿ˜„

tame delta
#

Has anyone tried reinstalling windows, salvage their previous Unreal Engine Version and managed to have it running again? Everytime I'm reinstalling UE 4.18 I'm getting a FC02-5 error, saying this in logs: "[2018.02.05-14.51.06:182][563]LogBuildPatchServices: Error: FBuildPatchFileConstructor: Could not create Engine/Source/Developer/AITestSuite/Private/MockAI/MockAI_BT.cpp"

tawdry birch
#

@tame delta ehm are you sure you have write access to installation directory?

tame delta
#

yeah, put the entire directory to r/wable

tawdry birch
#

r what :U

#

that looks like a reddit community to me ๐Ÿ˜…

tame delta
#

ha, fair enough, unticked read-only on the entire 4.18 folder is what I meant

tawdry birch
#

oh yeah that

#

I mean you know after reinstalling windows it could've happened that you're not full admin on system or something
so that your user account can't access the directory where you've placed ue?

tame delta
#

I made sure I've got full owner privileges

tawdry birch
#

btw I assume by the error code that it's launcher who's giving you error?

tame delta
#

Yup

tawdry birch
#

see if you can run UE4Editor.exe directly from the folder?

tame delta
#

epic games launcher doesn't have a good way to "take" an existing install, it's very hacky you have to start the download cancel it once it's done with initialization, move all the files to the "install" directory it creates, resume

tawdry birch
#

yeah I thought about that too...

#

but is it possible to successfully launch editor from the folder? ๐Ÿค”

#

Like
UE4.18/Engine/Binaries/UE4Editor

verbal laurel
#

Hey all, how are washed out graphics like these created? Can someone show me a sampe texture or idea behind it?

tame delta
#

So it works if I do launch through the binary, but then my project shows a "?" on version and when I try to start it, it complains it was made with a different version of the engine, and always fail to compile the project

tame delta
#

@Chimรฆra#7542 at a glance bright pastel colors, fog

#

shadows seem to be blended in a color burning manner too

tawdry birch
#

@verbal laurel don't see anything special there, just artist work... proper color selection

verbal laurel
#

Well please have a look here at a model and shader created by others for my project

#

I'm trying to achieve a 'manga book cover' look for all the art.

tawdry birch
#

@verbal laurel I think a place to start with is a "cell shading" or "cartoon shading"

tame delta
#

Apparently I'm missing the Windows SDK v8.1 for compilation, I'll try that first

verbal laurel
#

Everybody keeps saying that, maybe I should just trust them.

#

So you think a toon shader with that other shader will help me out?

#

The combination of the two*

#

I don't want it to look like all the other anime games though.

shy sonnet
#

anyone compile 4.18.2 with vs 2017 15.5.6 ? My computer updated and now I have that and the editor is hanging on start up ๐Ÿ˜•

tawdry birch
#

@verbal laurel those two names are basically the same thing
cell is just a fancy name for some artistic technique which I forgot does what exactly xD

tame delta
#

@Chimรฆra#7542 the first screenshot you sent doesn't use a toon/cell shader, or the black outline. I'm afraid if you use those you will get that vibe from all other anime games using or borderlands

tawdry birch
#

or you can just design you models in a way so they look cartooney

#

like "painted textures" etc

tame delta
#

What your issue with the webm you sent, it looks good to me

#

I personally wouldn't add cel shading or that black outline to it

north mountain
#

Looks like you'd want full bright textures that only take the lighting info of particle effects

#

Would definitely have to paint your textures a specific way

tawdry birch
#

https://en.wikipedia.org/wiki/Cel_shading
also you probably can do cel shading without that black outline

Cel shading or toon shading is a type of non-photorealistic rendering designed to make 3-D computer graphics appear to be flat by using less shading color instead of a shade gradient or tints and shades. Cel-shading is often used to mimic the sty...

verbal laurel
#

@tawdry birch painted texture?

#

And to the GIF I sent earlier there's no issue with the style I just want it to look a bit more 'anime'. Right now it's a bit realistic.

#

It looks like a real world type game and I want people to get this 'anime' or slightly 'cartoon' vibe from it. But I don't like how a lot of cel-shaded stuff turns out, really. It often looks cheap and easy.

#

I'm also interested in this too

#

It has a blend of realism and a blend of anime.

north mountain
cursive dirge
#

@opal coral you have DeltaSeconds applied there many times

#

only do it before you move the actor finally

#

if you insist in doing it separately for each step, you have to be careful and remember to do it for each additional thing and never multiply the result again with delta seconds

north mountain
#

Looks like you want to do hand painted textures with the player models only casting shadows on the ground

verbal laurel
#

Edalse shadows will be important unfortunately so everything will need one

#

So hand-painted eh?

tropic pilot
#

im still having problems ๐Ÿ˜ฆ

obsidian nimbus
#

if u make a duplicate mesh outline u can sculpt it and drive it with morph targets

opal coral
#

@cursive dirge hmm I see. I guess I should keep it only on increasing values, and apply it once when offsetting the actual object. is multiplying DeltaTime several times really that bad?

cursive dirge
#

it is if you don't know why you do it

#

The velocity of an object is the rate of change of its position with respect to a frame of reference, and is a function of time. Velocity is equivalent to a specification of its speed and direction of motion (e.g. 60 km/h to the north). Velocity ...

#

well, discord can't embded that

#

but anyway velocity = delta distance / delta time

#

so to get distance traveled during deltatime, you multiply velocity by delta time

#

if you just randomly add more multiplications to that equation, it'll not do what you expect it to do

#

so either do velocity1 * deltatime + velocity2 * deltatime + velocity3 * deltatime
or (velocity1+velocity2+velocity3) * deltatime

#

but don't do (velocity1 * deltatime + velocity2 * deltattime ) * deltatime like you do in your code now

#

ok, discord messed up the formulas, had to edit

tawdry birch
#

you only double the delta time when you do
acceleration * deltatime * deltatime

verbal laurel
#

Thanks for your help guys!

opal coral
#

but if you say your target velocity is 10, and you lerp towards it with delta time * some acceleration, do you apply the delta time after applying it to the acceleration?

tropic pilot
#

guys ๐Ÿ˜ƒ can somebody help me i THINK i have a problem with collision between rollingball character and the roadmesh i use in the spline :/ for some reason when i reach high speed with the ball between section there is a invisble bump that makes the ball "jump" -.- and it's annoying me and i can't figure out what the hell the problem is...

tawdry birch
#

velocity += acceleration * delta time;
move delta = velocity * delta time;

cursive dirge
#

"only double" is kinda stretch when you think what really happens

tawdry birch
#

agreed ๐Ÿ˜ƒ

#

the proper example above

cursive dirge
#

if you run at 60 fps, your deltatime will be 1/60 = 0.0166666

#

0.0166666 * 0.0166666 will not be 0.0333332

#

it'll be something really tiny

tawdry birch
#

@tropic pilot if your collision mesh for road segment is too simple... then it couldn't be bend enough exact around the spline so you end up with a sharp transition

cursive dirge
#

(0.00027777555556)

tawdry birch
#

the solution is to make a bit more complicated collision mesh for road segment, or... (not recommended) use visual model for collision

tropic pilot
#

@tawdry birch so i need a complex

opal coral
#

I'm just trying to wrap my head around it like.. if you get a slow frame and your delta time is 1, you gain a lot of acceleration to make up for the time you wait for the next frame - either that, or you go at a fixed acceleration step and instead move the player further (with delta time) - but leave the acceleration lower than what it would have been if it had accounted for the frame lag...
wouldn't it be correct in this case to apply it to the acceleration and not the velocity?

cursive dirge
#

your deltatime can only be 1 if you have 1 frame per second

opal coral
#

or if you had a one second long frame lag

tawdry birch
#

in fact it's usually applied to both as I wrote above

velocity += acceleration * delta time;
move delta = velocity * delta time;

that's typical movement code for an object with acceleration

keen birch
#

^

opal coral
#

yeah that's how I've usually done it too

tawdry birch
#

also if you get like 1 frame in a 5 seconds (which is like really unplayable state of game you know)
you may end up penetrating some objects on the way
and there is a workaround for cases like that in a physics engines (see substepping in UE4)

#

@opal coral you do it correctly then ๐Ÿ˜

#

there is also some really weird stuff like Verlet integration

#

which is more complicated and in my opinion still shit because it still can fail for user controllable characters ๐Ÿ˜„

opal coral
#

that's alright and all, I'm just wondering if there's some general rule for when delta time can be applied on top of something that already used deltatime - which is what I've been doing by mistake (not just with acceleration), and which gives me moon gravity and all kinds of effects when running a different frame rate

#

or, hopefully that's what causes it. haven't made all the changes yet to check

tawdry birch
#

yeah if you'll do delta time * delta time by accident the you'll end up with exponential relation between framerate and distance traveled

timber slate
#

Hey I want to create a VR pawn with the oculus controller as a hand. When the user presses the button I want it to show inside vr the button being pressed. Whats the best way to do it? Importing animation from blender or creating it via blueprint?

tawdry birch
#

twice the framerate = half the speed
half the framerate = twice the speed

#

hm that could be interesting gameplay mechanics in a way ๐Ÿค”

opal coral
#

eeeh ;/ even after changing out all delta times with a constant 0.017 all the values are wrong when halving the frame rate. I'll just,, go through it with breakpoints or something

oblique sorrel
#

I've been looking for RTS tutorials for UE, but all I've been finding is based around placing the buildings freely, without rhyme or reason. Is there a tutorial series for a typical city builder game, where everything needs to be placed along roads, and pawns need roads to move?

tawdry birch
#

@opal coral why would you swap dt for constants? :U

opal coral
#

@tawdry birch I replaced the delta times that weren't supposed to be there with constants, so I wouldn't have to change my precious (probably incorrect) variables for now. however I left delta time at acceleration and the final velocity in the end

#

but I guess there's something I've done wrong that can't really be pointed out here, I'll just spend some time really figuring out what's happening

tawdry birch
#

you either replace dt with 1 (hence remove it entirely) or why would you do 0.017? that makes no sense you don't see real picture because of that 0.017

#

it maybe alright but because of 0.017 you think that your values is off?

opal coral
#

I just thought if I replaced a variable that is floating close to 0.017 (delta time at 60 fps), with an unchanging one, I would.. hm. well, I wanted to retain the speeds when factoring out delta time where it shouldn't be. but it's probably wrong as soon as I really think about that ๐Ÿ˜

tropic pilot
#

im out of ideas how to fix this @tawdry birch :/

vale osprey
#

@opal coral thatโ€™s not how it works. Delta time have to be proportional to how often your movement function is called, you canโ€™t just replaced it with constant if your function is not called at fixed rate. More over physics calculations depend heavily on delta time and what โ€œworksโ€ with one delta time can completely brake at lower or higher delta time as all movement is approximated with lines.

#

@tropic pilot there is one setting you can try

#

Look in project settings - physics for minimal and maximum collision contact distance, set them both to something like 0.002. It might have some unknown implications

#

But otherwise, for something like a road, just use complex as simple

tropic pilot
#

Max Physics Delta time?

vale osprey
#

No, max and min contact โ€œsomething โ€œ

#

There is discussion thread on forum about this specific problem

tropic pilot
#

omg... you sir are a legende!!!!

vale osprey
#

Ball physics - something like that

tropic pilot
#

it worked! โค

vale osprey
#

Credit to the guys on forum

tropic pilot
#

that is insane

vale osprey
#

Well, there might be a reason why default value is higher, so expect issues

tropic pilot
#

will do @vale osprey ๐Ÿ˜ƒ

vale osprey
#

@opal coral to illustrate what I mean by delta time. Imagine in Max/Maya/Blender you create a circle or cylinder primitive. One of the parameters is number of sides, the more sides the close shape will be to ideal circle. That number of sides is basically your delta time, more specifically the length of individual side segment. The higher it is the less it looks like a circle, the smaller your delta time the closer to ideal circle you get.

#

When delta time changes from frame to frame, you are not event getting a circle anymore but a skewed spiral.

keen birch
#

@livid haven Sorry for the tag, ran into a relatively urgent problem due to a project deadline (just tell me not to if you don't want to be tagged). I'm currently relying on a C++ plugin (Rama's Victory stuff) to access the WorldType (in editor or not) through Blueprints, but I can't have that dependency. Any way for me get that state through Blueprint? (Edit: Going to try and work around this by setting a bool on BeginPlay, though that is a bit hacky. Could it just get exposed to BP? Seems like a pretty straight-forward thing. This is guaranteed to be going to give issues once I forget that I did this in BeginPlay - Edit 2: BeginPlay stuff works, request still stands though)

opal coral
#

that's a good illustration - I just didn't pay attention to how I threw delta time around. now I'm extra aware of how it doesn't make sense to apply it twice. I didn't realize the proportions of which it would affect the gameplay when the framerate changed. I guess I thought an extra delta time would at the very least not cause any harm, if perhaps redundant - so I'll definitely stop using it as a safety measure and be more mindful about it =)
thanks

paper crest
#

widget disappear when I "on drop" it on top of other widget, why is that

#

the other widget dont have "on drop" nodes or whatever

keen birch
rocky portal
#

Is there any reason not to use dynamic multicast delegates
they seem to play the prettiest with BP
are the easiest to work with

keen birch
#

In your material, multiply the UVs by a parameter. That parameter is your tiling

gleaming shore
#

Is it possible for my ue4 to have a memory leak, its using 6gb while in a completely blank map and nothing open, if i restart it goes it down to around 800-900mb

fierce tulip
#

its loading all kinds of things, content browser, cascade, persona, etc, etc. (some start when you open it) then there are shaders, etc.

#

though generally it sticks at 1800 for me when doing basic cascade work

gleaming shore
#

Ah, I just find it weird that I restart UE4 and it goes to 800mb ram then over 20 minutes (of doing nothing intense, not even browsing the content) it gradually goes to 6gb

#

Couldnt you just delete the landscape uasset in the project folder?

floral heart
#

Do you have a lot of assets in the content browser?

gleaming shore
#

Around 2GB worth, ive had a lot more and not had this problem so it's a weird one for me. theres no textures being loaded anywhere (apart from the files in content browser but theyre not used)

#

albeit at the moment its stuck to 1700 for around 10 minutes usually its around 3gb now

floral heart
#

I remember there was a bug where if you hovered your mouse over a certain thing (a blueprint 'thumbnail', maybe) the engine object count would increase until something horrible happened.

timber slate
#

Im adaptating the vr pawn blueprint for my needs. On mine I have two motion controller components instead of just one from the original blueprint (which they inverted the hand mesh to create left hand ). Do I have to do everything twice for the other hand or is there a workaround? At the moment Im modifying the get actor near hand function

#

how can i check for overlapping actors on both grab sphere?

gleaming shore
#

@timber slate Do you want the node that tells you when a player is overlapping?

#

You may need a get (a copy) node

timber slate
#

I have two motion controller component. One for left hand the other for right. Each one has a collision sphere. I want to know if its possible to make the blueprint know which one is "requesting" the function

gleaming shore
#

Im not that familliar with collisions but I would probably try to get object name and then do a branch (for example if name leftController true (then do left controller))

#

You might be able to do it with object tags however ive never messed around with object tags

timber slate
#

i think i got it. just using input and passing the information when i call the function

plush yew
#

when i click play on my project, i start ejected from the played and i have to click possess, im not sure how to change this so i start possessing as soon as i click play

errant briar
#

Hello !

#

dunno where i should ash a little question

pulsar badge
#

Does anyone know if there is a free fence addon

gleaming shore
#

Plugin or free models?

elfin dock
pulsar badge
#

@gleaming shore models sorry

gleaming shore
#

Just search google for 3d model websites and search fence then refine search to free only

pulsar badge
#

@gleaming shore How do i rotate a texture i made a road but its the wrong way

#

Could u send me a link i have a mini viris on my chrome

#

its super annoying

pulsar badge
#

Thanks!

#

@gleaming shore thats textures tho

gleaming shore
#

It's not

pulsar badge
#

not a thing i can place down

#

im keep getting textures

gleaming shore
#

Because you're dragging in the texture not the actual 3d model

pulsar badge
#

I am dragging the hole file into my contect folder

gleaming shore
#

screenshot me what youve done

#

like, the folder thats in ue4

pulsar badge
gleaming shore
#

First of all, you've downloaded the .max versions. UE4 doesnt accept those, best ones to use are .FBX and .OBJ

pulsar badge
#

oh

#

oops

#

lol

#

One more question then ill shut up