Getting Ready for Unreal Engine 4

Ever since I saw the UE4 Elemental Demo (and later the Development Walkthrough) in early June, I’ve been waiting for the day when I could get my hands on Unreal Engine 4. Of course, that’s not going to happen anytime soon, unless I happen upon a briefcase filled with cash that I can spend with reckless abandon. But since I’m both going to school AND poor, I have to wait for the UDK version of UE4.

Will there be a free UDK-like Unreal Engine 4? Yes. The question is not if, but when. Standard procedure in the game industry is to give the big boys (AAA companies, in other words) a year or so with exclusive access to the engine. But I highly doubt Epic could pass up the royalty opportunities that could come with such a release, so it will happen. Eventually.

I heard…no more UnrealScript? This has been discussed rather hotly on many threads all over the Internet. I for one won’t be absolutely sure until I have UE4 sitting on my computer, but I tend to believe what I read over and over again. Instead of UnrealScript there will be an abstraction layer of C++ over the core C/C++ engine. Obviously the free version of UE4 will only allow access to this upper layer, while the full paid engine gives you access to the core engine as well.

Why the hell would they do that? I like UnrealScript, and I found it one of the easiest languages to learn at a time when I didn’t really understand OOP. I also love its power; with just a few lines you can do some really amazing things. But UnrealScript is what they call an interpreted language, which presents several problems: it’s slower, it must be compiled to bytecode before being usable, and it can’t do anything its parent C++ wouldn’t do. By moving everything into C++ land, you suddenly get all the amazeballs features shown in the UE4 development video, not the least of which is play-while-you-code.

Okay, so what now? If you’re an indie with no money like me, keep coding in UnrealScript for now. The worst thing you can do is wait around for UE4 in anticipation of the new features, because that means you’re getting nowhere.

Or…? Or if you’re in school like me and only touch UDK once a millennium, start learning C++! Trust me, it’s not as hard as you think. What I did was grab a good C/C++ coding environment, such as XCode for the Mac or Visual Studio for Windows, and set up a thing called SDL. What this does is allow you to start making games immediately, instead of spending years learning all the stupid Cocoa/Windows functions to make a window pop up. In just over a day I was able to make a really bad version of Pong! Hooray!

Most likely, coding in UE4 won’t be nearly as complicated as coding from scratch over SDL and OpenGL. The nice fellows over at Epic have (hopefully) done their best to simplify everything so we don’t worry about stuff like pointers and garbage collection (for those of you who don’t understand these things, they’re the top two reasons why programmers check into mental institutions). But if you get a head start now, you’ll guarantee that you can handle anything that comes your way later!

Right? Right.


4 thoughts on “Getting Ready for Unreal Engine 4

    • Do you think it is probable that free UE4 will support custom coded kismet nodes? Where did you see free user access to the upper layer of C++? If confirmed that is good news indeed.

      • Most likely, especially now since each class can be a kismet node. It’s not confirmed, but seeing as how UScript will be “obsolete”, Epic will HAVE to give access to the upper layer of C++ if they release a free version. Otherwise UDK will become pretty much a level editor with visual scripting (kismet), which doesn’t seem right at all…

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s