Yes, I still use the same hard disk platter as a drink coaster. But I need more ISA cards in my collection.


prophetgoddess
@prophetgoddess

are there any remotely decent unreal engine tutorials in existence? i dislike it greatly but i have to learn it for work. by "remotely decent" i mean:

  • text, not video
  • actually starts from scratch instead of making you download some template project that it never explains
  • preferably oriented towards people who already know how to program, though i'm flexible on this
  • i would prefer C++ over blueprints but i'll take either at this point

the dream is basically something like catlike coding's unity tutorials but for unreal.

i really cannot comprehend any aspect of the unreal engine interface or architecture. it's one of the most confounding pieces of software i've ever encountered and all their official documentation is absolute dogshit from a dumpster.


prophetgoddess
@prophetgoddess

i've gotten some responses to this that seem to misunderstand where i am coming from. i want to be clear: i am not a beginner. i have been making video games for a decade. you will not sell me on the unreal engine, i will never use it by choice. i have been there and done that with the big monolithic black box game engines, and i am never going back. i am extremely happy with my current completely custom workflow for personal projects and i have written extensively about why.

unreal engine wants you to think you'll never have to touch a line of ~scary~ code. it wants you to think that everything you ever want to build a game is just in the engine, or on the marketplace, and all you need to do is tie it together with duct tape and string and you have a video game. this is nonsense. this thought process is the primary reason why people think making video games is so miserable, because they build black boxes out of black boxes and nobody knows what's going on and then there's a problem and you suddenly have to, in the best case scenario sort through thousands of lines of other people's code in order to fix what's wrong.

and for what? to allow people to endlessly churn out identical video games, because the path of least resistance is always to just make the same shit people have made before? when you assemble a video game out of prefabricated parts, you get a prefabricated video game. and i know why people do this. video games are more expensive to make than ever, gamers demand ever-increasing graphical fidelity, nobody can afford to make anything even remotely original. even in the indie space, the only way you're getting funding is if your game is fundamentally the same as a game that has sold a lot of copies in the past five years, and the only way you're selling copies is if you have the funding to meet people's sky-high expectations for "indie" games or you hit the lottery and northernlion gets obsessed with streaming your game.

the reason i am learning unreal is not because i want to, or because i think it's powerful. it's because i have bills to pay, and the industry i started my journey in ten years ago because i wanted to push boundaries and make something truly great is now just a machine for churning out endless copies of copies of copies and i am trapped here. people keep telling me that my skillset is really valuable, people have told me my whole life that learning these skills would be able to get me some great jobs. well i'll tell you what, anyone who doesn't know how to program: i've climbed the mountain, i'm an expert in my field, and all i've found at the top is a fabulously expensive coffin.


cr1901
@cr1901

I guess this is my short-form writing for last week.

Okay, with the flippant title out of the way, I relate hard to Cass here. Their situation sounds like one of my nightmare scenarios. The bigger abstractions you make, the easier it is to cater to the common case, but it becomes more difficult to figure out what is wrong if or when something goes wrong.

For better or worse, there's no substitute to having time to spend to peer into internals. I may bitch about how it's not possible to understand all the software/hardware layers due to lack of time, but that doesn't mean I won't try. A black box like Unity gives me no recourse to even try.

I've been lucky enough professionally to have the time to stare into the internals of the many software suites (mostly open source FPGA tooling). I've been able to exchange that time into a service that people actually pay me to kickstart their own digital designs; they pay me to "know where to hammer the nail", so to speak. It pains me to see very technically competent people like Cass have struggles with their craft because the tools are so damn big, so damn opaque, yet still somehow so damn leaky.

Getting institutional knowledge about a software suite's internal quirks via commercial support or forums pales in comparison to having time to study the internals and figuring out how to laser-focus on patching a leaky abstraction. I've been fortunate; I wish everyone had my opportunities here.

And this isn't even getting into:

  1. Cass' observation that games are becoming "assemble a video game out of prefabricated parts". You can make beautiful things in Unity. But there's def some truth to their statement.
  2. I know secondhand that Unity the company has (or had) a sexual harassment problem and drove out a friend. So I have some bias there.

You must log in to comment.

in reply to @prophetgoddess's post:

G'day, I'm an unreal generalist with a bunch of experience doing most stuff. Unreal is really good, but it doesn't teach itself well, which frustrates me a lot. Once you're across it it's wildly empowering, but getting across it is way harder than it needs to be, so you're not alone here at all.

