NForget.com

Archive for July, 2007

links for 2007-07-12

Thursday, July 12th, 2007

links for 2007-07-11

Wednesday, July 11th, 2007

links for 2007-07-09

Monday, July 9th, 2007

Favorite Books

Saturday, July 7th, 2007

My favorite books:

  1. The Diamond Age: Or, A Young Lady’s Illustrated Primer
  2. Do Androids Dream of Electric Sheep?
  3. Harry Potter
  4. Stranger in a Strange Land
  5. Catch-22
  6. Lord of the Rings
  7. Cryptonomicon
  8. Survivor

links for 2007-07-06

Friday, July 6th, 2007

Favorite Books

Friday, July 6th, 2007

I recently read The Diamond Age: Or, A Young Lady’s Illustrated Primer. This is definitely the best book I have ever read. It speaks to me on a personal level about the creative process and the role of interactive entertainment in the future. It also presents a plausible and fascinating concept for how information technology and nanotechnology could transform society at large. The world presented in this book is a logical next step beyond the world Stephenson presents in Snow Crash. The real accomplishment is that the book presents this kind of ambitious material in the form of a swashbuckling action-packed story. I would highly recommend this book to anyone who enjoys games, engineering, or just a good science fiction story.

links for 2007-07-05

Thursday, July 5th, 2007

FIEA Semester One (Fall 06)

Thursday, July 5th, 2007

I wrote this summary a while ago. It’s one part summary of the fall semester and one part description of FIEA. It’s pretty rambly and stream-of-consciousness, but I thought I’d go ahead and post it despite its shortcomings.

I am currently enrolled in a graduate program for training game developers (FIEA @ UCF). Students applying for the program must apply for a specific specialty or track: programming, production, or art. Each cohort of students is divided as evenly as possible between the three tracks. My cohort has eleven artists, eleven programmers, and twelve producers.

The program lasts for sixteen months divided into four consecutive semesters. The first semester is spent on extensive coursework. During the second and third semesters students take one class specific to their track and spend most of their time working on a large-scale game project. The final semester is spent on either an internship or a capstone project and there is no class work during this time.

The first semester at FIEA is defined by the Digital Media Design (DMD) course, which all FIEA students take. DMD is boot camp for game developers. The semester starts with a one month crash course on Macromedia Flash. Each student produces an animation and a mini-game, on which they are responsible for all of the programming, artwork, and design.

With the preliminary solo projects out of the way, the class really gets started. For the rest of the semester, DMD is structured as a series of two week “rounds.” Students are divided into teams of one artist, one programmer, and one producer. Every round each team produces a complete mini-game, which they present to the entire class. It is hard to create a compelling mini-game in only two weeks, especially with a three-inexperienced-person team and defending the games in front of an audience can be really nerve-wracking. Each round has a different theme for the students to focus on; and as the semester progresses the lectures are structured to match the themes.

The first theme we in cohort three had to tackle was licensed IP. We played a Survivor-esque vote-off-the-island democratic elimination game to whittle down our selection of IPs from an initial batch of student selections to arrive at our final set of eleven. They ranged from Ghostbusters to Spaceman Spiff; Transformers to Alf. The games created for this round were fairly impressive and nailed home the point that a team of three of us from separate tracks is way more than three times as good as anyone’s individual effort.

The next round was based on the theme of story. Lectures analyzed the use of story in games and covered Vogler and Joseph Campbell. I found these lectures to be some of the most compelling of the whole semester and I particularly enjoyed the Vogler book. That said, I did not enjoy the mini-game process for this round. I think it may simply be too much to ask students to try to tell a complete story in a Flash mini-game.

The third round was based on the concept of “emergence.” Emergence, in brief, is when the player engages in behavior that is not anticipated by the designers of the game. You can see from this definition that it would be hard to plan for this behavior. In planning for it, you are essentially negating it. Quite the paradox. There are, however, ways of structuring a game that make emergent behavior more likely. One plan is to design a rule system that has several variable elements (for example, stat pools), and a variety of actions which effect them in various ways. By then allowing the player to combine these actions, you may see emergent behavior. I really enjoyed this round, both because I love finding emergence in games and because I was able to take on many of the game design duties for my team.

