Making ecology learning fun through videogames

Jens Vanderhaeghe

CSC 895 - Culminating Experience Report

12/15/2016
 

Outline

  • Ecology Learning
  • What is World of Balance?
    • Overview of minigames
  • Project Timeline
  • Technical achievements & work
    • Team Lead
    • Git & Github
    • Code Styleguide
    • Wiki
    • Improved deployment
    • Improved software architecture
    • Android Version
  • Lessons Learned
  • Conclusion

Ecology learning

  • Can be frustrating for kids
  • Hard to stay focused
  • Time Consuming
  • Easy to get distracted
  • Not interactive

Video Games

  • Extremely popular medium
  • Interactive
  • Kids love games
  • Rich audio and visual experience
  • Collaborative

World of Balance

  • Simulation of Serengeti Ecosystem
  • Based on real simulation data
  • Multiplayer
  • Fun is the first priority
  • Technical 
    • Based on Unity
    • Servers in Java
    • using ATN Simulation Engine

World of Balance

6 minigames

  • Clash of Species
  • Running Rhino
  • Don't Eat Me
  • A Sea Divided
  • Convergence
  • Cards of Wild
  • Connected by Central Lobby

Lobby

  • Central Home location
  • Where users join minigames
  • Users buy and maintain tiles
  • Environment score based on real simulation data

Features

Central Chat System

Store: Buy animals & plants

Clash of Species

  • Based on Clash of Clans
  • Multiplayer 3D game
  • 3 phases
    • Attack Setup
    • Defense Setup
    • Battle

Gameplay

  • prey & predator relationships
  • Strategic
  • Rewarded for studying relationships
  • Plants for defense

 

Don't Eat me

  • Singleplayer
  • Plants vs Zombies
  • Match Prey & Predator
  • Short
    • High Satisfaction
    • Easy to learn

Gameplay

  • Predators move from right to left
  • Match predator with prey
  • Defend your plants!
  • Real foodweb relationships

The game uses real animal relationships

Defend your plants by feeding predators in time

Cards of Wild

  • Based on HearthStone
  • Cards Game
  • Multiplayer  - 1 VS 1
  • More complex
  • Competitive
  • Rewards Strategic players

Gameplay

  • Turn Based
  • Rock / Paper/ Scissors
  • Real strengths and weaknesses
  • Knowledge and strategy is rewarded

Gameplay

  • Destroy opponent Tree of life
  • Each card or attack has a cost
  • spend "Mana" to use cards
  • Must spend Mana wisely

Running Rhino

  • Infinite Racer
  • Up to 4 players
  • Very easy to learn
  • Animals have different
    • Speed
    • Agility
    • Strength
  • Based on real animal data

A Sea Divided

  • Underwater game
  • Multiplayer
  • Competitive
  • Underwater ecosystem
  • Rich 3D Graphics

Gameplay

  • 180 seconds rounds
  • Eat as much fish as possible
  • Beware of the predator
  • And your opponent!
  • Strategy rewarded
    • Lure predator to opponent
    • Study fish relationships

Convergence

  • Fully Science Based Game
  • Backed by ATN Simulation Engine
  • Single- and Multi- Player
  • Results contribute to research

Gameplay

  • Goal: "Converge" graphs
    • Start Graph
    • End Graph
  • Sliders: modify biomass
  • Closest player wins
  • Lots of information to study
    • Realtime results
    • Foodweb with relationships

Improving Fun Factor

  • Convergence was "boring"
    • Lots of graphs
    • Lots of data
    • Not rewarding
  • Solution
    • Introduced betting system
      • Competitive
      • Rewards Strategy
    • Graphical 

Project Timeline

Spring 2016

  • Class with 35 students
  • Team Lead and Project Manager
  • Introduction of Git
  • Clean-up of existing codebase

Fall 2016

  • work in Small group of Master's Students
  • Fix bugs
  • Prepare for release
  • Tests with focus groups

Problem Statement

  • Very Large codebase built over the years
  • Different programming styles and methods
  • No source control
  • Technical 
  • Lack of documentation
  • Many hidden bugs and features
  • 35 students
    • Not everyone is familiar with Unity
    • Varying levels (undergrad and Master's)

Team Lead

  • CSC 831: Multiplayer Game Development
  • 35 students
    • Different skill-levels
    • Different backgrounds
    • Different interests
  • Very large codebase
  • Limited timeframe

Git & Github

  • Allows all students to collaborate
  • Issue tracking
  • Fixing Merge Conflicts
  • Full history of all changes
  • Allows parallell development of features using branching

Code Styleguides

  • Uniformity across all code
  • With 30+ developers
    • Rules are required
    • Everyone must make concessions
  • Improved readability
  • Improved maintanance
  • must be enforced!

Wiki-page

  • Central
  • Easy to maintain
  • Easy to update
  • Everyone can contribute
  • Huge success: over 40 contributors!

Improved Deployment

Old Server Deployment System

  • Manual
  • Error Prone
  • Server would constantly go down
  • No roll-back
  • Hard to maintain
  • Hard to track bugs

Continuous Deployment

New Architecture

  • Every Server is now standalone
  • Improves reliability
  • Improves redundancy
  • Improves maintainability
  • Reliable data-flow

Android version

  • Mobile is a massive platform
  • Android is the biggest mobile platform
  • Basic version of World of Balance for Android
    • Clash of Species
    • Lobby
  • UI Improvements
  • Optimise for touch

Lessons Learned

Teamwork requires rules & coordination

  • Developers with different skill levels

  • Developers with different levels of passion towards the project
  • Code Styleguides increase overall productivity
  • Source control & branching improve collaboratoin

Failure to meet a goal does not fail the project

  • Large project

  • Always re-prioritize
  • Beware of scope creep

Automate repetitive tasks

  • Large project

  • Always re-prioritize
  • Beware of scope creep

Lessons Learned

Games should be fun in the first place

  • Nobody wants to play games that are not fun

  • You have to keep the attention of the player

  • Create mechanisms so players come back 

  • Make games competitive

Avoid too much complexity in games

  • Complex games are hard to learn

  • adhere to "easy to learn" - "hard to master"

Presentation and sound matter

  • Sound effects increase immersion

  • Great visuals improve learning

  • Use a clear and consistent style across the entire project

Conclusion

  • Great Project with a lot of variety
  • Learned a lot
    • Games
    • Ecology
    • Software Engineering skills
    • Teamwork
    • Personal skills
  • Special thanks to:
    • Dr. Yoon
    • Dr. Kulkarni
    • David Hoff
    • Abhilash Shrivastiva
    • All developers

Questions?

World of Balance

By Jens Vanderhaeghe

World of Balance

  • 908