I am a senior student majoring in Computer Science at University of Michigan. I am an undergraduate research assistant doing operating system research in OrderLab advised by Prof. Ryan Huang.
In my freshman and sophomore year, I was doing game engine architecture research advised by Prof. Manuel Charlemagne.
I have broad interest in computer systems, including operating systems, compiler systems and game engines. I am also broadening my research interest in distributed systems and machine learning systems. I enjoy designing and building powerful systems.
I am also interested in programming languages (for systems). I have programming experience and skills in more than 20 programming languages. Currently I use Rust 🦀 to start my new projects.
Puka is an experimental 2D game engine designed to improve concurrency and keep simplicity for the users at the same time.
Users could write game logic in Lua scripts (called components) and specify the relationship between all the components and Puka will infer the best possible way to map components to CPU cores. For each CPU core Puka will create a Lua Virtual Machine (VM) to execute game codes.
Lua doesn't support multi-core execution, so Puka uses a mechanism to do automatic synchronization between different Lua VMs. See the blog post for more design details.
Messenger is a state-of-art 2D game engine with many design concepts borrowing from operating systems. It has a new architecture using "typed message passing", powered by the functional programming language Elm.
More than 100 students used Messenger to build great games. See SilverFOCS Game 2023+ games.