1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Two Factor Authentication is now available on BeyondUnreal Forums. To configure it, visit your Profile and look for the "Two Step Verification" option on the left side. We can send codes via email (may be slower) or you can set up any TOTP Authenticator app on your phone (Authy, Google Authenticator, etc) to deliver codes. It is highly recommended that you configure this to keep your account safe.

First Screenshots of Unreal Engine 4

Discussion in 'News & Articles' started by _Lynx, May 17, 2012.

  1. elmuerte

    elmuerte Master of Science

    Joined:
    Jan 25, 2000
    Messages:
    1,936
    Likes Received:
    0
    C++ is seriously slow in compiling comparing to other languages. And the problem lies within its design. There's a reason why distributed compilers are so common for C++ (and C) but quite uncommon for other languages.

    First of all UnrealScript really had a barebones compiler that didn't even support incremental compiling. That made it slow. Java, most production level compilers are very fast.

    As for bytecode to machine code translation. That's also done by C++ compilers (but only at compiletime). For Java is usually done at runtime (by a JIT), but it can also be done at compiletime, but of course makes your code less portable. Anyway, it's a non argument.

    That's the most awesome part. Bytecode runtimes provide a VM that makes it easier to replace code. As long as the data structure hasn't changed it's dead simple to replace the code.
    But with machine code, there usually is no clear separation of code and data in memory. To Epic managed to create a subsystem that makes this process possible for their engine. Although you probably have to conform completely to their framework for this functionality to work (using external code could probably break the hot replacing).
    But you are probably only going to use that hot replacing feature for tweaking the code and not major changes.

    It's already available, for example: Ksplice
     
  2. Princess_Die

    Princess_Die Always Out Numbered... Never Out Gunned

    Joined:
    Feb 22, 2006
    Messages:
    185
    Likes Received:
    0
    UE3: excessive bloom
    UE4: excessive particles and lens flares
     
  3. GreatEmerald

    GreatEmerald Khnumhotep

    Joined:
    Jan 20, 2008
    Messages:
    4,042
    Likes Received:
    1
    It makes sense, as that's what the native code is written in. Though personally I'd rather see it use D, because D is as close to UnrealScript as it gets from the 'real' programming languages. Complete with garbage collection, dynamic arrays, but compiles natively, without a VM like Java. The syntax is also rather similar to UnrealScript (more C than Java, and no cryptic ">>" and "::" symbols). Plus it has support for templates and other high level tools.

    This.

    Hey, I wouldn't mind excessive particles. True about lens flares, though, it's silly if viewed from a first person perspective.
     
  4. Sir_Brizz

    Sir_Brizz Administrator Staff Member

    Joined:
    Feb 3, 2000
    Messages:
    25,970
    Likes Received:
    66
    Compared to what, Java? Most Java isn't compiled, but I suppose you could mean other JIT languages that operate faster than C/C++ compilers.
    I mostly just meant it was a compile time resolution. Java and UScript generally build into something that is later translated into something the computer can actually use.
    While the engine is running, I'm sure. It's probably not a lot more than interesting or cool, but I am happy with the move... for now.
    Ewwwwww! Oracle...

    Meanwhile, I was actually referencing UE4 :)
     
  5. elmuerte

    elmuerte Master of Science

    Joined:
    Jan 25, 2000
    Messages:
    1,936
    Likes Received:
    0
    Given C++ language design it takes quite some effort just to be able to process the source code to the process the AST could be translated to machine code.
    But you don't have to take my word on it: http://www.drdobbs.com/blogs/cpp/228701711

    Usually yes. But, for example gcj compiles java to machine code. Still immature, but LLVM also has a frontend for Java/java bytecode, and thereby the ability to compile to machine code.

    Anyway, my point being. A lot of compilers first compile the code to an intermediate byte code, from there on they could compile it to machine code or store to execute at runtime. LLVM is a nice example of this, it started out as a VM for it's bytecode. But eventually they continued on to compile the bytecode further to machine code.

    ps, UnrealScript is never compiled to machine code, has always been interpreted.

    Well.. oracle bought them. There are a few other smaller projects that aim to have similar functionality.
     
  6. Severin

    Severin New Member

    Joined:
    Feb 8, 2008
    Messages:
    199
    Likes Received:
    0
  7. Kantham

    Kantham Fool.

    Joined:
    Sep 17, 2004
    Messages:
    18,047
    Likes Received:
    2
    Last edited: Jun 8, 2012
  8. Leo(T.C.K.)

    Leo(T.C.K.) Active Member

    Joined:
    May 14, 2006
    Messages:
    4,528
    Likes Received:
    22
    Actually both videos were already posted in this thread.
     
  9. ambershee

    ambershee Nimbusfish Rawks

    Joined:
    Apr 18, 2006
    Messages:
    4,521
    Likes Received:
    7
    I'm pretty sure this isn't what they've done, it's instead the same process as 'edit and continue' in Visual Studio. They still recompile the code (gameplay DLL), but it's not recompiled 'from scratch'. When the new DLL is recompiled, they switch the new one with the old one. This is why there is a delay between pressing the 'compile' button in the editor and seeing the changes, and why there is a brief flicker when the DLL does make the switch.
     
  10. toniglandyl

    toniglandyl internal data fragmentation : 62203480%

    Joined:
    Jan 20, 2006
    Messages:
    2,878
    Likes Received:
    0
  11. UBerserker

    UBerserker old EPIC GAMES

    Joined:
    Jan 20, 2008
    Messages:
    4,801
    Likes Received:
    0
  12. HugoMarques

    HugoMarques ☆☆☆☆☆

    Joined:
    Dec 14, 2010
    Messages:
    612
    Likes Received:
    0
    Inb4 Epic announces Fortnite will be free to play.
     
  13. Kantham

    Kantham Fool.

    Joined:
    Sep 17, 2004
    Messages:
    18,047
    Likes Received:
    2
    Yeah, now that PC is the best solution for UE4. :rolleyes:
     
  14. GreatEmerald

    GreatEmerald Khnumhotep

    Joined:
    Jan 20, 2008
    Messages:
    4,042
    Likes Received:
    1
    Were you expecting something else?
     
  15. ambershee

    ambershee Nimbusfish Rawks

    Joined:
    Apr 18, 2006
    Messages:
    4,521
    Likes Received:
    7
    PC is the only available platform that can run it...
     

Share This Page