A game engine comparison survey

Hello!

I am currently conducting a university project on the comparison of a ‘high end’, commercial game engine against a ‘low end’, open source alternative. In this case, I have chosen to create a game scene in both unreal Engine 4 and Blender Game Engine. The two scenes are as identical as I could make them given my limited understanding of each toolkit.
Each engine is being tested for ease of development, learning and most importantly the ‘playability’ of the result. Primarily, the framerate and responsiveness of controls as advanced visual effects are taking place.
Tests on my own hardware of course will not suffice, and as such I am requesting that any willing members of this community could spare a few minutes of their time to carry out the survey linked below!
The survey does require you to download and run each scene, instructions for this can be found on the survey itself, but I will also write them here for reference. I have done my utmost to make the download as small as I can, being a compressed archive of around 380MB in total.

Instructions
First, follow the mediafire link below to download the zip file containing both scenes. Extract the contents once downloaded to anywhere you like on your PC. Feel free to give them a virus scan if you are wary.
Complete the initial hardware assessment page of the survey, if you don’t know what your computer specifications are, some methods to check are mentioned on the survey page, but otherwise select ‘I don’t know’ where applicable.
As you proceed to the next page, you will be instructed to open one of the scenes. Each scene can be found inside their respective folders as an executable file. Please don’t try to edit or move these files from within their folders. The blender scene file has .blend on the end of the name, but it is still an executable, the .blend tag was an error in the export but it will run fine.

Trouble-shooting
The blender scene -may- produce an error on some configurations, at least from my own tests, but it will still run regardless after dismissing the error. The UE4 scene may close and restart if you have SteamVR or a similar VR software kit installed on your PC, this is normal and the scene will continue starting without any VR peripherals being required.

Content/controls
Each scene is composed of a brief fly-through cinematic, followed by a free-roam camera after the cinematic has ended. You can then control the camera with WASD and the mouse.
In each scene, there are two cubes that should collapse. In Blender this occurs at the start of the scene, in Unreal Engine 4, the cubes will break when the camera is rammed into them during the free-roaming segment. If you cannot break the cubes, do not worry.
Press Escape to end the applications after a minute or so of exploring the scene.

If you have any questions or issues, please feel free to respond to this post and I will try and resolve any queries given.

If you have completed the survey, thank you very much for your time and hardware tests. :slight_smile:

Links
Survey Link: https://www.surveymonkey.co.uk/r/EngineComparisonSurvey
Scenes Download Link: http://www.mediafire.com/file/hg71p389psd3idq/EngineProjectStandalones.zip
Gallery of the scene: http://imgur.com/a/ALrWE

Your survey/project has a huge bias, but it will show exactly what you expect.

The BGE scene has far fewer visual effects than the UE4 scene. Hence: the UE4 scene runs slower, but looks prettier.
If you had an experienced UE4 dev, he could make it run fast. If you had an experienced BGE dev, he could make it look pretty.
By the time they are done, they will look the same and perform the same.

This is primarily an issue because you took default assets from Unreal and dumped them in BGE. If you had had the same starting point in both engines, things may be different.


There are two main differences I see in the scenes, and because I’m a BGE user, I’ll do them with a focus on the BGE scene
The UE4 has (at the minimum) bloom and motion blur. Probably some sort of HDR as well. The BGE has neither. Motion blur is easy to add (a default one in the logic bricks) and bloom is not hard to code.

The fire looks different primarily because the UE4 one has it’s alpha blending mode on the animated planes set to ‘additive alpha.’ This is a tickbox in the BGE interface. There is no extra processing cost for enabling this. There’s also a particle system, but it’s secondary.

This evening if I get some time I may twiddle around the BGE scene - though I know others here could do a far better job than I.


So what’s the difference between UE4 and BGE? UE4 has a dedicated team who have spent thousands of hours in preset effects, default models and shaders. For BGE, that hasn’t happened - so much more of the ‘basic’ stuff has to be hand-done. However, as soon as you do a complex problem, you’re probably going to be doing your own models and shaders so actually the difference between the engines may well get less as the complexity of the project goes up. (Although I haven’t heard of anyone needing to do custom LOD systems in UE4)

