Monday, February 22, 2010

Lighting models for games II

Alright last time there was a lot of dusty theory of light that we had to cover. This time we will get down with the more practical side of modeling the effects of the light and actually look at the visual effects. For these examples I will use a model from one of our projects at TheGameAssembly.

I have to mention now in the case of artists watching this that most of the maps here has not been properly artists tweaked in fact I am working with none final content. Besides this I have tampered around a bit with the maps to make the effects I am trying to show more obvious.

Monday, February 15, 2010

Lighting models for games I

This is going to be the first in a series of lectures focusing on covering some lighting models for games and also the actual physical properties of light and materials they are based upon. We will also work with examples booth from real life and from a simple engine using some art courtesy of the students from TheGameAssembly.

But for this first part we will be focusing our attention on the different properties of light and actually understanding what is happening in the world around us. As in the end this is what we are going to try to simulate in the computer.


Hello and welcome to Game School Gems. The goal of this blog is to collect various gems (short and useful techniques) that I have come upon during my 12 years in the game industry. It will be things that I either find important by themselves or things I have noticed an extra need for in my students at TheGameAssembly.

This blog is not intended to be an online game curriculum, there are things I won't touch simply because I can't make a meaningful explanation of them without going over a lot of updates. I feel it would be incorrect to monopolize the blog for half a year to cover linear algebra in depth for example. The focus is on finding gems that are directly usable and can be explained well in below 50 pages(my current max limit for a subject and I hope I can keep it).

In the same way this is not intended as a course literature for TheGameAssembly either, for those of my students that does find their way here you will notice that though you will find the same subjects in my classes the way they are discussed here is in much greater detail. This is because this is meant as an online learning resource, I can't have the same expectations of everyone who reads this one as I have for my students that are excepted to fill in a lot of this information on their own to learn practical problem solving which is one of the basic programming skills.

That however is a different path that can be taken but for now I am just trying to get this knowledge out to as many people as possible so that I in some small can way give back all the things I learned in the industry and also hopefully rising the lower bar for what knowledge we can except when getting job applications.

Basically this is a site for you to learn those gems and in order for you to be able to do so I have gone to great lengths in trying to make the explanations complete but there will always be material for you to fill in.

If anyone wonders who I am here is a short introduction:
My name is Niklas Hansson and I started working in the games industry back in 1997 when Massive Entertainment was founded. Back then I was probably a lot like you guys reading this, I was young and interested in programming and computers, The difference is that back then it was almost impossible to find information about games programming there was some books and some BBS:es but internet was just in it's birth even though #coders on efnet contained alot of really bright people from the demo scene.  I am doing this blog to help other people in the same position i was in back then to make the same transition from a hobbyist to a professional. I worked at massive for 12 years working as the Lead programmer on booth Ground Control II and World In Conflict. I handled the hiring of programmers for massive during my last 5 years there or so, I also worked on the original Ground Control and other projects.

When working with hiring I often met bright young people who sadly hadn't gotten the education they needed to work in the industry this lead me to at last in 2008 to leave my position as Software Development Manager at Massive to help with launcher what was then known as theGameAcademy but turned into TheGameAssembly due to legal reasons. For now I have worked there as a teacher for almost two years learning how to put my practical know-how into knowledge that I can pass onto my students.

So now I finally feel ready to move on to launching this blog to reach an even greater number of people. I have had to make so many people sad that they didn't get their dream job so now I want to help you to make your dream true just as I did.

Well this sounds cheesy but that's the bottom line and that's what this blog is all about. I hope you find it a useful source of information. Also you can suggest topics you are interested in during my Career I have been lucky enough to work within many different disciplines of game development so I can write about most things.  But if you don't send in suggestions the blog will probably mostly be talking about the subjects we handle during the second year of school.

Updates should be released weekly on Mondays.