Hacker News new | past | comments | ask | show | jobs | submit login
Unreal Engine 4.9 Released (unrealengine.com)
137 points by mminer on Aug 31, 2015 | hide | past | favorite | 50 comments



I'd say at least a week just to write the release notes. Perhaps even a month.

This page doesn't end.


I don't know if this is a blessing or a curse. 3D games are very complex. It takes years to grok all the concepts from linear algebra, to scene management, occlusion culling, shaders, physically based rendering, network synchronization, scripting and ai, game design and thousand other things.

I think a large part, why smaller, "indy" engines like haxeflixel, godot, cocos-2d etc are surviving is because of the much lower entry level. I wonder if the big ones like unreal, unity and crysis are going to collapse sometime under their own weight... How are they even adding all those new features without breaking stuff all the time? This is what impresses me most.


> I wonder if the big ones like unreal, unity and crysis are going to collapse sometime under their own weight...How are they even adding all those new features without breaking stuff all the time? This is what impresses me most.

I haven't looked at their code, but I would bet they have fantastic regression tests. Something I've added to my own engine in the past year is "pixel perfect" tests: for a given test scene employing specific effects (soft shadows, reflections, refraction, etc) the renderer should produce an image that is a pixel perfect match with a known correct image. If you begin optimizing shaders and rendering code, regressions are caught very quickly, in an automated way. Sometimes the images are close enough to be acceptable (for example, if an optimization changed floating point precision, resulting in a color that is a shade different). In that case, the test fails, and you can replace the test image with your new rendered image, after you've vetted that it "looks correct" manually.

It's not anywhere close perfect in testing all code paths, but the payoff is rather large for the effort put into creating the test.


Things get interesting when the number of possible code paths increase. One such beast is the Unity Standard Shader. There are dozens of combinations depening on Metallic/Specular PBR, Multi-Texturing, Shadows, Light Types, Light Baking, Forward/Deferred Rendering and so on. Combine this with different backends (OpenGL, OpenGL ES, DirectX, Vulcan) and graphic card abilities and at some point adding new stuff gets quite complex.

I guess they simply throw money and play testers at this problem. (Unreal probably more so than Unity) But how long can you scale this up?


In iOS they're called snapshot tests.


The UE4 codebase is very well built and organized for the most part (some legacy code is a mess). Even the community has managed to add quite a few large features to the engine, so I don't worry about it being unmaintainable. I often look through the code base to see how they do things and never have trouble finding my way around.


> I think a large part, why smaller, "indie" engines like haxeflixel, godot, cocos-2d etc are surviving is because of the much lower entry level. I wonder if the big ones like unreal, unity and crysis are going to collapse sometime under their own weight... How are they even adding all those new features without breaking stuff all the time?

Apart from technical answers for good engineering practice, I'd just say they do it with money (engineering time). And as long as gamers keep drooling at next-gen graphics, they'll merrily keep maintaining this beast they've assembled :)

UE vs. the indie engines you mention are very different economical animals. Where these indie engines are made by volunteers or small/medium teams, UE is built by the huge team at Epic, they've been doing it for years, it will cost you (a "5% royalty based on gross revenue" [1]).

So, not diminishing their technical prowesses at all, just reminding they pursue a juicy market which wants these weighty features so that their new AAA games stay on top of whatever new hardware and graphics advancements without having to research/implement those themselves.

[1] https://www.unrealengine.com/custom-licensing


There's still a lot of abstraction in play though: you don't need to know everything about the low level implementation to use the engine. Even so, it took me about 6 months of working in the engine 30-40 hours a week to really become proficient and I've done 3D/2D graphics work for 15 + years.


That's an interesting point. Think of someone getting into this stuff early in his career. How long will it take to get proficient? In my opinion, it's necessary to know the underlying principles to use the abstractions well. So 10 to 15 years sounds about reasonable.

In your case, the landscape was quite different 15 years ago. Simpler, in a lot of ways. Now think 15 years into the future and imagine how the Unreal Engine could look like then. If the changelist increases in this form for the next 15 years, how complex will it be to operate that thing? Will someone new to this still be able to learn everything there is to learn? If not, how will this affect the industry?


