Skip to main content

Reach Inside The Box...

Project description

BLAKBOX Logo



Version Version
GitHub Stars License
Build
Build


BLAKBOX

What?

BLAKBOX is a game development framework designed to help developers create more with less hassle. It provides a structured foundation for handling scenes, objects, UI, input, and rendering, so you can focus on making games instead of reinventing the wheel.

Why?

  • Save Time – No need to build a game structure from scratch.
  • Better Organization – Scenes, assets, and objects are neatly managed.
  • Pygame, but Better – All the flexibility of Pygame, with added convenience.

Content?

  • Modularity – Manage your game with a clean and modular API.
  • Scene & Object Management – Easily define and switch between game scenes.
  • Custom UI System – Buttons, text fields, and interface-scripting made simple.
  • Asset Loading – Load images and sprite sheets efficiently.
  • Input Handling – Keyboard and mouse events with built-in support.
  • Partitioning Systems – Efficient object management for game worlds of many sizes.

Download?

Install BLAKBOX via pip:

pip install BLAKBOX

Getting Started?

After youv'e installed blakbox go ahead and create a script named main.py somwhere and paste in this code:

import blakbox

class MyGame(blakbox.app.BOXapplication):
    def __init__(self) -> None:
        super().__init__(
            name = "My Game",           # initial window title
            window_size = [800, 600],   # the window itself
            display_size = [1600, 1200] # the surface "within" the window 
        )

    def configure(self):
        # add our scene
        self.main_menu = self.add_scene(MainMenu(self))  # this returns an integer ID, representing our scene
        
        # we can use that integer ID to select our current scene
        self.set_scene(self.main_menu)

    def cleanup(self): pass
    def handle_events(self): pass
    def handle_update(self): pass

if __name__ == "__main__":
    MyGame().run()

| NOTE: The methods configure(), cleanup(), handle_events() and handle_update() must be defined for any instance of BOXapplication.

Above is the minimal code needed to get BOXapplication up and running. From here you can explore the BOXscene and the other classes provided in blackbox.app.resource and blakbox.app.ui.

Check out the blakbox/examples directory to get a look at some "real world" use cases for the library, maybe even kickstart your next project.

Contributions?

Want to help improve BLAKBOX? Feel free to contribute by submitting issues, suggesting features, or making pull requests!

License

BLAKBOX is open-source under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

blakbox-2025.0.1.tar.gz (43.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

blakbox-2025.0.1-py3-none-any.whl (51.5 kB view details)

Uploaded Python 3

File details

Details for the file blakbox-2025.0.1.tar.gz.

File metadata

  • Download URL: blakbox-2025.0.1.tar.gz
  • Upload date:
  • Size: 43.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for blakbox-2025.0.1.tar.gz
Algorithm Hash digest
SHA256 24fecf8a304cbf88521a2566f6c76dc0f0cd855b89392c4217ae7dbae3d7472f
MD5 e5cf390ec07df07b0dc5f55a44aebc58
BLAKE2b-256 bfbb819f23cfc17fb37fecf2ed12ec2cf436a53bc13d90ce2cd1dd83ab272c36

See more details on using hashes here.

File details

Details for the file blakbox-2025.0.1-py3-none-any.whl.

File metadata

  • Download URL: blakbox-2025.0.1-py3-none-any.whl
  • Upload date:
  • Size: 51.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for blakbox-2025.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e2ae43d21a9a3cd740170407bb69630c84a29f8eb5589307c5d6c76c2cd1306d
MD5 e43540bd3a269c3d9ffae1093bc4be82
BLAKE2b-256 7fccbfecae230c5c6fe594009e4d3ba6aea1cf4e6346bbe5d09c6ce0ebca35c6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page