Workshop:GwinnettHS2008

From FANG

Jump to: navigation, search

Java Video Game Programming in High Schools:

Using the FANG Engine and JavaWIDE


Georgia Gwinnett College
Building B Room 1200
March 10, 2008
Monday 9am-4pm



Note to attendees: This workshop is offered free of charge and includes complimentary breakfast and lunch.

Dr. Jam Jenkins, Assistant Professor of Information Technology at Georgia Gwinnett College will be presenting this workshop for area high school teachers. All of the workshop materials will be posted here, both before and after the workshop. All attendees will have access to this site after the workshop ends. You are welcome to use this site to collaboratively develop and share course materials. This page is being regularly updated based upon input from teachers attending the workshop.

Who should attend?

This workshop is for Gwinnett area high school teachers who plan on or are currently teaching Java programming. Teachers outside of Gwinnett County are also welcome to attend. No prior programming experience is necessary to attend this workshop. We will be doing some programming during the workshop, but most of this will be appropriate for beginning level students.

The workshop is scheduled during a Professional Development day for Gwinnett County Public Schools teachers. Check with your principal before registering for this workshop to make sure you can attend this workshop on your professional development day. Feel free to direct your principal to this workshop site if she/he needs more information, or contact Dr. Jam Jenkins directly at 678-407-5770.


This workshop is one of many available to Georgia teachers. Georgia Tech also offers a number of workshops for high school teachers:

Learning Computing Concepts with Alice March 8, 2008

Computing in the Modern World June 17-20th 2008

Beginning Programming in Java June 23-26th 2008

Intermediate Programming in Java July 14-17th 2008

College Board Endorsed AP CS A and AB workshop July 21 - 25 2008

Where is the workshop?

The workshop will be in the B Building Room 1200 of Georgia Gwinnett College at 1000 University Center Lane, Lawrenceville, GA 30043.

You can park in the Faculty/Staff parking area. We will have temporary parking permit that you can use for the day. I'm working on trying to email these out to you so that you can just print them, but otherwise the permits will be available in Building B Room 1200.

Who is registered?

Please post your game here for the after workshop activity.

Please post your Wackadot instructions improvement ideas here for the after workshop activity.

Registered Teachers
Teacher County High School Attended
Workshop
Completed Four
Additional Hours
Queen Adeboyejo Bibb Southwest Magnet High School & Law Academy
\checkmark
Larry Wilkes Cobb North Cobb High School
\checkmark
Latrice Wicker Cobb Wheeler High School
\checkmark
Ryan McCann Columbus Northside High School
\checkmark
Steven C. Thedford Dekalb Redan High School
\checkmark
Chad Austin Fulton Milton High School
\checkmark
Yu Liu Fulton Tri-Cities High School
\checkmark
Jo Ray Van Vliet Fulton Pace Academy
\checkmark
\checkmark
Shawn Merchant Gwinnett Meadowcreek High School
\checkmark
Doris Bonaby Gwinnett South Gwinnett High
\checkmark
Marlena Booker Gwinnett Give West
\checkmark
\checkmark
Diane Brackman Gwinnett Norcross High
\checkmark
David Byers Gwinnett Berkmar High
\checkmark
Stacy Byous Gwinnett Collins Hill High
\checkmark
Cheryl Deas Gwinnett Phoenix High
\checkmark
Jan Goddard Gwinnett Norcross High
\checkmark
James Hunter Gwinnett Peachtree Ridge High
\checkmark
Theresa Jarrell Gwinnett Brookwood High
\checkmark
Janice Justice Gwinnett Maxwell High School of Technology
\checkmark
Jamilya Mayo Gwinnett Shiloh High
Ray Parsons Gwinnett Grayson High School
\checkmark
\checkmark
Tracy Rainwater Gwinnett South Gwinnett High
\checkmark
\checkmark
Michael Reilly Gwinnett North Gwinnett High
\checkmark
James Roundtree Gwinnett Central Gwinnett High
\checkmark
Pintu Thaker Gwinnett Meadowcreek High
\checkmark
Carla Thornton Gwinnett South Gwinnett High School
\checkmark
Emily Treuman Gwinnett Meadowcreek High School
\checkmark
Michelle Venable-Foster Gwinnett South Gwinnett High School
\checkmark
\checkmark
Jack Woodard Gwinnett Mill Creek High
\checkmark
Jennifer Warren Gwinnett Greater Atlanta Christian School
\checkmark
J.P. Zinn Gwinnett Shiloh High
\checkmark
\checkmark
Gail Chapman Henry Luella High School
\checkmark
Heather Shipp Jackson Jackson County Comprehensive High School
\checkmark
Rex Wallace Jackson Jackson County Comprehensive High School
\checkmark

