Department of Computer Graphics

CGT 245 – Interactive Simulation and Game Development

Instructor: Carlos R. Morales

Course Description
This course focuses on the design and development of interactive games and interactive simulations.  Emphasis is placed on pre-production techniques and the application of interactive gaming to mobile devices.  Students are expected to implement fully developed games using multiple technologies and platforms.  Topics covered include: animation, story development, dynamics, multi-user environments, data structures, and artificial intelligence.  A strong programming or animation background is recommended.  Students are expected to conduct research surrounding theoretical, technological and interactive gaming techniques and validating those approaches through experimental instruments. Emphasis is given to the integration of game design, programming, and art creation. Students will use the Java ME platform to develop 2D and 3D games for mobile phones. 3D games will be developed using the M3G API.


Course Objectives

1.  Collaboratively work on video game project in a pseudo-realistic company environment.
2. Design functional gams including game-play and interactivity models.
3. Create games using the Java ME platform.
4.  Use M3G, JSR-184, to create games.
5. Learn to deploy games using Over-the-Air and Over-the-Internet
6. Implement Artificial Intelligence principles in the development of Non-Player Characters (NPC’s) using both logical and searching techniques.
7. Implement entire game development process including: game-play development, treatment, marketing, play-testing, and delivery.
8. Work on realistic project with dynamic design changes.


Texts

Martin, R, Multimedia Games and Simulations. Available from http://www.eacademicbooks.com/GamesSim.asp
Morales, C., Nelson, D. Mobile 3D Game Development: From Start to Market. Charles River Media. ISBN 1584505125. Available from Amazon


Equipment

·       A variety of mobile phones are available in Knoy 346. Some of the models include Motorola RAZR V3, Motorola RAZR V3i, LG Chocolate, Sony-Ericsson W200, Sony-Ericsson W810, Sony-Ericsson S710a, Nokia N93, etc. You may check the phones out and use them in the room.

·         Media, books, development system, etc.

·         You will need access to a development platform with Java SE, Java ME, NetBeans, Sony-Ericsson SDK, and HI Corporation export tools. These are available in Knoy 346.


Course Assignments 

·  Martin-Book Homework Assignments --- Homework assignments from the Martin book are to be turned in through the eAcademicBooks site by 9:00 PM Wednesday of the week in which the assignments are given. For example, the first day of class will be Tuesday, August 21, 2007. The first set of assignments will be due by 9:00 PM on Wednesday, August 22, 2007. The readings and assignments are typically separate from the materials covered in class. This arrangement allows us to discuss any problems during the Thursday class meetings.

The eAcademicBooks site allows you to continuously resubmit your assignment (to yourself) until you get a 100%. Take advantage of this feature. At 9:01 PM, on Wednesdays the site will send a report and a copy of all of the assignments to your TA and professor. Do not send them your Martin assignments directly, as they will not be considered for a grade. Please take into account that the server may be busy close to the turn-in time. If you hit the submit button at 8:58 PM and the server does not process your assignment until 9:01 PM, you will not get credit. Plan accordingly. Do your work early. A total of 200 points will be awarded for the Martin-Book assignments.

·  Game 1 --- This project entails creating a 2D game for Java ME. A total of 200 points will be awarded for Game 1.

·  Game 2 --- This project entails creating a 3D game for Java ME using JSR-184 [M3G]. A total of 200 points will be awarded for Game 2.

·  Just-In-Time (JIT) Assignments --- These are small assignments anounced during lecture. Their purpose is to provide students with the opportunity to practice the techniques discussed in class. These assignments are also used a class wide enrichments and remidiation. A total of 100 points will be awarded for all of the JIT assignments combined.


Grade Distribution

Assignment

Points

Martin-Book Assignments

200

Game 1

200

Game 2

200

JIT Assignments

100

Final Examination 300

Total

1000

In addition to the assignments above, you are required to participate in at least three research studies conducted in connection with this course.


 Grading Philosophy:

Superior work, professional 

A

Above average student work 

Average student work 

C

Below average student work

D

Failure 


Course Schedule:

Day 

Lecture - 1

Lecture - 2

Out of Class Project

On-Line Homework

1  

8/25

Game Design

  • Introduction to Course 
  • Intro to Game Process
  • State of Game Industry

Project 1 Concept Presentation
Groups 1-3

Cell Phone 1 Game Assigned

  • Martin Chapter 1
  • Morales & Nelson, Chapter 1

2   

9/1

  • Programming:
    • Setting up the Environment
    • Development platforms
    • Midlet Development
  • Game Design:
    • Treatment development

Project 1 Concept Presentation
Groups 4-5

 
  • Martin Chapter 2
  • Morales & Nelson, Chapter 2

3  

9/8

  • Programming:
    • Intro to Java ME
    • MIDP & CLDC Classes
    • Structure of MIDlet (Hello World)
  • Game Design:
    • Treatment development
    • Game Mechanic

Project 1 Rough Draft Presentation
Groups 1-3

 
  • Martin Chapter 3
  • Morales & Nelson, Chapter 3
  • JSR-118

4

9/15
 

  • Programming:
    • 2D Game development with MIDP 2.0
      • Game Canvas, layers, sprites, input processing
    • Flexible framework for a game
  • Art Production:
    • 2D art creation for layered games
  • Game Design:
    • Treatment development
    • Game Mechanic

