Skip to content

efroemling/ballistica

Repository files navigation

logo

bal·lis·tic: physics of an object in motion; behaving like a projectile.

-ica: collection of things relating to a specific theme.

The Ballistica project is the foundation for BombSquad and potentially other future projects.

Head to the project wiki to get started , or learn more about the project below.

Project Goals

  • Do one thing and do it well

    Ballistica is not aiming to be a general purpose game engine. Rather, its goal is to support creating one particular type of experience: 'physics based multiplayer action on small diorama-like environments built from real-world objects'. If you've got something you'd like to create that can fit within that box (as BombSquad itself does), give Ballistica a look. Of course, there is nothing preventing you from going and building a first person shooter out of this stuff, but I wouldn't recommend it.

  • Python tomfoolery

    Ballistica is built on a C++ core for performance-sensitive code with a Python layer for high level game/app logic. This Python layer is designed to be mucked with. Users can override core game functionality, write their own mini games, or anything else they can dream up, either by directly accessing files on disk or by working through an integrated web-based editor. It can be a fun way to learn Python without the danger of getting actual work done.

  • Physics-y goodness

    I love playing with physics simulations, and Ballistica was built partly to scratch this itch. Though the game physics in BombSquad have stayed largely unchanged for a while, my future plans for the engine lean heavily on making this more flexible and open-ended, opening up lots of fun multiplayer physics-y potential. Stay tuned...

  • Community

    BombSquad started as a 'just for fun' project to play with my friends, and I want to keep that spirit alive as the Ballistica project moves forward. Whether this means making it easier to share mods, organize tournaments, join up with friends, teach each other some Python, or whatever else. Life is short; let's play some games. Or make them. Maybe both.

Frequently Asked Questions

  • Q: What's with this name? Is it BombSquad or Ballistica?

    • A: BombSquad is the game. Ballistica is the engine.
  • Q: Does this mean BombSquad is open source?

    • A: Yes and no. All code contained in this repo is MIT licensed and free for use anywhere. This includes game scripts, pipeline tools, and most of the binary engine sources. Anything not directly contained in this repository, however, even if automatically downloaded by build scripts, is still proprietary and cannot be redistributed without explicit consent. This includes assets and prebuilt libraries/binaries. So in a nutshell: create and share mods or use any of this code in your own projects, but please don't distribute your own complete copies of BombSquad without permission. Please email support@froemling.net if you have any questions about this.
  • Q: When are you adding more maps/characters/minigames/etc. to BombSquad!?!?

    • A: Check out the Ballistica Roadmap to get a sense of what's planned for when. And for the record, the answer to that particular question is basically '1.8'.
  • Q: When will BombSquad be released on iOS / Steam / Switch / Xbox / PlayStation / My toaster??

    • A: The 2.0 update will be the big 'relaunch' release and the plan is to launch on at least iOS and Steam at that time. I'm trying to get there as fast as I can. As far as consoles, I'd love to and hope to at some point but have nothing to announce just yet. See the
    • Check out Ballistica Roadmap for more details or the Ballistica Downloads page for early test builds on some platforms.