Skip to main content

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] or python -m pygstudio create [NAME] -o [DESTINATION]. This will make a new pygstudio template in your directory / destination.

What can you do with pygstudio?

  1. 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.
  2. Easy access - Your scripts can access various things like the globals, components and assets by putting these lines of code: import globals import components pygame.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()
  1. Threaded scripts - Make a script easily by making a file/package inside the scripts directory.

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pygstudio-1.0.1.tar.gz (10.2 kB view details)

Uploaded Source

Built Distribution

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

pygstudio-1.0.1-py3-none-any.whl (11.5 kB view details)

Uploaded Python 3

File details

Details for the file pygstudio-1.0.1.tar.gz.

File metadata

  • Download URL: pygstudio-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

Hashes for pygstudio-1.0.1.tar.gz
Algorithm Hash digest
SHA256 a34cf35e8d7d2618516f11b518e866109845906e38dece207477973ea6599740
MD5 bd8f0590ab0df905affcfc2532d54a60
BLAKE2b-256 775616dcf458ebbc84dc6652fd87c6db827979976ee92683eaacdf85a91ce101

See more details on using hashes here.

File details

Details for the file pygstudio-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: pygstudio-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 11.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.8.10

File hashes

Hashes for pygstudio-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 62ea99453af7d5377cf35eb71f492c5ecf99901a36bf1809135079e4fa7a361a
MD5 df86e10299bee7be28a2d33342ddef0a
BLAKE2b-256 ed834e1180b3236a7a3b735c8a8e5ed195c344c11f60601716f423e6e82f5d2b

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