Hacker News new | ask | show | jobs
by outworlder 4123 days ago
How does it fare against Unity?

My understanding, from previous versions, is that Unity offered a lot more tooling than Unreal. Also, Unreal's SDK demanded a lot of C++ code, which can be unappealing for small studios compared to Unity's Mono and several possible (managed) language choices.

However, Unreal appears to be much more capable, and better performing.

Also, is Crytek still competitive? It used to be competitive with Epic's offering, but was Windows-only.

EDIT: Unreal does have a comparison page for Unity developers: https://docs.unrealengine.com/latest/INT/GettingStarted/From...

12 comments

It's hard to compare unity and unreal. To answer the question about c++, with UE4, the blueprint system removes almost all of that. Entire games can be written in their visual programming language. I also think there are ways to use c# (https://mono-ue.github.io/), if you prefer that as well. C++ is needed if you want to extend the native classes.

Regarding the editor, unreal is pretty amazing. It really shines in the tools department. Check out the landscape editor, materials editor, and animation tools on youtube. Pretty fantastic stuff.

The game engine itself is better than unity in almost every way with a few big exceptions:

1) multiplayer map size. unity can pretty easily support large online worlds 2) support for mobile/tablets. unity is the dominant platform on those devices. 3) community support. unity has a much larger community, better documentation, and a much more populous online store (though unreal is catching up)

https://forums.unrealengine.com/showthread.php?52618-Large-S...

According to this thread, as of version 4.6, the maximum supported multiplayer map size out of the box is 20km x 20km. Is this the limitation you were referring to? That wouldn't accommodate an MMORPG or Minecraft, but otherwise seems quite big.

Never understood the concept of measuring map size in km. It's like measuring distance on a map while ignoring scaling. Something like source's hammer units make a lot more sense to me.
In Source the scale is fixed (1 "unit" ~= 1 inch) and I imagine the same's true for UE.
1 unit = 1cm in UE, so 20km has some value as a measurement in game.

Of course, what matters more is what you do in that 20km, but it's also a limit coupled tightly with distant mesh performance and float accuracy issues.

It would accommodate MMORPG - that is couple of times the area of WOW during it peak years.
Also, keep in mind that's likely 20km x 20km x 20km.
Isn't that the use case for Level Streaming?
sure it would. you don't have to load it all at once

    Regarding the editor, unreal is pretty amazing. 
If it runs.

...and that's a big IF. The editor ran like absolute rubbish originally on macs, to the point where it was actually unusable.

They've done a lot of work on that, but it's still miles away from the unity editor.

I think it's really hard to argue the unreal editor is better; it's a lot slower, but it does have some nice tools.

You also can't create extensions as easily (if at all?) as you can for unity.

As you say, they're two different things, and the unreal editor is actually not bad... but if you were to compare them, the unity one would certainly rank more highly.

Actually you can create extensions to the editor, but it requires a lot more of work compared to the counterpart. Also, i use both UE and Unity on my mac, and while i agree that UE crashes a lot, that's mostly on user error. Unity, on the other hand, crashes while importing textures, generic assets, resizing textures, hangs when clicking play, etc.
OSX support is more or less experimental and macs (except the Mac Pro) have pretty weak GPUs. Also performance on OSX is far worse, so you are better off just building a budget workstation if you plan to seriously work with it.
what about macs running windows? i'm curious to know if it's a hardware issue or OSX related.
definitely OS related, it's fine on windows, even on macs. Just the underpowered GPUs in most macs make it not really a pleasure to work with, Epic recommends workstations for development work. Personally, i'd just build a windows pc for UE work, it's not suited for laptops anyway.
I was thinking about something like Lua.

Now, the multiplayer map size limitation seems odd nowadays.

Mostly to do with floating point precision, the devs of Star Citizen ran into the same issue with Cry Engine when they tried to make things space-scale, and ended up initially stuck with small battle-arena maps. UE4 can re-origin things for a single player moving through a large world to maintain physics precision, etc. but it doesn't currently work with multiple people and their server model.
So, basically what Kerbal Space Program does. Which also doesn't work well with multiple people.
That said, keep in mind that you can get roughly a maximum of 20 sq km with the default landscape tool (not sure about performance at that scale).

