4 ms·
I think you are only a huge fan of blueprints because they is no alternatives in Unreal. I think if you could compare an Unreal Lua integration to Blueprints yo
by jay_kyburz 5y ago
I think you are only a huge fan of blueprints because they is no alternatives in Unreal. I think if you could compare an Unreal Lua integration to Blueprints you would reach for Lua every time.
Everything you wrote is just as true for a well written text program, and untrue for badly written blueprint spaghetti!
- beebmam 5y agoThere certainly are alternatives in Unreal. You can implement everything (and far more) in C++ without ever needing to use blueprints.
- jay_kyburz 5y agoCompiling C++ is not a alternative to a game scripting language. Unreal doesn't provide first party support for any other form of scripting.
- dazzawazza 5y agoIt barely provides human-time-scale compilation!
- mejutoco 5y ago> I think you are only a huge fan of blueprints because they is no alternatives in Unreal. The original claim was there are no alternative to blueprints, not scripting languages. And, of course, c++ is an alternative. Maybe not the best, but an alternative to blueprints. In the Unreal documentation [1] we can find: - Blueprints only - C++ and Blueprints - C++ Only This is why I think it is common to mix and match them. [1] https://docs.unrealengine.com/4.27/en-US/ProgrammingAndScripting/ClassCreation/CodeAndBlueprints/ https://docs.unrealengine.com/4.27/en-US/ProgrammingAndScrip...
- jay_kyburz 5y agoOk, I will revise my statement to read "You are only a huge fan of blueprints because the only alternative is c++"
- vvanders 5y agoWe used to have UnrealScript and 9/10 our designers still reached for Kismet instead. Lua is great and I'm a huge proponent of it but different tools are meant for different use cases.
- jay_kyburz 5y agoUnrealScript had problems, that why they dropped it 10 years ago.
- vvanders 5y agoSure but as far as scripting languages go it was enough to get the job done at the time. I don't think swapping to Lua would fundamentally change that. I say that as someone who's worked on both sides and shipped production Lua, Unreal script and C++ during that era. Visual scripting/programming tools are for your designers/artists/animators or as glue code between content that is under high iteration cycles. You can do things such as "find all references to this actor" or realtime visualization of states that just aren't as streamlined as text based languages. The tradeoff is there's a level of complexity where text based languages are better at expressing abstractions and structure, you use them in different contexts and for different parts of a project.
- jay_kyburz 5y agoI'm also in the industry as an artist, level designer and gameplay programmer and have shipped games in Unreal 2, 3 and 4 and Unity, and you'll never convince me that creating boxes and wiring them up will ever be as good as text at expressing game logic and game rules. I can understand why you might want to use it for shaders. (but not really) And when it comes to placing volumes and marking up the scene I'll absolutely want visual gizmos. I genuinely believe that if Epic had taken all the effort they put into blueprints, and put it into a text based programming environment, game designers would be more productive.
- meheleventyone 5y ago
- tomatowurst 5y agoI really don't get why this is being downvoted, you cannot rely on blueprints alone. If you've ever shipped a game ( and I've invited oneoff786 to share any titles he has released in the past) before. Blueprint simply is not a replacement for programmatic text. Where blueprint shines is strictly limited to animation rigging (what animation to play when a character is doing what or response to user control) and visual effects (what the result would be if i mix certain elements, apply lighting, shader etc). Outside of these two areas that are meant for content production, you won't find many studios employing professional blueprint programmers because it is far too slow and difficult to debug. To illustrate this create a blueprint for a simple C++ loop with a dozen switch statements with conditionals inside each, that is a lot of mouse clicks, movements and typing. When you write code, you don't need to worry about how to organize nodes that is readable, there is no hand eye coordination of where to place your conditional node that will branch easily to a dozen or more wired connection. In addition, for performance boosts and debugging, you are almost guaranteed to always use C++ and it is NOT the most user friendly experience especially for those who are not exposed to C++. I just want to warn anybody from taking oneoff786's comment at face value without really realizing the full cost of using UE for its blueprint, you will be sorely disappointed and this is backed by up by many who have shipped games before. Unity has visual programming, it isn't the the selling point of Unreal, and that isn't why large studios are using Unreal for. If you are an indie developer or a hobbyist interested in shipping games, Unreal will greatly delay and lead to frustrations. I'm just warning anybody in case they think that blueprints are all that is needed to wire up a game in UE, that is NOT the case, you might be able to pull it off with purchased assets without much focus on novelty, but you could easily achieve the same far faster with Unity. Game development is hard but its especially hard when relying on UE4's blueprint. Even more so when you are stuck with waiting for someone to reply to your forum questions and told to rely on Intellisense to figure out which API method to use because the document is out of date. In fact I recall being told to just compile the UE engine to learn the inner workings, if I was a professional C++ developer at a game studio sure, but I'm a hobbyist shipping games on Steam, its a no go. C# is far far more accessible as many decisions are made for you as well as there are far bigger community and tutorials around Unity3d. If you have the money and experience to use Unreal, go right ahead, you can absolutely make amazing games, but I guarantee you will end up using C++ and its 3rd party productivity tools since what's offered out of the box really is going to take ages for a shippable game compared to whats possible with Unity. Finally consider the financial incentive of Epic, they need money from established studios that has a history of shipping games to cut them a royalty check, you can't do that by investing in hobbyists and indie game developers who are unlikely to ship a game ever!
- bob1029 5y agoDespite limitations, if you can find ways to simply tolerate these techniques, you will find that you then automatically empower others on your team. I agree this is a shitty way to manage complexity, but at the same time it's super intuitive for lots of people. Maybe find ways to apply it conservatively and guide the non-hardcore emacs users down a path that won't drive you mad.
- giraffe_lady 5y agoI have been using lua a lot recently and it fucking sucks lol. The language itself is tiny and great don't get me wrong and also you can't do anything with it. What you'll need to figure out instead is whatever jank ass mutation-heavy api someone half-accidentally exposed to it from the real stack. And of course it'll be a modified lua 5.1 or some shit, possibly with some of its most powerful and flexible features stripped out. I haven't yet run across a lua integration that was actually reasonable to use. Every time it's a choice between "just hack in what I need to but there is no way to verify I've accounted for all the edge cases and it will be fragile as fuck" or "spend dozens of hours wrapping the exposed api in a safer and more usable OO or FP interface." Oh also I hope you like implementing build systems virtually from scratch, and also dealing with every downside of C if you need anything more powerful than prototypical inheritance. Six months of professional lua work has really, really drilled into me that a programming language isn't shit without its ecosystem, and it's meaningless to discuss one apart from it. I haven't used blueprints but it sounds a lot better than any lua system I've worked on. The only really fun part is you'll often come across an undocumented function that someone obviously forgot to remove or didn't understand the implications of and you'll get DEEP system access through abusing it, or even just a straight root shell. No joke.
- jay_kyburz 5y agoI find some parts of Lua quite ugly and weird. It _is_ weird to have a lists a dictionary be the same thing, but you have access them differently, pairs() and ipairs() etc ect. And I think it would be scary to have a team of programmers coming on and off a Lua project doing things all subtly differently, even rolling their own OO for example. You would have to be very disciplined as a team.
- oneoff786 5y agoI would love it if they released Verse, but no, I love blueprints. The discoverability is so key for new learners. The impossibility of syntax errors is nice. It’s relaxing to code in bp.