Our final round of DMD was about indirect control. It was different from the previous rounds in that we switched to the Torque Game Engine and created 3D games. (The previous rounds we had produced 2D Flash games.) Indirect control is about influencing the player’s behavior through cues of some kind: auditory, visual, architectural, lighting, &c. Many possibilities were discussed. The quality of the games in this round suffered somewhat as we became accustomed to our new 3D toolset. A good deal of our development time was spent ironing out the kinks in our art pipeline and learning Torquescript.

In addition to DMD, all FIEA students take Design for Media (DfM), which is an introduction to the industry and typical production practices in a game studio. This course also serves as a sort of catch-all for topics every FIEA student should learn about that do not fit elsewhere in the curriculum. Students are divided into groups of approximately five for their DfM project. Each groups write a complete pre-production plan for a fictional AAA title, including a schedule, budget, risk analysis, &c.

The third class all FIEA students take in their first semester is their track-specific class. Programmers take Programming I; artists take Art I; and producers take Production I. I did not attend either the art or production classes (though they welcome students from the other tracks who are interested in sitting in), so I can’t provide much description of their content beyond this: the artists focused on learning Maya and the producers worked on their game design and presentation skills.

FIEA only accept students who are pretty decent programmers to the programming track. (I believe several of the producers from my cohort applied for the programming track, but were not up to par.) However, FIEA assumes little specific knowledge. For example, several of the incoming students had little to no C or C++ programming experience. (Apparently many undergraduate CS programs have switched over to Java exclusively.)

Game programmers are required to have a very large skill set. It would be impossible to cover everything needed to become an excellent game programmer in the time spent at FIEA. For that reason, the material covered in Programming I is selected to give some limited experience with a specific topic that is meant to be exemplary of a general topic. For example, we completed several assignments in Perl, not because learning Perl is of specific interest to us, but because it teaches us more generally about command-line scripting in a dynamically-typed language. Other topics we covered included 68k assembly language, optimization, C, and some OpenGL. Toward the end of the semester we also got to dive into our Xbox dev kits. This is one thing FIEA can point to and truly say “we can offer this and no other game school can”: the Xbox dev kits. It is extremely valuable to be able to put console game programming experience on my résumé. No other entry-level candidates can claim that experience.

As their final project, each member of the production track is tasked with writing and presenting a game pitch to the entire cohort. Each producer has only twenty minutes to pitch their idea, and then the artists and programmers vote for the projects on which they would like to work. In addition to determining the final grade for the producers, the voting determines which projects we will build during our remaining two semesters of classes. The faculty then takes our votes and weighs them with other factors such as the feasibility of the project and makes a final selection.

Throughout the semester, one of the programmers had been attending the producers’ classes. As a reward, he was also permitted to pitch an idea at the end of the semester. Wouldn’t ya know it? He won!

Ultimately, the faculty decided that for semesters two and three the cohort would be split in half and would work on two projects. One of the selected projects (the one pitched by a programmer) was deemed to be very technically challenging and so it received a majority of the programming assets. The other project received a majority of the art assets. And so, charged up by the excellent game pitches and super excited to get working, we went away for our holiday break.

Links for Developers

Thursday, July 5th, 2007

I made a list of various articles around the web that I think are valuable to programmers, hackers, and software engineers. The (by no means complete) list:

Why you need to understand C and assembly:
Unicode
Craftsmanship
Advice for Computer Science College Students
Making Wrong Code Look Wrong
The Perils of JavaSchools
Can Your Programming Language Do This?
Style is Substance
ea_spouse: EA: The Human Story
C++ - The Forgotten Trojan Horse
Being Popular (popular programming languages)
The Best Code Is No Code At All
EA’s Software Artists
Top 6 list of Programming Top 10 Lists
How to Become a Better Programmer by Not Programming
Separating Programming Sheep from Non-Programming Goats
The Problem with C++
Assertiveness for Software Developers

links for 2007-07-04

Wednesday, July 4th, 2007
  • Examines the economics of internal vs external and new vs franchise IP in the game industry. By Jason Della Rocca.