Wednesday, 2 April 2014

Curtain Call

So this is the last blog for the class, 10/10 (probably wouldn't read again), the big finale...I know that in the past I've generally tried to talk about stuff that I find really interesting like Finite State Machines or Valve's water shader but I'm not going to take that approach with this blog...Nor will I play it safe and talk about some topic we were taught in class and just repeat everything that was said with maybe a few additions. Instead I plan to do two things in one today: I'm going to do a review of my own and talk about myself!...By that I mean I'm going to talk about what I've learned, what I plan to do/learn and if I feel I have the time then talk about why I plan to do it.

What I learned in class
So let's talk about the fun things that I've learned from this class as well as from what I've learned doing research because of the class. To start things off, FBOs are a fantastic concept to me. They can let you do so much and can lead to some pretty interesting stuff. The flexibility for things like Bloom, Thresholding and Tone-mapping are fine examples of what you can do with FBOs and reasons for why I'm quite glad to have learned them!

Another topic is Normal Mapping. The fact that they allow you to get much more out of lower-resolution models is fantastic as it gives you a similar quality of visual without putting as much strain as on the GPU and you can load in models much faster! The idea behind normal mapping also gave way to a few other ideas early on in the term so it had the nice side-effect of sowing the seeds for some of my other ideas.

Next up is reflection, this is pretty easy as it's just rendering the scene from a different point of view but it can allow for quite a bit of flexibility (i.e. Mirrors and water surfaces among other things).

Then there's also Fluid Dynamics, Implicit Surfaces, Shadow Mapping and Deferred Rendering which are all interesting topics that I've only had the time to read up on but not actually apply sadly...Though that will hopefully change within the next 12 months.

What I plan to do and learn
So some of this stuff has already been alluded to in previous blogs but I'm going to reiterate anyway. Within the next year I plan to apply most of the stuff that I have yet to apply, primarily Shadow Mapping and Deferred Rendering. I also hope to perform Mesh Skinning with Dual Quaternions as it seems to be the most efficient method at this point in time as well as having the least amount of artifacts. I also hope to learn Inverse Kinematics as it can provide a lot of useful features as evidenced by its use in Uncharted as we learned last year. I also hope to apply a few other techniques which we learned in class like Depth of Field and SSAO...Long story short, I want to be able to say that I completed every single question we were given for homework, even the insane upgrades.

On top of all of this I have two major goals: Getting my style of programming up to a more professional level where I can better manage memory and have it well optimized (ideally able to use DOD where it should be used) and I want to have started work on my engine without it looking like I stopped the moment school started up...Ideally in a years time I'd be past my lowest goal of a quarter into the development.

Why am I doing this? (Warning: Some of this stuff may get weird)
I'm sure this is a question that has been asked about me many times as I often seem to take harder paths than most (i.e. I set out with the intention of writing blog posts about everything BUT what we covered in class and last term I made a point of doing harder things like skeletal animation before we even got close to touching the concepts) and I've also shown a tendency for taking on more than I can chew. So why would I do all of this? Well, it goes back to two very simple questions, ones that I've seen quite a few students ask and be asked at one point or another: "Why are you here?" and "Why do you want to make games?" They're innocent enough questions and everyone should definitely be asked them at one point or another because it really makes you reevaluate yourself and your goals in life.

So what're my answers to that question? Well you see: Video games as a whole have done a lot for me in the past. They've picked me up when I was down and they've given me the strength of will to get past the obstacles in my life. They've also brought me close to a lot of people, many of whom have become like close family members despite the distances between us. They've done so much for my life and, knowing that, I can safely say that I want to do that for someone else. I could probably go on to talk about a lot more but there's a time and place for everything and any further statements may look like I'm trying to get some special treatment.

So why am I saying this? Well, in this current situation I feel that it's best to voice my personal motivations as it adds a layer of perspective to all questions that I ask regarding programming and game design. Suddenly all my questions about engines and such as well as choosing to look into topics that go beyond the class material goes from idle curiosity to goal-driven research that can help me out when I try to start my own company.

I hope you've enjoyed reading this long, dragged out post that's really just me ranting incoherently because I have sincerely enjoyed this class! In the end it has brought me one step closer to my end goals, given me a lot of wonderful information and experiences to draw on in the future and has really helped me improve drastically as a developer. Thank you for a wonderful term!

Until next term, cheers!
Cameron Nicoll

P.S. Managed to get this in 7 minutes before April 3rd, totally didn't make my closing statements from my last blog look like a lie!

No comments:

Post a Comment