Breaka Club is a creativity and coding club for kids. We have a focus on game development since game creation covers a wide variety of creative and technical skills. Initially we’ll be rolling out in-person clubs and afterschool programs. Online / remote will also be possible in the near future.
I’m the father of three young girls, and for a number of years have been helping them explore tech and creativity. That includes everything from building towers out of spaghetti and plasticine, to hands-on play with electronics.
However, my areas of expertise are software engineering, product and gaming. So that’s what I tend to spend a chunk of my time on with my kids. We play board games, computer games, and of course, make our own games together.
As it turns out, the amount of time and effort that a parent needs to invest to help a child create their own game is currently pretty astronomical.
I was finding that even myself, with ample experience in the space, was unable to give my kids the time I felt was necessary to properly engage them creating games.
Sure, we could, and did, make games together.
However, in addition to the significant time investment; the games frankly weren’t fun enough to hold the attention of my daughters (or anyone) for long.
Worse, my daughters didn’t really have creative control. The tooling used to create these games simply wasn't designed for children.
For my eldest daughter, to address the lack of creative control, I tried a plethora of coding apps, and enrolled her in an afterschool coding program that her school was just launching.
They had enrollment numbers well beyond what they initially expected.
Unfortunately, the club experience (which was provided by a large “reputable” company) was so poor that the club was shut-down after a single term.
The coding apps didn’t fare much better.
They failed to hold my daughter’s attention. She’d abruptly end a session with complaints that she ‘just wants to learn to code’.
Of course, the apps were teaching her to code, but that’s not really what my daughter meant. She meant that she wants to visibly make progress much faster. At least, progress in the metrics she cares about.
For example, she still was unable to code crafting / recipe logic for creation of desserts, or the logic for a sewing machine in her envisioned ‘Teddy Bear Town’.
Maybe she didn’t even want to code at all? Maybe she just wants to create 'stuff'?
That’s fine.
In fact, that’s more than fine. I think that’s fantastic! After all, I’m not after a specific outcome. I just want my kids to develop creative competency so they can lead a happy and fulfilling life.
This got me thinking. How can I let my daughters create games with skills they already have? How can I ensure there’s a pathway to learning additional skills?
Most of all, how can I provide an experience that feels so magical my kids will want to learn new skills?
The solution. A game to make games.
Supposedly these already exist in one form or another.
In practice, what’s available is either exceedingly boring to play, or exceedingly difficult to create games within. And more often than not, both.
Additionally, given the dubious ethical track record of the most popular platform in this category, I was suddenly feeling a moral obligation to solve this problem once and for all.
I already knew what kinds of games my kids enjoy AND how to build games. Perhaps fortuitously, I also have ample experience building games that specifically let players create games within them![1]
However, even that wouldn’t be enough. If I’m going to do this, I’m going to do it properly. In which case, when kids advance sufficiently far, I expect them to be able to code in much the same way as I do. Luckily, I also happen to have ample experience building genuine IDEs[2] too, and developer tooling[3].
Development of the Breaka RPG
I set out on the journey to build the ultimate game creation platform for kids. I knew where to start. 3D modelling is difficult and time consuming for adults. It’s near impossible for time-poor kids. Most kids can draw, in some capacity. My kids can genuinely already draw better than I can. Mostly because they practice. So, let’s ensure kids playing this game get a chance to practice!
Thus, the cornerstone of creation became drawing. If a kid wants a tree. They draw it. Want a cow? Draw it. Road? Sure, they can draw tilesets too. Actually, if they’re patient enough, the game even supports hand-drawn frame-based animations!
Okay. That’s all well and good. But a bunch of pictures: that’s a picture gallery, not a game! We needed functionality too.
I’ve designed and built much infrastructure. I wasn’t about to set out on a shaky ground. Everything built needed to be done so with well thought intention.
I’m a polyglot and a big believer in choosing the right technology for the job. I’m also a big believer in open source technology.
I’ve used many game engines/toolkits over the years: Unity, CryEngine, C4 Engine, Torque, XNA, Irrlicht — remember those!
However, what has really gotten my attention in recent years is Godot. A very capable engine and a powerhouse open-source project.
OK. So we’ve chosen Godot. Now, do we go with C# or GDScript. Something else? 🤔
As I mentioned, each decision must be made with intention. The entire purpose of this project is to build a platform that will progressively upskill kids from an age where they cannot yet read, to… well. Why should there be a ceiling at all?
If I’m doing this correctly, the ideal outcome is that kids will be able to write code just as I do. So, let’s make that possible. I should allow kids to write code directly in the same codebase that I’m writing in.
The choice of programming language now becomes much more interesting.
If I’m going to teach kids a programming language, then the language needs to be both approachable, and broadly applicable, beyond just Breaka Club. Ideally, applicable beyond game development. Something that can be used to build applications, infrastructure and web development.
TypeScript!
‘Wait. Hang on. Godot doesn’t even support TypeScript!’
And that, my friends, is the story of how I became the maintainer of GodotJS… Hang on. I was telling a different story, wasn’t I?
Well, after making over 100 open source contributions to the GodotJS project, I had a programming language and user experience I was confident could meet the needs of both myself, and Breaka Club's most technically advanced kids.
Having a programming language is a far cry from a functional game though.
Especially since I’m not just building any old game. It’s not enough to program in a cow, or a plant. Kids are going to want to create their own characters, props, items and scenery. Things I haven’t even conceived of!
I couldn’t hardcode all that even if I wanted to. More than that, I want ALL of this functionality to be accessible to kids with zero coding experience. What I needed to implement was a series of powerful (and scalable) abstractions.

