This profile is from a federated server and may be incomplete. Browse more on the original instance.

sbseltzer, to random
@sbseltzer@peoplemaking.games avatar
psychicparrot42, (edited ) to random
@psychicparrot42@mastodon.gamedev.place avatar

deleted_by_author

  • Loading...
  • sbseltzer,
    @sbseltzer@peoplemaking.games avatar

    @psychicparrot42 being able to afford groceries is nice. :P

    sbseltzer, to unrealengine
    @sbseltzer@peoplemaking.games avatar

    users: If you're into workflow enhancements & quality-of-life plugins, I could use your feedback. I've got several plugins I'd like to commercialize, and need to finalize my pricing. Might want some early beta testers too. Hit me up if you're interested. Boosts are much appreciated. :)

    sbseltzer,
    @sbseltzer@peoplemaking.games avatar

    @sirjofri This is going to be my first time releasing anything on the marketplace, so I have no experience publishing yet. Let me know if you've got any advice!

    sbseltzer,
    @sbseltzer@peoplemaking.games avatar

    @sirjofri I figured out you can save a draft, but it requires you to add valid images first, which is annoying. I just have 2 images that I use as placeholders so I can save the draft. I still need to put together some real thumbnails/screenshots. ๐Ÿ˜…

    What plugin did you make by the way?

    Craigp, to random
    @Craigp@mastodon.social avatar

    UGHHHH it looks like I'll have to break down and do C++ in Unreal.

    le sigh.

    sbseltzer,
    @sbseltzer@peoplemaking.games avatar

    @Craigp what's the straw that broke the camels back?

    Craigp, to random
    @Craigp@mastodon.social avatar

    I'm curious if there's a YouTube series out there specifically about games that were great and approachable at launch but have become unapproachable messes over time.

    sbseltzer,
    @sbseltzer@peoplemaking.games avatar

    @Craigp I dunno but OG Deus Ex comes to mind when I think of great games whose UX aged badly. The Revision overhaul mod helps a little but it's such a fundamentally clunky FPSRPG by today's standards.

    Craigp, to random
    @Craigp@mastodon.social avatar

    ... Unreal is crashing a looooooot. I don't like this.

    sbseltzer,
    @sbseltzer@peoplemaking.games avatar

    @Craigp I'm surprised you're getting it to frequently crash without using C++! Running out of memory or something? I remember UE5 had that problem a lot with certain plugins (cough quixel cough).

    Craigp, to Unreal
    @Craigp@mastodon.social avatar

    OK, question. What's with the fuzzy ball car charm on certain nodes? It doesn't pop anything up when I mouse over it.

    sbseltzer,
    @sbseltzer@peoplemaking.games avatar

    @Craigp Yes, it means the property has replication flags set. It means that on the next net tick for that actor, the property will be gathered and bundled up with other updated replicated properties, and sent to relevant clients according to whatever replication conditions are configured for that property (for example only sending it to the client who "owns" it).

    That little marker is basically there to remind you that on clients it could change due to replication on the next frame.

    Other gotcha about blueprint property replication is that properties marked as RepNotify will trigger the OnRep callback on both client and server whenever the variable is set, whereas C++ it will only trigger the OnRep callback on the client and leaves it up to the programmer whether they wish to trigger it on the server manually.

    sbseltzer,
    @sbseltzer@peoplemaking.games avatar

    @Craigp It'll only consume bandwidth when it gets modified, so if it's getting modified every frame then yes your overall bandwidth usage will be increased. You can reduce the bandwidth usage by limiting the number of clients it gets replicated to (i.e. fine-tuning the actor's net relevancy settings and replication conditions). Each replicated variable will also add a small amount of CPU overhead every net tick since the engine will need to check if it changed since its last net tick, but this is a pretty negligible cost unless you're replicating a bunch of large structs with expensive equality checks.

    Also worth noting that some struct properties with frequently replicated values like vectors/rotators have "quantized" (compressed) versions with special network serialization, which reduces their precision but also reduces bandwidth usage. It's particularly useful for movement replication on character pawns, which have additional settings to specify precision level. You can use these structs in blueprint too.

    Screenshot of replicated movement settings on a Character blueprint.

    sbseltzer, to gamedev
    @sbseltzer@peoplemaking.games avatar

    To fully appreciate what Unreal GAS has to offer, you must first accept that all software is basically just Excel With Extra Steps.

    eniko, to random
    @eniko@peoplemaking.games avatar

    Software engineer: really when you get down to it computers spend most of their time just rendering text

    Lay person: oh I guess that must mean it's real easy to render text since that's all computers do, right?

    Software engineer: haha no it's impossible actually

    sbseltzer,
    @sbseltzer@peoplemaking.games avatar

    @eniko this reminds me of one of my favorite bugs I had to fix at a job: "something is crashing the application but only on Korean Windows 7 systems." None of the senior/principle engineers knew wtf was going on so they threw it at me, the new hire who had done a lot of niche C/C++ portability work.

    It was all caused by a degree symbol passed into a string formatting function. Something about the default codepage for that locale not having that symbol. If I hadn't come into that job with some prior experience with codepages I probably would've been completely lost. I laughed so hard when I saw where the segfault was coming from.

    georgetakei, to random

    Boys, too, I bet.

    sbseltzer,
    @sbseltzer@peoplemaking.games avatar

    @georgetakei RIP choco-taco

    glassbottommeg, to random
    @glassbottommeg@peoplemaking.games avatar

    A reminder for anyone running a mailing list, even MailChimp / FloDesk / etc, that whatever domain your mail's "from" email has (probably your studio website) must support DMARC very soon. Google updated their reqs.

    Isn't hard. Your hosting/domain manager probably already has instructions how to set it up. You just gotta go find and follow them.

    sbseltzer,
    @sbseltzer@peoplemaking.games avatar

    @glassbottommeg this reminded me my DKIM configurations were also broken. Went ahead and fixed those while I was at it.

    Craigp, to Unreal
    @Craigp@mastodon.social avatar

    OK, question. I have a Character.

    I would like some information linked to that character to be stored entirely on the server and never sent to the client. Similarly, I'd like some event functions to be called only on the server, such as Begin/EndOverlap with certain object classes.

    I am using strictly blueprinting.

    How do I do this as cleanly as possible? Just... uh, create two entirely separate actors that are tethered together?

    sbseltzer,
    @sbseltzer@peoplemaking.games avatar

    @Craigp if you need to stay in blueprint land, you probably want to put this in your PlayerController behind some SwitchAuthority checks. If you use C++ there may be better options using subsystems or components that are designed to only exist on the server.

    sbseltzer,
    @sbseltzer@peoplemaking.games avatar

    @Craigp it's probably going to be the easiest choice. Another way to organize it would be to put it in a non-replicated component and spawn the component on the character or controller on begin play behind a switch authority check.

    sbseltzer,
    @sbseltzer@peoplemaking.games avatar

    @Craigp Since you're using blueprint, I should note that depending on how sensitive the data is, you may want to have the data originate from an asset that is only ever referenced by serverside assets. If you reference the data inside the character/controller, even with the authority checks it will be packaged/loaded in client builds due to the way blueprint asset dependencies work. You may be able to work around that with soft object references. I'm not sure what your use case is.

    sbseltzer, to unrealengine
    @sbseltzer@peoplemaking.games avatar

    It's weird to increasingly be the person my peers ask for help when they need to fix C++ linker/compiler errors. ๐Ÿ˜…

    sbseltzer,
    @sbseltzer@peoplemaking.games avatar

    The thing about Unreal is that most linker errors refer to generated code and are more a byproduct of programmers writing declarations that Unreal particularly dislikes (i.e. doesn't support, forbids, etc) as opposed to the code being wrong by any objective measure.

    sbseltzer,
    @sbseltzer@peoplemaking.games avatar

    @sirjofri Yeah those are the more common/straightforward ones to fix. I guess when I say "most" I mean "most nasty ones that need troubleshooting"

    sbseltzer,
    @sbseltzer@peoplemaking.games avatar

    @sirjofri Yeah I find things that deal with containers/structs in interfaces/RPC tend to be the most fraught since the engine puts a lot of constraints on what those signatures can/can't do, and with interfaces it becomes very context-sensitive.

    sirjofri, to Unreal German
    @sirjofri@mastodon.sdf.org avatar

    @sbseltzer Just yesterday I found another weirdness in . The controller SetMoveInputIgnored(bool) is not a setter, but a stack, kinda. For example, you can call it with "true" two times, then with "false" a single time, but move input will still be ignored. Quite neat, but you have to know that and the name is misleading

    sbseltzer,
    @sbseltzer@peoplemaking.games avatar

    @sirjofri Weird. Usually they're good about using "Push" and "Pop" nomenclature for those types of features. Honestly, I'd like more things in the engine to work that way. I've thought about making a plugin that wraps a lot of actor settings into stacks because I have to do it so much for NPCs.

    sbseltzer, to unrealengine
    @sbseltzer@peoplemaking.games avatar

    Mixed myself a highball and now I'm gonna figure out how to make custom K2 Nodes. ๐Ÿฅ‚

    sbseltzer,
    @sbseltzer@peoplemaking.games avatar

    @sirjofri Yeah basically. K2Nodes aren't really meant to execute any code. Instead they describe a visual interface and the actions the BP compiler must take to insert the actual execution node into the graph as an intermediate compilation product. The BlueprintInternalUseOnly specifier seems to exist to help facilitate this (i.e. defining UFunctions specifically for use by K2Nodes and not directly placeable in graph). Not the most intuitive, but I sorta understand why they did it this way.

    sbseltzer,
    @sbseltzer@peoplemaking.games avatar

    @sirjofri Yes exactly! If it's not BlueprintCallable it can't compile the intermediate nodes, but it needs to be internal so users don't accidentally use it when the K2Node is supposed to take charge over how it appears in menus/graphs.

    sbseltzer,
    @sbseltzer@peoplemaking.games avatar

    @sirjofri yes, you absolutely can. You could build a whole graph in one if you know how. I'm not proficient enough to do that, but some nodes expand to quite a bit of extra intermediate nodes. This is especially true for things with a variable number of inputs/outputs.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • โ€ข
  • megavids
  • tacticalgear
  • magazineikmin
  • thenastyranch
  • Youngstown
  • mdbf
  • rosin
  • slotface
  • InstantRegret
  • khanakhh
  • Durango
  • kavyap
  • osvaldo12
  • DreamBathrooms
  • JUstTest
  • GTA5RPClips
  • ngwrru68w68
  • everett
  • tester
  • ethstaker
  • cisconetworking
  • cubers
  • modclub
  • provamag3
  • anitta
  • normalnudes
  • Leos
  • lostlight
  • All magazines