Skip to content
Eric Froemling edited this page Oct 23, 2021 · 83 revisions

Welcome to the Ballistica Wiki!

I'm going to attempt to keep this pretty freeform and open to the public, so please feel free to add your own docs here or improve existing ones. We'll see how that goes. I'll switch this to private if it gets abused, so please don't be that person.

If you're brand new to Ballistica, head over to the README for an introduction. Otherwise you're in the right place.

News:

Python 3.9

October 23, 2021

Ballistica/Bombsquad 1.6.5 has been upgraded from Python 3.8 to 3.9. I will be switching to an Arm-based Mac as my primary development machine, and 3.9 is the first officially supported version there, so it seemed like a good time to update. 3.10 was just released but it is not very widely available yet so we'll get to that one later in its lifecycle.

Python 3.9 should be relatively easy to get on most platforms; on Ubuntu 20 (including WSL on Windows) do sudo apt update; sudo apt install python3.9-dev and on Mac homebrew setups do brew install python@3.9. See the getting started section for details.

Here is what's new in Python 3.9. For us, the most noticeable improvement will be simplified annotations in many cases.

Instead of code like this:

from typing import Dict, Tuple
my_obj_vals: Dict[str, Tuple[int]] = {'obj1': (1, 2, 3)}

We can now do this:

my_obj_vals: dict[str, tuple[int]] = {'obj1': (1, 2, 3)}

Please holler or submit corrections if you find anything broken, out-of-date docs, etc.

Compiling on Windows

June 6, 2021

For a while it has been possible to compile most of the game from source on Linux and Mac, and I am happy to say that this is now also possible on Windows. See the documentation here. If you have any feedback or run into any issues, please contribute to the discussion here. Enjoy!

BombSquad 1.6!

May 5, 2021

1.6 builds of BombSquad are now starting to make their way to various platforms (as well as equivalent ballisticacore builds here). The big new feature is private hosting, which lets you spin up a game on a cloud server and share a simple code with friends to join it. This represents the first use of my new worldwide cloud-hosting setup I've been working on for many months, which will form the foundation for lots of fun stuff in upcoming versions (multiplayer tournaments, matchmaking, etc.) See the CHANGELOG for the full list of changes. As always, please holler if you run into any issues, and enjoy!

Native M1 Mac Support

November 25, 2020

Ballistica now supports native Arm-64 builds on the new M1 Macs (both via the 'Prefab' targets and building from source). See the updated getting started section for details. A full compile from source on an M1 takes approximately 19 seconds 😎.

C++ Layer Now (Mostly) Open Source

October 13, 2020

I finally took some time and got most of the engine C++ code up here, so it is now possible to build from sources instead of using only pre-built binaries. So if anyone would like to muck around with low level code such as the rendering or physics engines, it is now possible. See Native Layer Overview for details.

Python 3.8

August 1, 2020

Ballistica/Bombsquad 1.5.24 has been upgraded from Python 3.7 to 3.8, which is (at the time of this post) the newest version available. This is nowhere near as big of a change as the 2.7 -> 3.7 upgrade was (all Python code that worked in 3.7 should still work in 3.8), but it may require adjustments to your development environment if you don't have Python 3.8 available currently, as the build tools are very specific in looking for that exact version. I will try to keep Ballistica generally up to date with the latest Python version so this transition will happen once every year or two. I'll be updating the 'getting started' docs and any other places that mention Python 3.7, and please holler if you come across outdated information elsewhere. (or feel free to correct it yourself).

New Plugin System in 1.5.23

July 23, 2020

A common request since 1.5 has been the ability for mods to automatically execute at launch (1.4 would run everything in the mods folder at launch but 1.5 doesn't). So I'm happy to announce that as of 1.5.23 it is once again possible to run code at launch via the new 'plugin' system. Learn more.

BombSquad 1.5 Full Rollout

It's been a long process of bug fixing and polishing, but I'm happy to say that as of 1.5.22, I've flipped the switch to have Google Play deliver 1.5.x to 100% of users (no more 1.4). Please continue to report any bugs or rough edges and now we can move on to the fun stuff in 1.6+...

BombSquad 1.5 is Here!!!!

After several weeks of cleanup and testing, I'm happy to say that BombSquad 1.5, the first version of the game using this Ballistica codebase, is here.

Grab test builds at https://files.ballistica.net/bombsquad/builds/

As mentioned in the roadmap, the goal with 1.5 is to transition the existing game to the new architecture. Most of the exciting new features will be coming in the next few versions and building on this foundation. But for now, please holler if anything seems broken or functionally different from what it was in 1.4. The sooner we can work through any bugs the sooner we can move on to the fun stuff...

Notes:

  • Update: generic Android test builds are also now available also (as of 1.5.6)
  • There is now open testing for the Google Play Android version. To opt-in to testing, go here or look for the 'Join beta' option in the Google Play store.
  • I will begin rolling these out slowly to Google Play, the Mac App Store, etc. soon in a staggered fashion.
  • These official BombSquad releases are basically identical to what you get if you run the current prefab Ballistica builds from here. The main difference is that things are named 'BombSquad' instead of 'BallisticaCore' and tournaments should be functional (tournament scores submitted from BallisticaCore builds are rejected).