Keeping the game code in Blueprints (AKA spaghetti code) is paying back
4 years of looong loooong unstopped game development.
It has evolved too much thanks for the millionare anual earnings that developers were motivated enough to create a total of 44,7 GB and 2.464 files, most of these files have hundred more compressed.
The work that has been made is truly amazing, but devs were ignoring all this time an issue chasing them since the begin, which has been evolving in the shadows, and this with update build reached its major issues ever in this game. This is what is known as "blueprints"
Definition: Blueprints programmings consists on being one of the most lazy coding ever made for videogames, this one designed by Unreal Engine is not so bad, but still they are offered by the egine to work with a different one (I'll talk about this later). The method blueprints uses is basic programming which is easy to understand even for people who don't have much knowledge about coding, it can be described as squares with presets which can be modded, linked between all each other (this confusing web they make is what originates the AKA spaghetti code).
The problem with blueprints is that is not really a reliable programming, is a system already programmed made to program games of apps, so the coding isn't entirely free and causes limitation towards for example optimization and making the spaghetti run around million of squares causes the famous bugs and the heavy update of content caused the current present build to work with a total of 92 reported bugs, each can be found in this discussion not made by me https://forum.deadbydaylight.com/en/discussion/209981/known-issues-with-this-chapter-a-lovingly-crafted-list-for-your-viewing-pleasure#latest
The single solution that would reduce at least 80% of the unintended game bugs, optimize the game for all platforms and enforce the game security, is merging the code into the alternate coding Unreal Engine offers: C++. This one consists in prefectly organised code lines with no limitation and less use of reading memory when being launched. I heard devs wanted to do this merge long long long ago... but there are no single progresses found in their files, it's all growing blueprints non-stopping.
With this post I hope devs stop for a minute on updates, hire people with knowledge about C++, and fix their game once for all after 4 years, so they can stop releasing unfinished and broken content at full price with barely warning of all the real issues or changes.
Comments
-
IIRC Mclean said on stream that they use C++ for most things and only use blueprints for a few things, and that the majority of bugs aren't caused by blueprints. There was a clip of him saying this, but im too lazy to find it so if anyone else wants to post it be my guest.
4 -
Pls read devs
4 -
I theorize it's caused by a single minor change to one line of code (like a bugfix) causing a ripple effect and screwing over other lines of code. I'm not a programmer, but from what I hear that's how most bugs are caused.
1 -
I cant say how but you can unpak the game yourself and see yourself there's no c++, is all blueprints, they can't run both things at the same time, Unreal Engone projects ask you to use one of them, but not both, you would be running 2 games intead and making the optimization work even worse
1 -
As a software engineer and someone who has worked on UE projects before in blueprints and other engines using pure programming, this post is entirely wrong.
The term "Spaghetti code" has nothing to do with blueprints, and has more to do with code that is difficult to maintain and make changes to for a variety of reasons. Such as:
- Extremely long functions that do multiple things
- Lots of little functions spread out across multiple modules that aren't organized in a sensible way.
- File structures that are confusing and unorganized
- Variables having confusing names.
And many other things. If i get some time i might post an example of something that is spaghetti code and something that is good code that does the same thing, but honestly i tried to do a quick example and it is pretty hard to do it on purpose.
Either way, blueprints can be done in a way that is easy to maintain and not spaghetti code. I will admit though, it is easier to make your project hard to maintain with blueprints if done poorly, but with a little organization, it works fine.
3 -
Holy cow if this is truly how this game is really built...? Unreal...(no pun intended). No wonder there are so many issues.
2 -
you might know more than me but try to open all the blueprints maps in a project, and check, there are too many, and what can't be denied is that the game into c++ would be 100000 times more optimized, less buggy and easier to identify bugs to fix them faster
EDIT: forgot to mention that I explained the spaghetti code like you, a mess of code but easily produced for the structure blueprints is made of
0 -
Think this is the clip you're talking about.
1 -
Yeah that's the one, thanks.
1 -
We've been called crazy for wanting a long time of no patches for a long overdue code rework.
Now look at the state of DbD.
2 -
the reason why they dont do this is for how much they delay things "like dedicated servers" or even cancelled/didn't mention it anymore (2018's big soon^tm optimization update which was never talked about it since then)
1 -
I don't usually talk ######### to the devs for the code, I tried programming a game a while ago with a friend, we gave up because it was worse after fixing it.
44.7 gb is not that much, I know games which have less content and are worse *cough* cod *cough* which is about 250gb with massive bugs and errors.
I too wish they did an operation health just like how R6s did it, just look at how fast they fix stuff.
1
