SMU Guildhall Graduate Catalog 2021 — Cohort 29 2021 | Page 110

«

Tyler Wolverton
Software Development
Zephyr : A State-Based , Event-Driven , Domain-Specific Language for 2D , Top-Down , Action Role-Playing Games
My thesis , Zephyr , is a domain-specific language that defines state machines that listen to and fire events to interact with my personal C ++ game engine .
Source scripts are compiled into bytecode on initial game startup or when hot reloaded . The bytecode is interpreted by a virtual machine at runtime whenever a script event is fired . I also created a 2D action Role-Playing Game ( RPG ) demo to demonstrate the language with enemies to fight , puzzles to solve , and quests to complete .
I love working on both game architecture and compilers , so this project gave me an opportunity to explore how those areas overlap . I learned how to generate , manage , and interpret bytecode to support scripting in a real-time environment and how to design a scripting
syntax that level designers would enjoy using . Designers were able to build new features in my game , which was really rewarding . I spent eight weeks planning and roughly eight months executing the project .
Scripting languages are a common feature of commercial game engines . By defining gameplay interactions in a simpler , more intuitive language , both designers and programmers can rapidly add new features to a game . Integrating a scripting language into my personal engine gave me a deeper insight into what it takes for an engine to support scripting , along with an intuitive system that I can use in future projects .
110 SOFTWARE DEVELOPMENT