Adjusting for New Learning Objectives

New Artwork is Fully Loaded

The past few weeks have been dedicated to loading the new custom art into GeoFarmer and preparing for the upcoming game development. Now that the artwork for character sprites and character profiles is fully loaded, the big task for version two of GeoFarmer turns to updating the game for the modified learning objectives. There are three initial components to updating the game to match the modified learning objectives:

  • Matching game mechanics to learning objectives
  • Updating or creating game goals to match the new game mechanics
  • Developing mechanics (Back-end processes, sustainable event processing, etc.)

Game Mechanics

Borrowing from Agile development, I created a rough prototype of several mechanics that match the learning objectives. The mechanics include fighting a fire, cutting down trees to create farmland, and a series of branching choices that the player makes. Depending on the level of importance on different learning objectives, all of the mechanics may be used or none of the mechanics. The module within the course that focuses on agricultural geography discusses effects of climate change, deforestation, over-farming, and economic implications of all the above. What sections need supplementing or have other related learning objectives will significantly affect what mechanics are used.

Game Goals

The plot and player goal(s) that surround the game mechanics are even more varied and complex than the mechanics themselves. Thankfully there are plenty of real-life examples that the course pulls from to illustrate the key concepts that can serve as a basis for the story and game goals. Pulling from traditional RPG’s, an existential threat (e.g., climate change, crop failure) would fit the motif quite well.

Scaling Development

When taking a step back from what the game should include and how it relates to the course, the question of how to implement the mechanics and goals arises. While the game engine in use is quite powerful, it is very easy to create “spaghetti code” by developing and scripting in an unorganized fashion. When designing and implementing the mechanics for version two, the lessons learned from version one were definitely evident. I labeled all events, variables, switches, and NPCs as a first step. The game engine’s scripting language also provides convenient organization tools like triggering events based on switches without customized coding or scripting. All of these methods and tools should setup a more efficient development process regardless of the new learning objectives, game mechanics, and game goals.