What will I gain from attending this workshop?

This workshop gives you experience using the FANG Engine and JavaWIDE so that you can evaluate if these tools could be useful in your classes. The first half of the workshop is hands-on experience using these tools and the second half is dedicated to collaboratively creating resources you could use in your own class. Both of these activities can continue after the workshop ends.

This workshop is not intended to add extra work to an already busy teaching schedule. A primary goal of this workshop is to make the incorporation of video game assignments and content into your course as efficient as possible. You do not need to change entirely the way you teach in order to incorporate aspects of video games into your courses. Several pre-written assignments will be discussed. You will be able to use these in your classroom directly, and more are being developed collaboratively by a variety of instructors. You are welcome to use these assignments as-is or customize them for your own purposes. In addition, you will be able to contribute your own assignments and/or variations for others to use.

Beyond the video game aspects of this workshop, we will also briefly cover two tools that can be used independently of video games - MediaWiki and JavaWIDE. MediaWiki installations are currently used at GGC to facilitate widespread collaboration among students and teachers in a variety of courses (not just technology courses). JavaWIDE is used in the Introduction to Programming class to quickly create and post small example programs, and it is a technology built using MediaWiki.

Tentative Schedule
Time Activity
8:00am Breakfast in the Atrium of the B Building
9:00am Introductions in Room B1200
9:10am Overview of the FANG Engine & JavaWIDE
9:30am Demonstrations, Short Programs & Wiki editing
10:30am 10 minute break
10:40am Questions and Answers
11:00am Wackadot
12:00pm Catered Lunch in the Atrium of the B Building
1:00pm Brainstorming on resources teachers need, B1200
1:30pm Create/develop resources
2:20pm 10 minute break
2:30pm Discuss progress, future plans, continue work on resources
3:30pm How to continue after the workshop ends
3:50pm Concluding remarks
4:00pm Workshop ends

Are Professional Learning Units available?

If you are in Gwinnett County Public Schools, the answer is yes if you complete an additional 4 hours work after the workshop ends. Details about this will be given at the workshop. If you teach at a school other than in Gwinnett County, I would be glad to provide documentation of your participation, but it will be up to you and your school system to determine if your participation will count toward your professional learning units. Feel free to have administrators from your school contact me about if they need further information.

What is the Freely Available Networked Game (FANG) Engine?

The Freely Available Networked Gaming (FANG) Engine is a Java gaming package designed for educational purposes. The major aspects of the FANG Engine that distinguish it from other similar game engines are:

  • It is entirely written in Java and is free and open source released under a GPL license.
  • Novice programmers can start using it in minutes without downloading or installing any software.
  • It is 2D and networked for multi-player games and students don't need to write any networking code.
  • Games can be played on most browsers without downloading or installing any additional software.
  • It has been field tested in classrooms since 2003 by 10 different instructors.

Currently, 150+ students are using the FANG Engine at the high school and college level at 3 different institutions.


Click here to view a matrix comparing the FANG Engine to many other game engines.

How has the FANG Engine been used in classes?