I disagree about needing to know the underlying principles. All you need is a sufficiently good functional understanding for the task at hand. You don't need to know about lie groups and linear algebra to rotate an object with your hand. If the engine gives you the tools, you can just use them (again, if you have a sufficiently good functional model in your head). Of course, maintaining the critical parts of the engine is another thing entirely, but even then they're divided so that each person only needs to understand a region of the code.


this is why very very few people will know all parts of the engine and dev teams would rather assign specific parts of an engine to different devs/specialists. this even make sense for a company to do that. i can't imagine what would happen if the few guys who know all were to leave the company with all the knowledge.


I think understanding how things are implemented intimately is something that certainly helps, but isn't 100% necessary in many cases until you want to start optimizing, or you are trying to do things the engine isn't designed to handle natively.


I think it's a blessing. For me the most wonderful thing about game development is learning. I could learn so many things already and thanks to large engines like UE, I can learn even more every day. The larger engines are often used at huge companies, where they can make use of pretty much every single feature sooner or later.

I love writing everything from scratch just for the sake of learning. And yet I love engines like UE for trying new stuff and real world projects.

In large code bases, automatic testing significantly facilitates adding new features. I don't really know how they test UE, though.


That is a whole new meaning to infinite scroll.


Yes.

It also is nice tha that Unreal Engine is open source: https://www.unrealengine.com/ue4-on-github


It's not open source in the sense most people would mean though - you're not free to redistribute the code, for example.


I'd say they were generated from commit messages. Anybody with access to the repo could verify.


They aren't, they are hand created. They talked about it on the live stream a few times. Definitely doesn't match up with the commits from what I can see either.

They have a couple people work together to make the release notes, so I'm sure that helps.


It's fascinating to me that they've already hit 4.9 and we've yet to see a major AAA title running UE4 -- all the big Unreal titles we've seen so far this year (Batman: Arkham Knight, Mortal Kombat X) have all been UE3.


AAA titles dont get done in a year, which is about how long UE4 has been out. On top of that, I would say UE4 is just now getting to a place where it would be ready to be used in an AAA pipeline, so unless they spent a ton of time on asset creation before hand, I wouldnt expect to se any AAA titles for at least another year or even two.


I think this says more about the current state of AAA games rather than Unreal Engine. Batman and Mortal Kombat have years of engine and gameplay work and diverged from vanilla UE3 a long time ago. It's easier for those studios to upgrade their renderer and port to modern consoles than it is to throw out and rewrite years of custom work. Other surviving AAA franchises use in-house publisher engines or long running franchise specific engines.

