Sunday, December 11, 2011

And we cut to intermission...

Hello y'all,

I finally completed all assignments for this semester. Now all that is left is to do exams. Since last week, I worked like crazy on my group's GDW game, marketing projects, and the Game Engine Homework. Thankfully the GDW was a great success, my marketing professors enjoyed my groups' presentations, and I nabbed all 65 exp. points for Game Engine Design. Before the GDW was due, I was working on a Particle Tool as per requirement for the GDW. Unfortunately I was not able to fully complete it, as it lacked RGBA adjustments. In case you don't know, RBGA stands for Red Green Blue Alpha. The first three colours when mixed create more or less the entire visual colour spectrum, depending on the value of each colour variable. Alpha represents opacity; the higher the value, the more opaque it is - the lower the value, the more transparent it is. After the GDW, I figured out how to integrate RGBA in my particle tool, and then submitted as part of my Game Engine Design homework mark. This brought my experience points from 35 to 50, giving me 100% of the homework marks.
This is my particle tool upon opening it. Simple grey texture with no effect applied. We can change that!
In this picture, I increased its red value, and decreased its green, blue, and alpha values. I also increased each particle's lifespan, speed, and size. Finally, I changed the direction of the emitter. Hmm... looks like a candle light!!
In my particle tool, I have three versions: point emitter (like the pictures above), planar emitter (like the one shown here), and air emitter (where all particles float around in the air). My particle tool has a feature where I can save a particle's attributes and load them whenever I want, even after I close the program. A few days ago, I set up my particles to look like mist in planar mode, and then saved its attributes. At the time of writing this post, I loaded up the text file by pressing a single button, and voila, my mist effect is back!!
However I was able to gain an extra 15 points, for a mark of 130%. I had two options, do three easy questions for an easy 15 points, or do one hard question and actually learn something that may be beneficial for studying for the exam. I chose the latter. The hard question I chose to do was a Normal Map Shader, that essentially makes a 3D model look more realistic. It proved quite difficult (hence why it's a "hard" question), and asked the professor for help. Unfortunately I was unable to complete it in time, however I did learn the theory of it quite well. Before I left with the 50 points, I approached the TA of the course, and showed him how I knew how to code the rest of the shader, but didn't have enough time. The TA then told me that although he cannot give me marks for it, I could do three easy questions quickly. I took the challenge, picked the easiest three questions, completed them in a matter of five minutes, and then the TA gave me my final marks. I quickly thanked him, darted out for the bus, and ultimately missed it. Oh well, I caught the next bus half an hour later, when I thought that it came every hour.
ARGH BUS, Y U NO WAIT?! :(
As for my final modeling assignment, I was forced to submit it incomplete. All I had to do was weight paint it (as in bind the model's skin to the skeleton I created), but it wasn't working the night before it was due. So I decided to go to sleep, and then ask the professor the next day (the due date) why I was experiencing my problem. I asked the prof what was wrong, he gave me information on how to work around it. The problem was that the model wouldn't go back to its bind pose (aka default pose) after I would move it. But he told me to ignore it, save the default pose as a separate file, and then export the skin weights to that extra file after I'm done weight painting. I also did another part of the assignment called "character sets", which I completed for the extra file, since I was to submit that. I ended up weight painting the whole body except for the neck and the fingers, as I was short on time. I then tried to export the weights, and that wasn't working, so I submitted the non-bind pose version. I then forgot that the character sets were on the extra file, not the file I was working on, so I submitted the extra file for the prof as proof that I have character sets. Hopefully he considers it!
This here's my level, which was part of my final modeling assignment. I created "character start" and "character end" locators in the scene, so that the GDW game program will know where the character starts and finishes the level. I also set up spotlights where the modeled lights are, in the scene.
Here's the final look of my model, Adolf Rothschild!! Although his weight painting isn't complete, and he has a small normal map error on his lip, he's come a long way. During the holidays, I plan to fix these small errors, and then I'll be able to fully animate him next semester.
Anyway, now all I have to do is study for exams, and after that, Christmas and New Years! Hooray!!
See you all next semester! =)

Sunday, December 4, 2011

Continuing crunch time... D'=

Hello everyone, everyone from game dev has recieved a week extension to our GDW project, as I expected. Once I heard the news, my productivity unfortunately dropped again. However it was restored when I realized that I have four assignments due over the weekend; Marketing Research group project, Consumer behaviour group project, Modeling level design, and finally the particle tool. Fortunately I finished my part for the Marketing Research group project, as well as for Consumer Behaviour. However I still have the other two to finish. My level is near completion, however I still need to do more work on the particle tool; which is the hardest part. Hopefully them all be done by Monday, which is the due date. Once all that is done, I'll have to present all three projects on Monday and Tuesday to the respective classes, complete my model's rig by Wednesday, and then nab my last 15 experience points for my game engine design homework by Friday. Currently I have 35 exp points, but my particle tool will constitute 15 points; so after that, I just need 15 points to get 130%. That's right, in actuality I need 50 points to get 100% on the homework, but my professor is giving us the chance to nab an extra 30%. What a nice guy!!... or an evil mastermind!!!!!!!!!.... yeah probably that. :)

Anyway, back to work! I shall make my final blog post for the semester after I'm done all my homework, and before I start studying for my exams. Wish me luck! :S

My level that I whipped up in a couple of hours.
I still have more work to do on it... and then I have to do the particle tool.... sigh.....
I hate procrastination so much, it causes me to endure so many sleepless nights,
yet I still continue to be its...... "you know what"....... :|

Saturday, November 26, 2011

CRUNCH TIME!!!

Hello ladies and gents! I was told last Monday that the GDW project was due in two weeks. I later found out that it was due THIS Monday. To make matters worse, I was behind in my work for my modeling course. "If you haven't created your model's skeleton, prepare to fail." Whew, at least I'm still alive... "Also, if you haven't painted your model's skin weights, prepare to fail". Oh no... Panic ensued Wednesday. Thankfully my bosses and my parents alleviated all my obligations for the weekend (after a plead of desperation, not a good way but anyway...) so that I can focus on helping my group make the GDW game. Since I was lost on how to do my modeling assignment 4, which consists of rigging my model (in other words, animating it to life), I decided to do my modeling assignment 5 (which is just painting its textures); then once I meet up with my modeling prof, I can get help from him in regards to assignment 4. Hopefully this will allow me to catch up.
This was my first shot at texturing my model for assignment 5. Creepy, eh? Don't worry, it looks much better now. :)
Anyway, now I'm with my group, since Thursday 2:00PM, working together on the GDW. Thursday night was late, Friday night was pretty much an all-nighter, and now here we are. We've collectively been working together, and Thursday was probably our most productive day. Some of my obligations (like save state and such) was accomplished by my group members, while I adopted the role of State Manager programmer from another group member of mine. It took me MUCH longer than I thought to code it, but I made sure that it was as error-free as possible, in order to prevent future headaches. Since coding the State Manager took all of Thursday and most of Friday, we suffered a bit of unproductivity on Friday, since most of the incomplete work could only be started after I finished the State Manager. But now that I finished the StateManager yesterday, I gave it to all my group members so they can wrap their work into my project. After teaching them how to use it, and help them wrap it from time to time, I started working on the shaders. I received a bloom shader from my game engine professor, but it was a stand alone program that was incomplete. So I wrapped it into my GDW program, and unfortunately runtime errors still arose. Since I was using the DirectX graphics engine to display the game's picture, I wondered if it were to work with OpenGL, another graphics engine. Although we were instructed to make the game in DirectX, putting the bloom shader into OpenGL worked! However, I still need to figure out a way to get it to work in DirectX. And create a particle tool. And figure out how to integrate animations, with the rest of my group. That's all on our plate currently... which is due Monday.... =S

FINALLY! A picture of team ProTester's GDW game: PIVOTal! In wonderful bloom visuals!!
Although my work is not very noticeable in the game at this current time,
it is still very essential, as it is the base of its code structure.
Anyway, that's about it for now. Hopefully we don't kill ourselves from sleep deprivation and eating unhealthy food. Thank you for reading, and until my next blog post, see ya! =)

Friday, November 18, 2011

Worries for the future...

Hello again!

After MIGS 2011 finished, I followed up with all people whose business cards I attained. Out of all the emails/tweets I've sent, Nels Anderson, Tom Salta, Dorian Kieken, Tristian Capacchione, Manveer Heir, Richard Lemarchand, and Jason Rohrer responded. Those people have now been elevated by a tenfold magnitude on my awesome people list.

Additionally I sent my game Happy Culture Shootout to Jason Rohrer and Nels Anderson after they showed interest in playing it. I was shocked, though I sent it to them with a disclaimer, explaining how it's not a racist game. I feel burdened that I created such a risky game, as many people received the wrong impression of it. Perhaps I should just pretend that I actually made no games in my past; maybe that will be better. Or perhaps I just need to make more socially-sound games to overshadow the misunderstood Happy Culture Shootout, well... once I find the free time to do so. Regardless, I hope their reaction to the game won't be negative, that's all I hope for.

Anyway, now that MIGS 2011 is in the positive memory bank, I've been back to working hard on school work (and taking the occasional Facebook/Twitter procrastination break, shame on me). On my list is an early exam for Marketing Research this Tuesday. Then I have two projects, one for that course, and one for my other marketing course, Consumer Behaviour. They are quite hefty research projects, but likely not as big as the GDW project. Then there's a group assignment for Project Management class due Tuesday (which I've done my part, but I may have to wrap up my other group members' work, who knows.), and then an unnamed final assignment for that same course. Then I had my Modeling Assignment 4's due date postponed to the last day of classes, where Assignment 5 and 6 of the same class are also due. I'm very behind in that course, so I've got to review the video lectures and catch-up; that may take a while. Finally I have homework for Game Engine Design, and must get to level 4 by the midterm. If I do that, I get 80% on the homework section of my final mark, so I must strive to attain a level 5. Heck, I'm able to get bonus marks by getting to level 6.5! But where is the time to do all of the above?! D=

NOW what about the GDW project? Well, much of its content is in regards to my Game Engine course so I might as well elaborate on that. So far I have made NO contribution to the GDW, unlike my group members. This is mostly due to my focus on other homework, MIGS, and procrastination. That's right, I never leave time to have real fun (like going out with friends, and/or playing video games) because I have "too much work", and then I end up procrastinating anyway. How ironic. Though I've realized that my life is actually near-perfect; the only thing standing in my way of it being perfect is myself. I am the last variable to unlock happiness mode, and so far I still haven't changed it. Hopefully soon I will.
I actually hate wasting time, i.e. procrastination; It keeps me from doing work,
which ultimately prevents me from having real fun, like playing video games
and hanging out with friends, like a normal human being should!
Anyway on my list for GDW is to make a Bloom shader, Bomb vertex shader (or enemy aura shader), scripting system (mainly to make animation controllers extensible), a versatile save/load class, AND a tool. I have to make a freaking tool, and I have only two weeks to do it, along with all the other work I have to do. Plus exams? This is going to be hell. Plus I hear one of my group members having trouble with making a Game State class. I suggested using the components method taught in class, but he said that it appeared to be difficult to integrate into code, and that we'd be better off just doing regular inheritence.

Oh man, the component method. Apparently rather than doing inheritance classes, there's a design pattern where the programmer makes a base GameObject class, and has an array of pointers to a base class called "component". Then component have have many derived classes, but only one iteration of derived classes. So now a game object can have the features of a car, plus the features of a boat, plus the features of a plane, etc. This is a lot more versatile and extensive than simple inheritance, having to make a car class, then a boat class, then a car-boat hybrid class; it becomes annoying. This is at least my understanding of it. I have so much more studying and refreshing to do. Oh the woes of a university student. Then I think, is it going to be any easier when I get an actual job in the game industry? If not, I really have to get my ass in gear and become an adult ASAP. Also when I mean become an adult, I mean to be more responsible, more independent, more confident, and more mature. It's scary to think though, because a few years back, I was just a kid in high school. It's like life is moving fast, too fast.

Anyway sorry that this post is quite short compared to my last three posts. It's because I made those posts way too friggen long. Now I'm reverting back to medium-length quick posts, so that I can focus more on doing work. See ya next week! :)

