[three]Bean

Teaching Open Source, Web-Based, Game Programming at RIT

Mar 06, 2012 | categories: python, teachingopensource, openshift, turbogears View Comments

This last quarter at RIT I taught (for the first time) a course on open source, web-based, game programming. The quarter just came to an end and I really want to brag on my students. But before I do that, here's a glimmer of what we covered:

  • How to use bash and vim
  • How to use git and github
  • How to submit patches to projects you know nothing about
  • What makes a good, casual game
  • How to make games with HTML5
  • How to program in JavaScript, CoffeeScript, and Python
  • Serverside programming with Turbogears2
  • How to get your code running on Red Hat's Openshift cloud.
  • How to give a lightning talk(!)

Really cool stuff was built into the class; it was about making open source software, so we open sourced the syllabus! Really cool stuff happened along the way; we hit ugly problems with openshift, so we patched the quickstarter script!

You can endure my self-indulgent drivel yes, but you get the best picture from reading the students' blog posts themselves. Enough of this! Les projets de cours!


#1 - Lazorz teamed up with the Boston Museum of Science to make "[An] educational game about the physics of light. In it's current incarnation it helps demonstrate the concepts of reflection and color filtering. The development team has plans to include other concepts such as refraction and prisms in future releases."

http://lazorz-fossrit.rhcloud.com/image/lazorzscreenshot.png

They got a nasty front-end built, by hand, with javascript and HTML5 that works on every mobile device we could test it on. It is intuitive and fun. They have almost-working Facebook auth and they have an almost-working Turbogears2 backed JSON store. (really, this close to completion!)


#2 - Gold Rush is visually and game-ly amazing. If I had to pick which of the three project was going to make one million dollars, it'd be this one.

http://i.imgur.com/XJCshh.jpg

The front-end is built in Unity (closed source, but compiles to a ton of platforms) and the back-end JSON store is built in TurboGears2. These guys completely flew through development, mastering skills they'd never heard of in a day. Its 3D with a moving camera and an incredibly fun game. The original game idea belongs to team member Eric Heaney. It's fun to play as a normal old card game (I've played it at a number of parties since he pitched it to the class).


#3 -- WebBotWar (the python web robot fighting game) wins the prize for master hack. They:

  • Forked pybotwar, ripped it's UI off and made it export JSON.
  • Reimplemented the front-end with jCanvas (and cooked up all their own art assets!).
  • Wrote a TurboGears2 app that spins up serverside instances of their pybotwar fork.
    • Those instances dump their state into mongodb (or memcached, long story).
    • Their javascript client polls the TG2 app for the game state and voilĂ .

They have (awesome) plans to:

  • Allow you to upload your own scripts (they have it working, just not secured).
  • Make a built-in script editor.
  • Tighter facebook integration (challenge your friends!)

BTW, it works on android and iPad. It even works on Epiphany (wat?) They also want you to know that python box2d is a pain in the ass.

https://github.com/ralphbean/WebBot/raw/c127a15b0c5f1d5683c7619676fc7aec4970e061/pywebbot-screenshot.png
View Comments