ARK (http://www.playark.com/) is a solid success, but it's a mid-tier game. Fable Legends, Gears of War 4, Street Fighter V, Lawbreakers, Tekken 7 and a handful of other games can probably be considered AAA. Given where the games business is right now I think most commercial UE4 titles will be mid-tier indie titles from ex-AAA developers, and Epic has tailored their business model and engine to reflect that reality.


All the mainstream engines now support a linux target (and in fact UE supported it for donkeys years) but so few developers release it, partly due to a dependency on an external service or framework. But I'm hopeful now, especially if that service is steam.


> Microsoft's engineers added support for DirectX 12 to UE4

Don't you love it when everyone is competing on a level ground?


AMD Engineers could have added support for Mantle just as well.


AMD has 'discontinued' Mantle in favour of OpenGL Vulkan. Vulkan borrows heavily from Mantle.


It's called Vulkan, not OpenGL Vulkan. It's not related to OpenGL, other than being made by the Khronos group.


Well, it used to be referred to as the "Next Generation OpenGL Initiative", but yes, its not technically the old OpenGL API any more.


There's an entire section for Playstation 4 improvements but only a few scant mentions of Xbox One. Are consoles done in parity, or is UE4 favoring PS4 development over XB1?


I would say that MS once again snatched defeat from the jaws of victory and the latest sales trends were not good for the xbox.

http://www.techradar.com/news/gaming/consoles/ps4-s-outselli...

Engine vendors follow where the install base is.


it's probably that the xbox is better supported currently actually. I think the xbox has historically had better support (Gears of War probably pushed a lot of code into the engine)


I've never programmed with Unreal before, but I'm just curious:

What method does one use to wade through such a large list of changes? Do you look for something specific, or read the whole thing, or just assume the changes will bleed flawlessly into your project?

Very impressive update, congrats.


They specifically publish upgrade notes at the bottom, so that helps (as many changes won't break your project).

I'm only working on a small hobby project, but I read the bulk of the notes. I mostly look through the subsystems I use most often, and skip over others that aren't super important to me.

As always, the most important notes are at the top. Also, if you follow the live streams, you're aware of some of the bigger changes far in advance (same if you use the preview builds).


I work in a games studio in the engine team that integrates new versions of our engines and SDKs for PS4/X1 for our projects - basically when an update comes out you look at the section that's relevant to you and see how it integrates with your flow. So graphics programmers are interested how the GPU pipeline is changing, gameplay programmers are interested what are some new improvements in scripting, console programmers want to know if there is anything new we now have to use to remain compliant with Sony/MS requirements....really, very rarely people read the whole thing fully. You read what you need and then try to work from there. Usually a small team integrates a new version of the engine into the project and if there are any problems then relevant people try to help - and if it's deemed stable it's merged into the main branch.


How is mobile support now? I'm interested in making simple mobile titles, but Unreal seems targetted at making super high performance games on high end mobile devices, rather than simple games that most devices can run. Tappy Chicken would make my phone get super hot and destroyed my battery-- and that's about as simple as a game can get. Is Unreal a good choice now for making straightforward mobile games? A year ago, I felt like Unity was a better choice for that, but wonder if that's still true today.


How Blender and OS X friendly is Unreal these days? I'd like to dabble with it, but I heard that its Mac support started off rocky. I also don't feel like learning an entirely different 3D tool when I'm already familiar with Blender.


I use it on OSX just fine. I also work sharing content with colleagues across filesystems.

Regarding Blender, Unreal accepts FBX file format, and I've had no issues with imports from Blender.


That is an epic list of changes!


Don't you mean... an Epic list of changes?


The rendering engine is good, for sure, but you need to give it the right stuff to make look good. If you don't have the budget for art assets, Unreal isn't going to magically make your game look awesome.


I mean, that's kind of goes without saying, doesn't it?

No game engine will make your game magically look awesome if you don't have the budget for art assets and don't have an artist on your team.

That said, the tools make it very easy for artists with no programming experience to make fantastic looking games with in depth game mechanics without using programming, so thats a plus.

The marketplace has quite a few high quality art assets, but they are pretty expensive, with each bundle ranging from $20-80 basically. The marketplace is lacking content for sure though, especially compared to the Unity asset store. More content gets added each week though.


Judging from the number of people jumping on to Unreal and Unity, I don't think it does go without saying. And if you use the marketplace assets, you're going to end up with a game that looks like everyone else's game that also uses assets out of the marketplace.

It makes certain aspects of connecting art assets with gameplay code easier, but I don't think it at all makes it "very easy". We're still talking about a non-trivial amount of programming here. If you're not a programmer already, gameplay code is still going to be a struggle.


uhh... What's your point? Game development requires knowledge of game development and that you won't have a good looking game without decent art assets?


Even with the asset stores, have UE or Unity reached the point of being a "one stop shop"? It still seems like an art tool like Blender or Maya is also a required link in the toolchain for anything but the smallest of projects.


By and large you do need to use another tool for generating the art assets. That's probably by design because a single program that could do it all would be pretty monolithic and probably couldn't be great at everything. UE4 uses some pretty industry standard file formats for importing assets though, so it should work pretty well no matter what tool you prefer to use to create your assets.


I agree with the gist of what you're saying, but having used ue4 for the last 6 months on a side project and not having any real art skills, I've found that the particle effects editor is a fantastic way to mask my own art deficiencies, and secondly having a fully featured lighting system out of the box gives me another very good head start. I'm still stuck for texturing, modelling and animation, but having a powerful engine does give you a leg up.


It's not like quality pixel art is cheap.


Go Epic! Everyone should check out the new Unreal Tournament pre-alpha too, very fun games to be had!


any benchmarks on this? this will be the next game I upgrade my GPU for


What are the best VR experiences built with Unreal?


What, like most demanding/nicest looking? Or most entertaining and fun? I believe the DX12 "Elemental" demo works with the Oculus dev units. I haven't gotten around to testing it but this thread has reminded me to give it a run after work.

As far as most entertaining, that'll probably depend on what you're looking for and what your platform is. I've only got a Rift DK2 so I don't know about GearVR or Cardboard or Vive, etc.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: