Tuesday, August 25, 2009

New DigiBahn Screen Capture and New Training Resources

A new screen capture of the DigiBahn game, including a new model of the church (St. Andreas Church in Weißenburg in Bayern):

I also tweaked the camera to provide a more realistic human perspective; the point-of-view (POV) is much taller than in prior screen captures. In any case, we're making great progress on the game so far and with students returning to Elon University this week we will really be moving forward over the course of the next two semesters. The next mesh we will be importing? Well, maybe the post office...Or some apartment buidlings...

Finally, I was able to locate some excellent online Blender training videos at Lynda.com; really wish I had access to these a year ago when I was first learning my way around Blender as they would have saved me a lot of time and headaches.

Friday, August 21, 2009

Flow, Narrative, and Idealized Sociocultural Spaces

One of the features of Half-Life 2 that impresses me time and time again is the seamless sense of flow that the game narrative, virtual spaces, and ludic activity provides. Unlike many other games that front load a large amount of interface training thinly masked as plot development or avatar "education" (America's Army 3 comes to mind), one simply "knows" what to do in Half-Life 2 and with a minimal amount of instruction. The virtual landscape directs the character along the appropriate path, with an occasional nudge from a NPC or a cleverly inserted audio track that provides a further sense of narrative depth without being overbearing or preachy. One maintains a tremendous sense of operational latitude when, in fact, the game narrative is moving inexorably forward along a predetermined path.

This sense of seamless flow between space and game narrative will be something that the DigiBahn Project will have to emulate. Developing a persuasive and engaging virtual environment that instructs while simultaneously giving the impression of unlimited operational latitude will be a tall order, in any case. Already at the beginning of game development we are dealing with the tension between the apparent freedom of avatar movement and the limitations of the virtual environment: Although certain aspects of the game's pedestrian zone will resemble the one in Stuttgart (the stairs leading down to the Klett-Passage), the original openness of the real pedestrian zone cannot be simulated in the game as, well, it goes on for a really long distance and we just can't do that in a 3D game (yet).

So, the pedestrian zone in the game will be a "stereotypical" one in the sense that it will have a post office, a bioladen, a fountain, lots of trees, benches, etc. My question is this: Is this good? If the pedestrian zone does not imitate reality, and instead renders an idealized and, in a sense, scripted version of this reality, is that necessarily a bad thing for an instructional 3D language game? Will abstracted and artificial representations of real sociocultural spaces and their narratives be more amenable to learning transfer or does fidelity to the real space provide a more authentic learning experience with an increased chance of transfer when the student actually sees the space in real-life?

Just some thoughts rattling around in my mind on a Friday afternoon. Oh, and as every pedestrian zone in Germany (and other German-speaking countries) seems to have a church, here is the cleaned-up mesh of the St. Andreas Church in Weißenburg that we will be using in the game:

The render seems to be a little dark after exporting the original raw AVI into .mov format and then uploading it to YouTube. I'll have to keep that in mind for the future. And here is a recent still render, complete with skybox, bump and specularity maps, and some color thrown on the tree for good measure. A modest effort, but going in the right direction, I suppose:

Monday, August 17, 2009

DigiBahn, Blender, and Google SketchUp

One of the primary difficulties facing the DigiBahn Project is the development of realistic 3D models to simulate an authentic German environment. One workaround we have been employing is to mine the Google 3D Warehouse for models and exporting them into Blender as a COLLADA file.

The workflow is fairly straight-forward:
  1. Download the SketchUp model as a COLLADA .zip file.
  2. Unpack the .zip file.
  3. Import the COLLADA 1.4.1 .dae file into Blender
Blender provides an easy way to import COLLADA files via an embedded Python script, which, of course, requires Python to be installed:

Supposedly the script that ships with Blender is slightly dated, so a new COLLADA import script is available on the Web.

Importing the SketchUp models into Blender works well, although the script seems to generate extra edges and some unnecessary vertices, which need to be cleaned up within Blender edit mode. After this is done, the textures need to be reapplied to the mesh:

In any case, grabbing these models from the Google 3D Warehouse and cleaning up the meshes is a lot easier than trying to create the models based on incomplete images. Here is a list of the models we have grabbed so far:
  1. Stuttgart Central Station
  2. St. Andreas Church in Weißenburg
We will probably be grabbing more in the near future in order to flesh out the pedestrian zone for the game.

Friday, August 14, 2009

Nothing But Blue Skies...

I have been busy since 3:30 AM this morning, working on getting a basic prototype of the DigiBahn game ready for the 2009 ACTFL Annual Conference. I know that it won't be until November 22, but I'm afraid that once the semester starts the first week in September, I'll get too busy with other things. Besides, adding meshes to what has been developed this far will simply be a matter of importing, scaling, and then positioning. And I should also really start looking at grants and writing articles.

This test run of the Blender game engine sees the completion of the underpass stairs (finally got the railing installed; now I just need to get the textures applied) and a nice skybox (there is no air pollution in Germany, right?). Although I grabbed the skybox from Tony Mullen's excellent book, Mastering Blender, it will be a fairly easy procedure to make one myself; I can do this when I have more time. Anyway, here it is:

In any case, the skybox gives the game a more realistic feel, and I'm happy to note that the FPS (frame rate per second) did not really drop below 50. I was a bit disappointed, however, as the original screen capture was meant to have audio narration, but Camtasia didn't seem to pick it up. I'll have to fiddle with the controls and try again later.

Basically, what I wanted to say in the narration was this (major points):
  1. Language usage is situated within specific, real-world communities of practice;
  2. Classroom-based language instruction, however, tends to be purely academic, with no real-world contextualization;
  3. This type of instruction can be applied to real-world setting, but only with difficulty;
  4. 3D games can simulate a real-world environment, allowing players to experiment with cultural hypotheses and play with language in a virtual environment; and
  5. Learning in a virtual environment should transfer better to a real-world environment than traditional classroom-based learning.
I'm currently exploring how narratives of space, both virtual and real, can be aligned with the way that people apprehend reality through narrative frameworks. Can a connection be made between the game narrative and the sociocultural narratives of a real-world space (here: Stuttgart Central Station) via a virtual rendition of this space? Hmmm....

Wednesday, August 12, 2009

The Play of Language

Thinking about how the DigiBahn game could eventually be used in a language classroom has led me back to thinking about language itself, specifically its "play-like" nature: We can "play" with meaning of words and even entire games focus on using language in playful contexts. Seen within a communicative framework in real-life settings, language and speech acts still retain a sense of play. I recall that, the first time I was in Germany I tried so very hard to sound and look like a native: I noticed verbal ticks, particular ways of holding the body while speaking, and particular turns of phrase that the natives used and I "played" with numerous ways of incorporating these observations in my own speech performance. Like games, language is also characterized by systems: Not only linguistic systems but also sociocultural ones as well that influence the final form that the speech act takes. So, I have got language, games, and systems running through my mind and I think that there is something to this topic that will have more of an influence on the DigiBahn Project.

To explore this topic in more depth, Ive decided to create a class around it:
Essentially, it is simply an advanced conversation course that I will be tricking out to make it more interesting and fun for the students, but perhaps I will also learn something from it as well. Chances are, I probably will. A complete course syllabus in PDF format can be found on my professional website in the "Teaching" section.

Saturday, August 1, 2009

Specular and Bump Maps; New Screen Capture Software Needed?

I have been experimenting a bit more with Blender to get the animation for the street sign in the pedestrian zone just right. Although it still doesn't look exactly the way I'd expect it to look in real life, the use of specular and bump maps has given the model a more realistic appearance than prior attempts:

I added some extra lamps to give the model a warm, golden feel that I think it might have in the evening sun. I'm still working on finding a way to remove the annoying flicker that appears at the mesh edges when the model rotates; hopefully I will be able to post a solution to this problem in the near future.

In the last few days I was also able to find a Blender project to develop a first-person shooter (FPS) on the Web. I have been taking a look at the Python code and trying to modify it so that it can serve the needs of the DigiBahn Project as, alas, I don't think that students playing the game will need to carry an assault rifle through Stuttgart Central Station (perhaps an Easter egg for the game?):

For some reason or another, the complete texture did not get imported into the game: I can only see the sign images but no stainless steel texturing. I'm going to have to look at this problem and see if I can find a solution. Do I need to "bake" the textures onto the mesh?

I've been using Camtasia to do the screen captures and, unfortunately, it has been providing some miserable frame-per-second (FPS; a different meaning of "FPS" than the one above) rates when recording the game engine. Thus the jumpy video of the second game engine test in Blender. I cranked up the video capture settings to 50 fps and rendered the video in 30 fps in the hope that the video render would be a lot smoother, but no such luck. The final product was a lot smoother than other renders I did, it still isn't as smooth as I know it can be. Looks like I am on the market for a new screen capture software; any suggestions?