Today's blog post comes from our Lead Programmer Scott Doerrfeld. Scott joined the Wowzers Team in 2008 and has been instrurmental in the creation of the Wowzers Virtual Universe. He was kind enough to give us a little insight into how our Development Team utilized collaboration and hard work to turn Wowzers into a lean, mean, Game-based Learning machine!
What in the World is wowzScript?
The "old-timers" here at Wowzers like to let new employees know how good they have it by telling the story of the game engines infancy. Early on, we would work hours upon hours to get things up and running, but it would still take weeks to complete a single lesson! Nowadays, creating Wowzers lessons can be accomplished in a mere few hours.
Heres how we did it. Over time, our team developed a process that allows each programmer, artist, and curriculum writer to efficiently and effectively contribute to what happens within a given lesson. The key to producing a large amount of content in a short time period is in our proprietary scripting language, which we fittingly named wowzScript.
Our production team wanted to create a scripting language that is simple enough for everyone on the team to understand and use, but also powerful enough to accommodate whatever custom logic is needed within Wowzers. Thats how wowzScript emerged. More or less, the goal is to remove the many layers of code translation that can sometimes occur between conceiving a great new idea and making it happen live on your students tablet or laptop screen.
Pulling the Curtain Back on the Wowzers Production Cycle
Before we even entertain the idea of putting the lesson into wowzScript, our team of core designers collaborates to research, brainstorm, and design a virtual rough draft of the lesson. This collective planning helps get our curriculum writers, artists, and developers all on the same page.
Once weve figured out the direction the team wants to go, the curriculum writers begin crafting the content or script of the new lesson. In actuality, the writer is coding the basic educational framework of the lesson as she/he writes what the characters are going to say.
The curriculum writers build the framework by using special formatting within the scripts that synch with wowzScript to tell the Wowzers game engine what to do. This can include things like calling for a certain interaction to occur within the game or providing specific feedback to the students. The writer can even direct what expression a character should have when delivering a line of dialogue (laughing, mad, sad, surprised, etc.).
Once the script goes through a few rounds of drafts and edits, the programming and artwork creation processes begin simultaneously. Fortunately for the artists, there is no longer a need to create new artwork every time we make a new lesson. All previous Wowzers lessons and quests take place somewhere in the Wowzers Universe, which has become quite an extensive universe complete with diverse locations and a large cast of characters.
The wowzScript language allows us to easily mix and match existing art assets with newly created art to construct a unique scene within the platform. Next, the artists use wowzScript to tell the engine where characters need to be within the scene, what animations they will be acting out, and the level of interaction the students have with those characters.
Finally, the programming team begins filling in whatever holes are left from the writers and artists. By using wowzScript, our programmers can create simple machines such as a cash register that updates its display when the user clicks on a certain amount of cash. Random adaptive problems are also generated using a powerful algorithm built into wowzScript.
Additionally, the programmers are constantly working on a toolkit of general-use manipulatives, such as a 2D graphing component or click-and-drag interactions. Because of Wowzerss ability to function on all web browsers and mobile iOS/Android devices, every interaction must be created to be both keyboard/mouse and touch-screen friendly.
Practice (and Testing) Makes Perfect
Of course, a Wowzers product never leaves the gate until it is thoroughly tested. Our content is scrutinized, not only for bugs and correctness, but also for pedagogical clarity and effectiveness. Our development team works collectively with schools and students to pilot new content and new features in the classroom. It is during the pilot period that we get valuable feedback for improvement (and some pretty clever ideas we never even thought of) from the students.
- Scott Doerrfeld, Lead Programmer
Click here to read more about students and teachers' experience with Wowzers.
If you'd like to see Scott and the Development Team's hard work in action, check out our demo by clicking the button below!