Breakout Game Project

Apply Combinant® Design to combine software modules—collisions, rules, views, and inputs—into a flexible, recombinable system.

Access live workshops, complete codebase evolution, and comprehensive learning materials.

Upcoming Workshops Learning Resources

The Challenge

One of my personal challenges—something I’ve been mulling over for years—is collision detection. We all know classic 2D games like Mario and Space Invaders. And if you think about it, the real magic, the moment that makes you cheer for Mario or brace yourself in Space Invaders, comes down to one thing: collisions. Without them, there’s no game.

I’ve read countless articles and books on collision detection algorithms. And, time and again, the answer is the same: a centralized, algorithmic system that decides “from above” whether Mario has hit a coin or if a bullet from your base collides with an invader. This inevitably leads to code heavy with if statements—an omniscient logic that checks every condition.

But what if there’s another way? What if collisions could be detected directly, combining objects in a decentralized, emergent, and recombinable way? And what if we developed this system one test at a time, incrementally and carefully?

Project Breakout was created to explore that question. It applies Combinant® Principles and Practices to build a system that is flexible, adaptable, and developed incrementally—one test at a time.

And we won’t stop at collisions. We’ll develop the rules so they can be combined and extended—scoring, lives, and win/lose conditions—without rewriting the core.

The same game can run with multiple views (one or many local ANSI terminals and one or many remote Telnet views), and we’ll make input pluggable (keyboard and TCP events).

Every part is recombinable, so the system can grow by combination, not conditionals.

About this Project

What We're Building

A complete 2D text-based Breakout game developed incrementally using Combinant® Design.

  • Decentralized collisions developed one test at a time
  • Composable rules: scoring, lives, win/lose conditions
  • Pluggable views: local terminal + remote Telnet observing the same model
  • Pluggable inputs: keyboard and TCP, interchangeable at runtime
  • Recombinable modules that reduce the cost of change

Distinctive Approach

A zero IFs approach to collision detection that eliminates traditional IF-heavy algorithms through decentralized object interaction.

One-to-One Project Mentoring

Explore your Breakout, Converter, or other Combinant® Project directly with Francesco in a private 1:1 mentoring session.

Learn More

Free Resources

  • GitHub Repository - Final source code
  • Project Documentation - Development notes
  • Community Discussion - Join the conversation
  • 2D Breakout Game - Part 03

Store & Premium Content

Browse All Project Products - Full store catalog (Ebooks, Video Courses and Bundles)

Upcoming Events

Complete Learning Resources

Workshop Series (Online Live) One-to-One Project Mentoring

Explore and ask questions directly to Francesco about your Combinant Project (Breakout, Temperature Converter, or others) in a private 1:1 session. Learn More

Ebooks
  • Programming Screenshots Ebook (No Commentary)
    Step-by-step screenshots of every programming stage in Visual Studio Code. Purely visual, no text commentary.
  • Collaboration Diagrams Ebook (No Commentary)
    Class and collaboration diagrams showing the system’s evolution. Visual only, no commentary.
  • Project Journal Ebook
    The journal with Francesco Cirillo’s expert commentary explaining the design choices and story behind the Project.
Video Courses
  • Full Workshop Video Series (No Participants)
    Recordings of all workshop steps, presented by Francesco Cirillo. Learn at your own pace with a structured video program.
  • Step-by-Step Development Video Course (No Commentary)
    A direct stream of the programming process. Follow the evolution step-by-step, without additional commentary.
Git Code
  • Incremental Codebase Access (GitHub)
    Explore the Project’s code evolution stage-by-stage. Each step is marked so you can follow the incremental development.
  • Final Source Code (GitHub – Free)
    Access the complete final implementation of the Project directly on GitHub.
Bundles
  • Premium Bundle (Complete Access)
    Full access to all ebooks with commentary, the complete video course series, and incremental GitHub codebase.

Reduce the Cost of Change