Question about game engines and scalability

futurefields

Diamond Member
Jun 2, 2012
6,470
32
91
Quote

"Tim Sweeney: Sure, for the last year or so I haven't had much time to program as I've mostly been seeing over Epic's transition into the next generation. What Epic is working on is really exciting. We've been building Unreal Engine 4 for about three years now and it's in really incredible shape, running on everything from an iPhone to a next-generation console to the highest end PC available. It's just an incredibly big and powerful engine."



So Unreal Engine 4 runs on everything from an iPhone to the highest end PC. Is it possible to build an engine that really uses PC resources in the way that it should, when it is also being designed to run on an iPhone?

What are the implications on next-gen game development if every game is also now being made to run on mobile phones?
 

JamesV

Platinum Member
Jul 9, 2011
2,002
2
76
The 'engine' is probably a suite of engines in reality, where discrete parts handle different devices. All of them together may be called Unreal Engine 4, but I highly doubt the same code used for the PC will run on a phone.

And, while that does sound cool (if it were possible); the holy grail is being able to spit out game files for all devices from one set of code. Id said they had that around the time Rage came out, and then we never heard about it again. Maybe Unreal Engine 4's ability to run on different devices is actually this functionality; one set of code that the engine can create executables/etc for many different devices.
 

blackwhiskers

Member
Jan 6, 2013
72
0
0
"every game using this engine will be made for both phone and high-end PCs" simply does not follow from "engine can be used on both phones and high-end PCs". what it probably means is that most of the toolset can be used to prepare content that runs on phones, consoles, PCs, if you wish. there are already things that allow you to get your stuff running on multiple platforms easily, for example, Unity, Monogame (they even have a slogan of sorts "write once, play everywhere") etc.

the actual code that will display the prepared content is definitely going to be different, depending on the platform.
 

DaveSimmons

Elite Member
Aug 12, 2001
40,730
670
126
So Unreal Engine 4 runs on everything from an iPhone to the highest end PC. Is it possible to build an engine that really uses PC resources in the way that it should, when it is also being designed to run on an iPhone?

Of course it's possible. For example for BroDudeShooter 19:

They use spiffy shader effects, high-resolution textures and high-polygon models for running a game on quad-SLI GTX 580 tis.

For the iPad version they switch to low-resolution textures, low polygon models, turn off some effects, lower the draw distance, reduce the number of non-essential objects in the scene.

The PC version loses nothing with that approach.
 

Lonyo

Lifer
Aug 10, 2002
21,938
6
81
It will be the same as Unreal Engine 3, which runs on iPhones and Android as well as consoles and PCs, and has multiple renders (e.g. OGL and D3D).

http://www.unrealengine.com/mobile/

This isn't a new thing, they are just doing it from the start with UE4, while on UE3 it was added later due to smartphones not really existing at the start of UE3's life.
 

MalazanEmpire

Member
Nov 5, 2013
88
0
0
www.digitalgambit.com
You can make any engine scalable by reducing the amount of resources it consumes. Like the post above said, it is nothing new. Even if they do not make a "scalable" engine the developers who will use it for their own games can do that.

As for code being run on different devices, that is a bit silly. There are no different devices, because every device that exists today is based on same binary system mechanics. That being said, every device that you know is a "pc", or better yet a computer. What is different are the OS(operating systems, and that is just an approach to using the resources) and the available resources. Since the PC has the most available resources for any engine to consume, we can consider all other devices a subset of the PC device.
More details would have to include compailers and code execution, which is something that the engine does, or it just works with precompiled code. Scalability, and the ability to run cross platform are two different things, and most of the time are not tied to the same thing/code/engine block.
 

futurefields

Diamond Member
Jun 2, 2012
6,470
32
91
Of course it's possible. For example for BroDudeShooter 19:

They use spiffy shader effects, high-resolution textures and high-polygon models for running a game on quad-SLI GTX 580 tis.

For the iPad version they switch to low-resolution textures, low polygon models, turn off some effects, lower the draw distance, reduce the number of non-essential objects in the scene.

The PC version loses nothing with that approach.

I disagree. I feel like PC's lose a lot if they are getting the same games that can be run on cell phone CPU's. Sure the textures are higher res and more shader fx etc... but the core game had to be simple enough to be made to run on a cell phone.

This is how enthusiast PC gamers are continuing to lose out in the face of the exploding mobile game market, which is taking more and more of the demand since it seems mobile game profits are going through the roof.
 

Stringjam

Golden Member
Jun 30, 2011
1,871
33
91
Well, there is more to it than just graphics.

AI and game logic scripts are not compiled, but are executed when called, and (especially multiple AI instances) are very processor intensive.

If a developer is lazy, they're just going to implement the level of physics / AI / game logic scripting that the base device can handle.

If a developer cares, then they will approach each platform independently where that is concerned, but that is going to take a whole lot more effort. Will they do it? A lot of them probably won't. The games that are only destined for PC and new consoles will probably receive better attention.
 

DaveSimmons

Elite Member
Aug 12, 2001
40,730
670
126
It's going to depend on the game whether it makes sense to scale it all the way down to an iPad / iPhone, or to create a separate spin-off game that uses some of the same assets.

Having the same engine for all platforms simplifies both.
 

MalazanEmpire

Member
Nov 5, 2013
88
0
0
www.digitalgambit.com
Believe me, for no apparent reason, when i tell you that new engines just push things on the maximum settings for a pc. Everything else is an afterthought, and it can easily be ported to any platform or used in any development. Unreal pushes the available systems of an engine by adding support for various effects like realistic lightning, particles, gravity etc.
While a superb pc can show all of it when used in a gaming environment, it is quite easy to scale the parameters a little bit, and run the engine in a "compatibility" mode for any other "lesser" device.
It is all quite complex when you consider it as a whole, but like with anything else its components are really simple. When you get down to the code blocks, and the individual scripts it is easy to see the logic, and the approach where you could omit some of it to achieve crossplatform compatibility.
The most important thing is to have an universal layer of the engine which can read and interface with any device. Just like JavaSDK. Same principles used in a similar manner.
 

thedosbox

Senior member
Oct 16, 2009
961
0
0
I disagree. I feel like PC's lose a lot if they are getting the same games that can be run on cell phone CPU's. Sure the textures are higher res and more shader fx etc... but the core game had to be simple enough to be made to run on a cell phone.

There's a difference between the engine, and games that use it. The quote is talking about the engine.

A properly designed engine can be scaled, with modules added/removed depending on a particular platforms capabilities.
 

ShintaiDK

Lifer
Apr 22, 2012
20,378
145
106
The 'engine' is probably a suite of engines in reality, where discrete parts handle different devices. All of them together may be called Unreal Engine 4, but I highly doubt the same code used for the PC will run on a phone.

^^ This.

PCs also run OpenGL/DirectX. And mobile devices run OpenGL ES, that is as such rather different from OpenGL despite the name.
 
Last edited: