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.4.tar.gz (44.2 kB view details)

Uploaded Source

File details

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

File metadata

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

File hashes

Hashes for nightbox-2025.0.4.tar.gz
Algorithm Hash digest
SHA256 b7d1083310b979946217401235a89bd3977c114618275de432246688c17cf6e7
MD5 6ab2d09ad5efb3cf65dcef95619bc5df
BLAKE2b-256 ed296a6283e471e1dca7e7617e1286456e3425ce48f7abd390f36c4f7b29739e

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