The Originality | Lead Game Engine Programmer, Sangwoo Lee
Creating a game is to create a world that does not exist. It is the hard work of many people that becomes the building blocks for the wonderful world that we view on the screen.
It is not an easy work; however, NC firmly believes in the value of ‘fun’. Professionals from various fields are gathered in NC, making serious efforts to think and imagine new fun. These persistent efforts to create fun determines the quality of the output.
NC never makes a compromise on quality. The foundation of NC’s quality lies in its ‘originality.’
“People commonly believe that game graphics belong to the realm of arts. However, it is mathematics and science that lie in the foundation of the technology. Statistics, mathematics, geometry, and physics are all related to graphic engines. For game graphics to become more ‘alive’, engine developers should take the lead so that artists could create wonderful worlds inside games using the technology.”
Lead Game Engine Programmer Sangwoo Lee
Game Engine Programming
I develop engine technologies that best serve game contents and design game engines. Game engine developers are the ones that improve usability of complex technologies and productivity of game producers. Mostly the ones that want to enable expressions that are difficult to be materialized using existing technologies or to try new expressions that are not present in existing games become interested in game engines.
The name of the tool that I am developing is “World Editor”, which literally means a tool to create a world inside a game. When you play a game, you feel more immersed once the world inside the game is close to reality. Likewise, my role is to create beautiful worlds inside games and to automate related processes.
Coding Is Also a Form of Communication
Basically, game engine developers should be good at mathematics and computer science. This is something that you can sufficiently prepare yourself for during your years in school. At work, it is important to have the ability to communicate with diverse people, because game designers and graphic designers have different background knowledge.
Counterintuitively, coding helps you much to improve your communication skills, because it is not only important to write excellent codes, but also to write the codes that are easy for others to understand and to use when it is necessary. The way you write codes in consideration of other’s situation is exactly the same as the way you could be good at communication.
Games, The Media To Create ‘Experiences’
Movies are the best contents that you could watch and enjoy. However, there is no better form of content that you could ‘experience’ than games. Game developers should make users feel that they ‘could do whatever they want to do in the world inside the game’. Therefore, the sense of immersion is greatly reduced in case the background is unattractive while the characters look attractive or the sound is realistic while the graphics are less sophisticated.
At the moment, we are trying to develop a console AAA(Triple-A) game. The users of console AAA games hold very high standards on overall game quality or graphics. To meet the standards, it is important to develop games as realistically as possible. By doing so, users may feel more immersed in games.
Not Only Technologies, But Also People Grow Together
A Programmer That Creates Visuals
I participated in development of Unreal Engine 3 and 4 while working in Epic Games. I was developing an engine to create landscapes in an easier and faster manner on open fields and asked myself, “What kind of physical models should I apply to reflect the gloomy shade of the sky?” People commonly believe that game graphics belong to the realm of arts. However, it is mathematics and science that lie in the foundation of the technology. Statistics, mathematics, geometry, and physics are all related to graphic (rendering) engines. Based on such thoughts, I used an actual air dispersion model to embody the shades of the sky during the development process of Unreal Engine.
For engine developers, it is important to have good ideas. Only by giving serious thoughts into ways to make ‘our games look better than theirs’, engine developers may develop advanced engine models through comparisons between different engines. Since you are interested in visuals, you would pay attention to the visuals of others and develop new ideas.
Making A Technology Become ‘Alive’
Game development is a process where the people assuming different roles, including planners, artists, and designers, work together. No matter how excellent technologies are, they cannot be embodied in expressions unless artists understand them. Likewise, engine developers cannot provide technological support, unless they understand the ideas of artists. In the end, we have to work together. For technologies to become more ‘alive’, engine developers should take the lead so that artists could create wonderful worlds inside games using them.
At work, it was easier for me to dig deep into technologies than to communicate with other people. It was not easy to present a vision persuading others to run together towards the same goal and to motivate people to take actions. I made intentional efforts to be better. Since ten years ago, I have mingled with the people from diverse fields and have given presentations as part of my work at large-sized events to raise awareness of game technologies, and my communication skills have gradually gotten better.
Quality Improves Based on One’s Will for Improvement
A Life-long Passion for Computers
I have loved mathematics and science since I was little. I have also loved computers. I used to write codes, using my Apple 2 computer. Actually, I liked to play games more than anything. At the time, those that loved games would be good with computers, because one could run games only if they knew about computers. I believe that is why I naturally chose computer science as a major.
After my graduation, I had an opportunity to work in NC before going abroad to study, instead of serving in the military. It was not long after Unreal Engine 3 was launched. At the time, I was responsible for development of computer graphics and the engines that would enable them. While working in NC, I developed my personal interest in computer graphics and could study further through selecting computer graphics as my major in graduate school.
You Will Be Good at The Things That You Find Interesting
Throughout my career, I have not struggled much, and that is because I have enjoyed my work. Since it would not be interesting anymore once I stop growing, I have also made efforts for self-development. If you take a look at the people that develop game engines, some of them are interested in creating game contents, while most of them keep digging into game contents, wondering what is behind such content, develop interest in game engine development, and choose it as their career. Only if you are interested in something and find it fun, you will make your best efforts and will be good at it. I feel greatly rewarded when users enjoy the games that I had a great time developing.
Things Get More Interesting Once You See Yourself Grow
As I develop my career and am promoted to higher positions, I get to spend more time making decisions than carrying out development on my own. The amount of time that I spend carrying out development and finding pure joy has decreased. However, R&D is meaningful only if you could materialize the research result and put it to actual use. Whenever I have time, I participate in engine development projects and collect the data necessary for decision making.
I try not to miss the trend in the industry. I keep reading the papers in the overall field of computer graphics. In addition to Unreal Engines, I also keep looking at the trend of the engines in other games. Information like the strengths of a new technology, the speed of users’ adoption of a new engine, and the length of the period of use is very valuable. Actually, the most important thing is not just to read those papers, but to collect the insight that the technology ‘would be needed in our project.'
I Will Not Miss the Opportunity for Growth
Recently, ray tracing has attracted much attention in the field of rendering. This is a technology that was used in the field of offline rendering, such as movies, and is now being adopted in the field of games. As AI technology advances further, an increasing share of work in game development would be automated. In that case, the volume of game contents may increase very much. In the future, the scope of expression in the worlds inside games would be expanded, get bigger, and change faster.
My ambition is to better integrate the overall pipeline in game development. I hope that artists and designers would ask questions about ways and technologies that will help them to improve visuals and that I could teach them about better technological options. I believe that quality would improve only if a person has the will to improve. In the past, I would not participate in interviews and would also feel embarrassed. However, I will say “yes” to the opportunities for interviews in the future if they would help me grow further.
*The opinions expressed in this article are those of the interviewee and do not reflect the official position of any of NCSOFT.