I believe there's also some hard coded limits around the number of simultaneous players (16?), though it seems fairly easy to work around. Again, not sure about performance.

Nothings really hardcoded when you have the source at hand.
True. Also, there are rumors that epic is working on a multiplayer implementation of the player centered coordinate system.
Can you even compare them :)

Evaluation of software, be it library, framework, sdk or a whole engine+tools is much much harder than writing actual software, especially when royalties, copyright and other legal issues are involved.

In reality there is no way of knowing what would do your best, so you can look at specific bad parts and take that into decision making, for example, for what I've heard (and possibly it could be wrong):

- Unity is not really good when lots of people have to edit the same files, merging is not really good, and the server option does not really cut it. (For example Quake's engine .map text files are not so bad to merge in cvs/svn/p4/etc.)

- Unreal had always had the bad "fame" of 30-only fps game, while this is okay for certain shooters, or 3rd person games, it would've never worked for "Call of Duty" where the brand was simply established with 60fps. To some people this might sound a bit pedantic, but 60fps matters! (And >60fps does not really, unless you need to swap frames for a 3D VR device of sort)

That to be said both engines surely have really good parts. From little I've explored in Unity, what got me first was the ability to extend the editor while it's running - I could add menus with functionality while it was running - this is super cool.

Unreal on the other side is well known engine with lots of people from the AAA game industry familiar with it, and while the editor might seem completely foreign to people starting in the game industry, it's pretty well known by many others (I guess they don't advertise it much).

The hidden gem of Unreal for me, was it's internal UI system, which could be used as a separate project - it has docking, controls, etc. - it might be a good replacement for Qt, MFC, wxWidgets, etc.

I have never heard about this "fame", yet I cannot think about game that is 30-only fps?

I can think a lot of games that are ue1-4 that are not bound by fps limits at all.

Editor in UE4 is streamlined from what UE3 was. Its now quite easy in the end.

