Java Video Game Programming in High Schools:
Using the FANG Engine and JavaWIDE
Using the FANG Engine and JavaWIDE
Georgia Gwinnett College
Building B Room 1200
March 10, 2008
Building B Room 1200
March 10, 2008
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:
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.
- Map to GGC's campus
- Parking map of GGC's campus
- Map of the Building B - the workshop is in room 1200
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?
|Teacher||County||High School|| Attended|
| Completed Four|
|Queen Adeboyejo||Bibb||Southwest Magnet High School & Law Academy|
|Larry Wilkes||Cobb||North Cobb High School|
|Latrice Wicker||Cobb||Wheeler High School|
|Ryan McCann||Columbus||Northside High School|
|Steven C. Thedford||Dekalb||Redan High School|
|Chad Austin||Fulton||Milton High School|
|Yu Liu||Fulton||Tri-Cities High School|
|Jo Ray Van Vliet||Fulton||Pace Academy|
|Shawn Merchant||Gwinnett||Meadowcreek High School|
|Doris Bonaby||Gwinnett||South Gwinnett High|
|Marlena Booker||Gwinnett||Give West|
|Diane Brackman||Gwinnett||Norcross High|
|David Byers||Gwinnett||Berkmar High|
|Stacy Byous||Gwinnett||Collins Hill High|
|Cheryl Deas||Gwinnett||Phoenix High|
|Jan Goddard||Gwinnett||Norcross High|
|James Hunter||Gwinnett||Peachtree Ridge High|
|Theresa Jarrell||Gwinnett||Brookwood High|
|Janice Justice||Gwinnett||Maxwell High School of Technology|
|Jamilya Mayo||Gwinnett||Shiloh High|
|Ray Parsons||Gwinnett||Grayson High School|
|Tracy Rainwater||Gwinnett||South Gwinnett High|
|Michael Reilly||Gwinnett||North Gwinnett High|
|James Roundtree||Gwinnett||Central Gwinnett High|
|Pintu Thaker||Gwinnett||Meadowcreek High|
|Carla Thornton||Gwinnett||South Gwinnett High School|
|Emily Treuman||Gwinnett||Meadowcreek High School|
|Michelle Venable-Foster||Gwinnett||South Gwinnett High School|
|Jack Woodard||Gwinnett||Mill Creek High|
|Jennifer Warren||Gwinnett||Greater Atlanta Christian School|
|J.P. Zinn||Gwinnett||Shiloh High|
|Gail Chapman||Henry||Luella High School|
|Heather Shipp||Jackson||Jackson County Comprehensive High School|
|Rex Wallace||Jackson||Jackson County Comprehensive High School|
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.
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.
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
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.
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"));
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"));
where X is the balance (0 means all left speaker, 1 means all right speaker).
Calling the no parameter
plays a sound with equal balance (same as calling sound.play(0.5)).
Each game has access to all players' input devices. Simply call
to have access to the player's keyboard and mouse respectively where X is the player number you want to access.
The no parameter
gets the current player.
Trackers are what makes a Sprite move on its own.
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.
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.
We would like to thank the following people/organizations for making this workshop possible:
- Dean Moore and the School of Education for providing catering and room reservations.
- Mike Reilly of North Gwinnett High School for helping to organize the workshop and pilot.
- Kris Nagel and the Educational Technology group for offering technical support.
- Jody Reeves, Director of Technical Education, Computer Science, and Apprenticeships for Gwinnett County Public Schools for promoting this workshop to Gwinnett County teachers.
- Barbara Ericson of Georgia Tech's Institute for Computing Education for helping to promote this workshop.
- This page was last modified on 4 April 2008, at 13:05.
- This page has been accessed 25,551 times.
- About FANG
- Powered by MediaWiki!