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

nightbox-2025.0.5.tar.gz (43.4 kB view details)

Uploaded Source

Built Distribution

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

nightbox-2025.0.5-py3-none-any.whl (51.5 kB view details)

Uploaded Python 3

File details

Details for the file nightbox-2025.0.5.tar.gz.

File metadata

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

File hashes

Hashes for nightbox-2025.0.5.tar.gz
Algorithm Hash digest
SHA256 fd595812f7c1eca6accf9a33cc5e679b53407b43e0dc99c35bc86e03a7f42bcc
MD5 8b68279309abd603a9b5f26a2f305461
BLAKE2b-256 8abffb0f6bee625e0e55050f41691e1cdec9ad9038ede043ef07bc93f2c78bd6

See more details on using hashes here.

File details

Details for the file nightbox-2025.0.5-py3-none-any.whl.

File metadata

  • Download URL: nightbox-2025.0.5-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 nightbox-2025.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 98db66f996fb753aff8dfc4d554994d99b6c255cb97801b35b30a8e1d526ce3d
MD5 eeb1b5caf636d02618f1ddf685e7e31a
BLAKE2b-256 b81de8760724c18341572fe6d48588e088ce35eb0b4d5340dffca0b86215c699

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