Tuesday, November 15, 2011

MIGS 2011 Day 2

I woke up early in the morning for MIGS Day 2, all psyched for Jason Rohrer’s presentation. Unfortunately I didn’t get much sleep the night before, as I went to the MIGS party, but left early as it felt boring to my friends and I. Unfortunately we walked out when Richard Lemarchand walked in, as he was the life of the party, giving out free copies of Uncharted 3, and doing crazy dances. Tis’ a shame that I missed it. Afterward I went to a bar with my buddies, and had a couple of drinks. Suddenly a drunken hobo approached our table and asked if we were trying to look like the band Linkin Park. I thought this man was balls off the wall. Then he leaned closer to me and said that my hair looks just like some band member’s hair, as he touched it with his grimy dark hands. I knew it immediately, “Yep, I’m taking shower once I get home”. So one of the guys and I left the table and ran back to the hotel (while the others stayed back to drink some more I guess), I took a shower at 4:00AM, and then woke up at around 7:30AM. 3.5 hours of sleep, yay!
If this guy was the hobo, he'd be my best friend. Otherwise please don't touch my hair, kthnxdude.
Anyhow, my lack of sleep didn’t steer me away from my excitement to see Jason Rohrer, the first game developer to invoke an intense emotional response from me after finishing his game, Passage; and to boot, it’s only a five minute game! Passage was developed as an “art game”, and art games focus on conveying a message through the medium of interactivity. Many people (myself included) consider Passage, among many of his other games, to be works of art. I believe this ideology marks the beginning of a new era for games, where interactivity is used to express a story/message/experience/art/etc, setting it apart from other artistic mediums like film, music, novels, visual art, etc. Unfortunately the game industry today is culturally known as some niche market, somewhat like the comic book industry. Today's cultural stereotype of game culture is composed of nerdy white adolescent/adult men who like to sever their relationship with society and hide in a dark room to play games.
THIS IS AN OVERUSED GOOGLE IMAGE!!!
Although Jason Rohrer is a pioneer in the design shift, he too changed his outlook on game design once again, noting that a game must contain the right amount and degree of challenge to keep the end-user captivated in the game world, and then will the game have the capability of invoking a more profound emotional response.
Jason started off mentioning Call of Duty: Modern Warfare 2's enormous success, but illustrated on his presentation slide how it pales in comparison to blockbuster hits like James Cameron's Avatar. Then he brought up other films of the distant past (like Gone with the Wind), compensating inflation and world population, and found that Call of Duty looks even worse. His point was not to bog down the celebration of the industy's rise, but to tell everyone "not to celebrate our conquest of the mainstream just yet".
Apparently 1 billion viewers watched this movie when 2 billion people existed.
He then brought up the different game design critics. One of the people he mentioned was movie critic Roger Ebert, a man who initially believed that games can never be a work of art. However, as time went on, his opinion changed to the belief that it may be possible for games to be art, but still believes no games today can prove that. On an ironic note, Jason mentioned that before Ebert was a movie critic, he was a game reviewer. However, the primary individual he spoke of was Tom Bissell, as Tom recently confirmed that he will no longer play video games. Rohrer added that he currently knows no one (other than himself and his friends in the game industry) who plays games. "Why is that?", he asks. He then mentioned what he apparently normally states in his presentations; there’s a "cultural line in the sand", and some mediums fall above or below the bar. Above the bar are critically acclaimed movies, books, visual art, and even The Beatles representing rock and roll. Below the bar are video games, and other mediums that haven’t been universally accepted as a social norm. He hopes for the game industry to cross this line, but how? Perhaps creating more art games will do; he brought up how his game Passage caused some people to rethink the capabilities of game design. However, he quickly added that many critics stated that Passage is boring, and that it’s difficult to please everyone. To boot, he expressed a new belief in that the "art games movement" is dead, if not, dying. He believes that the art game movement (including his work and the work of Tale of Tales) is going about it the wrong way, as such games are boring.
Tom Bissell is not amused at the recent progress of video games.
So he took a dive into what constitutes boredom. He said plot is a good way to keep people interested in passive media like film, however we need more than just plot and interactivity to keep people entertained in active media like games. That's where challenge comes in, and as long as it's done right, it can push artistic boundaries. Then he explained today's paradox in the game industry, where games "need to be more accessible and easier", and brought up a picture of a female senior playing Wii. When there's no challenge, the game's tasks become "busy work"; a chore, if you will. He compared this paradox with the avante-garde filmmakers who resisted plot. Now those filmmakers embrace plot, and are experimental and expressive with it. The same scenario goes for games and challenge; "We need to be inventing new challenges that complement what we're trying to express."

