6 ms·
I’m a huge fan of blueprints. A few things it does well: * makes the engine api very discoverable, which is huge. It’s a step above intellisense and auto compl
by oneoff786 5y ago
I’m a huge fan of blueprints. A few things it does well:
* makes the engine api very discoverable, which is huge. It’s a step above intellisense and auto complete. The api is likely the reason it’s so dominate in games. It’s the bulk of game programming. Visual programming isn’t very good for coding new things from scratch.
* let’s you read code and clearly follow execution from start to finish.
* let’s you visually document concepts with collapsed nodes, and colored containers and what not. Good blueprints are literally written as long form pseudo code, with double clicks to see actual implementation.
* concepts like const functions are just conceptually clearer. Const functions have no execution pin. They (should) have no side effects. Just a calculation. The engine doesn’t enforce this I don’t think but it’s close…
What it explicitly does not do is allow you to code games without knowing how to code. Countless beginners just die on the first steps. You still need to understand object oriented design and basic coding concepts to do well.
- darkteflon 5y agoThat’s a really interesting comment, thanks. It always seems like UE’s Blueprints are a victim of poorly-informed expectations. Hearing the additional context here is hugely helpful.
- oneoff786 5y agoIt’s in no small part because they are marketed as something that you don’t need to be able to code with. But there’s a big gap between no code solutions like website builders and blueprints. Blueprints involve a lot of coding familiarity.
- picture 5y agoSuper pedantic and unimportant nitpick: I think you mean to use "lets" instead of "let's", which is a contraction of "let us"
- huffer 5y ago
- thr0wawayf00 5y ago> there is no excuse for such errors You do realize that common mental conditions like ADHD cause people to commit these "syntax errors" in language all the time, right? What an ignorant, ableist, and frankly pathetic take this is.
- huffer 5y agothank you
- throwuxiytayq 5y agoI know people with debilitating ADHD who nonetheless manage to communicate more clearly and correctly than their peers. Since you're throwing accusations at random people online, are you sure you aren't dyslexic or lazy? By the way, spell checkers are a thing these days. Seriously, check it out. People you write to might appreciate the absolutely microscopic amount of effort it takes to check what you're typing.
- mcv 5y agoSpell checkers are often terrible, and are just as capable of introducing errors as fixing them, and don't always catch grammar errors like lets vs let's. Look, I care a great deal about proper spelling and grammar, and put a lot of effort into it, but errors can still happen (I've noticed I've been making more spelling errors in recent years than I used to, which worries me). Your comment just sounds needlessly dismissive of people with dyslexia. You could also put effort into proper spelling without trying to come off as a dick (which frankly is probably worse than bad spelling).
- thr0wawayf00 5y ago> are you sure you aren't dyslexic or lazy? Thank you for proving my point in one sentence, comparing those with dyslexia and those who are lazy. > By the way, spell checkers are a thing these days. I use spell-checkers all the time. To be honest, I think spell checkers are one reason why people complain about this in the first place because offloading the cognitive load of spelling and grammar to software inevitably means that people stop thinking in those terms and eventually lose the ability to communicate perfectly without the assistance of software. And then when that software isn't available in every input on every application, mistakes get made. I have major problems with third-party browser plugins that read all of your browser input in order to fix your grammatical errors, so I typically don't use them in the context of HN. Since I'm writing a comment into a browser text input and not a word processor, this isn't content that I'm trying to sell or polish. It's just to communicate simply and sometimes mistakes are made. Should we always send texts in complete sentences so that our recipient fully understands the depths of our command of the language? Plus, how many times have you seen a grammar checker get it wrong? I have many times. Spoiler alert: software isn't perfect. I would understand the argument against grammatical ticks in a context where content is paid for or traded on a professional level. When I buy a book, I expect it to be tight and free of errors. But I'm not paying to be on here, I'm here to exchange ideas, and some of the most intelligent people I've come across in my career aren't necessarily the most eloquent, polished communicators.
- jay_kyburz 5y agoI 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++"
- fxtentacle 5y agoLet me add one more big thing: With Blueprint, the engine team can check-in binaries into Perforce and the rest of the team can use those custom binaries and their custom APIs in Blueprint without ever having to touch a compiler. Also: Blueprints reload instantly and are easy to debug.
- drwiggly 5y agoCan you diff them?
- fxtentacle 5y agoPerforce usually does check out check in precisely because artists hate diffs.
- oneoff786 5y agoNo. Which is very frustrating, because bp seem to be storeable as a json sort of thing which you can copy paste into text, but gets saved to get as a binary thing.
- namrog84 5y agoYes. Sorta. Unreal has a blueprint diffing tool to compare against different commits. Its a frequently overlooked feature. Itd be great to have more accessible outside the editor.
- MisterTea 5y agoSame with industrial control ladder logic. It literally is a language based on old ladder electrical control diagrams which were popular for industrial machinery. They were easy to follow as the logic sequence went from top to bottom. The rungs are a circuit and the vertical bars are the hot and return lines of the control power supply. |----||----||----() X1 X3 Y1 The above program is a series of two "contacts" (like a switch), the "-||-" symbol, and the output "coil" which is meant to symbolize a relay coil. Simple bit logic: if X1 and X3 are true, Y1 is set true. There are many more symbols like comparisons symbols such as -|<|- which will allow you to compare register/variable values as well as timers and other function blocks. Fun fact I learned: Many (all?) rail signal and control blocks are written in ladder with ALL valid states of that rail block predefined in ladder. The logic is simple but the task is incredibly critical. Supposedly it is much easier to visually verify/test the program using ladder vs a written language.