Small Game Engines, Big Lessons: PolyEngine & Pill Engine
Room A | Fri 23 Jan 11:40 a.m.–12:25 p.m.
Presented by
-
Jakub Duchniewicz
https://jduchniewicz.com
Jakub Duchniewicz is a senior embedded engineer and often a team lead at Tietoevry, working on 5G NR Layer 1 and custom ASICs. He lives close to the metal: C/C++20 and Rust, RTOS/Linux, FPGAs, drivers, and bootloaders. His toolbox includes high-level programming skills and general DevOps with several product deployments in the wild.
Jakub co-founded Sticky Piston Studios, where he ships open source software and small games. Recent projects include Pill Engine (a Rust ECS engine with networking) and ZLED Frame (ESP32/Zephyr Wi-Fi NeoPixel art). Skilled with debugging software and hardware alike, no bug remains unsquashed and untraced under his watch.
He often participates at game jams and hackathons, writes technical posts, and cares about good quality code, efficient build systems and maintainable technical debt. Current interests: embedded ML, Rust in low-latency systems, and reverse engineering.
More at jduchniewicz.com.
Jakub Duchniewicz
https://jduchniewicz.com
Jakub Duchniewicz is a senior embedded engineer and often a team lead at Tietoevry, working on 5G NR Layer 1 and custom ASICs. He lives close to the metal: C/C++20 and Rust, RTOS/Linux, FPGAs, drivers, and bootloaders. His toolbox includes high-level programming skills and general DevOps with several product deployments in the wild.
Jakub co-founded Sticky Piston Studios, where he ships open source software and small games. Recent projects include Pill Engine (a Rust ECS engine with networking) and ZLED Frame (ESP32/Zephyr Wi-Fi NeoPixel art). Skilled with debugging software and hardware alike, no bug remains unsquashed and untraced under his watch.
He often participates at game jams and hackathons, writes technical posts, and cares about good quality code, efficient build systems and maintainable technical debt. Current interests: embedded ML, Rust in low-latency systems, and reverse engineering.
More at jduchniewicz.com.
Abstract
Here be Game Engines.
They sound grand and complex, so we assume mere mortals can’t write one—or even contribute. This talk pushes back on that idea. It’s a grounded story of how working on an in-house engine taught me modern C++ and the value of the Entity-Component-System (ECS) pattern.
We’ll go from “What is a game engine?” and a quick look at the popular ones, to hands-on bits from two lightweight codebases: the C++ PolyEngine and the Rust Pill Engine. I’ll show how a small engine actually works—systems scheduling, components, assets—and share demos, war stories, and lessons learned from game jams where we often spent more time on the engine than the game (and how to avoid that).
Takeaways: knowledge of game engine structure, practical ECS patterns, some in-house tricks and a jam-tested plan for keeping scopes sane.
Audience: developers curious about engine internals; prior C++/Rust helpful but not required.
Here be Game Engines.
They sound grand and complex, so we assume mere mortals can’t write one—or even contribute. This talk pushes back on that idea. It’s a grounded story of how working on an in-house engine taught me modern C++ and the value of the Entity-Component-System (ECS) pattern.
We’ll go from “What is a game engine?” and a quick look at the popular ones, to hands-on bits from two lightweight codebases: the C++ PolyEngine and the Rust Pill Engine. I’ll show how a small engine actually works—systems scheduling, components, assets—and share demos, war stories, and lessons learned from game jams where we often spent more time on the engine than the game (and how to avoid that).
Takeaways: knowledge of game engine structure, practical ECS patterns, some in-house tricks and a jam-tested plan for keeping scopes sane. Audience: developers curious about engine internals; prior C++/Rust helpful but not required.