I did nawt resist plot! I did nawt... o hai Mark.
However, he notices that game developers seem to have a broken approach to challenge; either making it feel like task-oriented chores, and/or repetitive. One example he brought up was Kane & Lynch 2 on the hardest mode. He would play through the same path, same cinematics, die and respawn at the beginning, etc. He tortured himself through this process ten times before switching to medium. Then he brought up how Bioshock creates a false veil of engagement though its Vita-Chamber system; if the player dies during the game, she'll warp back to the vita-chamber without enemies respawning. Personally, I figure that the challenge there would be to finish the game without using too much time. So Rohrer experimented by using the weakest weapon in the game (the wrench) to get through the first level and defeat the first boss. It took a while, and lots of respawns, but he made it. Jason added that although he played Bioshock before and thoroughly enjoyed it. Not having played Bioshock myself (as I plan to purchase a PlayStation 3 when my wallet can do so), I'll take Jason's word that it sports a false veil of engagement, but I have a hunch that its engagement holds true because of the aesthetics and theme of the game coupled with smooth non-tedious gameplay; like a fresh new roller-coaster. There's little true challenge, but it's fun as hell, and they managed to pull it off.
Apparently this eliminates challenge, but it allows Bioshock to be a fun roller-coaster ride!

Afterward he went over games that handled challenge properly, like Far Cry 2, Demon's Souls, and most important (to me anyway), Minecraft. I must say that although I'm not an avid Minecraft player, I find its mechanics, and more particularly its dynamics, incredibly intriguing from a game design standpoint; and to wrap it all up, its aesthetics naturally compliment its system. Anyway, what these games share in common is the "freedom of approach" method, where players create their own path to accomplishing a certain goal.
You can make pretty much anything in Minecraft, thanks to its genius mechanics.

Another batch of games include Super Meat Boy, and Flywrench, which Rohrer deemed as "microchallenge games". Their challenges, albeit difficult, are broken up into tiny chunks, no lives limit, and respawn the player right before the challenge at hand. "That allows you to have this tight, rhythmic loop... as a result, you become so good at controlling these games". It gives the player a great sense of accomplishment. Now give it a sound jingle, and it all comes full circle.
The "World's Hardest Game" also fits into the microchallenge category. It's a very fun game, and that wouldn't be true if you had to start the game all over again when you lose all your lives. The Green spaces are checkpoints throughout the level. It gives the player a great sense of achievement when she reaches the checkpoints, and especially when she completes each level.

To be honest at this point, I've been looking at the Gamasutra article for reference of this blog post, however I noticed that it didn't cover everything. So I'll mention the rest that I remember.

