Skip to main content

A tool 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-0.1.1.tar.gz (11.4 kB view details)

Uploaded Source

Built Distribution

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

pygstudio-0.1.1-py3-none-any.whl (11.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pygstudio-0.1.1.tar.gz
  • Upload date:
  • Size: 11.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.8.10

File hashes

Hashes for pygstudio-0.1.1.tar.gz
Algorithm Hash digest
SHA256 b2afb55521794f20aab53d3b563e432699bcd31098e042e39d8cc7a1e0eca9a6
MD5 fb2d178abb7dfef02c33060a27d75af4
BLAKE2b-256 15cf47f8ff396aa1fb593e5a006e4af84e7fc223735351527e5aeccab9a762b1

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pygstudio-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f3054e891bba3060ee7a79ab4f68d461f08243f9d1c1292da727da4bea3e8164
MD5 2cd788126ac72e68d5012e5a3f635266
BLAKE2b-256 0ffbb55bf3f2ec5c03b4a49ea2b80ad13b466b2185055260a38b9303ad6b9b75

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