Sunday, May 15, 2016

PluralSight Evaluation

The PluralSight Course that I decided to do was the course "Construct 2 Fundamentals by Jeremy Foster". I decided to do this course because I have a strong interest in making video games and have been interested in the program for awhile. So when I saw that it was one of the course available I decided why not try it. I watched about 2 hours of the course. This was enough to finish the game and I watched that much because I decided to do the tutorial as well as watch it. There was no available sample files for me, at least for my membership level, which is fine because I didn't feel like I needed anything at any point. As for PluralSight itself, I was thoroughly impressed with it. It was pretty easy to find a course I was interested in and I didn't have trouble navigating the sight. The only thing is I wish there was a list of programs that there's courses for. The Website also had a nice look to it, very pleasant to look at. The tutorial that I watched was very good as well. There was a few parts that the instructor that while some people might find educating, I thought we're a bit unnecessary though. He went into talking about how to go about your market and the various ways you can sell your game but I just wanted to learn how to use the program. The actual course itself was helpful and clear. Sometimes he went by a bit fast but I just backed up a bit in those parts (If only you could do that in real life). I personally would definitely prefer doing these video tutorials than packets. I find that a lot the packets can be very confusing in their wording. When you see a person do it and follow along it's a lot easier to follow along with whats happening. It's also just a lot more engaging in my opinion. If given a year access to this program I would definitely be happy and take advantage of it. I'm always looking to learn more programs, and more about ones I already use. So for me it would be very helpful. Like if I ever wanted to for example learn a music producing program or something similar. So in all, I definitely enjoyed learning this way. It's pretty cool that you can learn about new programs this way. It makes everything much more accessible and nice. Also here's the game I made if you want to play it yourself. It's pretty hard though so good luck.

Sunday, May 1, 2016

How CGI Works

This video was about how computer programs and math dudes were able to come across the various obstacles of creating realistic lighting and rendering through computers. Math and science are deeply connected to this video as all of the problems that needed to be solved such as shadows, reflections and refractions needed to be solved by using math equations that can be put into a language that computers can understand. So basically coding.
The first method used was Rasterization. This technique involved using projections to shoot through a grid system (being pixels) to detect where shapes were and to delete empty space to produce and object. This is different from Ray casting as that involves sending light through the pixel holes and looking for intersections. Rasterization was good at figuring out shapes but wasn't that greatest at actual lighting.
 This is were Ray Casting came in as it was able to find what objects were in front of the camera and which one were behind. The three major problems with these methods though were creating shadows, reflections and refractions. This was solved when ray casting evolved into Recursive Ray Tracing. This sent out different projections when collisions where made and depending on if it again made a collisions would decide how to shade the pixels based on lighting. The problem after these methods were in effect was figuring out Indirect vs Direct illumination.
 While Indirect is decent at creating the general lighting it does not account for the other sources of lighting, because in the real world light bounces everything. While rather direct lighting accounts for all the other various sorts of lights. This creating an issue that wasn't overcomed until an equation was made by James Kaiyja to combat this. This equation basically had to figure out which lighting factors would be affected by what. While this equation didn't handle transmission and sub surface scattering that well, it was still a start of a better representation of physics which is still be improved on today.
 There are also two laws that were hypothesized because of these advancements in computers. One was Moore's Law being that the number of transistors in a dense integrated circuit has doubled in about every 2 years. This meaning that rendering sees a sizable improvement give or take in this time frame. Then there is also Blinn's Law being as tech advances rendering time stays constant. While this might seem obviously false at first what it really means is that the better our tech becomes, the more we push the limit of what it can do, further and further.
 These two laws relate heavily to the topic as advancements are being made constantly in the CGI field and the people at the helm are never going to stop pushing it's potential.
CGI is a massive tool that isn't slowing down at any point soon. But even though it's amazing what it can do, I wouldn't say it's that different from any other art form. When it started it was very foreign territory and it took talented people to push it to the main stream. And it's still being pushed to this day to reach it's full potential. And I think any art form is like that being that there is a constant flow of new people trying to figure out mathematically and scientifically what can be done to improve it.