The final batch of games he mentioned were ones I couldn't remember, but I think one of them was VVVVVV (a game I haven't played yet, yes I'm terrible). Anyway, he called them "renegade games", where their levels change every time the player starts the game up. It actually reminds me of a game made by a group of fellow classmates of mine called "When You Wish Upon A*" back in second-year; a racing game where the race track would be completely different every time the player restarts the game, thanks to the A* pathfinding algorithm. Very creative way of using a pathfinding algorithm, and their game kicked ass, unlike my crapsterpeice Desert Racer, which you can see in my earlier blog posts.
My second-year GDW project Desert Racer.
...
At least it's better than E.T. the video game!! :)
Finally he ended off on a somewhat pessimistic note. He went back to comic books, stating how their apparent challenge is to figure how to read it, especially if you're reading it to child; linearizing a somewhat nonlinear layout, if you will. This is what makes comics somewhat frustrating to get through, and is not as passive as watching a movie, or near-effortlessly reading the visibly-pleasing words of a novel. Perhaps this is what is keeping even the most critically-acclaimed active media below the cultural line in the sand, while keeping many passive works above. He said something like that I think, and that was it. I honestly felt that he ended off his presentation on some sort of cliffhanger, but remember that he too is currently in the pursuit of bringing the game industry above the cultural line. So I guess it would only make sense not to come to conclusions as of yet, as he has only given us his hypotheses of what may help us achieve our goal - hypotheses which root from his recent analysis of game design, and built upon his previous beliefs.
Speaking of cliffhangers, this is the last frame of Reboot.
I still hate you, Megabyte.
Oh yeah, and I lied; I also looked at this article for recap. Hopefully the video of Jason's presentation will be posted up on YouTube soon. If it also contains my embarrassing question at the end, I'll definitely post a comment on the video admitting that I was the dumbass who asked that question. What was the question? Well I deleted it off my phone, but it went something like "How do you find the most effective blend between art games and traditional games?" He responded with, "Did you not just listen to the entire presentation I just gave?" Then I oops-ed. I then asked him another question about his thoughts on the Legend of Zelda franchise (My favourite game series). From what I remember him telling me, he told me that it's a great series, and does what every typical major franchise does, more of it is made and released; as Nintendo is already releasing its 15th installment, Skyward Sword. He then said that if he did what Nintendo did and make Passage 2, he'd also be rolling in it. Personally I can't really visualize Passage 2. Hmm...
Snapshot of the action. I added the speech bubbles.
Photo credits go to Daniel Buckstein.
Following Jason's keynote was Alain Tascan's presentation. Alain basically went over how trends in the game industry are tending to move toward smartphone and tablet devices, and are slowly moving away from mainstream consoles. He then mentioned how his company "SAVA Transmedia" is working toward hiring more female workers. This really sparked my interest, since I feel that in order for this industry to progress, it must include people who don't normally play games to make games. This includes women in particular, because they can be found all over the world in all cultures and backgrounds, and ultimately hold different mindframes, perspectives, and thinking skills from men. In order to reach true success, both men and women must be on the team. So far we've got the male part, now we need females. So I asked Alian how to attract females to joining the industry like he has. Then a troll from the back shouted "Just look at him, he's a sexy man!", and the crowd chuckled. Then Alian explained that most of his female workers work in the arts and animations section, since all companies have to do is look at schools like Sheridan College, and pick up artists/animators from there. Since those types of schools are balanced male and female, it's easy to pick up female artists/animators to work on games, since their expertise is versatile; it can work for games, 3D animated movies, 2D animated movies, etc. However, the real challenge is to convince women to become games designers, as that's where the real crux of the game is created. I thanked him for his helpful information. It makes sense, we can't really expect women to jump on board the programming bandwagon as most females dislike math and programming (Though there are some girls who are totally skilled at it no doubt! But not many.), however they totally would suit being game designers, allowing their creative minds to have near-total freedom in the realm of interactive worlds... well as they long as the programmers are able to code their ideas. Constraints are always involved.
What if these girls made games? I know some of you guys may cringe at the thought,
but think, when have they ever been given the chance?
Afterward was Alex Parizeau's experience with managing "Monster Teams" on projects like Splinter Cell and Rainbow 6. I remember him mentioning setting tiers for project managers, all managing different aspects of each project, with a head manager on top; sort of like a basic project management grid. Then he went over that culture is very important, and zzz...
Yep, I dozed off. Was it because it was boring? HELL NO! It's because my lack of sleep from the night before caught up to me. I was so embarrassed and disappointed that I moved to the back of the audience, and continued dozing off there. I didn't even approach Alex for his business card at the end of his presentation out of sheer embarrassment on my part; and to boot, he's even from Ubisoft Toronto, which is probably the closest game studio there is to where I live. There goes my chance of getting my name known at Ubisoft Toronto. Plus, his presentation was very informative and interesting. Curse you sleep deprivation!!! Well at least I asked a classmate of mine if she could upload the notes she took of that presentation so that I could see them. One other thing I remember Alex mentioning as a strong point was "NOT to execute the plan until the design has been fully completed and agreed upon by all members of the project!".
I, among many students, lack sleep.
After Alex's presentation, I went to see David Anfossi's presentation on how he managed his team to create Deus Ex: Human Revolution. It's important to mention that this was Eidos Montreal's launch project! Making a high-scale game as their first game project was no easy feat, and David's postmortem exemplified that. It took his team four years to make the game, and in the beginning, the team only consisted of himself and a few other core members. He admitted it was his most challenging project. His team decided to make Deus Ex as a means to build an instant reputation for their team across the industry, and to attract talented game developers to join the project. It started from the team, he said. They know how they work best, they are the experts, so there's no need to force them to work in a specific pattern that may be detrimental to their production. Rather than delegate tasks to each member in a "do this, do that" fashion, they collectively worked on defining the theme and ambition of the game, which motivated team members. They didn't strive to make "an action RPG", their main goal was to "revive Deus Ex". The studio then played its previous installments in order to increase their familiarity with the essence of the series. They also used other works for inspiration, including Ghost in the Shell, and Bladerunner. With that, they analyzed what worked/what didn't, and set out to fix the percieved flaws that may have prevented the series from gaining a wider audience.
The Eidos Montreal team played the first two Deus Ex games, and watched sci-fi movies like Ghost in the Shell for inspiration. This was to ensure consistency with the theme of the series, and to build upon it.

Before the project was executed, David opened a forum to fans of Deus Ex for feedback, and many of them said things like, "Don't &%#@ it up!", and "Warren Spector's not on the team? No thanks!". With that, he chuckled that it was difficult to get constructive feedback from gamers. Although it's good to keep in touch with your consumer base, there's a particular time for it. He also stressed pre-produciton iteration, and that it's best to perfect them before integrating them on "the big machine". They also made three vertical slices to test the production pipelines before actual production. This was all done to ensure minimization of future error by the time production rolled out.
The protagonist of Deus Ex went through  many many iterations before his final look.
Eidos Montreal ensured this before project execution.
During production, David stressed that frequent meetings with team members were crucial, as it fostered stronger communication and ultimately ensured that the vision was consistent between members. When playtesting came around, he strongly advised his subordinates to "Listen to gamers. At the end, they are the final consumer." One of the most important parts of building a project is continuing to keep a positive relationship with the publisher. Picking a good team will generate results that gain a publisher's respect. However nothing is perfect, so the developer MUST be completely honest with the publisher. "No bullshit" he said. If the team cannot meet a deadline, the project manager must immediately let the publisher know, and "fight for the team" if needed. Finally he left with courage, team-spirit, and passion; as that will make the difference between an 85 and 90 rating. His team's game in the end achieved an 89. Wow!