Once 2.8 render lands and is glsl is 3.2 compliant, we can have a stock tesselation shader for LOD right?

Hello,thank you very much for the input.

You are right in that the BGE scene is lacking a few features. Unfortunately due to time constraints I have had to push out the survey and scenes earlier than I would have liked, but I did my utmost with my limited skills to make the scenes as close as possible. I am not particularly proficient with UE4 either, but as you pointed out, UE4 has many post process and additional effects implemented as soon as you click ‘new project’, BGE requires you to hand build a lot of things.

Development differences like this are also being taken into account for the final report/essay on the results (Which is a very large written piece on rendering techniques, development of a rendered scene in real time, construction of the scenes with a so called ‘high end’ engine versus a ‘low end’ engine from the perspective of an indie developer, and so on), among many other factors, in this case I primarily wanted to see how each scene runs on various hardware.

I do want to apologise though if the results made BGE look inferior, from an external perspective from the project I am very aware that Blender is potentially as capable as UE4 when it comes to visuals. But the intention was to see what could be produced in roughly the same time frame as a new user of either engine (And using pre-made assets where able).

Unfortunately I don’t see myself having the time to spare to go back and touch up the Blender scene, but this project has sparked an interest in using the software for personal use! So any advice you could give would still be welcome (And if possible even noted within the report, as a sort of ‘here is what I could have done if time permitted’ segment).

After about two hours of twiddling (I haven’t matched the colours with the UE4 demo, I need to redden the lights a little):





And my computer is melting now (it’s a laptop without a dedicated GPU), so I’ll call it a night.

By chance do you have the normal maps for the various textures? They are missing and that’s why the shading of the objects is a little strange in the BGE demo. I’ve disabled some things I’d love to re-enable if I can get my hands on them (the above images are just diffuse textures).

I do want to apologise though if the results made BGE look inferior

Sorry if I came off that way. I’m actually pleased to see this comparison. Analysing your file is quite interesting and shows where people are struggling with the BGE. I’d be very interested to read the report when you are finished.

Its gonna be OGL 3.3 core profile

Edit: Using the filters from the template, makes it look like UE4;
video: https://www.youtube.com/watch?v=2Ba36E4fkOM

Oh wow, that already looks better haha.

The normal maps I expect are buried in the UE4 assets I used, UE4 let me export meshes and such. The Normal Maps are likely around somewhere too. If I get around to it I’ll throw you the normal maps. As a side note, I continued to struggle with the multi-texture objects, such as the walls and statues, particularly the big statue with the ‘back’ piece at the middle-front of the room. From what I can tell in UE4, the engine manages to point different parts of the UV map toe ach texture, but how these are done in BGE is beyond me. Heck if you dig through my posts on here I’m sure you’ll find me asking for a hand with that very thing, but luckily I’m more interested in performance and the implementation of visual effects more than things looking ‘pretty’ as it were.

Its gonna be OGL 3.3 core profile

Edit: Using the filters from the template, makes it look like UE4;

Check out this upbge video:

Each scene is composed of a brief fly-through cinematic, followed by a free-roam camera after the cinematic has ended. You can then control the camera with WASD and the mouse.

UE fps about 10-15, BGE about 60.
This scene in BGE can look the same as in UE(but with better fps)…with motion blur, fire distortion,AA,AO and same lightning setup.

If you put a screen-space reflection filter in BGE, it becomes much slower than UE4. Because UE4 has optimized this thing a lot. Now disable those reflections in UE4 and it becomes a lot faster. There are other such filters in UE4 too. Also, the UE4 uses deferred lighting. It requires higher-end machine to run, but it’s cost doesn’t grow up so much when adding up lights. So the claim that UE4 is slower is not particulary right. I can run most of UE4 templates at ~100-150 FPS, their demos at ~45-60 FPS. In BGE empty scene runs at ~340 FPS, scene like UE4 template, but without SSR is around ~110-180 FPS, but when I add SSR it drops down to ~50-70 FPS. So I’d say that UE4 is actually kinda better optimized, if we take the same graphics. Yet I prefer BGE:D