Sorry, I wasn't clear - from what I know, on the consoles only few Unreal games on one specific console made it to 60fps. I could be wrong, and have old information, and yes this greatly relates to older Unreal engines, and from what I've heard (over and over from people working with it) it was the script language and kismet (maybe I'm confusing terms here) that was the limiting factor.

Now I'm a generalist, that ended up as tools engineer, so I might be talking complete non-sense, but again when I've talked to anyone from my previous studio or others that was the overall sentiment - Unreal can't give us 60fps unless Epic are directly involved and custom version for a game is done.

(Obviously you can do 60fps always, but it may not be up to the visual quality of other 60fps games).

Looking at UE4 and blueprints, it seems that they've understood their weak point and worked aggressively on fixing it. So it could be that UE4 would deliver 60fps just fine matching visual quality of other products at the same fps. (aaah, now someone would add - what about resolution? heh, I dunno - I think upscaling is just fine, but then you have all these crazy journalists digging up... frame rate is much more important though)

Thanks for a great review of both.

I am confused, so is Unreal unable to do 60 Hz?

Do you have any experience with the UI system or know about any projects using it? I wonder what Gotchas or limitations may exist.

Check out some videos on the UE4 Blueprints system (flowchart programming). I'm pretty impressed at the product they created there, IIRC there are some games made on Blueprints alone.

https://www.youtube.com/watch?v=JFZCp4xsPmo : Unreal Engine 4 Blueprints in Solus (1h)

Something that I look for when comparing tools/frameworks are the number of Stackoverflow questions and answers. http://www.arepeopletalkingaboutit.com/tags/unity3d,unreal-e... offers a quick visualization. I may have missed a few tags, but it looks like there's a very large amount of people talking about Unity3d on Stackoverflow relative to Unreal. No wonder they want to open it up to the masses.

Of course that can be interpreted many ways (Are there active email lists? Are there active forums elsewhere?) and raises other questions (What's the best way to learn a tool/technology?) but it's at least one useful metric for checking in on my FOMO.

The graphic of the comparison page is a bit unfortunate from Unreal's POV. I get that they want the arrows to indicate "move to" as in move from Unity to Unreal. Can't help but interpret it as Unity >>> Unreal though which is probably not what they intended.

I really like this easy 5% above X model. Seems fair enough.

I'm actually super curious as to why you have that opinion, UnrealEngine has been around longer, and has always had significantly more in the way of production quality tools and features. There are certainly differences, especially when you get down into the details, but two large features Unreal has had for 10 years, shader graph tools, and animation blend trees, are either new and still painful in Unity (mechanim) or only existent as a third-party add-on (shaderforge)
I think Crytek's graphics look quite a bit better and more realistic then Unreal 4, but I don't know if the tools are just as good. Also not sure if Cryengine is competitive from a performance point of view (could be a trade-off with the better graphics).
Unreal Engine 4 is capable of producing VERY realistic environments. Check this out:

https://www.youtube.com/watch?v=Y6PQ19BEE24&t=15s

If you prebake the lighting and use ridiculously high-rez textures, you can make any 3D engine look like that. Static geometry is cheap.
For some developers, source access must be a huge deal over Unity free version - if you want to roll your own entity system or do a native plug... WAIT! unity 5 is now out, including all features in the unity engine for free (including native plugins), with no subscription, and entirely invalidating the premise of this comment.
My understanding is that Crytek is in some financial trouble. It would be unwise to rely on them for future support.
Crytek claims otherwise in an IGN article from last year[0], although the circumstances are quite suspicious.

How could a company so successful not turn profit?

[0]: http://www.ign.com/articles/2014/06/24/crytek-reportedly-in-...

CryENGINE is now available as Software as a Service model. $10 a month and no royalties
If you don't need the C++ performance, my guess is it makes more sense to go with Unity and use their C# version.
It's not as clear cut. You can use C# with Unreal Engine if you prefer, and Unreal Engine offers a lot that Unity doesn't (e.g. Blueprints).

I recommend everyone interested in the two try both. I personally prefer Unreal Engine, but everyone is different.

Unreal Engine is also moving quite quickly, adding new features, marketplace content, improving the UI, etc.

I've been trying to decide which to cut my teeth on, to build a prototype MMORPG. I'm comfortable with C++, though my colleague won't be. Any suggestion on which engine/toolkit would be better for that type of build? Graphics quality is not a big concern, mostly just want to use the tool that have the best chance of becoming proficient with.
I don't think either engine is well suited for an MMO to be honest. You are probably better off looking at something like the HeroEngine.

Unreal Engine's built in networking systems are suitable for 64 players, maybe 128 tops. It's replaceable, but I wouldn't recommend delving into that.

I will say this though, if you have 1 C++ programmer with UE4, they can create functionality not builtin to the engine and expose it via Blueprint (the visual scripting language) for non-programmers to use. Blueprint is a fantastic and very easy to use tool. Take a look at the forums to see the incredible things people have built with ZERO programming knowledge.

I don't know about ZERO programming. If you look at RayCast vs RayTrace here https://docs.unrealengine.com/latest/INT/GettingStarted/From... building anything complicated with Blueprint creates a massive amount of visual clutter. It looks clearer in C++. Maybe it's easier for a novice as they're building it since the autocomplete and component system hold your hand, but reading it after is a nightmare of following lines and looking at a lot of essentially commented out code.

And talking about Blueprint code is done through screenshots https://forums.unrealengine.com/showthread.php?60637-Unable-... I guess there is still no auto generated text representation you could copy paste.

It is possible to copy/paste blueprints as text only. The only caveat is that the output is kilometric (a blueprint of mine with ~60 nodes produces ~2500 lines of text).
Interesting. Yeah, I wonder if they have a way to import/export textural representations like Max/MSP or Pure Data patches.
To redistribute code written with Mono for Unreal Engine, you must have a commercial license to the Mono runtime. These licenses are available from Xamarin for Mac, Android and iOS online, and you can request Windows licenses through support.

https://mono-ue.github.io/about.html

If you want to code in C# it is the primary language for Unity, and a commercial third party unsupported add on for UE4.

Actually Unity will be compiling C# to native code via IL2CPP to avoid paying royalties[0] for more recent Xamarin versions.

[0] At least that is how I read the whole situation

I believe Crytek stepped down from the "indie" scene.
You can actually license the engine royalty-free for $9.90/month through Steam (http://www.cryengine.com/get-cryengine)
That's unfortunate.

I love the way their engine renders water and had ideas for it.