What is SpaceChem?
SpaceChem is an intriguing, "problem-solving centric" puzzle game by Zachtronics Industries that combines the logic of computer programming with the scientific domain of chemistry, set in an original science fiction universe. Players build machines using mechanics similar to visual programming that assemble and transform chemical compounds. Players later connect those machines together to form complex pipelines, and ultimately construct special pipelines to fight back against space-monsters that threaten humanity. In addition to being challenging and mentally stimulating, it's been described as "one of the year's best indie games" by Rock, Paper, Shotgun, a leading PC gaming website.
Read our full document, "SpaceChem: a Guide for Educators", available here (PDF).
Try the free game demo, available here.
SpaceChem... in the classroom?
As a solid entertainment title that also ties into real-world science and engineering, SpaceChem is unique because it is educational without falling into the trap of other "educational games" that often forget to be fun. While not a replacement for traditional instruction in the areas of computer programming and chemistry, SpaceChem can be used as:
• a reward that keeps students thinking;
• an opportunity to practice problem solving skills;
• an application for statistics using students' scores, with in-game histograms;
• a cross-curricular reinforcement tool; or
• a way to get students excited about computer programming and chemistry.
What does SpaceChem teach?
• In SpaceChem, players must construct molecules, which are made out of atoms that are bonded together.
• Most molecules and atoms are based off of those from real life. For example, one puzzle requires players to build a machine that combines H2 and O2 molecules to create H2O2 molecules.
• Many molecules have short blurbs of chemistry trivia associated with them.
• The core programming model consists of two "threads" that operate simultaneously, requiring players to explore and master concepts like in-order execution, loops, branching, synchronization primitives, and subroutines in an organic and comprehensible environment.