Thank you Gamasutra again for the recap!
Congratulations, Eidos Montreal!!
Second last presentation was by Nels Anderson, who is pushing for 2D game popularity, especially among breakout designers. He mentioned mechanics, dynamics, and aesthetics, and how they all need to compliment each other. Mechanics are the hard-coded gameplay. Dynamics are the way the player uses the mechanics to express herself. Aesthetics are the game's visual and auditory theme. The game's mechanics invoke player dynamics, dynamics work within the aesthetics, and finally the aesthetics compliment the mechanics. He then went over how in a world of 3D games, 2D games made today have a different reception than they did back when 2D was the norm. Today, people don't know what to expect from 2D games, and now they can be used as a means to create new experiments - since the expectations of high-end graphics doesn't exist for 2D games anymore. 2D games are a wonderful medium for indie developers to start on. To add to Nels' information, I can easily see 2D games to fit in with the triple constraint (time, scope, cost), and will exude the game's design as the primary focal point - not its graphics or other high-end technology. I also remember Jason Rohrer mentioning that 3D is just a presentation choice, and doesn't constrain or enable particular game mechanics. "3D means you need to develop about 6x as much content (instead of one visible surface on a tile, a cube has six visible surfaces)". Thanks Jason, and thanks Nels!
Cave Story came out during the so-called HD-era of gaming.
Does Cave Story represent that? Not at all. Is it a damn good game? HELL YES!!
Finally, the last keynote was done by Ubisoft CEO Yves Guillemot, who expressed his thoughts on the future of gaming. But in short, his primary message was to expand the social aspect to online gaming; more people will be interactive in helping each other achieve goals in games. The feat can be taken outside the console, an on mobile phones in a sort of cloud gaming feat. For example, if the player needs a particular sword for a game, she can ask all her friends on her phone if they have one to spare. Once she finds a friend willing to do so, she can download the sword's data onto her account, and then use it on the console. He also mentioned how the online system could work for Wii U. I then asked him if that is the true online system for Wii U that Nintendo is showing it around to developers, or if this is just a Ubisoft design rooted from the current knowledge we have of Wii U. He confirmed it was the latter. My friend Albert Milaim then asked, "Why has Ubisoft chosen to implement such a feature, when internet databases exist to help the player?" In response, Yves explained that the player can choose to do that, but he's certain that most players will instead talk to friends (given the implemented system of future social gaming) to work together in solving a problem. Although online databases will exists, as long as Ubisoft promotes social gaming on next-generation online systems (like Wii U), people will likely use the service. At least that's what I understood. The most prominent thing that occured that I last remembered was some snotty nerd who stood up and told Yves that his online system is "suspiciously similar to Team Fortress 2" or something like that. Everyone at MIGS groaned at the awkward scenario, and Yves started scratching his head. To be honest, I don't remember what he said, but I think it was along the lines of "we're not setting out to copy anyone, we're just creating designs from our house that will help catapult the game industry to new heights in the online sector". Honestly that guy was an ass for embarrassing Yves like that. He could have stated his thoughts is a more polite manner, saying something like "your concept seems similar to Team Fortress 2, is that one of the inspirations for the new online system Ubisoft wants to push?" That would have been much more appropriate.  Unfortunately I guess some people don't know how to properly conduct themselves in a socially sound manner. I know I've been socially eccentric in the past, and I've been trying to overcome it. But I guess such a goal isn't apparent in some people. I'm sure he didn't think of himself as an ass, but as a hero, however his comment unfortunately caused other people to think otherwise. I was about to ask Yves another question, but time went up even though crowd focus was on me. I was just going to ask if there's a future possibility of seeing Ubisoft characters like Rayman on the next Super Smash Bros. Oh well.
And to end it off, a picture with Ubisoft CEO Yves Guillemot himself!!
Photo credits again goes to Daniel Buckstein. Thanks bud, you're awesome!
Anyway that was MIGS 2011! It was a blast, met so many amazing people, and learned so much. Now I have to focus on doing my part for my GDW group assignment for school, and I have about three weeks to accomplish that. Not to mention other school work I have to do too. Oh joy. Anyway, until my next post, see 'yall!! :)

Sunday, November 6, 2011

MIGS 2011 Day 1

Before you read this new blog post, listen to this epic song.

That song was composed by Tom Salta, who was a speaker at MIGS 2011. He explained his story of breaking into the game industry as a game music composer, and the moral of the story was to network with many people. Unfortunately at the start of his presentation, the audio stopped working, which stuck him dumb as "how could you have a presentation on game music without audio working". He tried doing the presentation without audio, but immediately after the decision, he asked for an extra three minutes to get the audio working again, as it was working right before the presentation. Eventually he and a few helpers fixed the problem, and he was able to deliver his presentation - and what a great presentation it was. He explained that at the beginning of his career, he wasn't involved in the game industry. But as he played video games, he was captivated by how much emotion they invoked from himself and his kids, as such music reflected the struggling ventures of the character that the player steered. Notibly games like The Legend of Zelda: Ocarina of Time, Prince of Persia, and Halo. Eventually he decided to make music for games, despite not knowing many people in the industry. He later explained the notion of networking with people, and that early in the career, he drew out a network chart of people who he met through others. He also highlighted the "assholes", and explained that even though it sucks to meet them, sometimes they'll actually benefit you in regards to meeting other more important people. He added now that today we have services like LinkedIn and Facebook, there's now no excuses not to do this. When he composed the song for Red Steel (the song I asked you to listen to earlier), he acquired three Japanese girls to sing. Unfortunately for Tom, they sung just like any regular singer. He then asked them to sing in a higher pitch more like what one would find in traditional Japanese music. One of them laughed, saying that that type of music was popular 2000 years ago. He responded, "Yeah, can you do that?". The audience chuckled. This reminded me that when it comes to artistic works, sometimes content doesn't need to be consistent with actual fact, rather it needs to be consistent with theme, emotion, and feel.
Although Red Steel takes place in modern day Japan, its musical score was composed with a traditional Japanese theme to accompany the game's aesthetics.
Anyway, that was only one of many presentations I attended at MIGS 2011. This is my third time attending MIGS, and so far this was the best MIGS I've ever been to. We started off with a keynote from Naughty Dog co-lead game designer of the Uncharted series, Richard Lemarchand. He went over the improvements made throughout the series, and also made a side note that if an idea arises while the project is well underway, "put it in your back-pocket and save it for the next project". He also touched upon stories in games, and hopes that some day dynamic player-revolving stories will come out of the game industry. He calls Uncharted a "wide linear story", since although he acknowledges that the story starts from Point A and ends at Point B, much of the dialogue occurs during gameplay. He gave one example of such an implementation, and explained that his team worked very hard to program the AI of the NPC that Nathan Drake (the protagonist) was talking to, so that that NPC and camera system were syncronized with the dialogue. In other words, the NPC wouldn't veer off too far away from the player, and the camera system would also keep the player and the NPC in the picture as much as possible (From what I remember him saying). He also explained that if a cut-scene can be done through gameplay, do it; and gave an example from Uncharted to accompany that explanation.
I also took a picture with Richard Lemarchand. What an amazing gentleman!
Photo credits to Daniel Buckstein.
After that presentation, I attended a presentation called "Cardinal sins of programming" or something like that. Its content was incredibly difficult for me to grasp, and went over some programming content that I was very unfamiliar with. The only message I got from it was to keep all important data in a lump and parse it using an algorithm, instead of searching through addresses which increases loading and compilation times. Two-thirds through the presentation, I decided that the information was not benefiting me, and I left to another presentation called "brain dump" where a few people went to a podium for five minutes to explain some views of the game industry they had. Too bad I missed the majority of them, as I heard that the ones from the beginning were the best.

