55
Introduction and Theory |Advent and Progression of the Gaming Engine
54
Introduction and Theory |Advent and Progression of the Gaming Engine
It is evident from these notes how well this description of video games falls in line with the required components for simulating occupancy dynamics within a virtual space, as well as simulating the space itself as a dynamic architectural visualization. This approximation and simplification of reality allows the game engine to simulate architectural spaces from the physical world. The object-oriented agent-based simulation model then allows the creation and visualization of crowd dynamics within this simulated architectural space. The dynamic interactive real-time aspect of this makes it practical and efficient for simulating and visualizing the interactions between the crowd dynamics and the static or dynamic architectural elements of these emerging dynamic spaces. The “soft” description of this, then means that the creation of this simulation model does not need to be too strict in order to function, which increases the realistic potential for an architecture student (without a background in software development) to utilize and create such a simulation and succeed. From these reasons, it is then possible to list the following benefits of utilizing game engines within architectural visualization workflows:
Higher abstraction tools for virtual simulations
Perhaps the most valuable aspect of game engines for visualizing dynamic spaces is their ability to utilize scripting languages and tools alongside various file types within the same software environment.[15] This allows the designer to establish interactions between entities which allows the creation of various simulation systems within this software—essentially becomes a virtual playground for simulating the physical world. With this, it is possible to not only script autonomy to simulate human crowds and dynamic architectural elements but also allow the relatively easy integration of such autonomy with existing architectural visualization models and frameworks. This allows the simulation of architectural spaces as they are used in the real world with little regard to how complex they may become.
Real-time rendering
Beyond these tools, game engines also offer vastly more efficient rendering methods compared to traditional CPU based ray-traced methods from software such as V-Ray and Mental-Ray.[16] While these older methods can produce extraordinary results, they can take hours or even days to render a single frame, which can be a time-consuming endeavor within the design process. (Fig. 1.3.10)
Games on the other hand must run in real-time due to their reliance on interactivity, which (as already mentioned in Chapter 1.2) to the human eye is at least 24 frames per second to convey the “illusion of motion,”[17] and even more so to not feel delayed when the visualization is also required to respond to human input. This is many times faster than what can be achieved with traditional rendering methods, and as such, the rendering engines that are built into these game engines must prioritize speed to meet this demand. (Fig. 1.3.11)
15 Gregory, Game Engine Architecture, 481.
16 Brian Caulfield, “What’s the Difference Between Ray Tracing, Rasterization?,” The Official NVIDIA Blog, April 11, 2019, accessed October 16, 2019, https://blogs.nvidia.com/blog/2018/03/19/whats-difference-between-ray-tracing-rasterization/.
17 Gregory, Game Engine Architecture, 10.
Rendering a frame from Vray
By Jordivdm, trimmed by Author, “FullHD 3D VRay Render at I7-5820k 6 Cores (12 Virtual Cores),” YouTube, 0:58, accessed December 19, 2019, https://www.youtube.com/watch?v=rjvimjwhams.
Rendering Frames from Unreal Engine 4
Screen-captured by Author.
This rendering speed is largely achieved by utilizing rasterization—which is a rendering method that approximates lighting by converting the vertices of the virtual mesh into pixels[18]—instead of ray tracing—which is a rendering method that calculates lighting where the paths of simulated “light rays” bouncing throughout the environment is traced back to the source of the camera.[19] (Fig. 1.3.12 - 13) These virtual games also take advantage of the parallelism of GPUs along with various techniques—such as precomputing lighting and texture
18 Caulfield, “What’s the Difference Between Ray Tracing, Rasterization?”
19 Arthur Appel, “Some Techniques for Shading Machine Renderings of Solids,” Proceedings of the April 30--May 2, 1968, Spring Joint Computer Conference on - AFIPS 68 (Spring), 1968, https://doi.org/10.1145/1468075.1468082.