There are thousands of game designers like me who have 0 coding experience and can make a game from scratch using only Blueprints.
One could argue we can learn C++ as much as we can learn Blueprint but it’s a wrong statement. Between a friendly, colored tool to learn and a tedious, wall of text tool every designer I know will head towards the colorful and easy one.
Indies want reusable componentized code modules without having to compile C++ or by coding “visually” with BP. This is reason number 1 why UE4 is not getting enough attention.
Clearly, the popularity or to be more precise, the user base of Unity and others engines compared with engines like UE4 and Cryengine has nothing to do with the system requirements necessary to run them. I mean, only because Unity can run pratically in any computer/laptop, while UE4 requires at least a middle/top level setup, has nothing to do with that, right?
In terms of system requirements, both UE4 and Cryengine are close. Cryengine has scripting languages, so which is more popular, UE4 or Cryengine? Or which one is getting more attention?
I was talking about people with 0 coding knowledge. Such people are not building reusable code. They need to prototype stuff quickly. That’s what Blueprint is for imho. Prototyping / advanced prototyping. And it’s great at it. You can even ship complete (yet simple) games. And you can do reusable blueprints. But it’s not much of an argument because my point was people with 0 coding knowledge.
Or rather Unity was out and about long before UE4 became usable. That’s why user base is larger, that’s why it has more stuff on its Asset Store and like @EvilCleric said hardware requirements are not high. Not to mention Unity supports more platforms and the size of the app’s release binary is much smaller than UE4’s.
In the interest of moving this conversation along, I’ve created a new thread which I hope we can use to find a way to improve the producvitity of the existing tools without stepping on too many toes.
You can continue to use graph nodes. I didn’t suggest to rip them out, I only pointed out their flaws that are felt from the perspective of somebody who isn’t only an artist but also programmer.
If there were no BPs, but only C++, I wouldn’t have touched UE4 in the first place. I’m happy that I can use BPs instead of C++. But BP still ain’t ideal. And an old Dev saying goes like this “Don’t fix what is not broken”. Unity wasn’t even “broken” it just got a lot of shortcomings. And most of those shortcomings weren’t related to C#.
They are not so different. Both are game engines, and both do have a “game editor” on top of it. Unity lacks a gameplay framework, UE4 offers a good one. Unity lacks tools/build-in editor, UE4 offers more. UE4 does have a material editor, Unity got ShaderForge.
The CryEngine V seem to be too different to UE4 and Unity. The last time I looked it up, it didn’t have an actual game editor workflow.
Blueprint is all about people who have idea but don’t know how - which is difficult to achieve without programming skill before.
Now, with blueprint in hand you probably need only a few days of familiarization and the rest is all about “if you have idea, you can achieve it”.
Nope. Q3A couldn’t have been done with C# for gameplay, because Q3A come out 1999, and C# came out in 2000. And regarding Doom 3 with a C# for its gameplay. I don’t even think that back then it would have been such a good idea, the computers weren’t fast enough. But today, it’s 2016.
Yeah, I understand that, now that there is BP already in the way it is now. That’s why I gave this thread the prefix “Programming” and not “Feature Request”. Obviously a dull C# slap in, wouldn’t do any good either.
Do you know in which sub-forum you are? I give you a hint. This sub-forum is called “feedback”. Rome wasn’t built within one day. -.-
I’ve worked with Unity for years now, and one of the most important lessons I’ve learned is that you must **NEVER TRUST THE ASSET STORE. **It’s filled with poorly-architectured, grossly unperformant, GC-unfriendly packages. Every time we purchased a fancy tech package from it (IK, character controllers, image effects, volumetric fog, etc…), we ended up either not using them or writing our own systems instead, because they all had problems
Unity also has other problems:
Awful networking: UNET is too buggy/incomplete to be used in production. The alternative is the third party Photon Networking, which I have no real opinion on. It just didn’t give me a good first impression
Performance: Can you try to imagine a Unity game that looks like Unreal Tournament’s Outpost 23 and runs at a super stable 144 fps on a GTX 970? I get headaches just thinking about it.
Tools: Everything is underwhelming. Animation tools are limited, Navmesh system is meh, lightmaps are meh, particle system is meh, etc…
All of its features seem perpetually stuck in alpha/buggy stage
I do have some gripes with UE4 though:
I dream of the day UE4 gets a scripting language. I’d still use C++ for most core functionality, but having a scripting language to do all other tasks would do miracles to improve programmer quality of life
I wish UE4 allowed us to write our own shaders without having to dive into the source code
Modules and Editor extensions with Slate are an incomprehensible nightmare (this is probably where a scripting language would shine the most. For editor tools programming)
The engine seems polluted with stuff that shouldn’t be in the base engine package (damage functions in AActor, score variables, ability system, too much bloat everywhere in general, etc…). All those game-specific things should be cleaned out and distributed as an external package/plugin for those who want them.
It just gives off a general vibe of rigidity and non-extensibility. It’s like it doesn’t want you to come up with your own solutions, and instead imposes its own on you. This can be pretty depressing for those of us who want to grow and improve as game developpers. UE4 feels like a dead end
These things are important enough to make me reconsider Unity every few weeks, despite all of its disadvantages. I’m still sticking with UE4 for the moment (maybe until Source 2 comes out?), because it is worlds apart from Unity in terms of performance, networking, source code access and tools
Just because you can make a game just in BP doesn’t mean it’s a good idea. This doesn’t put anything to rest
The only reason to use blueprints is not knowing how to code. Otherwise, coding is faster, easier, more performant, more versatile, more readable, more reusable and more manageable.
Same reason as why people who program in c++ don’t feel like writing in assembly. Or why people writing in assembly don’t want to write in 0’s and 1’s.
Scripting removes all of the frustrations of having to program in c++ (headers, disgusting syntax, rigid c++ solution, intellisense that takes forever, inability to transfer from one project to another, etc…). It improves productivity and quality of life, which pretty much has a direct impact on how good your game is in the end. It might even make the difference between giving up and leading your project to completion, if you’re doing this in your free time
If that was a bad idea, Sony wouldn’t let the game through.
All debatable. Early idSoftware for example didn’t care for code reusability. They made games to be shipped and they did.
BP noodles can be very manageable if you organize it. C++/C# can be made un-f#cking-readable (or any code for that matter). BP is quite reusable. It’s almost the same as C++, just visual instead of textual.
Performance depends on the game you are making. If it’s one of the games UE4 was already built for, then you already have performance taxing tasks in C++. Doing the rest in BP shouldn’t affect performance much. And of course if you are making something out of ordinary, with computation heavy tasks or doing something UE4 was meant to do (yet) then sure, you have to do it in C++. Although devs who don’t program in any language (or do, but not skilled in programming) don’t go for crazy games like that.
I say it again people - the goal is to get your game/etc. done and get it out of the door. If you can write clean and performant code in whatever language you use, then good for you. You can then also code in C++ and stop whining about C# or any scripting language you want to see in UE4.