ArticlePDF Available

Game engines: a survey



Due to hardware limitations at the origin of the video game industry, each new game was generally coded from the ground up. Years later, from the evolution of hardware and the need for quick game development cycles, spawned the concept of game engine. A game engine is a reusable software layer allowing the separation of common game concepts from the game assets (levels, graphics, etc.). This paper surveys fourteen different game engines relevant today, ranging from the industry-level to the newcomer-friendlier ones.
EAI Endorsed Transactions
on Serious Games
Research Article
Game engines: a survey
A. Andrade1,*
1 Virtual Campus Lda. Av. Fernão de Magalhães, 716, 1 PT 4350-151, Porto, Portugal
Due to hardware limitations at the origin of the video game industry, each new game was generally coded from the ground
up. Years later, from the evolution of hardware and the need for quick game development cycles, spawned the concept of
game engine. A game engine is a reusable software layer allowing the separation of common game concepts from the
game assets (levels, graphics, etc.). This paper surveys fourteen different game engines relevant today, ranging from the
industry-level to the newcomer-friendlier ones.
Keywords: animation, game engines, game design, serious games, physics, rendering.
Received on 15 October 2015, accepted on 15 October 2015, published on 05 November 2015
Copyright © 2015 António Andrade, licensed to EAI. This is an open access article distributed under the terms of the Creative
Commons Attribution licence (, which permits unlimited use, distribution and
reproduction in any medium so long as the original work is properly cited.
doi: 10.4108/eai.5-11-2015.150615
1. Introduction
One might think that each new game to date, particularly the
ones with innovative game mechanics, is developed from
scratch as a singular entity, with no relation to previous
games. That was in fact true for the first video game
platforms, such as the Atari or the Commodore, in the
beginning of the 80’s [1]. Back then each game had to be
developed from the bottom up to make optimal use of the
display hardware. Even if in other platforms the display
hardware allowed for slightly more freedom, the memory
available would often still not provide enough room for an
overly generous, data-driven, game framework. Moreover,
the rapid development of arcade hardware then booming,
also meant that most game code would be thrown out after
its original use, as later game generations would use
completely different game designs to take advantage of the
extra resources. Thus, game designs through the 80’s were
for the most part based on hard-coded rule sets and a limited
number of levels and graphic data.
Although some “construction kits” and similar game
creating software were available in the 80’s, it was not until
the mid-90’s that game engines became common practice,
especially associated with the rise of 3D first-person shooter
games (FPS). The popularity of games as Doom and Quake
was such that rather than working from scratch for each
version, core portions of the software started being licensed
(as the id Tech engine) for other developers to create their
own graphics, characters, weapons and levels (the “game
assets”) [2]. This separation of game-specific rules and data
from their basic and abstract concepts (as collision detection
or the concept of game entity) also meant that teams could
grow and specialize, improving productivity and game
features. In the longer run, it ended transforming the
typology of game development teams where we will now
typically find several times as many artists as actual
programmers [3].
By 1998, releases as Quake III and Unreal were already
being designed with this abstraction in mind, completely
separating the engine from the content [4]. By then, the
practice of developing in-house game engines and licensing
them also proved to be a useful auxiliary revenue stream for
developers. Furthermore, the use of such game engines also
allowed for faster and easier development of game sequels,
which is a valuable advantage in the competitive video game
While first-person shooters remain the predominant users
of third-party game engines, any other game genre
development is nowadays taking advantage of these
frameworks from role-playing games to action and
adventure games, sport simulations, strategy games, etc.
Interestingly, game engines are also the tool of choice for
technical simulations and visualizations and serious games.
Thus we will frequently see them applied to training in areas
such as the military or medical fields.
The community of hobbyist game development can be
traced back to the beginnings of the video game industry,
acting at a rather small and often non-commercial scale, and
focusing on innovation. By the end of the 80s the videogame
industry grew stronger and got controlled by big publishers
and retailers making it harder for independent developers to
be commercially published [5].
By the 2000’s decade, the readily availability of game
creation tools and new online distribution methods allowed
*Corresponding author. Email:
EAI Endorsed Transactions on
Sersious Games
10 -11 2015 | Volume 2 | Issue 6 | e8
A. Andrade
for a comeback of independent video game publishing (now
commonly referred to as indie games) [6]. In addition to
catering for niche markets, a number of these indie game
titles also achieved significant commercial success The
World of Goo, Minecraft, Braid, Super Meat Boy or Flappy
Bird are a few examples of that. Thus, this community has
come to demonstrate how it is currently possible for
individuals to create games without an industry-level setup.
2.What is a game engine?
So far it seems clear that a game engine is a piece of
software that enables the creation of video games. However,
we still do not have a proper definition of what can be
expected in such frameworks. The main goal of a game
engine is to abstract common video game features allowing
for code and game asset reuse in different games. For that
end, the following functionalities are typically found on a
game engine:
A rendering engine, for 2D or 3D graphics;
Input handling (for keyboard & mouse, touch devices or
other hardware, etc.);
Game loop (the internal routine than recalculates game
events every frame);
A physics engine, with collision detection and response;
A scene graph (which manages graphical elements and
their relationships on the screen);
Animation (for 2D sprites or 3D models);
Memory management;
Process threading (allowing for multiple, parallel
Other functionalities might include:
Artificial intelligence;
Localization support;
Multi-platform publishing.
More often than not, these features are supported by the
aggregation of diverse third-party libraries (which in this
context can be designated as middleware). Bringing them
together under the same abstraction layer, under the same
editor interface or Integrated Development Editor (IDE),
with transparent interoperability and ease of use is thus the
game engine developers’ goal.
Currently, two major trends can be observed in game
engines. Firstly, game engines are now much more likely to
use high-level languages such as Java, C# or Python, which
often results in a productivity gain for developers.
Considering current hardware, the translation overhead for
such languages has become negligible and game
performance is mostly related with the power of the
available graphic card.
The second major trend for some game engines is a
common goal to enable cross-platform publishing while
keeping the same code base. Most game engines are thus
currently not only able to publish for desktop environments
but also for the major mobile device operating systems and
for different game console systems.
3. Game engines
The definition we have seen for a game engine was kept
broad enough. In fact the exact features and workflow will
vary from one system to another. As we have seen, some
industry-level game engines have grown to be so powerful
and flexible that any kind of game can be developed therein.
Other are purposely kept simpler and with a narrower scope,
either in their target user group or in their supported game
mechanics. A few of them do not even require prior
programming knowledge, allowing for newcomers to get
started or artists to quickly prototype an idea.
We will now survey a number of game engines, going
from the generic examples to the more specific. Although I
intend to include the most relevant engines in each target
group, it would not be possible to enumerate every one of
them so bear with me if I happen to leave out any platform
you feel should be included. Nonetheless, I am confident
that the engines surveyed give you a good overview of the
available options, targeting from hobbyists to industry-level
3.1. Unity
The Unity game engine was first announced at Apple’s
Worldwide Developers Conference in 2005 and has since
then produced major shifts in the video game industry.
Firstly, it has been notable in its efforts to broaden its target
platforms range. Specifically, at the time of this writing it is
able to export to 15 platforms (with the same code base):
iOS, Android, Windows & Windows Store, Windows Phone
8, BlackBerry 10, OSX, Linux, PlayStation 3, PlayStation 4,
PlayStation Vita, PlayStation Mobile, Xbox One, Xbox 360,
Wii U, and all major web browsers through a proprietary
web player. Moreover, in Wii U’s case, it is the only official
software development kit (SDK). One should, however, keep
in mind that publishing for video game consoles generally
requires a developer license from that system’s owner,
which often is costly and requires a preexisting game
Also notable is Unity’s price point as it is being offered
for free for indie developers or companies with an annual
turnover not exceeding US$100 000. A Pro version is also
available, which includes a number of features for advanced
use such as lower-level access to graphic procedures as well
as a profiler and a GPU profiler very useful for resource-
usage optimization.
EAI Endorsed Transactions on
Sersious Games
10 -11 2015 | Volume 2 | Issue 6 | e8
Game Engines: A 2014 Survey
Figure 1. Unity interface.
Unity consists of a visual editor and an IDE, allowing for
rapid prototyping. Simple scenes (with no complete game
mechanics) can even be accomplished without a line of code.
Its workflow is component-based, meaning it is modular and
flexible enough for complex mechanics to be built out of
smaller pieces of logic.
In practice, the basic game entity is called a GameObject.
A Scene is the container for all GameObjects. GameObjects
spatial properties, graphical behaviour, game mechanics,
etc., are each defined in different components. In addition to
the built-in components (for rendering, animation, sound,
etc.) the programmer can define more logic by coding new
script components (which all extend the basic
MonoBehaviour class). The built prototype can be tested
directly inside the visual editor (with close-to-none compile
time) and changes in the code base can generally be seen in
real time.
Scripting inside Unity can be done in UnityScript (which
is a custom language with a JavaScript-like syntax) or C#
the recommended option. Under the hood Unity
transparently uses different middleware to support its
features, namely Mono for scripting, DirectX and OpenGL
for rendering, beäst and Substance for graphics, fmod for
sound, PhysX as physics engine, RakNet for networking, etc.
Moreover, Unity continues to integrate features easing the
integration of social and in-game monetization aspects into
its framework. Another aspect making Unity a great
reference to start with game development is the size of its
community and the availability of a marketplace where game
assets and components can be exchanged (to quicken
development or serve as learning material).
Unity is being used for both smaller-scale mobile games
as well as AAA industry-level productions, which
demonstrates its versatility. A few examples developed with
Unity include Temple Run, Bad Piggies, Monument Valley,
HearthStone or Wasteland 2.
Official website:
3.2. Unreal engine
Unreal Engine 4 is the current iteration of one of the first
major game engines to have come out to the public. Unity
also supports multiplatform publishing, namely using
DirectX (Windows, Xbox One), OpenGL (OSX, Linux,
PlayStation 4, iOS, Android and Windows XP) as well as
WebGL (for HTML5 web browsers). Epic games has also
recently revised Unreal Engine’s pricing plans, providing its
complete technology for free for non-commercial use, and
for all other cases licensing the software for a small
subscription and royalty fee. Although initially developed to
support the Unreal first person shooter, and arguably not as
rich-featured as Unity, the Unreal Engine has grown to be a
very powerful engine capable of supporting any game genre
(including 2D environments). Besides, like Unity, the Unreal
Engine also has a considerable community and asset
Scripting inside the engine is done using the C++
language which might feel like a drawback compared to
the higher-level languages Unity provides, for instance. This
seems to reflect the overall feeling of the editor itself which,
for instance, also only recently introduced live preview of
the game changes (“hot update”). Perhaps attempting to
balance that trait, this latest version of Unreal Engine is
introducing a rather innovative feature designated Blueprint
Visual Scripting. These Blueprints consist of a node-based
interface to create gameplay elements from within the editor.
From its documentation, the goal of this approach is to allow
for designers to prototype and experiment with virtually the
full range of concepts generally only available to
programmers. This tool is described as being so powerful
that entire games can be built using it exclusively.
Figure 2. Unreal Engine’s Blueprint sample.
While the Unreal Editor might come out as a less
newcomer-friendly, the general community thoughts seem to
point that it is also more capable of producing impressive
visuals when compared to other engines such as Unity.
Games developed with Unreal Engine include XCOM:
Enemy Unknown, Tony Hawk’s Pro Skater HD, Mass Effect
2 and Gears of War 3.
Finally, another differentiating feature found on Unreal
Engine is that its source code is open for subscribers. This
allows both for community improvements to be included as
well as for a learning experience for the curious developer.
Official website:
3.3. CryEngine
CryEngine is another industry-level game engine. It was
developed by Crytek to support all of its games, starting with
Far Cry and all its sequels. It is currently being licensed
through an affordable subscription and allows for desktop
and console publishing.
When compared to the two previous engines, CryEngine
seems to have the steepest learning curve, with a less
friendly editor interface, a smaller community and no asset
marketplace. Nonetheless, CryEngine is known to produce
state-of-the-art graphics and performance. In fact, in August
2014, Ryse: Son of Rome, developed within CryEngine,
won the SIGGRAPH Award for Best Real-Time Graphics.
CryEngine scripting is done in C++ or Lua languages.
Official website:
3.4. Torque
Torque comes in two flavours: Torque 2D and Torque 3D.
This is another example of an in-house engine released to the
public. However, it also ended up being rendered free and
open-source by 2012. Both versions of the engine are
scriptable using TorqueScript, a C++ like language.
Although its features could be compared to the previously
reviewed engines, the most interesting feature is the price
point and the free access to the engine source code.
Official website:
EAI Endorsed Transactions on
Sersious Games
10 -11 2015 | Volume 2 | Issue 6 | e8
A. Andrade
3.5. Flixel
Flixel is a free and open source game-making library written
in ActionScript 3. Although it provides most of the
constituents and heavy-lifting expected in a 2D game engine,
it does not include a visual editor and is intended for
developer use. Nonetheless it is considered a good entry
point for game development, particularly for those with
some experience with Flash or ActionScript. Flixel’s author
developed the library while working on his own games,
which include Gravity Hook and Canabalt.
Official website:
3.6. GameMaker: Studio
GameMaker: Studio is a commercial game creation system
and engine supporting many genres, and targeting at desktop
and mobile environments as well as the latest PlayStation
consoles. GameMaker is built with a non-programmer user
in mind, providing a drag-and-drop editor that allows the
creation of games by abstracting the underlying logic. This is
generally called a visual programming language (VPL) and
was originated by the MIT’s Scratch computer language
learning environment.
Nonetheless, GameMaker also provides its own scripting
language (Game Maker Language) for more advanced
functionalities. Also important to notice is that
editor is mostly target at 2D graphics and, although it
supports 3D, any 3D functionality, will have to be custom
scripted. Hence, GameMaker’s advantage is its easier
learning entry point when compared to Unity, for instance.
Official website:
3.7. Construct 2
Construct 2 premise is somewhat similar to GameMaker’s:
enabling non-programmers to create 2D games. Thus,
Construct also uses a visual, drag and drop editor for all
logic development, based on events and behaviours. Like
GameMaker, Construct 2 can be extended and scripted using
JavaScript. Furthermore, although Construct also claims to
publish into the major desktop and mobile platforms, its
primary target is HTML5/JavaScript. Therefore, any non-
browser version (i.e., mobile, desktop or console) is
contained by a DOM and JavaScript enabling wrapper. This
architecture generally hampers performance. Nevertheless,
Construct should still be considered an option for
newcomers not interested in learning programming skills,
and part of the community claims the editor as a friendlier
interface when compared to GameMaker.
Official website:
3.8. Stencyl
Figure 3. Stencyl’s visual programming language
Stencyl is yet another 2D game creation platform. It
provides both authoring tools (to edit graphics and tile sets)
and an IDE to edit game logic using VPL modular pieces in
a fashion similar to Construct 2. Unlike GameMaker and
Construct, the Stencyl IDE publishes to Flash when targeting
desktop or browser platforms.
Official website:
3.9. Visionaire Studio
Visionaire is a commercial environment for the creation of
2D point & click adventure games that was primarily
developed with simplicity and usability in mind. This editor
requires no programming knowledge, as users are able to
define all actions visually. Yet it also allows the use of Lua
as scripting language. Audio and video are also supported
out-of-the-box, as well as the localization of dialogs.
Visionaire Studio allows publishing for both desktop and
mobile platforms and it has been used in the past for game
such as Deponia or The Whispered World. Wintermute
Engine was a free and open source alternative to this engine
but unfortunately there have been no updates since July 2012
so support may start lacking.
Official website:
3.10. eAdventure
eAdventure is a free and open-source game engine and
visual editor for point & click adventure games developed at
the e-UCM. Its main target is serious games development
and thus provides a number of unique features in the field.
Specifically, eAdventure provides a built-in assessment
mechanism, support for real-time adaptive learning scenarios
and integration with different educational standards for
learning management systems integration. Another
interesting feature regarding this engine is its commitment to
accessibility providing tools to include colorblind players.
Official website:
3.11. RenPyl
RenPy is a popular free and open source game engine for the
creation of visual novels, supporting branching stories, save
file systems, rollback to previous points in story, scene
transitions, etc. It is developed in the Python language and
EAI Endorsed Transactions on
Sersious Games
10 -11 2015 | Volume 2 | Issue 6 | e8
Game Engines: A 2014 Survey
allows both for Python scripting and a simplified RenPy
scripting syntax.
Official website:
3.12. RPG Maker
RPG Maker is a commercial game creation software aimed
at the creation of the traditional, top-view, 2D role-playing
games. RPG Maker provides tile set authoring tools, tools
for editing characters and items and a simple scripting
language to program the game logic. RPG Maker only
supports publishing for the Windows operating system.
Official website:
3.13. Phaser
HTML5 is a rather modern medium for game publishing,
and hence still rarely used by the industry. Its main
advantage is that any modern web browser supports HTML5
and JavaScript, thus cross-platform support is naturally
achieving without using wrappers or browser plugins (as is
the case for the Unity Web Player).
Phaser is a free and open source HTML5 + JavaScript
(and TypeScript), generic 2D game engine. It supports
WebGL and Canvas rendering and most features you will
require to develop in this context. Most importantly (and
uncommon for HTML5 game engines), Phaser has a game
development company behind it meaning the code is tested
on a daily basis and optimized at every opportunity, as well
as an active community (with more than 100 contributors).
The documentation is extensive and accounts for more than
300 examples.
Official website:
3.14. Turbulenz
Turbulenz is another open source game engine developed
with optimized JavaScript. Although it is intended for
browser use, mobile-targeted bundling options are also
available. In addition to the common 2D features, Turbulenz
also supports 3D rendering and physics. Although games
developed with this engine can be freely distributed,
Turbulenz itself provides a publishing platform (therefore
Turbulenz is also well backed). Although Turbulenz seems
more feature-rich when compared to Phaser, its
documentation and setup seems much more complex.
Official website:
4. Summary
A few other engines were left out, either because they did
not provide more value in the same category as the ones
already presented (e.g. Shiva3D), or because they are too
exclusive or expensive to be considered (even though they
are indeed comparable feature-wise), such as Source Engine
or Gamebryo.
For simplicity’s sake, the survey is summarized in Table
Table 1. Summary of game engine survey
Game Engine
Game gender &
Publishing Target
Starting Price
for Commercial
Scripting Language
Generic 2D / 3D
Windows; OSX; Linux;
PlayStation; Xbox; Wii
U; iOS; Android;
BlackBerry; Windows
Phone; Browsers; etc.
Unreal Engine
Generic 2D / 3D
Windows; OSX;
PlayStation; Xbox;
iOS; Android;
Generic 3D
Windows; OSX; Linux;
PlayStation; Xbox; Wii
U; iOS; Android
C++ or Lua
Generic 2D / 3D
Windows; OSX; iOS
similar to C++
Generic 2D
Flash; iOS; Android
ActionScript 3
Generic 2D
Windows; OSX; Linux;
iOS; Android; Windows
Free or $99.99
Visual Programming
Language or Game
EAI Endorsed Transactions on
Sersious Games
10 -11 2015 | Volume 2 | Issue 6 | e8
A. Andrade
Phone; Browsers
Maker Language
Construct 2
Generic 2D
Visual Programming
Language and
Generic 2D
Windows; OSX; Linux;
iOS; Android; Flash
Free, $99 /year
or $199/year
Visual Programming
2D Adventure
Windows; OSX; Linux;
iOS; Android
Not required.
2D Adventure
Windows; OSX; Linux;
Not required.
2D Visual Novel
Windows; OSX; Linux
RPG Maker
Not required.
Generic 2D
Generic 2D / 3D
There is no such thing as “the best game engine”. However,
when choosing a game engine one should ask himself a few
questions: What kind of game am I developing? What is my
prior experience and how much effort am I willing/able to put
into its development and/or learning a new platform? Is this an
isolated project or am I getting into game development for the
long run?
For someone looking to get into game development for the
medium or long run Unity or Unreal Engine are the
recommended choices, enabling one to develop from the
simplest projects to AAA-level games. For someone just looking
into quickly getting a working prototype running or not so
acquainted with logic programming, some other platform would
be preferable.
Newcomers should also take the time to experiment with a
couple of different options and get a feel of different editor
interfaces and game abstractions. In any case, before making a
final choice one should evaluate how active is that game
engine’s community, how much support he can expect from it
and what is the engine documentation’s and samples’ quality.
BRABEN, D. (2011). Classic game postmortem. [Online].
CARMACK, J. (2004). “DOOM 3: The Legacy.”
Transcript of video retrieved June 2004 from the New
DOOM website. [Online]. Available:
WORCESTER Polytechnic Institute (2005). [Online].
BLESZINSKI, C. (23 February 2010). History of the
Unreal Engine. [Online]. Available:
DARLING, S. (February 1985). Birth of a Computer
Game. In Compute!, 48.
STUART, K. (27 January 2010). Back to the bedroom:
how indie gaming is reviving the Britsoft spirit. [Online].
MECHNER, J. (2011). The Making of Prince of Persia.
EAI Endorsed Transactions on
Sersious Games
10 -11 2015 | Volume 2 | Issue 6 | e8
... The downside of the survey by McGill is that it is also more than a decade old now and was done before the popularization of game engines (Andrade, 2015). One decade is sufficient time for the landscape of a new field like video game development to have changed considerably. ...
... Perhaps with the exception of Director and Flash, the survey by McGill did not feature game engines at the time. This is understandable as, while there existed some game engines like GameMaker, a more substantial rise of game engines came in the mid-2010s (Andrade, 2015). ...
Full-text available
Designing a video game design and development curriculum in higher education is a challenging task. Information about the needs of the respective industry certainly helps. In this paper, we have surveyed Estonian video game development companies to determine their current needs when it comes to knowledge areas, software tools, languages, abilities, and contextual fluencies. The survey is based on a similar survey conducted a decade ago and this paper compares the current results with those found earlier. Compared to the prior survey, we have found significant differences in the rated importance of knowledge in optimization, version control technologies, the C, C++, and C# programming languages, and the time management ability for video game development companies looking to hire university graduates. We have also extended the previous survey to include a contemporary selection of game design and development tools. Based on that, we have determined a strong need for graduates with skills specifically in Unity and Unreal Engine game engines, Photoshop raster image editing software, and Git version control software. While most of our results are largely consistent with the previous research, our added survey items like visual languages and game engines bring the results to the modern context. This allows curriculum designers and managers to see the differences regarding the landscape of industry needs for their graduates and thus make more informed decisions in their work.
... given table. The table shows this development by providing an overview of game engines and DCC tools of the industry [26]- [28]. It can be concluded that VSL support is a potential key factor for game development when it comes to choosing the right tool for the specific job. ...
... Besides excluding any repository aiming to be a 'Visual Studio' or 'Visual Studio Code' extension, this study further limits the search to repositories of the following programming languages: C#, C++, C, JavaScript/TypeScript and Rust, since those languages are more common in the game industry as implementation languages of the engine or as scripting environments for the end user [17], [28] (Appendix A.1.3). ...
Full-text available
This paper investigates potential criteria to identify visual scripting languages as embeddable within the domain of game development. We explore the criteria of embeddability for scripting languages and use them as the base line for the study. Then, we conduct a systematic review of GitHub repositories of visual scripting related projects to gather a data foundation for defining possible data points about embeddability of visual scripting languages. At the end, we conduct in depth interviews with game industry professionals supported by the Q-Methodology to investigate the views of them on the collected data from the systematic review. We could identify the most important themes for embeddability of visual scripting languages are performance related. Also, we identified the main differences between the criteria of embeddability for textual scripting languages and visual scripting languages are tooling related.
... From a developer perspective, the game engine can be described as a collection of tools that allow the development and compilation of a game for a target platform -e.g., mobile apps (Toftedahl and Engström 2019). The game engine can be self-developed, opensource, or commercially distributed (see Andrade 2015). Two of the most widely employed commercially available game engines are ''Unity'' and ''Unreal''. ...
Full-text available
The mobile games business is an ever-increasing sub-sector of the entertainment industry. Due to its high profitability but also high risk and competitive atmosphere, game publishers need to develop strategies that allow them to release new products at a high rate, but without compromising the already short lifespan of the firms' existing games. Successful game publishers must enlarge their user base by continually releasing new and entertaining games, while simultaneously motivating the current user base of existing games to remain active for more extended periods. Since the core-component reuse strategy has proven successful in other software products, this study investigates the advantages and drawbacks of this strategy in mobile games. Drawing on the widely accepted Product Life Cycle concept, the study investigates whether the introduction of a new mobile game built with core-components of an existing mobile game curtails the incumbent's product life cycle. Based on real and granular data on the gaming activity of a popular mobile game, the authors find that by promoting multi-homing (i.e., by smartly interlinking the incumbent and new product with each other so that users start consuming both games in parallel), the core-component reuse strategy can prolong the lifespan of the incumbent game.
... In the last couple of years several hybrid approaches have been developed, many of which are executed on the GPU, and have been implemented in commercial graphic engines like Unreal, CryEngine and Unity3D. Unreal Engine 4 [2] is the current iteration of one of the first major game engines to have come out to the public [3]. It uses DirectX, OpenGL, as well as WebGL. ...
Conference Paper
Real-time rendering applications are difficult software engineering development projects, due to the complexity of the implemented algorithms required to achieve interactive frame rates. To provide a faster development process, the rendering engines implement many of these algorithms to support developers. In this article, we present a real-time physically-based rendering engine supporting global illumination. It supports diffuse indirect illumination, glossy reflections, refractions (transparency), soft shadows, and light emitted from emissive surfaces at interactive frame rates.
... In addition, some of the key features of unity are related to the simple workflow that allows developers to quickly combine scenes in a workspace referred to as (intuitive editor). It also supports creating highquality games like AAA images, high definition sound, and action at full speed with no gaps on the screen [32]. Also, some extra features are [33] access the components, coroutine and return types, creating and destroying GameObjects, dealing with vector variables and timing variables, events for GameObject, and physics-oriented events. ...
... The latter enables greater interactivity, through VR headsets and goggles (e.g., Figure 4b). The technical maturity reached in the evolution on modern game engine platforms, combined with lower costs of VR devices now allow creation of immersive VR environments in a variety of application contexts such as teaching and learning in education, professional training in industry, scientific research and public outreach [55,56]. ...
Full-text available
In the present work we highlight the effectiveness of integrating different techniques and tools for better surveying, mapping and collecting data in volcanic areas. We use an Immersive Virtual Reality (IVR) approach for data collection, integrated with Geographic Information System (GIS) analysis in a well-known volcanological site in Santorini (Metaxa mine), a site where volcanic processes influenced the island’s industrial development, especially with regard to pumice mining. Specifically, we have focused on: (i) three-dimensional (3D) high-resolution IVR scenario building, based on Structure from Motion photogrammetry (SfM) modeling; (ii) subsequent geological survey, mapping and data collection using IVR; (iii) data analysis, e.g., calculation of extracted volumes, as well as production of new maps in a GIS environment using input data directly from the IVR survey; and finally, (iv) presentation of new outcomes that highlight the importance of the Metaxa Mine as a key geological and volcanological geosite.
... There are now many visual programming languages [10,11,12]. Many of which are aimed at education or niche domains [13,14,15,16,17]. ...
Full-text available
We present Zoea Visual which is a visual programming language based on the Zoea composable inductive programming language. Zoea Visual allows users to create software directly from a specification that resembles a set of functional test cases. Programming with Zoea Visual involves the definition of a data flow model of test case inputs, optional intermediate values, and outputs. Data elements are represented visually and can be combined to create structures of any complexity. Data flows between elements provide additional information that allows the Zoea compiler to generate larger programs in less time. This paper includes an overview of the language. The benefits of the approach and some possible future enhancements are also discussed.
... This results in outreach and embracing communication, a two-way process that can help scientists understand the needs and opinions of society. Moreover, game engines have reached a high level of technological maturity offering rich toolsets of mechanisms for implementing 2D/3D visualisation and exploration workflows in immersive VR environments realised on dedicated game consoles, personal computers or mobile platforms (Andrade 2015;Lawson 2015;Christopoulou and Xinogalos 2017). ...
Full-text available
Direct outcrop observation and field data collection are key techniques in research, teaching and outreach activities in volcanic areas. However, very often outcrops are of difficult or impossible access, such as in areas with active volcanoes or steep cliffs. Classical remote-sensing surveys by satellites or airplanes are expensive, rarely reach sufficient resolution to allow high-quality 3D visualisation of volcanic features and do not facilitate mapping of vertical cliffs. We describe a novel approach that uses immersive Virtual Reality (VR) based on real-world 3D Digital Outcrop Models (DOMs) from images surveyed by “unoccupied aerial system” (UAS). 3D DOMs are built up using the Structure-from-Motion (SfM) photogrammetry technique, and a VR scene is created using game engine technologies. Immersive real-time exploration of the environment is possible through a head-mounted display, e.g. Oculus Rift. Tools embedded in the VR environment allow the user to map polygons, lines and point features. Tools also allow to measure orientation, dip, inclination, azimuth, area and thickness and even take virtual photographs. Using three examples of volcanic areas with different geological features, we demonstrate the potential of our approach to allow users to be able to virtually map and measure remotely, and to collect data for research and teaching. Our approach is of paramount importance also for outreach, as it allows non-specialist audiences (e.g. common citizens) to experience and appreciate highly complex volcanic features through customised, hands-on immersive VR tools.
The Making of Prince of Persia
  • J Mechner
MECHNER, J. (2011). The Making of Prince of Persia. EAI Endorsed Transactions on Sersious Games
Classic game postmortem
  • D Braben
BRABEN, D. (2011). Classic game postmortem. [Online]. Available:
Transcript of video retrieved
  • J Carmack
CARMACK, J. (2004). "DOOM 3: The Legacy." Transcript of video retrieved June 2004 from the New DOOM website. [Online]. Available:
History of the Unreal Engine
  • C Bleszinski
BLESZINSKI, C. (23 February 2010). History of the Unreal Engine. [Online]. Available:
Birth of a Computer Game
  • S Darling
DARLING, S. (February 1985). Birth of a Computer Game. In Compute!, 48.
Back to the bedroom: how indie gaming is reviving the Britsoft spirit
  • K Stuart
STUART, K. (27 January 2010). Back to the bedroom: how indie gaming is reviving the Britsoft spirit. [Online]. Available: an/26/casual-gaming-indiegames