Rudy Rucker's CS 240 Software Project









Paintings & Links



Link to Green Sheet

Latest Info

Download DirectX 9.0 SDK in order to use DirectSound. Leo Lee has posted some DirectSound code on our CVS site.

Homework #3 (short program) due date pushed back to March 11.

I put up a new build 34.3 of Pop at the site, also on our CVS site. This fixes many of the bugs you found. You should use this new build. Also I found a way to get OpenGL 1.2, 1.3 and extensions to work (yes, Windows still ships with OpenGL 1.1 ONLY --- are you suprised?) But there's a simple workaround, just include a file called glext.h from SGI. And now our critters have delayed specular lighting, which means they look nicer! PickNPop is well again, too.

SGI files for using OpenGL 1.2, 1.3, 1.4 and extensions.

I got multiple collisions working (it had been turned off by a switch in collider.h), which fixes airhockety. I fixed the collisions so things don't tend to get stuck at corners of walls.



To get Visual Studio.NET 2003.
To get Visual Studio.NET 2003.

(1) Get a random "Student ID" in class from Rucker.
(2) You can get basic install disk CD1 for free at Washington Square Hall 1.
(3) Or, if you want the full install on CDs that you get to keep, you can order for $13.30 (includes shipping) from
At this site DON'T write your REAL student ID into the "Student ID" field. Instead use the random "Student ID" that Rucker gave you. For Password you can use anything you like, just make it easy to remember.

To view the CVS tree for the Pop Framework, go to
In order to be able to download and "commit" files to our build tree,
(1) Download and install TortoiseCVS from so you can check into CVS. I'd advise downloading the TortoiseCVX User Guide as well.
(2) Get a CVS password from me.

Assignment 1. Due Thursday, Feb 12.

This is a written assignment. Format your work nicely and laser print it. Be sure to spell-check. If your English is poor, try and get a friend with better English to read over your paper and correct it. I will not hand-correct individual spelling or grammar mistakes, but I will take off points if I see them. Length should be several pages, using either double-spaced lines or one-and-a-half spaces between lines.

Relative to problems (2) - (4) See the list of Tasks, last updated on February 5, 2004.

(0) Get Version 33_3 of the Pop framework. Please work on this particular version. Unless we see a killer bug in class, I won't upload a new one until after we're done with this homework. Make sure that your graphics card is using OpenGL acceleration if possible. Check the beginning of the old pop.hlp file for information about this. (i) Find out what kind of graphics card you have, and what your chip's clockspeed is, put this on your homework, also tell me how many updates per second you see with (ii) Spacewar in 2D MFC view, (iii) Spacewar in 3D OpenGL view, and (iv) Racer. In each case check the speed as it is right after you start the game BEFORE resizing the window, and WITHOUT changing the number of critters.

(1) Help me debug the Pop framework by finding bugs in the executable and errors in the help file. Group your bugs into three categories: Crash, Serious, and Cosmetic/Bad Feature. You may not find all three kinds. Crash is a bug that will crash the program. Serious is a bug where you see some definitely abnormal and unreasonable behavoir. Cosmetic/Bad Feature is where the program does something that seems to you like it might be wrong or ugly or counterintuitive. Don't worry about checking for bugs in the File|Save and File|Load, I know this has problems and may in fact just remove it. If you don't have time to debug ALL the game modes, try and to at least all the menus for at least three games. In class let's make sure that each game gets covered. I only want 1 or 2 pages here, try and focus on the really good bugs. Don't list the same bug more than once, even if you see it in more than one game.

(2) Suggest a an easy light-weight programming project that you will be able to finish for your second assigment. This is to be an individual project. Can simply be an upgrade/tweak of a Pop game. Half a page to a page of descriptoin is enough here.

(3) Suggest a longer, harder term-length programming project. This can be a substantial addition to the Pop framework or a game. Possibly this can flow out of the little project in (2), but it's better to think of something different or in any case larger. This can be an individual project or, if you find 2 or 3 others intrested in the same thing, you may work as a team. Try for a full page of written description, plus, if you are describing a game, give me AT LEAST ONE DRAWING of how the game world might look.

(4) Suggest a term-paper topic. Ideally this should relate to (3). Give me a full page of description, talking about what interests you in the project, and giving at least three examplse of references you would consult --- these can be web pages, books, or articles. Use Google to find refs if you don't know of any.

Assignment 1 Responses.

Bugs in Pop 33.3 and Project Proposals.

Assignment 2. Due Tuesday, February 24.

(1) Make a detailed specification of your short project. Describe what you'll do, draw a picture of how it will look, give a UML of any new classes you plan to use.

(2) Briefly describe your long project again.

(3) Briefly describe your term paper project again.

Make an effort to integrate the three.

Assignment 3. Due Thursday, March 11.

1) Hand in a working executable of your short programming project. and demo the program in class.

Midterm, March 25, 2004

Assignment 4. Tuesday, April 13.

Individual 1)Write a fresh outline of your term paper idea, taking into account suggestions by the professor.

Group 1) Write up a specification for your game project, focusing on Legel 1.

Group 2) Give a class presentation using PowerPoint slides to describe your planned game project.

Assignment 5. Final Paper Specification Tuesday, April 20

Give a 5-7 minute oral presentation in class describing your paper, with Powerpoint slides. Take into account suggestions by the professor made on the earlier outlines.

Assignment 6. Alpha Game Project. Tuesday, April 29.

Give an alpha demo of your group programming project, hand in CD with executable and source code, also printed documentation.

Assignment 7. Final Paper and Class Presentation. To be Divided Between Th May 13 and Tues May 18.

1) Give a 15-20 minute presentation on your term paper as well as any related programming demo. We'll schedule these during the final classes and in the time alloted for the final exam.

2) Give me the final printed version of the term paper. Post an HTML version on our class web site.

Final Demo of Group Game Projects.
1:30 section: Monday, May 24 1215-1430
3:00 section: Wednesday, May 26 1445-1700.

Give a final demo of your group programming project, hand in CD with executable and source code, also printed documentation.



 Home         Biography         Books        Writing         Painting        Classes         Email