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_flamfrosticboio-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_flamfrosticboio-1.0.1-py3-none-any.whl (11.7 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for pygstudio_flamfrosticboio-1.0.1.tar.gz
Algorithm Hash digest
SHA256 2b1d07ba50555317acec1b355c88e3709cce360e8388b488fe1deb70e99b3f99
MD5 833c0c4cfaba06d36c6c8183b6e7ca2d
BLAKE2b-256 785131b77cfada40dc98ab676396a29e72582ee445f105205f0100f95f834dab

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pygstudio_flamfrosticboio-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 181c9bcf679d41f3a753bcfb831327080d0d90522748f5ab6e39c39e6600ff0b
MD5 ff253ab857583cb9ce4d71f9f5ed1850
BLAKE2b-256 214079a0b70077d7db2269c194eb62649300dd86bc14cc9e367ed7bd4dbf1c8f

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