"Colonization" is an educational iOS application that was designed and started development during Summer 2013 for Undergraduate Research Summer Internship (URSI) at Vassar College. I worked with faculty member and assistant director of the Robotics Department, Nick Livingston. The goal presented was to develop a game that would teach middle school students principles pertaining to cognitive science and artificial intelligence, including embodiment, perception and action loops, agent-environment interaction, and behavior arbitration.
As part of my research, I designed Colonization to be challenging, engaging, intuitive and to have replay value. The concepts that are introduced to the player in the beginning will accumulate and will be necessary for later tasks and problem solving. The player will build and program robots, performs small tasks to help the colonization of an inhabitable planet, and discover what truly is happening in the Colony.
As part of my research, I designed Colonization to be challenging, engaging, intuitive and to have replay value. The concepts that are introduced to the player in the beginning will accumulate and will be necessary for later tasks and problem solving. The player will build and program robots, performs small tasks to help the colonization of an inhabitable planet, and discover what truly is happening in the Colony.
Premise and StoryYou are a junior roboticist working on a rocket that is bound for a frontier colony on an inhospitable planet. Senior roboticist, Jane Smith, plays an initial role as your supervisor and on-the-job instructor. As you are landing, a meteor comes and destroys the bridge connecting the rocket to the colony. She is injured during this accident and you are suddenly promoted to her job and must repair the bridge and take on her other duties. You are charged with building, repairing, and programming robots to perform tasks that will further the development of the colony. For the colony to survive and thrive, you must use logic, problem-solving and an expanding set of robotic skills to build your team of robots and transform this new world for mankind!
Complete quests, build your inventory of unique robots, and choose to specialize in a skill: Coding or Robot Mechanics. Your skill will effect your story, available tasks and difficulty of other quests. The story progresses with the spaceship landing on the planet, and right as you are boarding off, a meteor destroys the bridge between the spaceship and colony. Since the atmosphere is toxic to humans, the player must program a robot to repair the bridge by picking up metal and welding it to the holes. Once the bridge is repaired, the player will enter the colony where they will be given more quests to complete. These quests will introduce harder and more complex problems. Quests examples might be building a robot suitable for the terrain, coding a robot to gather certain materials or fixing and repairing robots, machines and the colony. As you complete more quests, the story will unfold how humans came to be on this planet, what troubles have arisen, and hints of something to come. |
ChallengesSome programming challenges were changing the scenes in Unity3D. Scenes are different files, and switching from one to another means exiting out of the current one. This destroys all objects in the scene and creates all the objects from the new scene. So, switching back to the previous scene means starting all over again. For example, the player position wouldn't be where you left off and the events that unfolded were not recorded. Another issue with programming touch applications is that there is a difference between general touch and specific touch. A general touch is when a finger just touches the screen, but a specific touch is when the finger hits an object, and you can then manipulate the object. Differentiating between the two was a challenge that hasn’t been resolved yet. Finally, the sequencing of events by using GUI buttons was an obstacle, especially when trying to use the same button over and over to get through a string of scenes.
|
Current and Future ProgressMost of the research this summer went towards game designing and thinking about all the things the game needs to implement. The user controls a junior roboticist through first or third person view, and navigates around their first scene, the inside of the rocket by using touch-screen joysticks. They can approach the senior roboticist, and talk to her, which then prompts your first task. The user first sees a working robot that is moving in a room, then the senior roboticist gets called away and you are asked to fix another robot. You are to select a battery and drag it to the robot so the robot can run.
For future development, there are plans to make it a full application that will be available on the market. Features to implement include more tasks for the player to complete, an in-game coding mechanism, a more comprehensive robotic-part inventory, a better interface for the player to fix robots with, and more complex robots. |