Skip to main content

this is a simple pygame wrapper for advanced game features with less boilerplate

Project description

🕹️ Pygame ECS Framework

A modular, extensible game engine framework built with Pygame, designed to support both 2D (SDL) and 3D (OpenGL) rendering backends using a flexible Entity-Component-System (ECS) architecture.


🧱 Core TODOs

  • ⚙️ Make Entity system
  • 🧩 Make Component system
  • 📁 File System (Asset loading/saving)
  • 📡 Event System (Custom game events & input routing)
  • 🌐 Networking (Multiplayer / sync states)
  • 🏷️ Tag Component (name: str)
  • 📊 Profiler (performance monitoring)

🖼️ SDL SOFTWARE Engine (2D)

🎨 SDL Renderer TODOs

  • 🖌️ Renderer (blit surfaces, render queue)
  • 🧪 Visual Debug (draw colliders, axes, etc.)

👾 SDL Entities

  • BaseEntity (Parent entity / empty entity)

🧬 SDL Components

  • 🧭 Transform(position: tuple[int, int], rotation: int, scale: list[int, int])
  • 🛞 Rigidbody(mass: float, velocity: tuple[float, float, float], acceleration: tuple[float, float, float])
  • 🧱 Collision(shape: Enum, size: int, offset: list[int, int])
  • 🎞️ Animation(frames: list[pg.Surface])

🧊 OPENGL 3D Engine

🕶️ OpenGL Renderer TODOs

  • 🧼 3D Renderer (OpenGL context, mesh/material support)
  • 💡 Shaders (basic lighting, texturing)
  • 🎥 Camera system (FOV, perspective, etc.)
  • 🧩 Visual Debug (bounding boxes, axes, wireframe mode)

📦 3D Components (Planned)

  • 🧭 Transform(position: tuple[float, float, float], rotation: tuple[float, float, float], scale: tuple[float, float, float])
  • 📐 Mesh(mesh_id: int)
  • 🎨 Material(shader_id: int, texture_id: int)
  • 💡 Light(color: tuple[float, float, float], intensity: float)
  • 🎥 Camera(fov: float, near: float, far: float)
  • 🧲 Rigidbody(...) (extended for 3D: includes angular velocity, etc.)

🧠 Extra Components & Systems

  • ❤️ Health / Damage system
  • 🤖 AI / Behavior system
  • 🎒 Inventory system
  • ⚗️ Status Effects / Buffs
  • 🎮 Input system (player input mapping)
  • 📜 Scripting (attach logic to entities)
  • 🔊 Audio (sound emitters, background music)
  • 🌠 Particle system (fire, smoke, etc.)
  • 🗺️ Scene system (level loading & transition)
  • 💾 Serialization (save/load ECS state)
  • 🧰 UI Components (HUD, health bars, etc.)
  • 🧷 Entity Parenting / Hierarchy

🛠 Tooling & Dev Features

  • 🧪 Entity Inspector / Debug Overlay
  • 🧱 Level Editor (drag & drop, place entities)
  • 🔁 Hot Reloading (assets or scripts)
  • ✅ Component-based testing framework
  • ♻️ Resource Manager (texture, mesh, sound caching)

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

pygame_framework_1just_josh-0.0.8.tar.gz (8.8 kB view details)

Uploaded Source

Built Distribution

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

pygame_framework_1just_josh-0.0.8-py3-none-any.whl (10.7 kB view details)

Uploaded Python 3

File details

Details for the file pygame_framework_1just_josh-0.0.8.tar.gz.

File metadata

File hashes

Hashes for pygame_framework_1just_josh-0.0.8.tar.gz
Algorithm Hash digest
SHA256 bcd5aaa6a34a54ce129e586435a5a59d800059434605790ac3d9eb95bd1c1af2
MD5 4230c4d343285e780e5823354f98c3e2
BLAKE2b-256 0a691e72fd8fa2cc9f193c0c8406d46265db9c9ef053569254042d12c22e8f5e

See more details on using hashes here.

File details

Details for the file pygame_framework_1just_josh-0.0.8-py3-none-any.whl.

File metadata

File hashes

Hashes for pygame_framework_1just_josh-0.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 7c3c5cab92e3fadc49c7e716b80553213cc87dc047e345f9010250a2af796a8d
MD5 a707d58cd1265aa7a9bb3d0883a43d0d
BLAKE2b-256 ec34f4f80b461cdb728c9b2d93383e2a14a1adb98569c5e1f5538f6138b48ebe

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