
Unreal Engine 4.11 Released - mattiemass
https://www.unrealengine.com/blog/unreal-engine-4-11-released
======
redtuesday
It's interesting that Unreal releases end up always on the front page, but
when Crytek released the source code of Cryengine 5 for free ~3 weeks ago [1]
(with DX12, official C# bindings, volumetric clouds, no royalties, even better
renderer, VR support for all major VR headsets, Python scriptable editor based
on QT, a humble bundle including Ryse assets etc.) it didn't even scratch the
front page.

I know most people prefer Unreal for ease of use, documentation etc. but I
also read often that they like the technology of Cryengine better (real time
GI (SVOTI), better performance, better skin and eye shader for example), so I
would have thought that the free source code release would stir things up.

Yes, Unreal released the full source code long ago, so they (Crytek) are late
to the party, and the marketing of Crytek is... not the best (to put it
kindly), but why is it that the Cryengine 5 release was not really discussed
on HN?

[1]
[https://news.ycombinator.com/item?id=11294763](https://news.ycombinator.com/item?id=11294763)
[1 comment --> I myself]

[https://news.ycombinator.com/item?id=11300017](https://news.ycombinator.com/item?id=11300017)
[0 comments]

[https://news.ycombinator.com/item?id=11313695](https://news.ycombinator.com/item?id=11313695)
[0 comments]

[https://news.ycombinator.com/item?id=11295419](https://news.ycombinator.com/item?id=11295419)
[0 comments]

[https://news.ycombinator.com/item?id=11297215](https://news.ycombinator.com/item?id=11297215)
[0 comments]

~~~
stesch
I'm guessing it's more an inherit problem of how Hacker News works. Good posts
get ignored all the time. Just take a look at
[https://news.ycombinator.com/newest](https://news.ycombinator.com/newest)

And not every Unreal post gets to the front page. The exact same link was
submitted way earlier and if the dupe check would have worked this wouldn't be
on the front page because nobody would have seen it.

~~~
redtuesday
Ok, I should have made that clearer. What I meant was that at least one post
on a minor release of Unreal gets to the front page (at least when I'm
browsing HN, maybe later or earlier in the day the postings are not on the
front page). Out of curiosity I checked my above claim and it was wrong
(hehe), but many releases hit the front page:

4.11 - now

4.10 -
[https://news.ycombinator.com/item?id=10548139](https://news.ycombinator.com/item?id=10548139)
[75 comments]

4.9 -
[https://news.ycombinator.com/item?id=10147368](https://news.ycombinator.com/item?id=10147368)
[50 comments]

4.8 -
[https://news.ycombinator.com/item?id=9694885](https://news.ycombinator.com/item?id=9694885)
[98 comments]

4.7 -
[https://news.ycombinator.com/item?id=9103050](https://news.ycombinator.com/item?id=9103050)
[88 comments]

??? (when they released UE4 for free) -
[https://news.ycombinator.com/item?id=9132815](https://news.ycombinator.com/item?id=9132815)
[240 comments]

4.0 -
[https://news.ycombinator.com/item?id=7429774](https://news.ycombinator.com/item?id=7429774)
[163 comments]

But it's probably as you say. Not every interesting post (which also depends
on the readers interests, of course) get's to the front page. Coupled with the
bigger mindshare of Unreal, and the not so interesting Cryengine releases in
the past (especially compared to Unreal) we get more Unreal postings on HN.

~~~
dang
The best way to affect this is to post more good stories yourself. You can
also add a first comment to the thread explaining what you think is good or
important about the story.

------
mrec
Holy crap, the "New Realistic Eye Shading" is insane:

    
    
      The shading model approximates subsurface scattering 
      through the sclera, caustics on the iris and specular on 
      the wet layer. To be used in conjunction with the 
      provided eye material and eyeball geometry. Together 
      these additionally model the refraction through the 
      cornea, darkening of the limbal ring, with controls for 
      dilating the pupils.
    

In realtime 3d games. This is pushing up against the limits of what offline
renderers could do not so very long ago.

~~~
spyder
Here is the video about it:
[https://youtu.be/toLJh5nnJA8?t=2774](https://youtu.be/toLJh5nnJA8?t=2774)

~~~
iamcreasy
Now they only need their subsurface scattering to get better. Despite a lots
of improvements it still looks like plastic.

------
pestaa
The amount of changes in each minor release is... unreal.

~~~
ddorian43
It's like the best programmers aren't working on ads but on games

~~~
mrec
Even more impressively, it's like they actually base their version numbers on
compatibility semantics rather than marketing.

~~~
rlefebvre
It may be worth noting that minor versions are not strictly compatible but
generally require some dev work.

------
hacker_9
Unreal has Unity beat in my mind simply because the Unreal developers are
actually building games with their engine (Paragon), which really puts the
code through it's paces and makes for a far better testing environment than an
artificial demo or two from Unity, that doesn't represent what a full game
really uses resource wise per frame.

This can definitely be seen in the usability of the software alone, where
Unity suffers some poor interface issues alongside poor performance problems.

~~~
kayoone
By now a lot of high profile games get made with Unity, so i don't think it's
really a downside that Unity Technologies don't build their own games. Unity
is far less resource heavy and still the king for 2D or mobile games and the
latest 3D rendering capabilities are getting close to Unreal as well (see Adam
tech demo). I enjoy working with C# and have been using Unity since 2009 in
one form or another. I'd like to try Unreal but it feels like it only makes
sense for big projects and does not even run remotely well on my macbook.

~~~
larryweya
I'm running a mid 2012 macbook with a Geforce 650M and unreal runs very well,
runs even better when I boot into windows. Looking forward to trying the new
Metal renderer. For me, Unreal wins on its its extensibility, being able to
expose custom functionality to the artist, access to the source even if only
for reference.

~~~
shadowmint
O_o

This is my machine:

    
    
        iMac (Retina 5K, 27-inch, Late 2015)
        3.2 GHz Intel Core i5
        32 GB 1867 MHz DDR3
        AMD Radeon R9 M380 2048 MB
    

All I can say is the engine runs like rubbish on it, so I'm flat out
astonished to hear it runs 'very well' on your 2012 _macbook_.

This is the compile time for running a 'hello world' project with a few tests:

    
    
        [2016.03.20-09.44.43:606][  0]Log file open, 03/20/16 17:44:43
        [2016.03.20-09.44.53:841][261]Display: Running Automation: 'NppTests' (Class Name: 'FNppTests')
        [2016.03.20-09.44.53:875][263]...Automation Test Succeeded (NppTests)
        [2016.03.20-09.44.55:055][264]Log file closed, 03/20/16 17:44:55
    
        real	6m47.566s
        user	3m58.869s
        sys	0m41.303s
    

That's not a full rebuild, just running:

    
    
        ./Engine/Build/BatchFiles/Mac/Build.sh TestProjectEditor Mac Development TestProject.uproject
    
        UnrealEngine/Engine/Binaries/Mac/UE4Editor.app/Contents/MacOS/UE4Editor TestProject.uproject -Game -ExecCmds="Automation RunTests TestProject" -unattended -nopause -testexit="Automation Test Queue Empty" -log="TestResults.txt"
    

ie. It's only compiling the local project files and _relinking_ the engine
files. That takes 7 minutes.

With the quality settings dialed back completely, games are... kind of
playable.

This doesn't match your experience?

I'm deeply deeply interested to know what you're doing, because it doesn't run
like you describe on any apple device I've ever used.

What engine version?

Did you build it yourself? Which branch are you running? Did you change any of
the build settings?

What quality settings are you using?

Seriously, I'm not trolling. If there's a magic 'make this actually work'
setting some where I'm missing, I want to know about it, because the engine is
monstrously slow in my experience, unless you're running it on a windows
machine.

My recommendation for people using UE is 'dont use a mac'; I've never once
varied from that position in the last year, I'm really interested if you have
a different experience.

~~~
jaegerpicker
I have a MacBook Pro mid-2015 2.5 i7 16GB Ram 1tb ssd AMD Radeon R9 M370x.
Here are my compile times for a non trivial game set to maximum settings.
Literally straight up standard download from Epic version 4.10.4.

Building the game itself: Total build time: 20.36 seconds

Not quite a exact same test as yours but I've honestly never used the engine
in the way you are compiling it there. I understand it's a basic compile and
execute tests but I usually run my tests via xcode and build/launch the game
from either xcode or the unreal editor both are very fast.

~~~
shadowmint
Does that include relaunching the editor?

(tests obviously are not supported for hot reload)

~~~
jaegerpicker
That's the compile time for the game only launching the game editor takes an
additional Full Startup: 12.02 seconds (BP compile: 0.17 seconds) according to
the unreal engine logs. It feels a little longer than that but not much.

I'm always honestly a little surprised but that Java webapps we have at my day
job take a lot longer to compile and launch than Unreal does in my experience.

I will say to be fair in Windows 10 on the same hardware (bootcamp dual boot)
Unreal is at least twice as fast. It's kinda crazy and bums me out a bit.

~~~
shadowmint
Interesting.

Out of curiosity, what proportion of your game code is blueprint vs. C++?

Mine would be probably 80/20 in favour of C++; I wonder if using C++ heavily
has a disproportional effect on the editor speed somehow.

Certainly sounds like you're having a much better time of it than I am...

~~~
jaegerpicker
Mostly C++, probably a 80/20 split or so also. Two other things, I've noticed
that performance has improved greatly over the last couple of releases and my
older MacBook pro (2012 model, 1gb nvidia gpu) wasn't nearly as good. I wonder
if it's a case of Epic really only testing on certain Mac Laptops? Not sure
I'd still use the engine if I was getting your level of performance on my
machine.

------
lossolo
Another great example of positive impact of open sourcing. They open sourced
unreal engine some time ago, thanks to that we see 92 changes from community
alone in this release.

~~~
brador
It's open source with a pay x% once you get big enough to make $y thousand a
year. It's proven effective and I hope more open sourcers copy the business
model.

Imagine if Mozilla was supported like this instead of being paid for customer
data. It would be a game changer.

~~~
mrec
What would be the browser equivalent of "once you get big enough to make $y
thousand a year"?

~~~
brador
X number of employees?

The principle of the model is make em pay once they can afford it. So having X
employees would usually mean the company can afford to pay say $10 per
employee per year to use it.

~~~
TrevorJ
I understand what you are getting at, but that particular example sounds like
a great way to convince companies to adopt a 'no OSS software on work
machines' policy.

~~~
brador
And what else would they use? You have regular paid software, or OSS software
that scales with your business at a reasonable price. I know which i'd take.

------
Keyframe
If anyone told me 10 years ago that Unreal and CryEngine would be, for all
practical purposes, free... It's wonderful time to be a gamedev (tech-wise), I
presume.

Writing your own graphics engine now seems to be more in line if you really
enjoy writing your engine more than the game itself - or if you really want to
do something you can't do easily with engines available.

~~~
hacker_9
Graphics engines aren't particularly hard to write though once you grep the
shader pipeline, as many/all of the latest effects are available for free
online (FXAA, HDR, Deferred Lighting etc), though an engine will nicely
package them together for you in a ready to use fashion.

The biggest problem with this pre-packaged software is when something
ultimately goes wrong, which it always does. Then you find yourself digging
round in internals (assuming you have access, looking at you Unity) to find
out what when wrong and why banding is appearing only when you use stencil
shadows and apply SSAO factor X.. basically, it's still complicated, and you
still have to know your stuff.

Another problem with these engines is they force you into a particular way of
working. Unreal blueprints for example are a nightmare once you add a decent
amount of functionality as per the law that visual programming does not scale.

Finally you underestimate how much code is the actual game logic, which is
also the hardest part to write. In this case the engines don't help at all,
Unity even just throws you into Visual Studio and lets that deal with you.
Additionally I've yet to see a good solution for figuring out why my AI are
running through walls on their way to a target, without writing a ton of
custom visualization stuff myself. Many algorithms take place over time (units
moving, animating, etc), so you can't just step though code in a debugger as
that's like looking at a landscape through a keyhole.

~~~
IshKebab
> Graphics engines aren't particularly hard to write though once you grep the
> shader pipeline

That's like saying "car's aren't too hard to build once you understand the
four stroke cycle". Did you read the changelog? The manpower involved is
immense.

(Of course you can write a _much_ _much_ simpler engine yourself, but we
aren't talking about those.)

~~~
hacker_9
Eh, you cut off the second part of what I said.. What I mean is, if you go
down the route of writing your own graphics engine, then everything Unreal has
is available in bits and pieces for free online, but you have to have the know
how to stitch them together - which isn't particularly hard, and something you
should know if you are going into gamedev anyway as it's the basics.

Note I'm only talking about the graphics aka shader side here, not the whole
engine.

------
mortenjorck
Capsule shadows are a _huge_ step toward a broader photorealism in games.

You've probably played a number of games (this is especially true in open-
world environments) where direct sunlight looks amazing: Everything casts
shadows realistically, giving the scene a very believable sense of
illumination and depth. But walk into the shadows, and all that vanishes: Even
if the environment has some approximation of global illumination, no shadows
are calculated (since there would be far too many secondary light sources
versus the single sun).

Screen-space ambient occlusion helps somewhat, but it's a hack that looks good
sometimes and weird other times. Capsule shadows, if calculated from the top
one or two secondary light sources, can approximate the shadows resulting from
that complex network of bouncing light in a much more realistic and believable
way.

------
animuj
I wonder what is the size of whole unreal engine team.

~~~
redtuesday
They mentioned that in some of their twitch streams relatively short after
Unreal 4s initial release. I don't remember the number, but it was smaller
than what I thought it would be. Plus of course the people not working for
epic who contribute to the source code on github.

~~~
Strom
Do you at least remember how big you thought it would be? Currently I have no
idea of even the magnitude of the team.

~~~
redtuesday
I believe it was around 70-80 engineers, and the number mentioned in the
twitch stream was lower (keep in mind I have no experience when it comes to
writing large 3d engines. maybe my expectation was ridiculous to begin with).
I actually tried to hunt down the video in which they mentioned that, but Epic
is just too productive when it comes to producing videos, and I gave up. :D

~~~
Strom
I would say 70 is definitely very high for an engine. Most games don't even
have that many programmers overall. Although I guess this also comes down to
definitions. Like do the IDE/tool builders also go under the engine team? Then
70 isn't too high.

------
pjmlp
My favourite items:

\- Improved GC

\- DX 12 support for PC and XBox ONE

\- Metal as default render for El Capitan onwards

------
liquidise
The depth of these notes, both in verbosity and sheer number of line items,
are of a scale i'd expect from a major OS release. The fact that UE is
managing these "minor" releases on a regular (and relatively rapid) cadence
leaves me baffled about the process they have in place.

A bit of perspective:

    
    
      bullet points in patch notes: 2625
      weekdays since last "minor" release: 100
      bullets per day: 26
    

I don't know how big their team is, but there are days when i don't code 26
lines. The prospect of releasing that many bug fixes and large features is
simply astounding.

~~~
Sarkie
Isn't it the community also?

------
needusername
> Faster garbage collection

Does anybody has more information on this or know where I can read up on it?

------
stesch
Has anybody tested this version on a late 2012 iMac with 3.4 GHz i7?

I've tried the previous versions and the CPU temperature is rising very
quickly.

A 2012 iMac is ancient. Are current systems getting hot as well?

------
MrBra
How does it compare with Unity?

~~~
TrevorJ
It really depends on the game you want to make. There's no 1 right answer, it
could be that for the given functionality, writing your own engine from
scratch might be the best way to go, just depends on the needs of the project.

------
stesch
Same link as
[https://news.ycombinator.com/item?id=11400124](https://news.ycombinator.com/item?id=11400124)
but with now 11 points? How is this possible?

EDIT: I'm asking because the dupe check seems to be broken.

~~~
sheepdestroyer
Bad timing ; interested people missed your link but were there when this one
popped up. Try again next time.

~~~
stesch
No, HN normally recognizes dupes.

~~~
qznc
Afaik the dupe checker checks against whatever is currently cached in memory.
It does not check dupes against items on disk. Effectively, it is a dupe
heuristic. If someone recently accessed the previous submission, the dupe
checker detects it.