The result, a data driven fully typed data model for effects, interactions, triggers and timers. Characters, items, props — the whole lot, all data driven. And ready to be stored in a database. Because it’s not just enough for kids to build games, they ought to be able to share them too!
This is a solid technical foundation. However, my 5 year old hasn’t started school yet! She can’t read yet, she most certainly doesn’t know what a data model is!
Whilst I could, and have, built tooling to make it easy to construct this data — again, my 5 year old can’t read 😅
Naturally, when you want to simplify a complex data structure you build presets, or templates. That said, I really want this to start simple. A user interface to select a template from is unnecessary complexity.
Instead, let’s get physical.

What you see above is a Breaka Club template. It instructs kids what to draw. When kids take a photo of it, their drawing is automatically aligned, cut out and loaded into Breaka Club with associated behavior.
In the case of the template above, in game, if a child hits their drawing of a tree with an axe a few times, it’ll bust apart and wood will be dropped in its place.
This makes for a solid foundation.
There’s also a lot of supporting infrastructure, tooling and user experience functionality propping all this up. Even then, we’ve only covered the technical aspects, none of the built-in story and associated gameplay mechanics.
Since this is already quite the spiel, I’ll save that for another time.
Thus far, we’ve focused almost entirely on the Breaka RPG game / tooling.
Although, Breaka Club is not a game. In fact, the Breaka RPG isn’t even the only game kids will have access to when participating!
If you’ve watched the video at the top of this page, you’ll see that Breaka Club also provides kids with educational variants (mods) for popular third-party games.
For example, kids can learn to code with a fully integrated visual scripting language in the much loved party game, Overcooked 2!
If Breaka Club is not one game, or even two games. What exactly is it then?
Club Program
Breaka Club is a platform and a series of associated community run clubs. At Breaka Club, kids learn to draw, create, code, and most of all; have a HEAP of fun!
Breaka Club is not a course.
We provide clubs with tooling, software, games, guides, resources, and training (for club leaders). However, individual clubs are community run, and self organized.
We do have some important policies around staffing and child safety that we take very seriously though!
We’ll also run the occasional Breaka Club wide competition / event that kids may optionally participate in. Beyond those, we won’t dictate what clubs do on a day to day basis.
If you think you’d be interested in joining one of our clubs. Please join our waitlist to find out when we’re rolling out a club in your area.
Even better, if you’re a parent (or teacher), that would be interested in leading a club. Please let us know below.
- [1] I'm a member of Tabletop Simulator's core development team.
- [2] My IDE which bolts static typing onto Lua. Not really maintained anymore. 😅
- [3] A library for bundling Lua, or a debugger for Tabletop Simulator.
