3Dprogramming

=Tech Workshop, Cycle 4 - 3D Programming=

3D programming is at the heart of animations and interactive games. Learning to develop such complex programs as animations and games has traditionally required lots of detailed programming knowledge. Object-oriented programming was the first step in changing that. No longer did a developer have to know every little detail of the program, but could assume certain logic and behavior based on the objects they were programming. 3D programming, now allows developers to visually interact directly with the 3D objects they want to manipulate. The result of this workshop will be an interactive program that animates 3D objects.

Learn a little about Alice - "an innovative 3D programming environment that makes it easy to create an animation for telling a story, playing an interactive game, or a video to share on the web."

media type="custom" key="6336449"

Day 1 - Intro to programming
- Intro to object-oriented programming using Scratch media type="custom" key="6336465" - Intro to 3D programming using Alice
 * Scratch**

Day 2 - Virtual Worlds
- Intro to virtual worlds
 * Metaverse - first described in Neil Stephenson's Snow Crash in 1992 (pgs. 24-25)
 * Mosaic (first WWW browser) - 1993
 * Runescape - 2001
 * SecondLife - 2003
 * World of Warcraft - announced in 2001, released in 2004
 * Elements of a virtual world or metaverse: 3D, interactive, environment, avatar-based, communication

- Setting up your world in Alice: select a template (where in the world), 3 main characters, sky, landscape, background characters, background objects

- Navigating your world in Alice: camera features, moving objects

Day 3 - Virtual Characters
- Avatars (the making of Avatar)

- Allow users to control your main character

- How you can have the computer move characters for you.

- Detect collisions between characters.

Day 4 - Why games?
media type="custom" key="6336457"

Evoke - a crash course in saving the world


 * what can you learn from programming games?**
 * logic
 * events
 * modular programming
 * object-oriented programming


 * what can you learn from playing games?**
 * collaboration
 * willingness to overcome failure
 * social practice
 * creative solutions

**Resources**

 *  Sample alice program with notes
 * Alice tutorial (the basics)
 * Alice tutorial (basic animation)
 * Alice tutorial (slightly more complex coding)
 * Tutorials for grades 5 to 12
 * Learning to program with Alice
 * Alice in Action: Example Programs

media type="custom" key="6336461"
 * Gaming can make a better world**