Microsoft TileCode (opens in new tab) is an app for designing, coding, and playing video games directly on low-cost MakeCode Arcade (opens in new tab) gaming handhelds (opens in new tab), as well as in the web browser. With TileCode, we are using the medium of video games to explore the combination of
- Natural language for informally specifying games goals, rules, and mechanics;
- Physical computational models that foreground concepts such as data parallelism, pattern matching, and conflict resolution;
- Testing and debugging of programs to establish confidence in their behavior and to refine specifications;
- Machine learning to help bridge the gap between natural language and programs, as well as to generate non-player character behavior in games.
Our ultimate goal is to provide a sandbox in which students can express and refine their game ideas, while learning about computation, programming, and machine learning, supported by software engineering practices.
Our starting point is the design of a domain-specific language that allows a variety of retro video games to be created via a set of visual rules. Most rules are quite simple and can be translated directly into English; 10-15 rules suffice to code a variety of games, as shown in our UIST 2020 (opens in new tab) paper TileCode: Creation of Video Games on Gaming Handhelds (opens in new tab).
During the summer of 2020, Stefania Druga (opens in new tab) of the University of Washington designed and ran user studies with 15 families in North America to better understand how children talk about the behavior of video games and evaluate how their informal descriptions of video games aided them in the development of TileCode games. A Microsoft Research Webinar about our initial findings will take place on November 18, 2020.
If you are interested in contributing to the project, please send an email to [email protected] (opens in new tab)