Skip to main content

Wame Game Engine

Project description

Wame

Simple, Pythonic, Pygame Wrapper

  • Latest Version v0.6.0
  • Supports Python 3.7+

Documentation Status

What is Wame?

Wame was created as a backend Pygame wrapper, where all backend (and tedious) code is left in the background. This allows for events to be dispatched in specific event methods rather than in a messy manner like default Pygame and most other engine program loops. This is primarily because handling the game backend and frontend in a singular file (or a couple) can be an eyesore, and Wame fixes this issue.

What are Wame's features?

  • Encapsulates Pygame's backend game programming
  • Dispatches and calls methods needed to render and update game code, while executing events in a structured manner
  • Allows on-demand scene switching (more about this later)
  • Provides basic objects like font rendering (text), drawing, buttons, etc. (a pain to always make on many projects)

How do I use Wame?

  • Install Wame via PyPI: pip install wame-engine
  • Import it into your program using import wame

Documentation

You can find our documentation here

Getting Started

After installation:

  • Instantiate a new Engine (runs the game loop and dispatches events)
  • Define a new ~Scene subclass (manages your objects and logic)
import wame

class BasicScene(wame.Scene):
    def __init__(self, engine: wame.Engine) -> None:
        super().__init__(engine)
    
    def on_render(self) -> None:
        ...
    
    def on_update(self) -> None:
        ...

engine: wame.Engine = wame.Engine("Basic Game Window", wame.Pipeline.PYGAME)
engine.register_scene("Basic", BasicScene)
engine.set_scene("Basic")

engine.start()

This will create a fullscreen, black window. You can close it by pressing ALT+F4.

  • If you'd like to see more functional examples, visit our Tutorials section of our documentation

Contributing

Thanks for your interest in contributing to our game engine! Contributions are welcome, as they can only help us get to where we want to see wame go! Whether you want to submit a bug report, fix a bug, add a new feature, remove parts of the program, we welcome your contributions.

How to Contribute

  1. Fork this repository
    • Fork this repository to your own GitHub account by clicking the "Fork" button at the top-right of this page.
  2. Clone your fork
    • Clone the forked repository to your local machine using the following command:
    • git clone https://github.com/your-username/your-fork.git
  3. Create a new branch
    • Before making any changes, create a new branch with a descriptive name for your work/changes. For example:
    • git checkout -b feature-name
  4. Make your changes
    • Implement your changes, whether it's fixing bugs, improving documentation, or adding new features.
    • Be sure to write clear, concise commit messages explaining the changes you've made.
  5. Commit your changes
    • Once your changes are ready, commit them to your local branch:
    • git add .
    • git commit -m "Add feature-name"
  6. Push your changes
    • Push your changes to your forked repository:
    • git push origin feature-name
  7. Create a pull request
    • Open a pull request on the original repository from your fork.
    • Ensure that your pull request explains the purpose of the changes and any relevant context.
    • If applicable, include links to relevant issues.

Reporting Bugs

  • If you find a bug or issue, please open an issue on the Issues page above.
  • Be sure to provide detailed information to help us understand and reproduce the problem.

Feature Requests

  • We welcome suggestions for new features.
  • If you have an idea, please open an issue on the Issues page above to discuss it first.
  • This ensures that we're all on the same page and helps us prioritize improvements.

Thanks for Contributing!

Your contributions make this project better and more useful for everyone! Thank you for taking the time to improve this project!

License

This project is licensed under the MIT License. Copyright © 2025 WilDev Studios. All rights reserved.

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

wame_engine-0.6.0.tar.gz (30.8 kB view details)

Uploaded Source

Built Distribution

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

wame_engine-0.6.0-py3-none-any.whl (37.7 kB view details)

Uploaded Python 3

File details

Details for the file wame_engine-0.6.0.tar.gz.

File metadata

  • Download URL: wame_engine-0.6.0.tar.gz
  • Upload date:
  • Size: 30.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for wame_engine-0.6.0.tar.gz
Algorithm Hash digest
SHA256 60597b1028f00883b2f4dcb6622bbcbc4395e16754c3e4b91ef06983073e7a67
MD5 44e23a722007ddbfdb4e461c4aa2df76
BLAKE2b-256 9fe1f358d08671b608cb1f7e449555e8188bab6779fd3aadf85ec021237f3eab

See more details on using hashes here.

File details

Details for the file wame_engine-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: wame_engine-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 37.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for wame_engine-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b1f34ac19b3a63f889e8925818c5ef1691914ad8d1f73fe01e808b3517954c59
MD5 cf7a554325032dd0768d0ed3b849ba93
BLAKE2b-256 91b47cf9fc1ed108ca9f984aee4b9faf39c3d4f06aeb6a97d72010047eebe35f

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