Well, I’m done tinkering with this scene for now:
https://blenderartists.org/forum/attachment.php?attachmentid=482387&d=1493492747
As you can see, I replaced the Unreal logo with the UPBGE logo. I also floated it as a potential splash screen for the next release of UPBGE, the developers are fine with it so it’s up to bart95 if he gives us the go-ahead (I’ve also sent him a PM).

Here’s the blend file:

I will note that I improved the fire some more in another blend file. You can see the other blend file in this post:

Great improvement sdfgeoff!
And here is the scene with some 2d filters applied and some lightning setup(+10 minutes with sdfgeoff updated scene) :



And here is an original UE screenshot:

I forgot to match the camera perspective. Other than that, BGE scene does not look bad at all compared to UE screenshot.

And still 60fps in bge vs 10fps in UE on my PC.(Not saying bge is better…just it can achieve good graphics with good fps)

XXXX where did you guys learn those sorcery from lol

Didn’t even realise you could modify the ‘independent’ run-time of the scene. ._.

In any case, good stuff from you guys. Unfortunately I don’t think the scene can be used as a splash screen for UBGE, the mesh and etxtures were exported from UE4, originating as freely available assets from the infinity Blade devs. However, I think there may be terms and conditions that constrain what the assets could be used for. I’d be okay with it personally but I’m very unsure on the matter.

@bart95:
Extracting blends is kept a bit hush in the BGE community. Most people like to think that their game is protected by exporting it to an executable. But if you know how BGE produces the executable, it’s very easy to reverse (there’s a script from, oh, about 2006 or so that still works if you modify slightly). Generally it only comes up when people lose access to the original file and suddenly desperately hope there’s a way to get it back. Also, being a Linux user, I use it whenever I want to play someone’s game where they only release a windows version (ie in this case).

@haidme:
Nice work. My computer was melting without any filters so I couldn’t add any. What did you add?
And now I think I need to tweak the light glow mesh slightly. I did a much better job of it elsewhere.

@guramarx:
Here! on BA!

Hello,

I’m just going to give this thread a single bump as the deadline for this project is approaching, and I’m about to start analysing the responses and data. Thank you very much for taking part. As before, if you have any questions or problems, do let me know.

Some of the comments and replies I’ve gotten will make for lovely additions to the report appendix as well! So thanks again.

@sdfgeoff

Extracting blends is kept a bit hush in the BGE community. Most people like to think that their game is protected by exporting it to an executable. But if you know how BGE produces the executable, it’s very easy to reverse (there’s a script from, oh, about 2006 or so that still works if you modify slightly).

Yep, many people don’t know, blender executables can be reverse to .blends quite easily.(That is why I’m not using blenderToExe exporter :wink: )

What did you add?

Bloom, Vignetti, AA, AO, color correction, motion blur(can be seen only in video), dynamic HDR(can be seen only in video).
I’ve also add film noise, light scattering, depth of filed and all looked unbelievable, but then I decided to remove them…it was too much awesomeness in one screenshot :wink: (and fps also dropped down to 30)

@bart95 - Tell us more about your case study. All-in-all UE4 is light years ahead from BGE. Nevertheless good old BGE can still pull some mindblowing tricks out of its pockets.

I’ll be happy to PM you a PDF of the dissertation when it’s all done and dusted, I just want to ensure that I am permitted to share the thing and that it’s totally finished before I throw it around.

The general purpose though, is to compare a ‘high end’ and ‘low end’ game engine from the perspective of a novice developer. I’ve learned a fair bit doing it, and at present am concluding that BGE definitely has capability to produce high quality results, but it is not known (That I could find) to be used in any AAA releases. I actually made a mention towards KRUM during the report! When gauging the prominence of several game engines through releases on steam or retail sales.