A lightweight Python SDK for 2D hypercasual and hybrid-casual mobile game prototypes.
Project description
GameViz HyperKit
GameViz HyperKit is a lightweight Python SDK for creating 2D hypercasual and hybrid casual game prototypes quickly.
It is designed for beginners, students, game jam developers, indie developers, and small teams who want to test simple mobile-style game ideas using Python.
HyperKit is not a full game engine like Unity, Unreal, or Godot.
It is a prototype-focused SDK with reusable systems, helper modules, and ready-made templates.
Current Release Status
HyperKit is currently in active development.
Current package validation status:
- TestPyPI validation build:
0.1.1.dev1 - Real PyPI release: not published yet
- Stable public release target: future
1.0.0
For now, HyperKit should be considered an early SDK preview.
Package Identity
- Package name:
gameviz-hyperkit - Import name:
hyperkit - CLI command:
hyperkit
Who Is HyperKit For?
HyperKit is useful for:
- learning 2D game development with Python
- building quick hypercasual game prototypes
- creating tap, swipe, runner, puzzle, quiz, and physics-style demos
- testing simple game ideas before moving to a larger engine
- students and indie developers who want a small code-first game toolkit
Main Features
- 2D game project structure
- Scene system
- GameObject system
- Tap/click input
- Swipe input
- Score and high-score system
- Save system
- Collision helpers
- Simple physics helpers
- Text label and basic UI helpers
- Responsive virtual canvas scaling
- Asset loading helpers
- Image rendering support
- Audio playback helpers
- Animation helpers
- Sprite animation helper
- Particle helper
- Camera shake helper
- Scene transition helper
- Timer and cooldown helpers
- Input action mapping helper
- Level data loading helper
- Camera follow helper
- Screen bounds and world bounds helpers
- UI progress bar helper
- CLI project generator
- Ready-made starter templates
- Project health and release validation commands
Installation
For local development from the repository:
pip install -e .
Check that HyperKit is working:
hyperkit doctor
Install the current TestPyPI validation build:
pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ gameviz-hyperkit==0.1.1.dev1
Quick Start
Create a new game project:
hyperkit new my-game --template tap_counter
cd my-game
python main.py
You can also use dash-style template names:
hyperkit new my-game --template tap-counter
Generated projects include:
my-game/
├── main.py
├── README.md
├── hyperkit.toml
└── assets/
├── README.md
├── images/
├── audio/
├── fonts/
└── data/
Available Templates
Check all templates:
hyperkit list-templates
Current templates:
| Template | Command Name | Description |
|---|---|---|
| Tap Counter | tap_counter / tap-counter |
Tap/click scoring prototype |
| Flappy Mini | flappy_mini / flappy-mini |
Flappy-style tap-to-jump prototype |
| Swipe Runner | swipe_runner / swipe-runner |
3-lane swipe runner prototype |
| Puzzle Game | puzzle_game / puzzle-game |
Color matching puzzle prototype |
| Quiz Game | quiz_game / quiz-game |
Educational quiz game prototype |
| Simple Physics | simple_physics / simple-physics |
Gravity, bounce, and coin collection prototype |
Basic Example
from hyperkit import Game, GameObject, Scene, ScoreManager, TextLabel
class MyScene(Scene):
def start(self):
self.score = ScoreManager(high_score_key="my_game_high_score")
self.player = self.add(
GameObject(
x=300,
y=500,
width=100,
height=100,
color=(0.2, 0.75, 1.0, 1),
shape="circle",
)
)
self.score_label = self.add(
TextLabel(
x=30,
y=1180,
text="Score: 0",
font_size=32,
color=(1, 1, 1, 1),
)
)
self.start_game()
def on_tap(self, x, y):
self.player.x = x - self.player.width / 2
self.player.y = y - self.player.height / 2
self.score.add(1)
self.score_label.set_text(f"Score: {self.score.value}")
Game(title="My HyperKit Game", width=720, height=1280).set_scene(MyScene()).run()
Asset Folders
HyperKit projects use a simple asset structure:
assets/
├── images/
├── audio/
├── fonts/
└── data/
Supported asset types:
| Folder | Supported Types |
|---|---|
assets/images |
.png, .jpg, .jpeg, .webp |
assets/audio |
.wav, .mp3, .ogg |
assets/fonts |
.ttf, .otf |
assets/data |
.json, .csv, .txt |
FBX is not directly supported in HyperKit.
For 2D games, export FBX source assets as PNG images, animation frames, or sprite sheets.
CLI Commands
Check environment:
hyperkit doctor
Show templates:
hyperkit list-templates
Create a new project:
hyperkit new my-game --template tap_counter
Run a project:
hyperkit run
Show project metadata:
hyperkit info
Validate a generated project:
hyperkit validate
Show package health report:
hyperkit health
Show release readiness report:
hyperkit release-check
Show final pre-release audit report:
hyperkit pre-release-audit
Create experimental Android build configuration:
hyperkit init-android
Run experimental Android build:
hyperkit build android
Validate built-in templates:
hyperkit validate-templates
Validate generated projects for all polished templates:
hyperkit validate-generated-projects
Validate the runtime QA tracker and evidence structure:
hyperkit validate-release-evidence
Development Commands
Run tests:
pytest
Build package:
python -m build
Check package:
twine check dist/*
Upload to TestPyPI:
python -m twine upload --repository testpypi dist/*
Documentation
- Version History
- Changelog
- Template Helper Usage Guide
- Templates Guide
- Template Quality Checklist
- Release Readiness Checklist
- Generated Project Smoke Tests
- Project Health Report
- Release Build Automation
- Final Pre-release Audit
- Beginner Quick Start Tutorial
- Template Media Guide
- Template Screenshots and Demo Media
- CLI Error Messages
- Template Validation
- Production Template Polish Checklist
- Tap Counter Polish - Phase 48
- Flappy Mini Polish - Phase 49
- Swipe Runner Polish - Phase 50
- Puzzle Game Polish - Phase 51
- Quiz Game Polish - Phase 52
- Simple Physics Polish - Phase 53
- Template Polish Summary - Phase 54
- Template Stabilization Checklist
- Generated Project Validation - Phase 55
- Template Runtime Readiness - Phase 56
- Template Manual QA Checklist
- Manual QA Result Template
- Release Evidence Structure
- Release Evidence Workspace
- Runtime QA Tracker - Phase 58
Current Limitations
- HyperKit is not a full game engine.
- Advanced 3D rendering is not supported.
- Android APK build support is still experimental.
- AdMob and analytics helpers are not implemented yet.
- The current focus is 2D hypercasual and hybrid casual prototypes.
- Templates are designed for learning and prototyping, not final commercial production yet.
Roadmap
Planned improvements:
- better beginner documentation
- more polished starter templates
- template screenshots and GIFs
- improved CLI error messages
- stronger asset and audio workflow
- mobile-friendly project structure
- Android build workflow improvements
- AdMob and analytics helper layer
- more complete example games
- future stable
1.0.0release
License
MIT License.
Author
Developed by Md. Rifat Hossain Chowdhury / GameViz.
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 gameviz_hyperkit-0.1.1.tar.gz.
File metadata
- Download URL: gameviz_hyperkit-0.1.1.tar.gz
- Upload date:
- Size: 84.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4a91c9c021ea46dde504e98d906852decf25502750ca96cb289fd2d0f0f6c62f
|
|
| MD5 |
99895150302a1c280aa6703ec78153f5
|
|
| BLAKE2b-256 |
6ff2c6ca2e8f94254f27f474c678dbd96d30b779efbdb98cc515ee63d830f4cf
|
File details
Details for the file gameviz_hyperkit-0.1.1-py3-none-any.whl.
File metadata
- Download URL: gameviz_hyperkit-0.1.1-py3-none-any.whl
- Upload date:
- Size: 77.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9092c4bba4d0063e8371038d3c8a77575169f18fbb0768828124221e8bdb40e8
|
|
| MD5 |
60be4ebb4272214be53e082013c56c96
|
|
| BLAKE2b-256 |
7e83e2a824e0643d2c2454d988a038fcc57e12a571264b4ac0e27e5d0324b699
|