Overview
What this challenge is about.
Build a compiler turning C-like scripts into WebAssembly for a game runtime. Pass five examples and earn your verifiable certificate.
The scenario
The studio builds 2D mobile games served to about 4 million monthly active players, and embeds a WebAssembly runtime so gameplay code can be sandboxed and hot-loaded without app-store resubmission. Level designers currently file tickets for every scripted behavior, creating an engineering bottleneck that a designer-writable scripting language is meant to remove.
The Brief
What you'll do, and what you'll demonstrate.
Build a working compiler that translates a documented C-like subset into valid WebAssembly 1.0 binaries that load and run unchanged inside the studio's existing runtime host.
Earning criteria — what you'll demonstrate
- Design a minimal, safe language subset scoped to a concrete embedding use case.
- Lower an abstract syntax tree through an intermediate representation into WebAssembly instructions.
- Emit a well-formed WebAssembly 1.0 binary module by hand, including type, function, code, and export sections.
- Structure a compiler into front-end and back-end passes with a shared, stable AST contract.
- Validate generated binaries and verify runtime behavior against an embedding host.
Program Fit
Where this fits in your program.
Sharpens the same skills your degree expects you to demonstrate.
Aligned coursework coming soon.
Skills
Skills you'll demonstrate.
Each one shows up on your verified credential.
- Code Generation
Apply code generation to solve real industry problems and demonstrate production-level capability.
- Webassembly
Apply webassembly to solve real industry problems and demonstrate production-level capability.
- Intermediate Representation
Apply intermediate representation to solve real industry problems and demonstrate production-level capability.
- Abstract Syntax Trees
Apply abstract syntax trees to solve real industry problems and demonstrate production-level capability.
- Binary Formats
Apply binary formats to solve real industry problems and demonstrate production-level capability.
- Compiler Passes
Apply compiler passes to solve real industry problems and demonstrate production-level capability.
Careers
Career paths this challenge builds toward
Completing this challenge demonstrates skills that transfer directly to these roles:
Compiler / Language Tools Engineer
This challenge builds the core loop of compiler work: turning a parsed program into a stable intermediate representation and lowering it into machine-targetable output, then proving correctness against real examples. It maps directly to building production compilers and language tooling.
This challenge sharpens
- intermediate-representation
- abstract-syntax-trees
- compiler-passes
WebAssembly Platform Engineer
Hand-emitting valid WebAssembly 1.0 binaries and running them in an embedding host mirrors the work of building WASM toolchains and sandboxed runtimes for browsers, edge platforms, and game engines, where binary-format fluency is essential.
This challenge sharpens
- webassembly
- binary-formats
- code-generation
Game Runtime / Tools Engineer
Delivering a designer-facing scripting compiler that runs in an existing runtime is exactly the kind of internal-tooling work game studios depend on to unblock content teams, combining code generation with pragmatic subset design.
This challenge sharpens
- code-generation
- webassembly
- abstract-syntax-trees