#ue4-general
1 messages ยท Page 165 of 1
my character is holding a point light with RayTraced DistanceField Shadows
obvioulsy it doesn't work on SK
but is there a way to cast a normal direct shadow on top of that?
there is option for Directional Light anything beyond the set value for Cascaded Shadow Map Distance will be shadowed using Distance Fields
@regal mulch Do you really need zip, or is another compression method okay ?
I'm thinking either this or project a flat "fake shadow" mesh on the ground, which is a not so rare technique for mobile games I think
I mean, do you want user-generated files to be used ? If not, I generally go for zlib for easy portable compression
I just want to make a plugin that can unzip files that are specified
It's not for me either
Okay then.
there is the way to do it
do you think hierarchical instanced static meshes will cause any problem with a stupid high amount of instances (200k+)?
Should I split them? Should I use regular instanced static mesh? Should I adopt a custom solution? I am creating a block building system where every block is an instance of a mesh!
you'll run into performance issues before long
You don't want to do it that way
Yikes!
proc mesh can have collision
Hm, I'm half sure @fiery harbor did a combination of ProcMesh, InstancedMeshes and Actors
In that first iteration of BP only Minecraft he made
that's good to know
yeh he is the guy to ask about voxel tech
thing is, every cube will need to have it's own "identity"
I will ask him!
thanks a bunch as always
I wish I was more active in this community, I don't know how you guys do it
position would be defined by a single integer
type could be a byte or int, depending on how may types you have
one integer for a whole transform
it's a cube, it has no rotation
yep
every cube in your shown meshes has the same rotation
ergo, your cubes do not need a rotation
they also conform to a grid, ergo they do not need a position
so you don't need a transform at all
how many digits can an integer have?
since they're also all the same size
you only need an index
each item has a list of possible cubes
an array of bytes as an example
Well the proper way is to have a 3D Array, or 1D with xyz slots
you have a function that converts that index into a position relative to the object origin
That array has an integer/byte in it
the proper way is to have an octree
but since we're talking BP, I assume, a 1d array will suffice
If you loop over it, you create a block of that type on position xwidget, ydepth, z*height
C++ only has native multidimensional arrays
TArray is still 1D
Also better to just use 1D Arrays and convert from 1D to 3D index and back
yeah, ergo you'd have to write your own UProperty interfaces, so 1D array is preferable
tho I would avoid c++ for as long as I can
due to compile time and project having code (vs blueprint only)
Well, what you could do to get the idea is watch a Unity Minecraft Tutorial.
Sounds stupid but I know there should be one that covers the exact idea of using the proc mesh
It should also explain how the UVs etc are meant to work
You can probably easily use that knowledge for ue4
I think I can divide the world grid into many subgrid and every subgrid is handled by one instanced mesh (50x50 aka up to 2500 instances, something like that), for now it should suffice
That's what chunks are for
Heya - I'm trying to use Alembics in sequencer (to drive anim out of Maya), and it's a bit useless for that at this point. I'm instead using the 'skeletal' option when importing my .abc that will convert it to morphs. Now my question is - do I need to do this for each animation or is there a way I can get all my morph animations applied to the same skeletal setup somehow?
I will also look at those things
I did a test tho
over 4k cubes are well supported by an instanced mesh
I know you do not like halfway solution
no one does
but if it takes 20 minutes to cluster a transform into an integer (xxxxyyyyzzzz) and setting up a instanced mesh grid split system I would go for that rn. World is not going to be that big
marching cubes is for smooth voxels
I will save marching cube research, asking the guy you mentioned and looking up tutorials for minecraft in my tech debt document
read this
for "just voxels" meshing
for the fanciest algorythm
Dual Contouring
this one allows both smooth and flat voxels
at the same time
it is SUPER fancy
and not really that complicated to build
but that is actually "hermite" data, more than pure voxels
that is the algorithm this guys use
except they have a GPU accelerated im plementation wich is hella fast
its flashy to an incredible level
this is all voxels
well not really voxels, but their fanacy shit that is similar to voxels
@cloud cobalt Is zlib already part of UE4?
Will check out miniz, as it's zlib after all
Dunno, it's just pretty easy to integrate generally
I doubt it's not somewhere in the engine - since it's a PNG dependency, and used extensively in many other third-party software
Pretty commonly used in networking too
nice stuff vblanco
Hello everyone, Just wondering is UE4 engine is compatable with hyper duo?
Hello Unreal Friends,
i got a short question.
I plan to create a game which should be playable in both single and multiplayer.
The programming behind this is different, because in multiplayer you have to consider some things you might not need in singleplayer like events and so on.
So how to approach this, is the singleplayer just a "local" multiplayer environment?(bearbeitet)
If so, I could avoid programming the game once in singleplayer and once for multiplayer purposes
@hard quarry yes, Singleplayer is considered as listen server, that just isn't accepting new connections
it runs same code as mp host would
@paper kernel thank you a lot!
@hard quarry Multiplayer will basically require that you write multiple versions of the same feature anyway. For example, if your character changes color when you press a key, you'll want code to change color when you press the key, a server method that tells the server the new color, and a client-side replication event that gets triggered by the server to change the color on other clients
lol
add me on facebook ๐
@hard quarry In that example, the SP version will only require the first part, but MP will need every variant
@cloud cobalt Isn't it enough for the server if it is a dedicated one, that he only knows about the MP part?
@hard quarry If you have a dedicated server, you have basically three different situations to handle for your code
Run on server, run on client for the player, run on client for another player
For a player character, I mean.
Changing your character's color will need code in all three cases
ok, thanks for that information
At the very least, you'll need a server version and a client version, but you really want to separate "owning" client and "replicated" client - you don't want to wait for the server to call you back to change your player color
You want to change it locally, tell the server, and have the server tell other players
I want to ship two "versions" a client one (local "singleplayer") and a dedicated server "version"
I dont want the player to be able to create own servers
That's pretty irrelevant to how the code is going to be.
"Dedicated server" in UE4 is just one option, really
You're going to have the same code
UE4 doesn't separate server code from client code because most of the code is exactly the same. You'll write a single program, with tests in some methods to check if you're a server or a client.
yes right, so in my case i dont have to handle different environments, cause it will allways be the following:
SINGLEPLAYER: Client -> Local Server
MULTIPLAYER: Client -> Remote Server
So there should not seperatae "event handling" be needed
There isn't a concept of local server in UE4
so the Local Server is just a NonDedicated Server?
you write code that executes on servers, and code that executes on clients
in singleplayer, it executes both, generally speaking
There is no local server. There is a dedicated server, listen server, or client, and your game does one of these and only one
You're not going to have a separated "server" logic
You're going to have "if server" in every network-related code
ok, thanks for you information
I will have a deeper look into this topic in a few days
One last question:
Does Unreal have an SDK for Watson Speech engine yet?
Read something that as of Feb 2017 they hadn't
One question regarding the project version:
I want to get the current project version inside blueprint.
As there is no such thing implemented in the engine, I found an article about it:
https://answers.unrealengine.com/questions/145683/how-get-project-version.html
In this article someone writes a blueprint function which returns the project version.
I tested this and it works perfect when I test the game inside the editor "simulate".
But when I make a package and ship it the project version blueprint does not work.
You can do it yourself pretty easily
We use a Python script to get the current Git tag when building - you can do something like that
But I want the project version inside the game, I wrote a patcher, which has to know whats the current version of the game ๐
Or would you recommend to store a "global" blueprint variable somewhere with the project version in it?
Well, what I recommend is not to have the patching inside the game itself, really - and to have your actual version control driving the version
For example Git tells you the last tag + the number of commits since that tag (hopefully zero for releases), that's a pretty great identifier that maps to something unique and 100% reproducible
It's also pretty failure-proof
technically
you can have server only logic
in seprate module
which will only be linked if your target is set to server
Pretty hard to do if you're doing a singleplayer + MP game, though ๐
but doing gameplay logic this way is hard and default gameplay framework wasn't even designed with it in mind
IMHO, if you're going for really distinctive server + client, UE4 is just not the right tool
Might as well grab another engine that does less stuff, and plug a server backend from a cloud provider in
I'm not sure if this level of speration viably achievable
sepration*
due to all prediction that must be present to keep gameplay smooth
you would end in shit load of copy-pasted code between server and client anyway
If you're doing a 2D MMO with server-only logic, it's definitely possible
though it's worth to keep in mind,for things like authetication, databases
which should run only from servers
and between servers
Yeah, that's basically what i'm saying
for 2d mmo you should run your own engine
over SFML or whatever
maybe godot/unity
You probably don't want UE4 for that ๐
more godot than unity in fact
(it supports an easy way of adding C++ code)
but "own engine" would surely be best
so you can do actual open world
page in/out zones, and all that stuff
So you would not let the client trigger something like a REST request himself?
You would rather trigger an event from the client to the server, and the server does the request and handles the return?
server migration, etc
you dont use REST request
for ANYTHING gameplay related
you use direct sockets
@hard quarry you don't want your client talking directly to a shared database
Ever
Biggest nope possible
good way of getting the database DDOSd
or stolen or wiped or modified
So, the client should not even do a REST request to a webserver in your opinion,
it's easier to say what client should be able to do
to send request to create match and to send long and password
login*
for example, the user wants to load his saved inventory,
the client should not make a REST request to a webserver,
but the client should trigger an event to the server, the server makes the REST call and returns the inventory to the client?
@hard quarry Your client can always be hacked locally on a PC, so basically everything needs to be tightly controlled. Everything important should always happen on the server
Your last message is correct
In particular, you don't want your client to tell other players his inventory. Not if you care about cheaters.
You want the server to tell everyone, "here's your inventory, and this guy's".
Ok thanks
@hard quarry Not to be that guy, but if you're new to game development, you've picked the most difficult & expensive type of game
MMOs are no joke, even if you are on the right way by deciding to make a 2d thing
I already heard that ๐
I am just playing arround with the engine at the moment
why dont you start with a coop rpg prototype?
same thing, but with 10 players max
using just the normal unreal engine mutliplayer stuff
but isnt the code the same?
guess it doesnt matter if 5 or 50 people play?
@hard quarry I've actually done it once - The dedicated server + clients + shared database . It's doable, but you'll need to do plenty of work, and your first game is unlikely to be any good because you're learning, so it might as well be a simple game that doesn't have too many moving parts
Doing a game that you play with friends cooperatively is immensely easier : you don't need a dedicated server, cheating isn't an issue, and you don't need a shared database or a master server
Still need multiplayer logic, which is hard - but at least it's only UE4, you can always test in editor, there are many resources, etc
Oh, now I know what you mean
the only thing I am worried at the moment is how to patch your game if you dont want to use steam
I can give you my updater software for that, and many others have done something like it
Unless you really love writing updater software
I think we have like three open-source UE4 launchers on the forums ๐
At the moment I am trying to build a patcher inside the engine, i would love if this works.
So I wont have to worry about two software parts patcher + game.
Also it would allways be possible to update the patcher itself
I allready saw some launcher build, but all of them were outside the engine
Which is much easier and safer
but how do you update the launcher itself?
You don't because it's rock solid and doesn't need updates
for example, if you want to change the launchers design
You can have the launcher download a background from a server before checking updates @hard quarry
My launcher used to download a "home page" - text only, but it could have been images too
But really, you don't care about your launcher, you care about your game ! Or you should, really
So on my kickstarter I made I got some email from some dude on linkedin
about potential investment
O_o
anyone had something like this before? Or am I being sold something
Lol
My first question is: "What are you trying to sell me"
Lel
yea
but it was juist weird
they contacted via linkedin
Loll
So it seems a bit more legit
but idk
If I use a patcher outside the engine, so a seperate software piece, how does the engine handle multiple patches at once?
For example, Since the last time the user started the game there were 3 patches.
The engine only patches the file with a _p.pak, but what if you want to install 3 patches?
From a customer perspective, I don't like patchers on my games on steam because then I have to put in game play hours to update the game. That was a super irritating thing about ESO.
But there are a ton of players who dont have steam, or hate it
then patch it in two different ways
imho it's not a big deal when you are in a situation where how to patch your game is a high priority task
Ok, so than I just have to figure out how to install multiple patches at once
worry about it when your game is to be relleased
for prototypes/tests/etc dont care
steam patching is automatic and easy, use that
I asked a bit earlier but I think it got lost in a discussion - can someone tell me if there is any better integration of Watson with Unreal than this github post? https://github.com/WhoLsJohnGalt/watson-unreal-sdk-plugin - I'd hate to get this working only to find out there was another way
It looks pretty cut and dry though
@hard quarry If you worry about people not using Steam, you're going about this the wrong way
Steam will have orders of magnitude more users than gamers who don't have Steam, and you have way less stuff to worry about
On how to patch your game - just have your patcher recreate your latest build's copy.
You don't want to create patches, you want to create a new game tree, and mirror that efficiently to clients
Steam achieves that by doing a binary diff between the local version and the remote
(Worth saying that Steam on top of a uncompressed UE4 yields better compression than using the UE4 compression)
A simpler version is to have your game keep individual uassets, rather than creating a .pak, and check each file for its md5 signature. That's what my updater did
A yet simpler version is to use the UE4 patching system, but... well... it sucks
@light thunder Not sure many people are working on such a plugin, really
@frank escarp Is it normal for a studio to constantly update to newer versions of unreal
or is it more standard to pick a version and stick to that one until release
which one is?
and even more, depends on how much they need the new features and edit the engine
updating the project in ue4 tends to be mostly painless except for a few things
a regression in performance or blueprints going haiwire
normally C++ code is trivially updated
if you have an engine branch and touch stuff in the engine, then its much harder
as you need to port your engine changes
i noticed both ARK survival and conan exiles
are both running on old versions
ark = 4.8 i believe
and conan = 4.16?
i think
hmmm
For what it's worth, we keep updating, although with close to a full version of lag
We're going to ship 4.18 soon
yea
in my opinion it doesnt seem smart
considering how much stuff seems to break
from version to version
Depends on your goal. If you want good Linux support, for example, you'll just need to update
If you want a new feature that will help you make the game better, it's also a good idea
But sure, stuff will break too.
Part of why we can update all the time is, we use only one engine plugin, that we have the means to update if needs be
One thing I didn't like about Unity was that when you updated your engine, it would invalidate all your code, so you would have to update all the functions to the new version of the engine.
Unreal doesn't do that.
It kind of does, although usually it also gives you the new version
becouse you need the latest SDK updates, and stuffs
on console gaming is similar
you need the latest SDKs or your game cant be published, so you cant keep too many versions of llag
DWVR is still on 4.16
UE4 actually forced people to review their entire lighting setup once - the dreaded 4.8 upgrade of the tonemapper of death, for those who remember.
Also yeah, consoles.
i never needed to go to 4.17 becouse i didnt need anything from that version
nor 4.18
Or was it 4.15 ? That version, anyway.
but the original version of Deathwave was 4.6
its been updated, renamed, recoded, and everything since the 4.6 into the 4.16 version XD
it never was a problem to update
i just copied the project, updated it, fixed a couple compile errors, and tried ti see if its broken or not
Helium Rain went from 4.2 to 4.18, where is your god now
UE4 is usually pretty good about not breaking your projects, and often includes legacy support for features for several versions
though sometimes you really do have to just break things to move forwards
can't make an omelette without cracking some eggs, and all that
Over 4 years in development I think we had these issues :
- 4.8 breaking LOD data
- tonemapper update breaking everything emissive
- sound update last year with totally different, async API
- bShowMouseCursor, please don't talk about it
- on 4.18, we removed APEX due to it being a broken piece of shit on Linux
- 4.18 also broke AMD on Linux, because fuck me I guess
Well, it's a realistic, empire-building space sim with a simulated economy that we do as a team of two when we're not working on our regular job
So it's hardly surprising that it takes time. We're in Early Access now, it will be finished in a few months
Next game I do will be called, "Don't do feature creep"
haha
Really, the work-in-progress game design doc has something like that in it
If anything I'm really proud of the project. It's not going to be a commercial success or buy me a house, but it's been tremendously fun to do, and a great learning experience
loll
i think its very important to have a set deadline
like my game has been going for 9 months
im going to publish it, finished or not
in april
Obviously still gonna work on it
but i need to keep my own deadlines
going on for four years man
thats really BAD
I'm not trying to be a dick about it.
did I miss UE4 corrupting your work -discussion? ๐
altho, better not get me started on different ways to corrupt blueprints
use source control
but in nutshell, it became so bad that I put even direct asset references in my c++ files nowadays
it's not source control issue
it's issue on BP's that can't be fixed with source control, they just corrupt when you do certain changes to parent c++ class
@plush yew 9 months is a great target, I think. But I work alone or as a very small team, and 9 months is just not enough to create the kind of living world I want to see. I'd love to get my next game on Steam in a year, with probably another year adding stuff to it
im going to use json files for TONS of stuff
just to avoid blueprints for generic enemy creation
blueprints will just have the template enemies
and when it happens, you have chased some ghost bug for hours
stats will be in json
and then you just realize you get rid of the oddities by recreating the BP from scratch
this has happened to me, way too many times
got sick of it
we really need text based blueprints
yeah
now if something breaks, we can't debug or manually fix it
can just copy / paste nodes from blueprint to another (or to clipboard) while trying to salvage these things
main thing to avoid at all cost with UE4 is making your own parent c++ class which you inherit in blueprint for easier setup
at least if you need to refactor that parent c++ class often
it's silly as that's what would make it powerful
oh, crap I did get started on this after all
I didn't have many issues with that setup myself
All of our ships are C++ classes with C++ components, and then the ship themselves are assembled in BP
They don't have any logic but they have a fuckton of C++ inheritance
Obviously refactoring needs to be somewhat careful, especially renaming, but overall it's the least of our issues
What I personally hated was putting data in BP, and then needing to diff that
Fuck binary data
One of my "don'ts" in UE4 now
At least I should have used a form of data that I can reimport from version-friendly stuff (CVS import)
I've had all kinds of issues with that kind of setup
in one case, my constraints broke for only parts of the class
all settings were identical, things just misbehave
then recreated the thing with same values and it worked again
I actually got fed up with this early on, so I started copying my BP instance changes into c++ part early on, like components relational transforms etc, so I didn't have to reposition them when I recreated the blueprint again
and in the end, I just realized I'm better off not using that crap at all as it kept breaking
once putting the direct refs into c++ files, I've not had any of the old issues again
I still need to create the bluprint for component tweaking in the editor but it's a throwaway thing
no more half day long bug hunts for bugs that never were in my own code
somehow 4.18 is even worse at that
its resetting my enemy variables (attack/firerate/etc) literallly every time it hot reloads
hotreload has always been sketchy
never used it trouble free for anything but changing internal functions implemenations
anything else and funky things might happen in the editor
common case is when you change wrong thing in the header is to witness totally blank properties on your blueprint
I don't really mind that side tho
tweaking function logic is what I mostly need it for anyway
editor launches quick enough for bigger changes
or, launched before this new build setup which is sometimes now running 30 seconds of "git status" commands in chain - for reasons
but that's more like custom engine issue than what most will experience
I'm glad you're not one of those developers that doesn't want to release games.
In the unreal designer do you guys know how to change the selection type , I lost the drag and drop selection?
I can only indivisually select.
does anyone know when will version 4.19 be online?
You can grab it on github right now if you're desperate enough, but if you want to use it for anything important you're better off waiting.
what interesting there is in 4.19?
I mean, on things people can experiement right away
I'm aware of the netcode tweaks from fortnite
@cursive dirge Significant Changes Coming To VR Resolution Settings
i suppose i can wait
that I know
just curious what all is coming
atm I'm not aware of anything I'd want to try myself
no need to second guess screen resolution fucking constantly
it was a huge pain for me due to different headsets
Aye, which was my point
i'm guessing Vive Pro is reason for that change
Maybe. Doubt it
I'm aware of all those mixed reality headsets out there
Pimax probably started it
Once Pimax got big then Valve/HTC were like...oh snap...we need to do something for resolution too or we'll look stupid
pimax got big?
Pimax is huge man
I thought they still run kickstarters for every product
It will legitamately be a direct competitor to Rift/Vive
also, their "8K" (which is half 8K) prototype has issues that make you wonder if it'll ever be usable product
pretty sure the reason is actually Oculus vs GearVR vs PSVR
they just saw it was a huge pain to keep in mind, so they did it as part of their "standarization"
whole pimax product line is a mess
they have too many products with similar feats
this happened with Nokia too, people didn't know what to buy
pimax is going to have to do some serious marketing to be a competitor
they have to get their priorities right if they ever want to be taken seriously
One question regarding the project version:
I want to get the current project version inside blueprint.
As there is no such thing implemented in the engine, I found an article about it:
https://answers.unrealengine.com/questions/145683/how-get-project-version.html
In this article someone writes a blueprint function which returns the project version.
I tested this and it works perfect when I test the game inside the editor "simulate".
But when I make a package and ship it the project version blueprint does not work.
is there any way to stop Editor from opening VS every time I add a class?
to make it worse...it opens VS like 5min later
well, i already suffer lag in some games with my htc vive and a gtx970. i believe only people with 2 nvidia titan x will be able to support the pimax its just WAAAAYY too much
@rocky portal someone asked that few days ago but cant find it anymore.
try this maybe
http://prntscr.com/hxoy7e
now if only they would allow for quick deletion of C++ classes through the editor
#career-chat is that way
you need a pizza delivery system in your game?
i thought of pizza baking
no
so gamers never have to leave their chair
that's a billion dollar idea
i think some MMO did that a long time ago and was forced to remove it
I do want to know though
how to implement proper clothing setup in unreal
like, ive seen people doing it with master pose component
but im not sure what that means
like can i buy some clothing on turbosquid.com
and us eit on my model
doubt
you need to refit em
you can paint cloth physics in engine now since 4.18
im not sure how one wears a pizza tho
lol
eoinobroin you sort those component issues out yet?
@0lento#8809 you had C++ to BP child issues even when not hot reloading and compiling with the editor closed? If the editor is open and I make header changes or even worse, create components in the constructor, it resets every exposed property, and in the case of the component creation, can permanently screw up component settings unless the BP is recreated like you said. Haven't had the issues since I started to compile with the editor closed.
@rocky portal yep working like a charm now! Thanks for your help
Finally get the difference between the timings of the various initial functions and how component vars act differently to regular properties
if you see "HOT RELOADED" in a property, don't change anything. Close editor and re-open
I'm only ever gonna hot reload from now on when in the cpp changing a function implementation, any other time it seems to mess something up
Was this always the case, or is that the intended use of the hot reload system?
doesn't permanently mess anything up
mostly the issue seems to be with Structs and Enums
if I change a header that has Struct properties, they seem to always mess up
or mess up mostly on the UI
Well it resets all BP defaults, and if you are creating component instances in the constructor, it does seem to permanently mess up the BP unless you recreate it from scratch
you get "missing property" errors, it's because of hot reload
I haven't had any BP defaults reset
Happens 100% of the time I make a header change with that bp open in the editor and hot reload
4.18.2
At least it's consistent when you don't use hot reload
Very frustrating otherwise
Especially if you have to go and set defaults again for many child BPs
yeah so like I have FStruct ItemType
Backpack, Whatever1, Whatever2
and this has never been affected by hot reload
I want to figure out exactly what this issue is
because that could lose you many hours
Yeah imagine you had 100 items based on one C++ parent
All the defaults set up
Then that happens
i think at this point most of my defaults are being set from DataTables/DataAssets
though my InventoryItem still has FItemInfo with defaults
it's never changed on individual BP assets
but now it copies from a "database"
@fair violet yeah, it depends on what kind of changes you do tho
so to answer the question, I've had things go bonkers even without hotreload if implementation has changed
I've done the cautious "let's not try to break them" approach for 2 years until I finally got fed up with it
I'm sure it doesn't affect everyone same way tho
i get most of the Hot reload errors in UMG for whatever reason
not really, unless we talk about hotreload
maybe because lots of struct properties used there
there are some things that are definite no-no on hotreload, like ctor component changes
altho things may have changed along the years
@fair violet I have a tendency to heavily refactor my c++ classes tho, it's an old habit of mine and I plan not to change it
I rather change the class to be tidy than keep bloating initial design
it's those changing things that confuse blueprints I think
@cursive dirge Gotcha! Are you doing much in the actual BP itself other than changing defaults?
ah 0lento..i do almost everything in ActorComponents
but again, I haven't had any issues outside of UMG with hot reload
definitely no property values changing
it has the benefit of keeping code more compact, tiny, and manageable
very little code goes into each component
barely any (if any) goes into the Actors themselves
so could be design decisions that affect this
@fair violet nothing but setting the component values and positions, like assign meshes, sound assets etc
but now I just set them all directly in c++
sure, it's bit messy
@cursive dirge you set mesh and sound assets directly as in referencing the path of the assets?
Has anyone ever thought about a p2p MP setup where every client acts like client and server
and things are authenticated via "votes"
Would it not waste a lot of bandwith going around checking with each client before something can be approved? Would always be slowed by the most laggy client
So all actions would feel sluggish
doesn'tneed response from every other client
if you have players like
20ms, 30ms, 100ms, 150ms
the 20 and 30 would receive first and if they agreed you would allow it
things would still be done same way as standard approach though
It may be difficult to sync up an overall agreement between different clients of varying latency without increasing validation tolerance
Could work though!
yeah just had this thought thinking about traditional listener server type casual games
things come up like "what if someone hacks and ruins everyone elses game"
well they could only "hack" most things by vote then
Yeah for sure
or when things happen like for example
I shoot a rocket on client.... server shoots a rocket
I see my rocket direct hit some guy
but on server, the guy had moved just at the right time and only took 4 damage
by vote...this outcome would be different
because one "vote" might be that it did 50 damage while another says 8 and a third says 100 damage direct hit
and your client says "100 damage direct hit"
perhaps you average those out so it's a little more "fair"
It does seem as though consumers overall are less and less accepting of p2p in general though, which means dedicated servers will start to be expected in any fair competitive game
Also with your system:
What is stopping the main host from saying that the other clients agreed with him? I donโt think itโs possible to have multiple hosts at once
yeah it's not great
yeah that's technically an option on any action that isn't 100% server authenticated
like Overwatch/Quake would deal the actual damage on the Server
which is why you see 4 damage direct hits as client on Quake
but it can't be cheated then...but if server was a listen server it definitely could be
most modern games also seem to be going away from strict cheat prevention to community managed approaches via reports
and using a canned system like VAC/PB
As in Overwatch / Quake show client confirmed hits even before server validation?
And yeah you basically canโt win against hackers but dedicated servers + good community approach is a good step of the way there
They allow rocket to shoot instantly on client and explode as client would expect
but Server registers the hit based on its vision of the game
so Client might see "4 damage" from a direct hit...happens a ton on Quake Champions or used to
Ah yeah! I think UT does something similar but syncs the client simulation up as the server version gets updated
Another way of doing that is to have an animation playing before shooting on the client to hide the latency
So it appears to happen instantly but they are viewing the server projectile
well then the server pops out delayed
err
rocket
and they have some favor the shooter mechanic for hitscan
Yeah but you hide the delay by playing an anim on the client
Like arm extending for grenade
which basically means that if you showed hits on your client we will honor the damage
Or charging up launcher etc
even if you died already
Favor the shooter works well in most cases if done right I think
otherwise...one guy peeks out at you
With a ping lock
he's already killed you
you shoot him 5x and deal - damage because server says you're dead
Ping lock and maximum tolerance will fix those issues
So donโt let players with more than 200ms ping have their clientside shots count
so you get say average ping of the players in game
And then also validate those shots on server within a tolerance
and anyone below that experiences favor the shooter
and anyone above it doesn't?
maybe throw out the 200ms pinging outliers entirely
Anything above an unreasonable ping
Because anything less than 200ms will be fine
So some players donโt need to be singled out
Unless they have really bad ping
yeah i wonder how that system is coded
just that the server still receives some actions from a client that has already died
Usually the client that shot first on the server wins
Even if he didnโt in reality
and for like 60ms after they still accept the damage events
In COD for example, as soon as a player is killed, no more of his shots count
To avoid trading
No one likes trading
COD and BF3
give players the feeling that they were instakilled
or prefired constantly
because someone peeked them and shot them 5x before they showed up on that players screen
With the ping lock and reasonable tolerance validations, most of the bullshit feeling would go away I think
There will always be fishy moments
And itโs never truly fair
But yeah better than being destroyed by a really laggy player that you never even saw
Still favor the shooter though
And avoid frauds
Trades*
yeah even with good prediction
like if server is trying to predict where someone will be in 30ms
if they change directions
you get some bleed over i would think where server thinks they are further than they are
Yeah I want to learn how to implement proper lag compensation so like saving timestamps and having the server properly rewind and retrace the shots
brb
battlefield one has both
server side and client side
- verification
it depends on the player ping
๐
oh man making a gun is gonna be hella hard af
Yeah battlefield 1 does that 200ms ping lock
Which is fair
Players above 200ms have their shots fully simulated on server so they have to lead
With proper lag compensation AND these ping limits + verification AND dedicated servers- that's probably the best case scenario for a responsive shooter
so stupid question; is there a channel for writing?
Don't suppose it's possible to get this to be more readable through blueprint?
So get stuff like this:
@nimble jolt Nope, not really a UE4 thing, and not a common thing to be discussing, either, in my experience
makes sense, I'm working on a first project to learn the engine, where does one usually begin?
can anyone give me a hand packaging for steam shipping in 4.18?
one problem and one question. question first: i've extracted the steamsdk 141 in the folders mentioned in the documentation, do I need to rebuild the onlinePluginSteam and if so - how?
the problem (using sdk 139) - starting the game after development build - steam works fine, in shipping - nothing, no steam overlay, no online system ....
I mean at what part do you start in when developing?
Yo who was it about 12 months ago that gave me this link?
https://noobtuts.com/cpp
@fair violet yes, you get the ref string by right clicking the asset, it's an option somewhere there
Ah yeah, I find that method a bit too specific especially if changing assets
Definitely protects againsts BP messing up though!
OH BOY
I MADE A COOL WEAPON SWITCH!!!
mate the excitement I got just then from getting that working...
@azure shore caps bro, please.
๐
how come
sorry I got well excited but how come theres a thing about no caps on discord
That's not a Discord thing
Or even a this-server thing
Caps is generally read as shouting or yelling. People generally find it grating to have their internal voice read messages as shouting and yelling.
yepyep
its ok sometimes, especially in lounge. but we tend to try and keep it civil. note: Try
:p
that gif is broke btw
yeh
i know
had to open it up
Discord is getting lame
but this doesn't belong in this channel anyway
any way to hide this fricking thing?
https://i.gyazo.com/16735462c307ad8be7f12db4a2df603b.png (the messages thing)
You would need to dismiss them i guess
put a sticker over it
every time ๐ฆ
@wicked tiger i'll send you a load of "stroopwafels" if that message thing could be gone.
few packs
5?
Sounds decent enough
I'd have taken three depending on how annoying it is to get rid of that thing
(Or how annoying it is to get someone to get rid of that thing :P)
it was non-existant, and since any reply adds to it i need to go trough tedious menus to delete it.
my ocd senses keep tingling
hehe
@wild kestrel i found an answerhub thread u wrote on in 2016
do u know how to GetWorld() from a Module interface?
StartupModule()
i need to get world, game instance, or player controller
so that i can spawn a UMG widget in C++
but maybe this is not possible
lol
a hide option would be great.
Can you turn it off in Settings/Notifications?
i wish
well, i already get emails about each thread anyways, so its a bit double up
Hello guys, I have a question about performance, and decals. Which channel is proper for me to ask my question ๐ ?
graphics prolly
Anyone know if 2FA will be availble to all Epic Games accounts?
Thanks! I'll ask my question there!
@Mack#6354 Yes, it will be
by any random chance anyone here try/use the a new ryzen 2500u laptop and UE4?
ooh smart @restive eagle
i have an extension that modifies css of any web, so that would be an option too :>
but adding to adblock is probably easier, same outcome
just did, works fine for now ๐
kewl
Just trying to do my first proper Maya char anim -> UE here. What's the limitations on the rig? Struggling to find good info here... any number of meshes? A single joint hierarchy with a single root joint? Max joint influences on vertices.... 3?
Sorry to repeat this from earlier but I'm still struggling: Hi, can anyone help me... I'm total noob at Unreal (although not programming). I've bought some assets and built up a scene and I am trying to render it in anaglyph 3D. I found this tutorial ( https://forums.unrealengine.com/community/work-in-progress/10222-stereoscopic-red-blue-glasses?17621-Stereoscopic-Red-Blue-Glasses= ) which seems to do the trick but whilst I can see what it is doing, it skips over the explanations way too much and I'm totally lost.
reading down that thread leads to someone who posted a video , https://youtu.be/s8Yr1pZ66vk , that has downloadable project
Stereoscopic Effect Red/Cyan Beside the great technologies the old glasses still survive! :) This use a PostProcess Material to separate the channels for a S...
so theres 3 possible solutions in that thread, what seems to be the problem?
Probably my lack of understanding! ๐ I downloaded that example and when I ran it there was no anaglyphic effect, so I'm not sure what is going on there...
@grim ore does it work for you?
okdoke so the issue is since this version was released they changed some post processing stuffs
basicallyt there is a material on the camera in the post process settings, the MAT_Stereoscopic
Ah. I know what that means, but wouldn't have a clue how to fix it
and if you open it you get an error about the scene stuff being changed
I did IIRC
theres 4 of them, if you make the change then resave and compile it fixes it
should be the 4 scene texture lookup nodes that go from scene color to postprocessinput0 in their details
OK I'm really struggling to find where to change all this.
go to Content -> Stereoscopic
Yep
you should have 2 items, one of them is MAT_Stereoscopic
open it up
should should get an error at the bottom and 4 nodes should have error text on them, the red ones in the middle
select the node, your details panel is probably open on the bottom left, and changed the scene texture ID to PostProcessInput0
repeat for all 4, save and apply. then go back and it should work
I seem to be missing the linker UI
OK I see the error nodes now - I'll attempt what you said ๐
the god forsaken camera doesnt focus on the ball but the effect still works. just annoying is all lol
I actually only need a static camera
oh yeah it has nothing to do with the effect it's just annoying me heh
So how would I migrate this camera into another project then? I've done it with some assets already
its the material not the camera that matters
find the PhysicsBallBP, open it up, go to the Camera, go to the Rendering Features in the details tab and notice it has a post process material
you would basically do that on any camera to have it do that
the material is the base that does all the shader stuff, the material instance (MI_Stereoscopic) is an interface to that material that lets you adjust the settings easily (open it and you can see that).
so if you migrate both of them out and use the material instance for your camera you should get your effect and be able to adjust it easily
OK, migrated... I shall try to apply it now
and holy crap some of those settings make it look weird lol
lol
I mean if I had glasses on sure but without them...
OK I can't see how to attach the texture to my camera. Sorry I feel so helpless here! XD
in your camera you have a details panel
Yes
easiest might be to just type post in the top search bar
you want the Rendering Features -> Post Process Materials section
then add an item to the array, choose an asset reference, then select your material/material instance
Hmm, I think I'm looking in the wrong place here...
are you in a blueprint or a camera in the scene?
yea there is no camera
you need to add a camera to that blueprint or add one to the scene and set it to be default
is that a character?
Yes I think so, Parent class "Character"
yeah those are special hmm
maybe its easiest to just add it to the level, let me see if that works lol
yep it does but by god it effects the editor at design time lol
sooooooo lol ๐
I really don't know how your setup is. UE4 pretty much creates a camera by default if you don't have one or your pawn doesn't have one.
so you need to set up your default pawn/character to have one then set it on that or you can add a post process volume and tell it to effect everything all the time not just when the camera is active
man I wish this NVidia stereoscopic thing just worked! XD
I can quickly walk you thru the volume one so you can atleast see it working
in the Modes panel on the left where you can add stuff, like boxes and stuff there is a volumes tab. Drag a Post Process Volume into the world anywhere
in there you can find your material option like we talked about on the camera
for this to work all the time you just find the option for Infinite Extent (Unbound) or just Unbound and check it and that tells it to always be on
and then it should always be on lol
and hell if that works you can always just turn it on when the game starts and keep it off by default so it doesnt screw with you in the editor
I'm just copying my project to try it
OK yeah I can see that now fine
I'll try deleting this character and making a new camera
if that is the character that is being spawned in by default you can always just add a camera component to it
Ah it has one. Right... trying this now
Having done this - I'm not seeing any effect on the output of the camera (either in the pin preview or when running as a standalone)
always wondered how much it cost devs to get these ads on my drivers:
@wanton mauve the default settings are super low so maybe that is it? swap it to the material instance and change them
I dread to think Victor!
this is assuming that that spectator and that camera is the active one as well
I think I have it working now - I should probably sleep and crack on fresh in the am! Thank you so much for your help, I truly appreciate it ๐
yep yep hope it works ๐
Many thanks. Night ๐
Not sure where to put this - anyone have recommendations for a basic installer? typical wizard setup, very simple, just need to have my users point to a folder that they later can access
hey there
i've been learning a lot of ue4 stuff and I really want to make a simple game, but have no ideas whatsoever, any recommendations on what I can do to get my mind thinkin about stuff?
why not make a simple game then?
make a ball roll from a start to a finish
or clicking on targets as fast as possible when they pop up randomly on the screen
So I installed Visual Studio 2017 but Unreal Engine keeps asking for VS 2015???? Anyone ever experienced this problem?
Tried that. Didn't work.
Fixed it by uninstalling VS 2017 completely. Then reinstalling to Program Files instead of Program Files (x86)
Not sure if the directory change was necessary but hey... it's working ๐
@grim ore well no I've been doing small things like that but I actually want to make something that people can play now
just struggling with finding an ok idea
thinking ^
woopsies did not mean to send you a friend request, recognized your name from somewhere, just checkin for mutual servers
hey guys, do you know a way to keep morph targets from snapping into a facial morph?
I made this game where a third party app controls the morph targets via data levels, but the facial morphs snap into it instead of smoothly morphing
I want it to be smooth as if it was an animation
for you guys that make/animate 3d stuff for ue4; do you use maya or 3ds max?
I dont know the difference
theyre both made by autodesk
and it looks like they have the same features
look at the prices
that and the number of built in features
they both got similar features, but maya is tailored more for the animator in mind
like keyframes and curves
ah okay
3ds max is used alot for it's rendering capabilities
like 3d modelling art and architecture work
I love using maya because it's comfortable for me to export blendspaces and animations into ue4
3ds handles modeling better?
no, rendering out 3d models
lots of modellers use it for their realistic portraits
both maya and 3ds max handle out modelling fantastic
Mother of God. I upgraded my project to the latest engine and now everytime I cook it fails...
A whole page of LogInit: Display: LogLinker: Warning: Can't find file for asset
LogInit: Display: LogUObjectGlobals: Warning: Failed to load
UATHelper: Packaging (Windows (64-bit)): ERROR: Cook failed.
PackagingResults: Error: Unknown Cook Failure
I fix that by creating a new project anf reimporting all my assets
Good luck!
Seriously...
Any quick way to export and import everything? I have soooo many assets...
ahhhh view Windows gotcha
What do you mean by "generate project files" ?
Man... Write Achievement Progress is still bugged in 4.18
How so?
(lol I've never used them)
They probably work on mobile
That sucks.
Typical Epic protocol ยฏ_(ใ)_/ยฏ
Since they don't have a game on Steam
they don't bother
They're making enough money from the 5% royalty fee (PUBG alone...) they need to spend a liiiiiiittle more time fixing some engines bugs they have....
Sorry for repost but does anybody happen to know how to stop shadows from disappearing when you are moving farther away from them? Seems like an easy fix.
- your lighting is unbuilt
- the shadow distance setting is in the directional light properties
set the distance to something and cascade count to higher than 0
Setting up Cascaded Shadows for mobile games.
oh that was a mobile link
anyway, the light settings still apply
hey guys, probably a basic question but I've accidentally closed the animation window where I could set keys and stuff, how do I open that stuff? ๐ฆ
windows menu at the top
โค
Has anyone ever seen this widget tree error before? https://answers.unrealengine.com/questions/687205/userwidget-fails-to-ensureinwidgettree-in-duplicat.html
does Epic work with the PUBG devs for anything?
hover over upper right hand project name
yeah my 4.16 randomly exploded with those errors. Upgrading to 4.18 completely resolved all of them and I haven't seen one since
(i.e. my answer on the answerhub)
Did you happen to try 4.17? it'll be quite a while until we upgrade to 4.18
no I skipped 4.17
I tried a lot of different things to fix the issue in 4.16 but couldn't.
ok thanks for the help ๐
sure np
ffs
I "love" how UE first loads the entire selection of assets when you right click them, before showing you the rightclick menu
rightclick -> wait 10 minutes -> forget what you were doing
Or just one of the Kite assets
if you dont f2 when renaming a level and just rightclick on it, it can take ages as well
anyone tried doing animation blueprint in c++?
I think i managed to hack my way through the BP one, but it's really terrible
problem is that I want to have a unified logic but we have different skeletons
I think I can create a general one using UAnimSequenceObject* -s, and I just duplicate and retarget that for each skeleton
too bad that I'll have to do that again all time I change it
still easier than building up the stupid almost same anim bp for all ๐ข
searching for a way to do animations in C++ is also lead to the same "don't" answer
ping #gameplay-ai ๐
Hi, I'm getting build errors when trying to build the mobile third person shooter example:
https://pastebin.com/av79Fj3M
*Lines 5-8 say that my build tools are inconsistent. I've tried looking in codeworksforandroid manager, but I don't see anything wrong.
*Lines 11-15 say that I've not accepted a license agreement, but I've accepted every one that I could find in UE4 and codeworksforandroid
I hope this isn't the wrong place to ask....
also i get an error message in codeworks:
I have 2017 community. Do I need 2015 to create mobile apps?
No
IIRC you need to unselect
I did, it's the only way that I could complete the install process
Then it's good ๐
Yeah, seems the problem may been the license agreement I haven't accepted, but don't see where I do accept it
accepted
I'm actually following that getting started tutorial you've linked
linked from*
Got this issue before
IIRC disablingย "Enable Gradle instead of Ant" in the Project Settings solved it
I've contemplated doing that, but didn't try it! lemme give that a shot
How do I turn off spheres having a bright spot when i look at them with a light source?
@silver crown โค โค โค โค โค โค โค โค โค โค โค โค โค โค โค it worked!
Thank you so much!
๐
How do I turn off this?
Can't wait to try this out. runs off happily (good luck solving your problem, @plush yew )
Thanks, I'm gonna need it haha
Maybe specular?
How do I remove specular?
In your material
Where in it?
@silver crown In the blueprint connectors thing?
Can I scale the font of the edtor, it's too small for me ๐ฆ
Thanks!
Works thanks!
How do I make objects cast shadows on themselves?
A really dark shadow*
Like make one side night side
@plush yew Where are you find that material of the earth ?
thanks
@plush yew too bad the earth is flat
Haha
lmao
So anyone know how?
@plush yew it does that by default
your's look unlit
it'll get shadows like that
Ah the object is 637.1 units large if that matters
also, night earth isn't all dark, there are lights
Yeah I'm gonna get to that part afterwards
^ something I did for a satellite link contest in the past / not accurate (also no PBR materials)
anyway, your material still looks like unlit
Ah nice! So how do I light it? I have a light source
@plush yew Compile the lights?
I already did compile the lights
@cursive dirge Oh I'm dumb, I was using a light source
Make a bp changing every tick the rotation of your sun light
Works now thanks a bunch haha
I see my self in that picture
Better pic
I just made the night lights by having night texture that was fed directly into emissive input
can't remember if I scaled it down too
@cursive dirge Nah this one works amazzing thanks a bunch
point is, it doesn't show the emissive part in direct light, only in dark
You probably had too, travesing huge distances in the camera is very slow
Change the velocity
