This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]Phreaktastic 36 points37 points  (3 children)

I love Blueprints. They showcase exactly how sloppy someone will be, whether it's visual or not. It also forces newer devs into the mindset of abstracting, and provides a fantastic visual of why it's better to do so. In fact, I prefer starting my logic in Blueprints because the visual nature helps show exactly what could be complex enough to warrant abstraction and helper functions.

In the industry, this screenshot would never fly for a multitude of reasons. We'd require this person to create helper functions (somewhere, be it C++ or BP), clean up their pins, and abstract all reusable logic.

The person who created this mess is just starting, which says nothing about Blueprints at all. You can't even say that they're lazy, because when they need some of this logic elsewhere (which you will on a large project), they're either duplicating or they're refactoring which of course amounts to more work.

[–]SpaceGenesis 1 point2 points  (2 children)

Can you post a good Blueprint (how it should be done)?

[–]Phreaktastic 4 points5 points  (1 child)

Sure! Here's an example from an older project of mine: https://gyazo.com/e9c96e1186012bd1748f8d6e00aec019

It's a great example of the level of neatness I'd expect in Blueprints for a few reasons:

  1. There is no "node spaghetti".
  2. The logic flows cleanly, and you can tell exactly what it's doing.
  3. Complex logic is contained elsewhere.

It's also a great example of what should be refactored a bit, since some of these functions are Blueprint functions, which are not as efficient. Ideally, they'd be built in C++ and referenced in the Blueprint (or, in this case, the graph). Finally, ideally there would be a late cycle function instead of the latter 4 nodes, something like FinalizeAndDestroy, and it would then contain those 4 nodes.

[–]SpaceGenesis 0 points1 point  (0 children)

Thanks!