Oh man check out how awesome Unreal Engine 4 is! So, I was finally able to finish up the lighting for the level that I've been working since January. I'm basically using 3 spotlights in this scene. The glass door you see in there is the same one I blogged about earlier. Its the one where I added an opening animation using a trigger box. At first I had the two spotlights on the wall set as 'Static' but that caused the engine to only use pre-baked lighting and thus looked blocky. I changed them to be 'Stationary'. I guess the other thing I learned from today is how the engine can build the lighting for the scene using different levels of quality. From preview, low, medium all the way up to production level. This scene was rendered using the production setting.
I haven't been able to play around with the engine and finish my level because I have been extremely busy during the couple last weeks. Both personally and professionally. At work, for example, I was assigned a tough task that involves designing a threading architecture to process terrain for a Terrain Awareness System (TAWS): A terrain engine pipeline in essence. That has kept my busy and I'm close to have a working prototype but on top of that I'm taking a DB class this semester towards my masters. Moreover, in order to be able to work on the first project assignment for this DB class I had to become well versed in SQL and that required going over the SQL learning curve before even been able to attempt solving the first query in the assignment. With that project assignment out of the way, I hope I'll be able to catch my breath while the professor releases the next project assignment which is going to be a java programming one. In teams! Its going to get intense pretty soon...
In the meanwhile though, I was able to finally finish reading Game Engine Architecture by Richard Lemarchand and I got to say I'm very satisfied. I think its the best jumping-off point for further learning on the theory and software engineering practices behind a modern Game Engine System. This book explores the various subsystems and the software interfaces that comprise a game engine such as the rendering engine, the collision system, the physics simulation, character animation and audio engine. And it does this at great length without becoming boring. Furthermore, there are code snippets throughout the book to illustrate the various algorithms and data structures discussed. I found these to be very helpful for better grasping the concepts. Last but not least, the author provides software engineering insights, best practices and tips at every corner. Which is great because that's one if the reasons I've decided to embark in this game engine exploration adventure: to learn more about the best software engineering practices out there. Did I mention that the author has earned his stripes in the game development community? He was involved in the development of Naughty's Dog The last of us... So inspiring! This makes his insight and suggestions even more valuable (to my eyes). I can only dream of the day I become part of one of those elite game development studios out there.
In conclusion, I highly recommend this book to anybody approaching game development from a software engineering perspective. With the knowledge gained from this book I feel more empowered now to keep learning more about the Unreal Engine and eventually start messing with its source.
I'm a software engineer with a passion for computer graphics.