As a gameplay programmers we want to create game features and mechanics as a whole, perfect and complex systems. Unfortunately, often we have to fight this desire, because of two main reasons. Firstly, we cannot forget about a performance, so we should calculate and process only what is necessary, nothing more. Secondly, there is no point in wasting time and resources on things impossible to notice from the player perspective. Those two aspects often overlap each other and are forcing a programmer to focus on an approximations, estimations and good enough solutions, rather that on complex and extensive systems. Examples from the game Ancesors Legacy will be provided.
Procedural rendering at big scale. I will show how to implement a system to procedurally render a galaxy of stars, as well its planets and moons. You will learn about various types of problems that are encountered during rendering such big worlds, we will deal with troubles related to precision of 3D calculations. I will present numerous techniques used to generate needed data, such as value noise and fractal brownian noise, as well how to use them to generate unique set of data required by the application. All of that working on Vulkan and GLSL.
Interactions have always been the backbone of games. Introduction of VR pushes the way player interacts with the world, characters and systems to the next level of advancement. Interactions via motion controllers are the main source of immersion and even the little things like the way player pulls the lever become key factor of immersion. Let’s explore the dos and don'ts of designing interactions for VR.
Unity engine in the last few months introduced many changes encouraging multithreading and support for more complex game mechanics.
During this lecture, some new solutions will be presented, connected mostly with Entity Component System, Job System, Raycast Command and auxiliary tools.