A simple format with tools to help build games easily with pygame.
Project description
Pygstudio
A template to make games easier like what you see in game engines like Unity and Roblox.
How to use pygstudio
- To create your own pygstudio project, type in your terminal:
pygstudio create [NAME]orpython -m pygstudio create [NAME] -o [DESTINATION]. This will make a new pygstudio template in your directory / destination.
What can you do with pygstudio?
- Easy configuration - Each file are provided with comments to help you guide in building your game. You can also edit the code if you don't like the code.
- Easy access - Your scripts can access various things like the globals, components and assets by putting these lines of code:
import globalsimport componentspygame.image.load("assets/mypicture.png")(an example of using assets). Example:
# scripts/npc.py
import pygame, random
import globals, components
for i in range(10):
npc_character_image = pygame.image.load("assets/smol_npc.png")
new_npc = components.characters.NPC(npc_character_image, (random.random() * 100, random.random() * 1000)) # NPC(image, position)
globals.npcs.append(new_npc)
new_npc.start_being_npc()
- Threaded scripts - Make a script easily by making a file/package inside the
scriptsdirectory.
Instead of this monstrosity:
import threading
def fire_function_every_3_seconds(): ... # takes 15 lines of code
def handle_physics(): ... # takes 300 lines of code
def handle_network(): ... # takes 258 lines of code
threading.Thread(daemon=True, target=fire_function_every_3_seconds).start()
threading.Thread(daemon=True, target=handle_physics).start()
threading.Thread(daemon=True, target=handle_network).start()
You can now put them in their separate files and they will be executed independently.
# scripts/loop.py
... # the entire `fire_function_every_3_seconds` code
# scripts/physics.py
... # the entire `handle_physics` code
# scripts/network.py
... # the entire `handle_network` code
Template
The file structure of pygstudio follows (where NAME is your project name):
(Version 1.0)
[NAME]/
- [NAME].py
- globals.py
- engine.py
- script_manager.py
- assets/
- scripts/
- components/
- __init__.py
About
Hello, I am only a developer making this project. If you wish to improve this project, you may fork this repository and add me in the credits of your repository. I will still continue improving this project but I cannot guarantee that I can repond to all your issues as I am only a student in a university.
This project is licensed.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pygstudio_flamfrosticboio-1.0.1.tar.gz.
File metadata
- Download URL: pygstudio_flamfrosticboio-1.0.1.tar.gz
- Upload date:
- Size: 10.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.8.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2b1d07ba50555317acec1b355c88e3709cce360e8388b488fe1deb70e99b3f99
|
|
| MD5 |
833c0c4cfaba06d36c6c8183b6e7ca2d
|
|
| BLAKE2b-256 |
785131b77cfada40dc98ab676396a29e72582ee445f105205f0100f95f834dab
|
File details
Details for the file pygstudio_flamfrosticboio-1.0.1-py3-none-any.whl.
File metadata
- Download URL: pygstudio_flamfrosticboio-1.0.1-py3-none-any.whl
- Upload date:
- Size: 11.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.8.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
181c9bcf679d41f3a753bcfb831327080d0d90522748f5ab6e39c39e6600ff0b
|
|
| MD5 |
ff253ab857583cb9ce4d71f9f5ed1850
|
|
| BLAKE2b-256 |
214079a0b70077d7db2269c194eb62649300dd86bc14cc9e367ed7bd4dbf1c8f
|