Following that was lunch, and I stumbled upon two French-Canadian gentlemen wanting to shoot an interview in a hallway. They asked me to shoot it for them, and I agreed to. After that, they asked if they could interview me. I was shocked by this and unprepared, but I said yes anyway. I explained where I am from, that I am a third year student at UOIT, UOIT game dev's curriculum, my own game dev portfolio (I said I made a couple of non-spectacular games, but it's a start), the fact that I am a Toronto Maple Leafs fan (as they did ask, and were disappointed by my response, lol), and mentioned my Twitter and YouTube channel. After lunch was Tom Salta's presentation explained earlier.
This is what people in Montreal DO NOT want to see.
Following Tom’s keynote was a presentation by Manveer Heir of BioWare Montreal. He went on to explain implementation of ethical scenarios in games. He first made a disclaimer that his presentation is not a means to confirm what will be implemented in Mass Effect 3, rather it is to represent what he feels should be implemented in games in the future. He then went over the story and ethics system found in Mass Effect 1 and 2, how ethical scenarios invoke player decision at particular discrete moments. He explained that although such a discrete branching story system (like a choose-your-own-adventure book) is a good game design method, it’s still not the ideal method of having a truly player-driven story. He gave a few ideas on possible ways to achieve this, some from his own thoughts, and others from secondary sources he sought; but disclaimed again that he doesn’t have the perfect algorithm to implement such an ideal game system, and is hoping that “a more intelligent person than he is will utilize his ideas to find the true method” or something like that. That sentence alone gives away that he’s a passionate and humble man, as I believe that he must be quite intelligent to analyze and create starter ideas on creating such a system. I’ve actually been thinking of how to implement such a system myself, even before his presentation; and a lot of his material actually supported and built upon most of my beliefs on how to achieve such an ideal system.
The morality choice system in Mass Effect is a step in the right direction, but is still limiting in regards to creating a true fleshed out ethical story system. without need to design every single scenario.
One method was to implement “messy systems”; systems that overlap each other and don’t work in a synchronized fashion. The outcome of such a philosophy will spawn many unique scenarios that revolve around player choices throughout every moment in gameplay. It will also eliminate the need to design and program every single scenario (which is what a discrete branching story needs), and allow a single design/program to encapsulate the endless amount of natural scenarios which are a result of this system. To be honest, it’s difficult for me to visualize such a system, however I would imagine that if each entity in a game has a bunch of variables that dictate AI behaviour, and change based on behaviour of the player, and behaviour of surrounding NPCs, then we would have a virtual world of unique characters and scenarios. Another method was to hide the “morality bar” to prevent players from making ethical choices solely for the sake of progressing through the game. He noticed that if a player starts off on the good path, in-game benefits can only be achieved by the player continuing on that path. Same thing goes for the evil path. The bar doesn’t reflect the human player’s actual ethical stance in life, instead it’s just used to achieve “gamer points” and improve a player’s in-game arsenal. Besides, can we really declare everything as moral or immoral in a black and white fashion?
Mass Effect makes use of a morality bar, but according to Manveer Heir, it is only used in regards to player advancement in the game, not in regards to their real life morality and stance on ethics. So his solution is not to get rid of it, but hide it from the player.
Then he mentioned how low-fidelity graphics can actually benefit the player’s experience with the game, as they paint vague pictures that require the player to insert his life experiences to fill in the gap. That method instantly reminded me of when I analyzed Jason Rohrer’s game Passage, which implemented such a method perfectly; as it did invoke a desire from me to put my own thoughts and emotions into the game, resulting in my output of manly tears. Ahem. He then gave us a scenario of The Sims, which is a player-driven game. Although it doesn’t have stories designed by story writers, it provides the base system of what could be the method of ethical choice-making by the player based on her real-life ethical values. What if the player is able to steal things from other people’s houses, and then sell them? Let’s say that there’s an economic depression and the player cannot find a job. Money goes down, the house is downgraded, etc, etc. Eventually the player still doesn’t have enough money to buy food, and the kids are constantly saying that they’re hungry, etc. Now the player has a choice to try to wing it, think hard about how to provide food for the kids, or steal. If the player chooses the steal, she may or may not get away with it. If she does, that sim will be in jail for maybe a few months, and then return let’s say after the economy recovers. Now the player will have much less friends, a constant watch by police, and increased hostility by surrounding neighbours.
What if you can steal in The Sims?
What if it could be for ethical or unethical reasons?
What if there are different accompanying outcomes depending on succeeding scenarios?
Finally Manveer explained what brought him to make the presentation he did, so he delivered another scenario that he actually was involved in with the game Fallout 3. In that scenario, there were a group of people affected by the radiation of the atomic bombs (or something like that), and wanted to get in to a hotel contained of healthy humans. The humans didn’t want them in, and the outcasts didn’t want the humans in there. They wanted to wipe each other out. So instead of wiping one or both groups out, he tried to make peace between them, and allow them to live in the hotel peacefully with each other. Mission complete. Eventually after completing a few other missions, he received a new mission, this time a part two of the scenario he explained before. He goes back to the hotel, only to find the outcasts inhabiting the hotel, and no humans are around. He then asks one of the outcasts where the humans are, and they said that things didn’t end up working out with the humans, so they wiped them all out. This angered Manveer himself, and he personally set out to kill all of the outcasts. He said that never has a game invoked frustration to that degree (as he worked hard to make peace between the two groups), and hopes that games in the future will hold more of these scenarios that invoke true player emotion. Now personally I don’t condone revenge and such, and like to promote forgiveness; but the point he was trying to make is that the scenario truly invoked his personal emotion, and that is what we need to strive to achieve from players in future games. He said that using the systems approach to ethical decision making (that he explained earlier) to invoke true thoughts and emotions of the player (like Fallout 3 did, albeit not using the system Manveer explained before) will be the way of the future of game story design, and is hoping that in the future he’ll figure out how to implement the system, or that a more intelligent person will. These are what I remembered from that presentation, and as you can tell, they're very important to me.
Manveer's reaction to the zombie-like people after they killed all the humans.
Coincidentally after Manveer's presentation, I bumped into Richard Lemarchand again, and he remembered my name (as the Mario cap I was wearing the whole time at MIGS helped everyone remember me, lol). We had a small discussion, told him that I go to UOIT, that I’ve been thinking of how to implement dynamic stories that Manveer was talking about, how we need more women and people of other cultures to present different mindframes for the game industry, etc. He then asked me if I made any games. I told him that I made two (since of what I made, what counts as a game and what doesn’t is kind of iffy), but they’re of poor quality. I didn’t want to give him the link to my polished 15-minute game Happy Culture Shootout, since many people I presented it to were offended by it. Although it consists of shooting transportation nodes to send people to Happy Land to end war and discrimination, some people got the wrong impression, thinking that the player’s shots are to kill them, and then deemed the game racist. Some were also offended by the stereotypical quotes of the people in the game when its intention was to poke fun at the actual cultural stereotypes themselves. Besides, the game was intended to be "the stupidest game ever created" as I was just trying to prove to myself that I can program a game in C++. So I left that game out. The other game I could have brought up was Desert Racer, which is the game I worked on for my second-year GDW. Since I had to rush the game like a madman (if you want proof, then read my second-year blog posts), it came out like crap, and I don’t know if putting it in my portfolio would be detrimental to my career. So I had to leave both my games out of the picture. Other games would include an incredibly glitchy Genetic Experiement which is a program Mathieu Comeau and I made for the international game jam back in January 2010 using OpenGL. I’d call it a simulation rather than a game. Although the game’s designs that Mathieu thought of were intriguing, I think explaining it would take up too much of the little time I had with Richard to begin with. So I just told him that I made two games. He then asked me what programming language I code in to make games, but I just said that I program in C++, forgetting to mention that I’m also skilled with OpenGL, and that I’m learning WildMagic. I then told him that I planned to make a game during the summer with a group of mixed men and women to present new ideas for game development, but unfortunately the project fell. In response to that, he told me to make a lot of small games, instead of trying to make one big one, so as to build my portfolio quickly, as I have little to showcase at this time. He also said that it’s great that I know how to code too, since a many game designers in the industry don’t know how to code. To that, his ex-coworker Philip Morin added that he teaches game design at a school to students taking a game design course path, and that course path doesn't require student to learn how to program; it's not often the case where a school teaches design and programming equally. Shortly afterward the conversation ended, and I went off to the next presentation.
Most people will likely get this wrong idea of this game, as I am not racist.
So I'm not going to promote this game much... :|
Afterward was a presentation by Lee Perry of Epic Games, who spoke about how prototyping your games using existing assets is a better way of conveying design ideas to other people, rather than write long walls of text about your game ideas. To design ideas for Gears of War 3, he and many other people working on it used some Unreal Scripting language to take existing animations, models, and such to create new rough ideas, and sometimes accompany them with a much shorter design document. This allowed quicker production of the game as the protoyping only took around eight hours per idea, and it conveyed information a lot more conveniently, and more people were willing to see it; which resulted in many ideas being implemented in Gears of Wars 3. After his presentation, I asked him how I should prototype ideas if a particular game is a first in its series. He told me that I should use assets from the internet, for example clip art, animation files, etc.