Project 1 Rough Draft Presentation
Groups 4-5

 
  • Martin Chapter 4
  • Morales & Nelson, Chapter 4

9/22

  • Programming:
    • 2D Game development with MIDP 2.0
      • Game Canvas, layers, sprites, input processing
    • Flexible framework for a game
  • Art Production:
    • 2D art creation for layered games
  • Game Design:
    • Treatment development
    • Game Mechanic

Project 1 Progress Presentation
Groups 1-3

 
  • Martin Chapter 5

6  

9/29

Introduction to Mobile 3D !!!

  • Game Design
    • Why 3D on a phone?
    • Game mechanics that work for 3D phone.
    • Analysis of mobile 3D maket
  • Programming:
    • Overview of 3D API's for mobile phones.
  • Art:
    • Overview of technical technical requirement for 3D on a phone (poly count, textures, etc.)

Project 1 Progress Presentation
Groups 4-5

 
  • Morales & Nelson, Chapter 5
  • Martin Chapter 6
  • Morales & Nelson, Chapter 11
  • JSR-184

7   

10/6

  • Programming
    • Intro to the Mobile 3D Graphics API (M3G) aka JSR-184
    • Structure
    • Grahics3D
      • Retained mode rendering
      • Immediate mode rendering
    • Node, Transformable, Object3D
    • Scene Graphs specific features
      • Lights, Camera, Sprite 3D, Mesh, etc.
  • Art:
    • Creating non-organic models and importing into M3G
      • Low polygon modeling technique
      • Texturing
        • UV unwrapping
        • UV map painting
  • Game Design:
    • Analysis of successful mobile 3D games.

Project 1 Progress Presentation
Groups 1-5

 
  • Morales & Nelson, Chapter 5
  • Martin Chapter 7 (Just Read/No Quiz)
  • Morales & Nelson, Chapter 8

10/13

October Break October Break October Break October Break

9   
10/20

  • Programming
    • Intro to the Mobile 3D Graphics API (M3G) aka JSR-184
    • Structure
    • Grahics3D
    • Node, Transformable, Object3D
    • Scene Graphs specific features
      • Lights, Camera, Sprite 3D, Mesh, etc.
  • Art:
    • Creating non-organic models and importing into M3G
      • Low polygon modeling technique
      • Texturing
        • UV unwrapping
        • UV map painting
  • Game Design:
    • Analysis of successful mobile 3D games.

Project 1 Final Presentation
Groups 4-5

October Break

Project 1 DUE

  • Morales & Nelson, Chapter 5

10  

10/27

  • Programming
    • VertexBuffer
    • IndexBuffer
    • Appearances
    • Animation
    • MorphingMesh
    • SkinnedMesh
  • Art:
    • Character creation and animation for Mobile 3D graphics.
      • Model, texture, and import into 3D engine a mobile 3D character.
    • Learn to create animations for mobile phones based on morph targets and skinned meshes.
  • Game Design:
    • First person shooter game analysis.

Project 1 Concept Presentation
Groups 1-3

Game 2: Mobile 3D Game Assigned
  • Morales & Nelson, Chapter 6
  • Morales & Nelson, Chapter 9

11


11/3

  • Programming
    • Transformations (translation, position, scale, etc.)
    • Transformation class
   
  • Morales & Nelson, Chapter 7

12  

11/10

  • Multiplayer phone games !!!

    • Programming
      • Generic Connection Framework (javax.microedition.io)
        • Structure
        • Strengths limitations
    • Game Design:
      • Analysis of successful mobile multiplayer games
        • Play any time
        • Turn based
        • Games with persistent stream connection
  • Programming
    • Multiplayer games based on:
    • UDP Datagrams
    • TCP Streams
  • Game Design:
    • Analysis of successful mobile multiplayer games
      • Play any time
      • Turn based
      • Games with persistant stream connection

Project 1 Rough Draft Presentation
Groups 1-3

Project 1 Rough Draft Presentation
Groups 4-5

 
  • Morales & Nelson, Chapter 10

13

11/17

Networking beyond CGF

  • Programming
    • JSR-205 (short text messages)
    • BlueTooth
    • Using CGF for web / community game interaction
  • Game Design:
    • Game mechanics for low-latency game using Bluetooth
    • Game mechanics for games that employ JSR-205

Project 1 Progress Presentation
Groups 1-3

 

14  

11/24

Thanksgiving break

Thanksgiving break

Thanksgiving break
  • Morales & Nelson, Chapter 12

15  

12/1

Analysis of Hover Racing Game

  • 3D multiplayer that uses UDP datagrams for communication

Deployment

  • Carrier Network restrictrions
  • Signing application
  • Getting Java Certified

Project 1 Progress Presentation
Groups 4-5

Project 1 Progress Presentation
Groups 1-5

 
  • Morales & Nelson, Chapter 13

16 

12/8

Deployment

  • Distribution
    • OTA
    • OTI
      • Setting ecommerce distribution server
    • MMS based distribution

Project 1 Final Presentation
Groups 4-5

Game 2 Due

  • Morales & Nelson, Chapter 13

17

12/15

Final Exam

     

Software Installation Links : Click Here

Source Code 2D Samples: Click Here

Source Code Rendering Samples: Click Here

Sample Proposal : Click Here

Additional Links:

http://www.nickyee.com/hub/addiction/addiction.pdf

http://news.com.com/2100-1040-881673.html

http://www.sfsignal.com/archives/000083.html