Project Details

From Jig

(Redirected from Jig:About)
Jump to: navigation, search

Contents

The JIG Project Overview

The JIG Project is a collaborative effort being pursued by Scott Wallace at Washington State University Vancouver and Andrew Nierman at the University of Puget Sound in conjunction with a small group of dedicated students [1] . It has three aims: (1) to build a Java Instructional Game Engine suitable for a wide variety of students at all levels in the curriculum; (2) to create a set of educational resources to support the use of the game engine at small, resource-limited, schools; and (3) to develop a community of educators that use and help improve these resources. The JIG Project was proposed in 2006, after a survey of existing game engines revealed a very limited supply of existing 2D Java game engines.

Resources at a Glance

JIG Engine

The initial aim of the JIG Project is to build the Java Instructional Game Engine. Key attributes of the JIG Engine are listed below, along with their rationale. Taken together, these attributes put the JIG Engine in a important place in the space of existing game engines.

Java Implementation

Most game engines today are written in the C++ language. In the last several years, there has been a significant shift toward using Java in the computer science curriculum, especially as the introductory language. There is a consensus in the literature that Java is a leading choice, if not the leading choice, for first programming languages. Because it is also the basis of the Advanced Placement exam for high school students, many students exposed to programming before college end up learning Java. Moreover, even by the end of their undergraduate career, many students will have had much more experience with Java than C++. This is definitely true of the students at our institutions. A Java based game engine thus helps fill an important niche. It provides a platform that can be used throughout the curriculum beginning as early as high school, and it simultaneously provides a platform for upper division students to carry out large synthesis projects, without the added confusion of learning a new programming language.

2D Focus

Most game engines are tailored to suit either 2D or 3D games. By their very nature, 3D games are more complex than 2D games and are typically inappropriate for students that have not been through a dedicated 3D graphics course. 2D games, however, can be developed by a much wider range of students. Simple games can be created at the CS1 or CS2 level, while upper division students will be able to increase the complexity of their projects by adding elements such as artificial intelligence and networking. Thus a 2D engine is the most appropriate choice for longitudinal use throughout the computer science curriculum, and to direct student effort toward synthesis and integration of skills as opposed to narrowly focusing on the complexities of 3D graphics.

Collaborative Development

The JIG Project has been a collaborative effort between two independent institutions since its onset. Many pedagogical engines, in contrast, are designed on a single campus often to support a single class. A collaborative development approach is essential to ensure that JIG Resources are suited to the needs of a diverse set of students. From the onset, the JIG Engine will be used at both Washington State University Vancouver and at the University of Puget Sound in both the upper-division and the lower-division classrooms. Students at both institutes will help design and test the engine and related materials.

Scaffolding

The Java implementation and 2D focus will allow the JIG Engine to be used at a variety of levels in the curriculum. However, for this experience to be a success, the engine's programming interface must be scaffolded to support users at a wide range of skill levels. Careful design and a multi-tiered API will ensure that low-level details are encapsulated for novice students but available to exploit or extend for advanced students.

Source Code Availability

Without source code, the inner workings of the game engine remain hidden. Students can use the engine to perform useful functions (drawing to the screen, detecting collisions between objects in the world, etc.), but they cannot see how these functions work. Under certain circumstances, insulating users from the details of the engine may be desirable, yet clearly, the ability to inspect implementation details offers important learning opportunities. The ability for students to examine what happens “under the hood” of a complex piece of software is a critical component of a computer science education. The availability of source code allows students to examine the design decisions made by the engine’s creators. Further, it allows students to change core algorithms in order to explore tradeoffs or to better meet the needs of their particular projects.

JIG Resources

In conjunction with the engine, the JIG Project will create two resource repositories to serve students and instructors.

Curriculum Repository

The Curriculum Repository will hold educational modules that help instructors add games related projects to existing courses. These modules will focus on a particular programming problem and present this as a project within the context of the JIG Engine. Critically, curricular modules will expose only the aspects of the JIG Engine required to complete the assignment, and therefore will be easy to integrate into existing courses.

Sprite Repository

The Sprite Repository will store graphical images appropriate for 2D video games. Initially, the repository will contain images from our demonstration projects. Over time, we hope that contributions from student users will increase the repository’s holdings.

JIG Community

The third goal of the JIG Project is to create a community of educators interested in using the JIG Engine in their classrooms. We are planning a set of tutorials and workshops to increase awareness about the JIG Project & Engine to the broader educational community. Keep an eye on the Current Events page for details. If you are an educator interested in using the JIG Engine in your classroom, a student looking to write a game, or a member of the general community interested in JIG, please contact us so we can help you get started. We also are actively seeking interested members to help within the JIG community in a variety of ways, if you're interested, please send us a message.

Project Status

JIG Engine
In development (March, 2007)
JIG Resources
In development (March, 2007)
JIG Community
In development (March, 2007)

Detailed milestones for the JIG Project are also available.

  1. Project Team

Personal tools