Finally, I attended "building a studio culture" by Dorian Kieken of Bioware Montreal. Unfortunately I started to doze off a bit throughout the presentation, not because it was boring (as it was very interesting), but because I was lacking sleep. Although I absorbed most information, I had to ask some friends of mine what I missed to make it all come full circle. Dorian spoke about three crucial things: Artifacts, Values, and another thing (but I know its definition). The "artifacts" that he spoke of were in regards to the aesthetic look of your studio, and mentioned that some studios have creative, unique, and visually abstract looks to them. It's only natural to assume that the artifacts need to compliment your company's values, much like how aesthetics in game design need to compliment the game's mechanics. Now the values are somewhat self-explanatory; the company has one or more beliefs that they publicly state. For Bioware, one of their values is to provide unique games that offer a player-oriented story experience. Now for the definition of the term that I don't remember, it's basically an intrinsic and subtle value that is unspoken of, but is naturally practiced though the very actions of the people. For example, if the CEO and other top executives strive to memorize and get to know each and every worker in the company, and such a venture allows everyone to feel like they're part of a family.
In the development studio, aesthetics, corporate values,
and underlying people practices shape studio culture.
Anyway, I realize that this blog post has gone way too long, so I'm going to cut it short. Next blog post will be about Day 2 of MIGS 2011, and what I learned from it. Throughout the trip, I recorded a small documentary of it, but since I was talking on the spot, my videos turned out to be boring. So in the future (possibly during Christmas break) I will do a video summary with small clips taken from the trip as means to show how MIGS looks like. In the meantime, I will finally start working on my portion of the GDW, which consists of implementing shaders and save/load state system into the game, as well as programming toolkits to help progress of the game; and that's not all, so I have a lot of work to do. Sorry for making this post so long, and hopefully I can pull off making my next post more concise.


Thank you, and see you next post! =)


Next blog post will start off with Jason Rohrer's presentation called The Challenge Renaissance.
Of course I asked questions, and of course I ended up making myself look like a fool! =P
References:

"YouTube Video." Photograph. Red Steel [Music] - Katana Giri Theme. Ubisoft, Web. 7 Nov 2011.

Photograph. Amazon.com: Red Steel: Video Games. Web. 6 Nov 2011.


"2010-11 Team Previews: Toronto Maple Leafs." Photograph.d072831039.jpg. Kevin Burgundy. The Score, 2010. Web. 6 Nov 2011.


"YouTube snapshot." Graphic. Mass Effect Tali and Ashley BOTH kill Wrex. BioWare, 2010. Web. 6 Nov 2011.


"telavasirparagon." Photograph.Mass Effect. BioWare, Web. 7 Nov 2011.


"Burglar." Photograph. Burglar - The Sims Wiki. Electronic Arts, 2009. Web. 7 Nov 2011.