The FANG Engine has been used in a variety of settings:

  • College Level CS0/CS1 - Duke University, Georgia Gwinnett College, Western Carolina University
  • High School AP Course - North Gwinnett High School
    • "The FANG Game Engine is a huge asset to my Intro and AP programming classes. The students are completely focused, and it makes them curious to learn more. It helps create the ideal class environment, and it can parallel/supplement any text. In short, it's awesome, I love teaching with it." (M. Reilly, North Gwinnett)
  • Gifted Adolescents - Duke Talent Identification Program
    • 3-week Summer Program - Duke East Campus
    • Semester Online Courses - students from across the Southeast
    • Day Workshops for 5th/6th Grade - Durham, NC area students


Click here to view links to all of the courses that have used the FANG Engine.

Why Use the FANG Engine?

  • Students are more interested in writing video games than many other types of programs.
  • It is easy enough for novice programmers to use.
  • It is in Java, the programming language of the AP Computer Science Exam.
  • Game programming concepts allow you to preview more advanced areas of computer science without going into too much detail.

"Make and modify a game in under 5 minutes" Demo

It's possible to make a and modify a basic game online in under 5 minutes. This part will show how to get started quickly without installing any software.

Images

The FANG Engine can display png, jpg, and gif. In addition, it can detect the shape of transparent gifs, display animated gifs and can control which image of the animated gif displays at any given time. Images can be made as sprites:

ImageSprite image=new ImageSprite("imageFile.png");

or using JavaWIDE like

ImageSprite image=new ImageSprite(Wiki.getMedia("imageFile.png"));


Click here to view a short tutorial about adding images to games.

Sound

The FANG Engine can currently only play uncompressed audio wav files. Sounds can be created like

Sound sound=new Sound("soundfile.wav");

or using JavaWIDE like

Sound sound=new Sound(Wiki.getMedia("soundfile.wav"));

and played

sound.play(X);

where X is the balance (0 means all left speaker, 1 means all right speaker).

Calling the no parameter

sound.play()

plays a sound with equal balance (same as calling sound.play(0.5)).


Click here to view a short tutorial about adding sound to games.

Multiple Players

Each game has access to all players' input devices. Simply call

getPlayer(X).getKeyboard()

or

getPlayer(X).getMouse()

to have access to the player's keyboard and mouse respectively where X is the player number you want to access.

The no parameter

getPlayer()

gets the current player.


Click here to view a short tutorial about making the Wackadot game multi-player.

Trackers

Trackers are what makes a Sprite move on its own.

Alarms

Alarms make code execute at a given time in the game.

Write your first FANG Engine Game

There are two basic ways to write FANG Engine Games:

  • Use a full featured IDE like Eclipse or NetBeans
  • Use JavaWIDE, the Java Wiki Integrated Development Environment.
    This enables students to collaboratively make and share Java programs online without downloading any software. The FANG Engine mixes very well with JavaWIDE since all games made using the FANG Engine can be run as applets. There are two sites where students can make FANG Engine games:

One of the basic first games students can make with the FANG Engine is Wackadot.

Click here to view a tutorial about making Wackadot.

Using Game Controllers

It is possible to use game controllers instead of the computer keyboard and mouse. More information will be provided here about how and on what platforms this can be done.

GridWorld on JavaWIDE

GridWorld is the AP Computer Exam case study, and now there's GridWorld on JavaWIDE

This can provide teachers and students with a place to write GridWorld applets on the web (no software download or installations required). This will enable any student to use any Internet-enabled computer to use the case study (they could even program in Java with GridWorld on a public library computer, no thumb drive needed).

Make High School Teacher Resources

Here we are going to make and modify resources so that they can be more readily used in the classroom. Additionally, we will brainstorm about what further resources would be helpful for high school teachers considering the use of the FANG Engine and/or JavaWIDE. There are two goals of this part of the workshop:

  • Provide the most immediately needed resources as soon as possible, perhaps some of them by the end of the day.
  • Identify short and long term plans to offer support to high school teachers.

Special Thanks

We would like to thank the following people/organizations for making this workshop possible:





Views
Personal tools
Add to 
del.icio.usAdd to 
diggAdd to 
FacebookAdd to 
favoritesAdd to 
GoogleAdd to 
MySpaceAdd to 
PrintAdd to 
SlashdotAdd to 
StumbleUponAdd to 
Twitter

Games
Games