wame-engine


Namewame-engine JSON
Version 0.8.0 PyPI version JSON
download
home_pageNone
SummaryWame Game Engine
upload_time2025-07-19 04:39:52
maintainerNone
docs_urlNone
authorNone
requires_python>=3.7
licenseNone
keywords python pygame wrapper engine game opengl 2d 3d
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Wame

Simple, Pythonic, Pygame Wrapper

- Latest Version `v0.8.0`
- Supports Python `3.7+`

[![Documentation Status](https://readthedocs.org/projects/wame/badge/?version=latest&style=for-the-badge)](https://wame.readthedocs.io/en/latest/?badge=latest)

## 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.](https://wame.wildevstudios.net/)

## 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)

```python
import wame

class BasicScene(wame.Scene):
    def on_init(self, *args, **kwargs) -> None:
        ...
    
    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](https://wame.wildevstudios.net/en/latest/pages/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](https://github.com/WilDev-Studios/Wame/blob/main/LICENSE). Copyright © 2025 WilDev Studios. All rights reserved.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "wame-engine",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": "python, pygame, wrapper, engine, game, opengl, 2D, 3D",
    "author": null,
    "author_email": "WilDev Studios <wildevstudios@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/d6/80/0032a277c5d9b71914d1bfdbcd90511d9943f8540923b69473c73455f300/wame_engine-0.8.0.tar.gz",
    "platform": null,
    "description": "# Wame\r\n\r\nSimple, Pythonic, Pygame Wrapper\r\n\r\n- Latest Version `v0.8.0`\r\n- Supports Python `3.7+`\r\n\r\n[![Documentation Status](https://readthedocs.org/projects/wame/badge/?version=latest&style=for-the-badge)](https://wame.readthedocs.io/en/latest/?badge=latest)\r\n\r\n## What is Wame?\r\n\r\nWame 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.\r\nThis 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.\r\n\r\n## What are Wame's features?\r\n\r\n- Encapsulates Pygame's backend game programming\r\n- Dispatches and calls methods needed to render and update game code, while executing events in a structured manner\r\n- Allows on-demand scene switching (more about this later)\r\n- Provides basic objects like font rendering (text), drawing, buttons, etc. (a pain to always make on many projects)\r\n\r\n## How do I use Wame?\r\n\r\n- Install `Wame` via `PyPI`: `pip install wame-engine`\r\n- Import it into your program using `import wame`\r\n\r\n## Documentation\r\n\r\n[You can find our documentation here.](https://wame.wildevstudios.net/)\r\n\r\n## Getting Started\r\n\r\nAfter installation:\r\n\r\n- Instantiate a new `Engine` (runs the game loop and dispatches events)\r\n- Define a new `~Scene` subclass (manages your objects and logic)\r\n\r\n```python\r\nimport wame\r\n\r\nclass BasicScene(wame.Scene):\r\n    def on_init(self, *args, **kwargs) -> None:\r\n        ...\r\n    \r\n    def on_render(self) -> None:\r\n        ...\r\n    \r\n    def on_update(self) -> None:\r\n        ...\r\n\r\nengine: wame.Engine = wame.Engine(\"Basic Game Window\", wame.Pipeline.PYGAME)\r\nengine.register_scene(\"Basic\", BasicScene)\r\nengine.set_scene(\"Basic\")\r\n\r\nengine.start()\r\n```\r\n\r\nThis will create a fullscreen, black window. You can close it by pressing `ALT`+`F4`.\r\n\r\n- If you'd like to see more functional examples, visit our [Tutorials](https://wame.wildevstudios.net/en/latest/pages/tutorials) section of our documentation\r\n\r\n## Contributing\r\n\r\nThanks 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!\r\nWhether you want to submit a bug report, fix a bug, add a new feature, remove parts of the program, we welcome your contributions.\r\n\r\n### How to Contribute\r\n\r\n1. Fork this repository\r\n    - Fork this repository to your own GitHub account by clicking the \"Fork\" button at the top-right of this page.\r\n2. Clone your fork\r\n    - Clone the forked repository to your local machine using the following command:\r\n    - `git clone https://github.com/your-username/your-fork.git`\r\n3. Create a new branch\r\n    - Before making any changes, create a new branch with a descriptive name for your work/changes. For example:\r\n    - `git checkout -b feature-name`\r\n4. Make your changes\r\n    - Implement your changes, whether it's fixing bugs, improving documentation, or adding new features.\r\n    - Be sure to write clear, concise commit messages explaining the changes you've made.\r\n5. Commit your changes\r\n    - Once your changes are ready, commit them to your local branch:\r\n    - `git add .`\r\n    - `git commit -m \"Add feature-name\"`\r\n6. Push your changes\r\n    - Push your changes to your forked repository:\r\n    - `git push origin feature-name`\r\n7. Create a pull request\r\n    - Open a pull request on the original repository from your fork.\r\n    - Ensure that your pull request explains the purpose of the changes and any relevant context.\r\n    - If applicable, include links to relevant issues.\r\n\r\n### Reporting Bugs\r\n\r\n- If you find a bug or issue, please open an issue on the `Issues` page above.\r\n- Be sure to provide detailed information to help us understand and reproduce the problem.\r\n\r\n### Feature Requests\r\n\r\n- We welcome suggestions for new features.\r\n- If you have an idea, please open an issue on the `Issues` page above to discuss it first.\r\n- This ensures that we're all on the same page and helps us prioritize improvements.\r\n\r\n### Thanks for Contributing\r\n\r\nYour contributions make this project better and more useful for everyone! Thank you for taking the time to improve this project!\r\n\r\n## License\r\n\r\nThis project is licensed under the [MIT License](https://github.com/WilDev-Studios/Wame/blob/main/LICENSE). Copyright &copy; 2025 WilDev Studios. All rights reserved.\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Wame Game Engine",
    "version": "0.8.0",
    "project_urls": {
        "Homepage": "https://github.com/WilDev-Studios/Wame"
    },
    "split_keywords": [
        "python",
        " pygame",
        " wrapper",
        " engine",
        " game",
        " opengl",
        " 2d",
        " 3d"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "341ffc65fcce2c6421cbe50fc53a3468e9085268e169d2f5cd9778651fe828bb",
                "md5": "e08ea6054ba57e514b7c2ba8bc32045c",
                "sha256": "be5d7c481de0311baac65d97e04509b637f78117db03db350c4413510ddf3979"
            },
            "downloads": -1,
            "filename": "wame_engine-0.8.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e08ea6054ba57e514b7c2ba8bc32045c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 45665,
            "upload_time": "2025-07-19T04:39:51",
            "upload_time_iso_8601": "2025-07-19T04:39:51.658178Z",
            "url": "https://files.pythonhosted.org/packages/34/1f/fc65fcce2c6421cbe50fc53a3468e9085268e169d2f5cd9778651fe828bb/wame_engine-0.8.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d6800032a277c5d9b71914d1bfdbcd90511d9943f8540923b69473c73455f300",
                "md5": "8faccffa998d41a1dd3a12d6aca6dbcf",
                "sha256": "ce8c45050d3fbac74634457cf3b9764678c66bc2b32e1d7ce18dfc9533ad57b2"
            },
            "downloads": -1,
            "filename": "wame_engine-0.8.0.tar.gz",
            "has_sig": false,
            "md5_digest": "8faccffa998d41a1dd3a12d6aca6dbcf",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 38517,
            "upload_time": "2025-07-19T04:39:52",
            "upload_time_iso_8601": "2025-07-19T04:39:52.927931Z",
            "url": "https://files.pythonhosted.org/packages/d6/80/0032a277c5d9b71914d1bfdbcd90511d9943f8540923b69473c73455f300/wame_engine-0.8.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-19 04:39:52",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "WilDev-Studios",
    "github_project": "Wame",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "wame-engine"
}
        
Elapsed time: 2.52869s