Photograph. Design Rampage. Web. 7 Nov 2011.


"Bioware Austin entrance lobby." Photograph. TOR-Talk: Fan Site Summit II. Web. 7 Nov 2011.


"Jason Rohrer." Photograph. Game Developers Conference 2009. Web. 7 Nov 2011.

Monday, October 31, 2011

Post-midterm stretch, and getting ready for MIGS!

Good day ladies and gentlemen!

Sorry for making this post late, as midterm time was quite hectic, and naturally left me sleep deprived.

First midterm was by itself on a Tuesday, so I was able to study a lot for it, and didn't do too bad.
The second midterm was the beginning of the true midterm crunch time, as my two other midterms fell on succeeding days. To boot, for my third midterm (Game Engine Design), I was required to complete a certain number of homework questions to attempt it. Of that week, my midterms went well, but unfortunately my last midterm didn't go so well as I only was able to study for it the morning of, thanks to the other assignments and midterms due before. In fact, I was supposed to do my last midterm tomorrow, but I had to do it a few days ago since I'm in Montreal for MIGS at this time of writing.

Now I'd like to elaborate on the homework questions I did to be able to do my Game Design Design midterm. Here are many different questions to choose from, some more hard than others, and each has "experience points" weighted accordingly. One must attain 20 experience points to do the midterm, and 40 to do the final exam.

One of the questions asked me to create a program where the user smashes a pile of bricks by throwing a ball from camera point, using provided physics calculations from Havok. Another question required me to import a textured 3D model from modeling program Autodesk Maya, and be able to rotate it, pan around it, and zoom in and out. So I decided to blend both questions into one. The biggest challenge was to have the camera rotate smoothly, and to this day my software camera technology isn't exactly user-friendly. Regardless, this is how I did this in a nutshell:

I first put a pivot node in the middle of the scene, and connected it to another pivot node that encapsulates the camera. To visualize, a pivot node is basically a joint in a structure; in this case, a camera movement structure similar to film practice.

This picture is the best way to visualize my camera system. The first node is the joint between the legs of the stand, and the main beam. The second joint is at the tip of the beam, holding the camera. The camera itself is also able to rotate.
Whenever the user clicks on the screen and drags the mouse, a built in function of WildMagic (the software engine I'm using) kicks in, and gives me the coordinates of where the mouse clicked. To boot, there's another function from WildMagic that alerts the program when the mouse is clicked AND THEN moved. I used the first mouse function to track the mouse's position, and record its coordinates as "previous mouse coordinates". Then I use the second function (which only kicks in when the mouse and clicked AND held) to check the mouse coordinates again, and compare them to the previous mouse coordinates. I then subtracted the two points from each other to get a vector. In case you don't know, a vector is just a line that points in a direction. So I then take that vector, and the camera's direction vector (also provided by WildMagic) and then cross product them. If you don't know what that is... study linear algebra. If you don't care to learn about linear algebra... then just assume that it's some magical function from Math-Land.

Anyway, after doing the cross product of those two vectors, it gives me another vector which serves as the axis of rotation. In other words, imagine a string through a ball. The ball can rotate only around that string. That string is known as its axis of rotation. Finally, I get the first vector generated from the mouse points, and measure its length. I then use that length to determine the angle of rotation around the already generated axis. Since this whole calculation is conducted around 30 times a second, the length of the vector generated by the mouse motion cannot be too long, so I just convert its distance straight to an angle in degrees. In other words, in my function, 15 units = 15 degrees. Finally I put the axis and angle into a matrix. If you don't know what a matrix is, it's basically a grid of numbers that are helpful for mathematical calculations such as this. If you want to know more, then study linear algebra, as such material can be quite complicated. Anyway, I multiply that matrix by the original matrix the camera pivot has, and then a new orientation is achieved. So that's my camera rotation function! There's still some things I need to fix to get it working, but this is the outcome I have currently. There are some parts that are probably missing, as my function is currently not working perfectly, so please avoid assume that my algorithm is the correct way to do camera rotations.

Camera panning and zooming is a lot easier, as all I had to do was look at the camera's built in up and side vectors, and move along them depending on mouse distance along the x and y axis respectfully. To pan, the user must left-click (like how rotations are done), but also hold the "z" key. As for the zoom, it's the same thing, except it moves along the camera's direction axis, depending on mouse distance along both the x and y axis.

Finally, I textured the blocks and the terrain. I thought about what I should texture them as. After much contemplation, I figured this would be the best theme:

Yes, the background theme plays too, through FMOD.



The other question I had to do involved making a replica of our solar system, with the appropriate planets, textures, rotations, etc. So again I used the same camera controls as the other homework question, but with a non-interactive scene of our solar system. It is set up as a scene graph, which is like a rotational and translational heiarchy. You know that in physiology, the knee is connected to the hip, and the angle is connected to the knee; well the planets are connected to the sun, and the moons are connected to the planets. So when the sun rotates, all the planets rotate with it. When the planets rotate, their moons rotate. And the moons also rotate too, albeit nothing connected to them. However there's still something missing. If the program was executed like this, all the planets would rotate at equal speed. Sure, each planet rotates individually, but on their axis. In order to allow each of them to have different speeds, I had to add extra pivot nodes between the sun and each planet, at the sun's position. Each planet's extra pivot would constitute a different speed, hence resulting different speeds for each planet.

Also, the main theme of Super Mario Galaxy plays in this program through FMOD. Why not?


So there you have it! Now I'm in Montreal waiting to attend MIGS, and listen to many insightful keynotes and presentations, and network with industry professionals as much as possible. Now that I finished all my pre-midterm assignments, and the midterms themselves, now it's time to focus on the GDW. AND time to finish all my other assignments EARLY so that I have more time to work on the GDW project. I have the position of the toolkit programmer, so my workload is definitely not light.

As for my previous blog post reminiscing about my work-ethic, I'm hoping that now that I'm out of the woods, I'll be mature enough to say NO to distractions and be productive with my work EARLY, not just at crunch time. Every time I've presented my GDW, it would pale in comparison to other student's games. So I will do my best to exceed everyone's expectations of me, and it all starts from following a better work-ethic that has a proper sleep schedule; because I hear that the game industry workfield isn't any less rigorous than the work we have now.

Next post will be about what I've learned at MIGS, who I met, and a possible rant on that amount of school lecture content I have to catch up on thanks to MIGS. =P

This is Mario Greco signing out.
Thank you for reading! =D

References:

Photograph. 13ft Telescopic Jib Arm Camera Crane with 100mm Bowl tripod stand & spreader Gold Pan Tilt Motorized Head w Joystick Control Box for Professional Commercial Independent Wedding Documentory Video Film Makers. The Cine City, 2005-2011. Web. 31 Oct 2011. .