Live data from Hacker News

Gorgeous Unreal Engine 4 brings direct programming, indirect lighting

arstechnica.com

31–40 of 92 posts

Re: Gorgeous Unreal Engine 4 brings direct programming, indirect lighting

#31
post #5

This stuff is really fascinating. Does anyone have any recommended reading or general advice as to how to learn more about game/graphical engine implementation? I mean, from the ground up. (I'm a CS undergrad and the closest we've gotten to learning about this has been the computational geometry chapter in CLRS, but that was a mildly esoteric introduction to everything that is possible in this field.)

While people mentioned NeHe, and it's where I started years ago, it's widely outdated. Here's one that helps you get started with modern GPU rendering concepts in OpenGL.

http://duriansoftware.com/joe/An-intro-to-modern-OpenGL.-Cha...

Re: Gorgeous Unreal Engine 4 brings direct programming, indirect lighting

#32

Here's the video of the developer walktrough: http://www.gametrailers.com/video/exclusive-development-unre... It's stunning that this runs on a single Nvidia GeForce 680GTX in an editor without any visible lag at all. I wonder why tesselation wasn't enabled though, it may have been because of performance issues.

Wow. When he popped out of full screen and revealed that he was in his editor - mind blown .

I was more impressed by the live recompilation. It didn't interrupt his gameplay at all.

Re: Gorgeous Unreal Engine 4 brings direct programming, indirect lighting

#33

I find it hilarious that (presumably) my computer could render that smoothly but the video itself stutters.

"The UE4 demo is running on PC, specifically an Intel Core i7 processor with an NVIDIA GTX680 and 16GB of RAM"

http://www.eurogamer.net/articles/digitalfoundry-vs-unreal-e...

Re: Gorgeous Unreal Engine 4 brings direct programming, indirect lighting

#34

Earlier quoted context omitted.

I thought Kismet was pseudo-script (albeit with a GUI). Edit: http://www.unrealengine.com/features/kismet/

UE3 had Unreal Script which was a custom scripting language and that has been removed from UE4. Kismet is more data than script. There's no JIT-compilation.

I have mixed feelings about this. UnrealScript had a lot of interesting ideas; particularly its module system (a kind of sideways inheritance where you could override an ancestor in a package, but not have to override all the descendants to have them inherit the behaviour - really handy for third-party plugins); the synchronous animation playback, effectively using continuations behind the scenes; how it handled synchronization of variables for client/server; and to a certain degree the "modes" that objects could be in, a way of switching behaviour of a whole slew of methods en masse.

On the other hand, object-oriented approaches are not great for simulating huge numbers of entities, where column-major array-based layouts are a lot more efficient.

I wonder if Kismet data-flow graphs may end up getting too complicated for their own good. They look like they could do with a textual representation. The obvious manual iteration involved in the creation of the orrery in the gametrailers demo video posted in the comments elsewhere here shows how painful this approach can be.

Re: Gorgeous Unreal Engine 4 brings direct programming, indirect lighting

#35
post #30
post #29

Earlier quoted context omitted.

Getting back to UE4, if its lights behave more like real-world lights it may allow game artists to translate real-world lighting knowledge into games or let them spend less time working around kinks in the engine.

Definitely true. We draw our experience on lights from the real world, so the closer an engine is to the real world, the faster the artists can prototype and test lighting setups.

There's a lot of untapped creativity from the masters of film and television production in gaming, because the skills don't map well. I'm definitely keen to see what happens to that situation once the engines get closer to simulating the real world. The possibilities are endless, since suddenly a great lighting director's skill set is much more valuable to a team working on a AAA title.

That isn't to say this doesn't happen now, just that it's only going to get better.

Re: Gorgeous Unreal Engine 4 brings direct programming, indirect lighting

#37

The bit where he made a change to the source code, let it recompile on it's own, got a little alert in the editor when it finished and then had the change apply all without restarting the engine...WOW!

FYI The Sims did that 10 years ago.

Re: Gorgeous Unreal Engine 4 brings direct programming, indirect lighting

#38
post #28

Earlier quoted context omitted.

> In reality, there is a whole lot more to lighting then simply having lights and materials that behave naturally. For example? (genuinely curious)

Achieving a specific mood or "feel" for an environment requires someone who is very sensitive to lighting, color, and architecture, and who has knowledge of techniques to achieve certain looks. For example, if you want an ominous feel to a cathedral, you need to know what light colors are more ominous than others, what direction of lighting (maybe bottom up, rather than from the top), what types of lights...many dim…

Your post is very informative. Thank you for that.

If I may ask, don't you think decisions related to the "feel" of any game/entertainment device rests squarely on the shoulders of the art director?

I feel that statements such as that on ars is not meant to mock the artists but instead convey the message that "Hey programmers, next time the artists/director want these lights and this reflective properties, you can do it very quickly instead of hacking through messy code."

Now, personally what I think is going to happen is that with even more control, and lesser instances of programmers telling the artists "I could do that for you, but we're going to blow the next 6 month worth of budget for 5 people. Is that effect still important now?", artists are going to be able to come a step closer in realizing their intended vision.

Re: Gorgeous Unreal Engine 4 brings direct programming, indirect lighting

#39
Incredibly stunning tech. Now, I'm gonna go fantasize about an open-source version of this with updates every month (instead of every 3 years) -- as a compromise, I could do without the whole hot-reloading IntelliEditor shebang and consoles support -- a concentration on PC hardware that "will be commodity in 2 years, on mobile in 4 years, but can already be bought as state of the art now" (aka Kepler GPUs) would be enough.

To the pros: in your opinion, which of the many FOSS engines out there (many of which carrying a large legacy code-base of supporting soon-outdated modes of operation such as DX9 or lower or GL not be required ... only the "metal".

Re: Gorgeous Unreal Engine 4 brings direct programming, indirect lighting

#40
post #34

Earlier quoted context omitted.

UE3 had Unreal Script which was a custom scripting language and that has been removed from UE4. Kismet is more data than script. There's no JIT-compilation.

I have mixed feelings about this. UnrealScript had a lot of interesting ideas; particularly its module system (a kind of sideways inheritance where you could override an ancestor in a package, but not have to override all the descendants to have them inherit the behaviour - really handy for third-party plugins); the synchronous animation playback, effectively using continuations behind the scenes; how it handled sync…

> particularly its module system (a kind of sideways inheritance where you could override an ancestor in a package, but not have to override all the descendants to have them inherit the behaviour - really handy for third-party plugins

Do you know if this can be done in UE1? I'm actually developing something called "NewNet" in UT99 for fun - plus, more people actually still play that game than all the others! Basically it fixes the movement lag associated with high pings and simulates zero ping by keeping track of the positions of all actors from within the past second or so, and "rewinding" the server to that saved position according to the ping of the shooter. There are mods for UT2003/UT2004 (UE2) and UT3 that do this, but nothing for UT99 - although there's the ZeroPing mod which is way too easy to exploit, as it's clientside hit detection. People said it couldn't be done for UT99 but I've managed to get a working prototype, even though it's quite messy and hacked together. It'd be great if I could do what you've mentioned, as it'd clean things up quite a bit.

The hacks I've had to do it get it to work right have been pretty silly, and there's a lot of duplicate code because I had looked for something like you mentioned (the sideways inheritance) but maybe I didn't look long enough, because I couldn't find it for UE1.

Post reply on HN