NFL Madden 2006 - Electronic Arts

CS 378 - Game Technology

Spring 2006


Half Life 2 - Valve


Homework 2

Squishy Ball

You will extend your previous homework and make the ball deformable. You will use springs and masses: Assign a mass to every vertex on your sphere. Put a springs between adjacent vertices on the sphere. Furthermore connect every vertex to 3 other vertices selected at random (non-adjacent vertices). The rest length for these springs must be the distance between the vertices when the ball is undeformed (sphere).

You must demonstrate dropping this deformable ball onto a flat surface. You must have a gravity force acting on every vertex. You must also handle collisions with the ground (either using penalty methods or by projecting the penetrating vertex onto the surface).

The following features are optional and can be implemented for extra credit:

  • Implicit integration

  • Rotating ground plane (only slightly so the ball rolls around but never falls off)

  • Allowing the user to pick a point on the sphere and apply forces by mouse.

  • Anything else you can imagine

This is an individual project. You can not work in groups. You can use OpenGL, any user interface toolkit and tools for text display in OpenGL and reading textures. Anything else must be your own creation.

What to turn in:

  • Source code that compiles on Windows (either through Visual Studio 6 or Visual Studio .NET). These compilers are available on the instructional Windows machines in TAYLOR HALL

  • Any extra library/header file your project needs

  • Any extra assets (textures etc...)

Place everything in a top level directory and turn in a zipped version of that directory. I should be able to compile your project by simply opening the project file from Visual Studio and hitting "Build". Make sure the extra directory path is set in your project.

This is very important. In your future projects, pay special attention to modularity and creating self contained source code that compiles on any machine that has Visual Studio. Please spend some time with Visual Studio and make sure you can tell it where to find everything relative to your source code so that it can compile on any machine with a single command.

Due date: April 13th (Thursday)


The following images show you where you can set the additional include/library directories in Visual Studio .NET. (Right click on the project you want to edit  and hit "Properties"):