Main / Main
You should check this page regularly for news and other announcements as this is the main way of spreading the word about class announcements. Check out the rss feed of this page, if you prefer to get your information that way. Either way, you will be held accountable for the information that appears on this page. This page will be updated frequently.
(Supposedly) One of the 1358 computers will be moved into 1325 for the project demos, so you'll be able to run on the real hardware.
Information is available here
Please read this to get an idea about how the playtests will work. They will require preparation from each time and person: PlaytestsMechanics
Please leave entries in the Irrlicht Diary about things you've learned that could help others. - y
This isn't that relevant, but I found it insightful. Its also a good reminder of the context of videogames as still (mainly) being a niche.
There is an article by Noah Fahlstein about the lessons of Portal.
Here's the summary: http://inside.gamasutra.com/cgi-bin4/DM/y/eBILI0FhisZ0Sin0FxpT0El
Here's the real article: http://www.gamasutra.com/view/feature/3616/design_language_the_portal_.php
You should all have permissions to edit pages in your group. - y
A reminder that your project plans are due by 9am on Friday, April 11th. We will give you a "free" extension to this deadline until noon.
During class time, the TA and Professor will meet with each group to discuss your plan. We will meet in 1325.
The project groups are:
On Monday, we'll make Wiki Page groups for each group (to give you a place to post the various aspects of the project)
I've compiled and anonymized the first round of critiques. They are now linked from the Game Proposals page. - y
Rather than lecturing on the next topic, I thought I'd have you watch a video of a lecture given by someone who truly is an expert. The downside of this: I am also asking you to do a little homework assignment to make sure that you really watch the video and learn the lessons.
The assignment is described at Main.GameDesignForOtherEnds
Note: you do need to come to class on Monday, April 7th. There will be a brief class discussion, and then some "in-class" work for your project teams.
Some of you had trouble finding examples of design proposals. We'd compiled a mostly-complete set of examples of different stages of the Game Project from last year's class. You can find it here. - y
The page for the Game Project has been posted here. Please look it over, so you have some ideas as to what is coming up.
If you are interested in getting involved in a research project this summer, please let me know. There are various opportunities (like Departmental summer undergraduate RAs), and several graphics/animation/interaction projects going on.
I have scanned other book chapters, so the recommended readings for the classes after break are a bit different. (these chapters were always on the list, except that now they are the recommended readings since you don't have to buy the book).
Is posted here: GameProject.EngineAssignment.
On Monday, we'll talk about fake physics. Here are some references:
Check out Phun
So I decided I should try my hand at the assignment myself.
Modulo a bunch of issues (I had to rebuild FlTk), in about 4-5 hours (including FlTk issues), I have world's ugliest (both internally and externally) mass spring simulator. I'll show it off at some point (maybe in class Monday).
Some things to keep in mind (that I reminded myself having not written this in a while):
Spring break is only 2 weeks and 1 day away!
Between now and then in 679 we have the Physics project, the reading write-up, the guest lecturer, ... The class has been stripped down over the next 2 weeks so you can really focus on the project. In particular, there are no new readings (but you'll probably want to be reading up on physics for your project).
So here's a summary (it's all on the Calendar too):
The physics project (including partner assignments) is Main.PhysicsAssignment.
Also: be aware that the reading/writing assignment is coming up too! Check the assignments page!
For the physics project (and the final game project), we will assign your partner / project team. There are a bunch of reasons for this (some are listed here).
The partner assignments will be made sometime Monday, probably after class. The announcement of the project should happen sometime before class Wednesday.
The CSL has made RenderMonkey 1.62 available on the computers in 1358. Its available under "ATI" in the start menu (not "AMD"). It was stable for people last year.
As far as I can tell 1.62 is not only stable, but can load in (almost) all of the 1.71 demos. I am not sure what features 1.62 is missing.
Please let me know if there are problems with this.
I haven't found an alternative to RenderMonkey that works with GLSL.
NVidia's FX Composer looks really cool, but it doesn't support GLSL (it does support HLSL and CG).
The CSL answer to RenderMonkey crashing is: The old version (1.62) didn't crash last year. Its still installed in the Storm lab.
My initial experiments in my office is that 1.62 seems to be stable. But then again, it took a while before 1.71 crashed.
Since a lot of people seemed interested (and you should be! noise is important) - probably too important to just get "stuck in the end of a lecture" like I did.
And I did have the interpolation function wrong (thanks Justin!) - the cubic interpolation function is 3t^2-2t^3. But if you implement it, you should use the quintic: 6t^5-15t^4+10t^3 since its not that much harder. The details of this are in Ken Perlin's Paper
It turns out that NVidia hardware (like we have in 1358) doesn't support noise in GLSL.
If you want a noise function to look at (and use), you might look at http://staffwww.itn.liu.se/~stegu/simplexnoise/. In the directory there is a discussion of a different kind of noise (called Simplex Noise), but a GLSL implementation of both Perlin Noise and Simplex Noise. I haven't tried using it myself - let me know if you try it.
There is also a "block of noise" (128^3) in the RenderMonkey demos. (its even in older rendermonkey - its called "Textures/NoiseVolume.dds") It gets used for water waves, wood, marble, ...
Its an interesting question as to whether its better to implement the noise function or pre-compute it in the pixel shader. Some of this really depends on the performance characteristics of the system (whether you are memory or compute bound).
I have alerted CSL about the RenderMonkey problems that everyone seems to be having. I was able to get RenderMonkey to crash here in my office. I am trying to figure out what to do about it.
The hardware in the lab doesn't implement the GLSL noise functions. If you were relying on those functions to write your shader program (perlin noise, for example), contact me and I'll set you up with a workaround (a function that samples from a custom "very random" texture). If you know of a better workaround, let me know! - y
An assignment about the RTR readings has been posted. Its here
Thanks to everyone for doing the assignment. Lots of neat stuff came up - which has certainly inspired me to read more.
I really recommend that people look through all the things others have found. There are lots of inspiring ideas - good things to get you thinking about your own shader project.
Here's a RenderMonkey screenshot of my shader from last year. It's a Canny Edge Detector implemented in the GPU. - y
A Clarification has been made to the Shader Assignment: you don't have to use RenderMonkey.
I've made a few tutorials on how to get started with RenderMonkey, which you'll be using for the shader assignment. Check it out here. - y
There have been some clarifications on the shader assignment:
As only 1 person noticed, the reading for tomorrow (Chapter 10 of RTR3) isn't available yet - I just got it myself.
I also have figured out that (at least some) people like to "read behind" the lectures - that is, hear what I have to say (to get the big picture) then read the book for details. I am realizing this isn't such a bad approach. So I am actually going to encourage that a bit - but use a "writing assignment" to make sure you really are learning the material (without resorting to giving an exam). More on that later...
Dan Vondark from Raven had something come up (one of the "realitites of the games business" that I'm sure he'll talk about), and we had to re-schedule, so the calendar for the next 3 weeks will look a little different. (I haven't changed the calendar yet, but...)
I'm sure you're all aware that there is no class Wednesday or Friday, and that the Flocking Project is due on Monday.
Um, "Thanks" to Nick, I now have the first 11 levels of Portal, which you can get if you have an NVidia card (it also gives you a PopCap game, and some Half-Life 2 stuff).
It's only 11 puzzles, but if you go through it, you can really see a lot about game design. It will make for great examples later on when we talk about that. For now, it was an hour's distraction, and its making me want to get the whole game.
The UPL will be holding a tutorial on version control (CVS and SVN). Weds, Feb 6th, at 6pm in 1325CS. Anyone is welcome to attend. If you aren't a CVS or SVN user, I'd recommend becoming one - soon - and this is a way to do it.
The web page has been updated with:
Many people expressed interest in learning about how to make use of parallel / multi-core systems. Guri Sohi will be giving an Architecture Seminary Tuesday (Jan 29th) at 4pm in 1221 on "So what are we going to do with multicore processors?" (the abstract is here). It should be interesting.
Some instructions on how to use the Wiki are at Main.WikiInfo. It might take some getting used to, but once you get it, its actually quite convenient.
I've made wiki groups for all of you, but I've only received 4 emails from you with wiki passwords. Please send me your desired wiki password, and I'll set you up with an account with write access to your wiki group. You'll find your wiki group here. - y
The first programming assignment, Flocking, is now officially assigned! The description is here.
My list of resources for flocking is on the wiki, along with more general notes.
The first assignment, "Play a Game" has been assigned and is due on Monday, January 28th.
This is a test! test link. - y