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 -
if that's the case I wish they would just tell us this! Like, how would you react to something like this:
"Hey guys, the code base is 60% converted to C++ and we expect to finish by Winter 2021-22. Until then you're likely to continue seeing bugs on patches, as it's hard to rewrite the code so extensively in a game this complex without introducing new issues. Once we complete the rewrite, though, we expect to offer improved performance and a much more stable game over the current version. This was the main motivation behind our decision to convert to C++ in the first place; we're committed to making DBD the best it possibly can be. We appreciate your patience and understanding for the time being!"
I would personally love to see something like this. That would show me they care about the game and their community, it would give me a plausible explanation for why the bugs have been so bad (other than pure incompetence, which is what a lot of people assume), and it would give me hope that the game will be in a much better state in the future. Without something like this, people will reasonably assume that the wheels are falling off.
4 -
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 -
That's fair, but even if they're not willing to commit to a date, I don't see anything wrong with saying "We're about 60% done now and will continue to prioritize the rewrite. We don't have a date to communicate for when we expect the rewrite to be complete at this time, but we will regularly update you on our progress. Thank you for your patience in the meantime and see you in the fog!" There are plenty of good ways to get the message across; I just want to see honesty and transparency.
1