The most important thing is just to be in a community of helpful folks who know it well already or are also learning it. The Unreal forums is mostly not that place. I run a discord which is a good one, there's a link in my bio. There's also a longtime Unity user Alex Rose who made a discord for Unity users jumping ship to Unreal, which I'm in too and those people are helpful to each other: https://twitter.com/AlexRoseGames/status/1542871322136662016?s=20&t=yf642ZAODq-8SDjQcHUtMQ

I don't do well with video tutorials either mostly, but I did make the vid below, which isn't a tutorial but a rapid-fire 20-minute list of stuff people often don't find out on their own. It's not supposed to teach you this stuff as much as give you a feel for the sorts of things that are there and not surfaced. I also used to tutor folks on this stuff for money, which I recommend if you can find someone good.

https://www.youtube.com/watch?v=VhYDqkTqZPg

It's frustrating initially, but the learning curve on most things is one steep initial cliff (find out what this even is) and then an immediate dropoff (oh, this is easy).

There's an official docs page for transitioning from Unity also: https://docs.unrealengine.com/5.0/en-US/unreal-engine-for-unity-developers/

Other general tips:

-never assume you have to roll your own anything (character movement basics, standing on moving platforms, decals, databases, camera systems, AI systems, pathfinding, profiling tools, localisation systems, dynamic music, networking, state machines, projectiles, damage, vehicles, anything). Sometimes you do but always check

-95% of UE4 docs/tutorials also apply to UE5. They moved some stuff around in the UI but most stuff is the same

-You should work primarily in Blueprint, not C++. This applies equally (at least initially, until you're someone who Knows Unreal) to everyone. Some people will fight me on this but they're all wrong

-C++ in unreal is a different beast than C++ in other places; if it shits you in other places it's still worth a try here

-Read the entire Gameplay Framework doc, it's important, there is no project where the Gameplay Framework isn't the right way to work

-Opening and docking the Class Viewer panel (Tools->Class Viewer) will help you passively observe the way the engine is structured. In UE1 and 2 this was docked at all times, they never shoulda hidden it away

-Download the Content Examples example project through the Epic launcher, it's pretty exhaustive

-You can theme the UE5 editor in Editor Settings, which is good if the default dark theme in UE5 is too dark for you

Hope this helps!

RE: Blueprints vs C++, I agree with Joe that you shouldn't trouble yourself with learning how to work with Unreal C++ first, because you'll most likely have to touch blueprints at one point or another anyway.

When you get more comfortable with UE, this video (https://youtu.be/VMZftEVDuCE) explains really nicely how C++ and Blueprints work with each other and why, even if you prefer C++, you should still use blueprints, or at least know how they work. In quite a lot of cases they're much faster to iterate on than if you were to do the same thing in C++.

this comment is a sort of microcosm of exactly what i think i find frustrating about unreal lmao. first, i don't use unity, i write my own custom tools and i've written exhaustively about why i do that. i want to write c++ because i am very familiar with c++, i hate visual programming and i hate the assumption that it's "easier" to stare at a tangled mess of nonsense than to just read text, something i have been doing since the age of two.

i don't like how much unreal does for me. you say "never assume you have to roll your own anything" but i want to. i don't want to download random crap off the internet that i don't know how it works. i don't want my game to be a collection of black boxes i've tied together with string. that is a nightmare.

i appreciate the resources, though, especially the stuff about the gameplay framework and the class viewer.

I feel like you being a Unity user without strong feelings against visual coding was a fair assumption from your post, but this all applies either way - I say "don't roll your own", you say "but I want to"; I say "that's fine, but don't". I get the impulse, but if you do it'll be a disaster for your project and team. At least you have full source code!

in reply to @prophetgoddess's post:

in reply to @cr1901's post:

i am talking about unreal, not unity, but it's the same thing. unreal does make its source code available on github, but it's so complex that it's practically a black box. it's like when you download a package off npm or something, it's technically open source, but let's be honest, you'll never look at the source. everything about the user interface is designed to obfuscate what's really going on, because they assume you don't care, and that showing you what's going on would just be scary. it's so fucking annoying that instead of just writing code to do what i want, i have to write code through thirty layers of fucking abstractions just to make a character move around on the screen.

and yeah, i could elaborate a lot on the notion of prefabricated parts leading to prefabricated games. literally my favorite game of all time, pathologic 2, was made in unity, and i've played games made with unreal that are good (rocket league, for instance). but pathologic 2 looks like a unity game, and it's fine but the original game's custom engine had such a unique style about it. something i think is underestimated is how when you use someone else's rendering pipeline, your game will look like all the games made with that rendering pipeline. it's so much worse with unreal though, which has so many prefab parts just built in that just push you towards making the same game as everyone else.