gameviz-hyperkit 0.1.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- gameviz_hyperkit-0.1.1/LICENSE +21 -0
- gameviz_hyperkit-0.1.1/PKG-INFO +445 -0
- gameviz_hyperkit-0.1.1/README.md +412 -0
- gameviz_hyperkit-0.1.1/pyproject.toml +59 -0
- gameviz_hyperkit-0.1.1/setup.cfg +4 -0
- gameviz_hyperkit-0.1.1/src/gameviz_hyperkit.egg-info/PKG-INFO +445 -0
- gameviz_hyperkit-0.1.1/src/gameviz_hyperkit.egg-info/SOURCES.txt +116 -0
- gameviz_hyperkit-0.1.1/src/gameviz_hyperkit.egg-info/dependency_links.txt +1 -0
- gameviz_hyperkit-0.1.1/src/gameviz_hyperkit.egg-info/entry_points.txt +2 -0
- gameviz_hyperkit-0.1.1/src/gameviz_hyperkit.egg-info/requires.txt +12 -0
- gameviz_hyperkit-0.1.1/src/gameviz_hyperkit.egg-info/top_level.txt +1 -0
- gameviz_hyperkit-0.1.1/src/hyperkit/__init__.py +197 -0
- gameviz_hyperkit-0.1.1/src/hyperkit/android.py +50 -0
- gameviz_hyperkit-0.1.1/src/hyperkit/animation.py +375 -0
- gameviz_hyperkit-0.1.1/src/hyperkit/app.py +279 -0
- gameviz_hyperkit-0.1.1/src/hyperkit/assets.py +200 -0
- gameviz_hyperkit-0.1.1/src/hyperkit/audio.py +139 -0
- gameviz_hyperkit-0.1.1/src/hyperkit/audit.py +334 -0
- gameviz_hyperkit-0.1.1/src/hyperkit/bounds.py +174 -0
- gameviz_hyperkit-0.1.1/src/hyperkit/camera.py +84 -0
- gameviz_hyperkit-0.1.1/src/hyperkit/camera_follow.py +83 -0
- gameviz_hyperkit-0.1.1/src/hyperkit/cli.py +711 -0
- gameviz_hyperkit-0.1.1/src/hyperkit/collision.py +29 -0
- gameviz_hyperkit-0.1.1/src/hyperkit/generated_project_validation.py +502 -0
- gameviz_hyperkit-0.1.1/src/hyperkit/geometry.py +69 -0
- gameviz_hyperkit-0.1.1/src/hyperkit/health.py +360 -0
- gameviz_hyperkit-0.1.1/src/hyperkit/input.py +58 -0
- gameviz_hyperkit-0.1.1/src/hyperkit/input_actions.py +199 -0
- gameviz_hyperkit-0.1.1/src/hyperkit/layout.py +81 -0
- gameviz_hyperkit-0.1.1/src/hyperkit/level.py +166 -0
- gameviz_hyperkit-0.1.1/src/hyperkit/object.py +59 -0
- gameviz_hyperkit-0.1.1/src/hyperkit/particle.py +151 -0
- gameviz_hyperkit-0.1.1/src/hyperkit/physics.py +15 -0
- gameviz_hyperkit-0.1.1/src/hyperkit/progress.py +181 -0
- gameviz_hyperkit-0.1.1/src/hyperkit/release.py +270 -0
- gameviz_hyperkit-0.1.1/src/hyperkit/release_evidence.py +465 -0
- gameviz_hyperkit-0.1.1/src/hyperkit/save.py +39 -0
- gameviz_hyperkit-0.1.1/src/hyperkit/scene.py +105 -0
- gameviz_hyperkit-0.1.1/src/hyperkit/score.py +101 -0
- gameviz_hyperkit-0.1.1/src/hyperkit/sprite.py +206 -0
- gameviz_hyperkit-0.1.1/src/hyperkit/state.py +63 -0
- gameviz_hyperkit-0.1.1/src/hyperkit/template_validation.py +270 -0
- gameviz_hyperkit-0.1.1/src/hyperkit/templates/flappy_mini/README.md +181 -0
- gameviz_hyperkit-0.1.1/src/hyperkit/templates/flappy_mini/main.py +299 -0
- gameviz_hyperkit-0.1.1/src/hyperkit/templates/puzzle_game/README.md +168 -0
- gameviz_hyperkit-0.1.1/src/hyperkit/templates/puzzle_game/main.py +249 -0
- gameviz_hyperkit-0.1.1/src/hyperkit/templates/quiz_game/README.md +158 -0
- gameviz_hyperkit-0.1.1/src/hyperkit/templates/quiz_game/main.py +310 -0
- gameviz_hyperkit-0.1.1/src/hyperkit/templates/simple_physics/README.md +179 -0
- gameviz_hyperkit-0.1.1/src/hyperkit/templates/simple_physics/main.py +319 -0
- gameviz_hyperkit-0.1.1/src/hyperkit/templates/swipe_runner/README.md +162 -0
- gameviz_hyperkit-0.1.1/src/hyperkit/templates/swipe_runner/main.py +291 -0
- gameviz_hyperkit-0.1.1/src/hyperkit/templates/tap_counter/README.md +159 -0
- gameviz_hyperkit-0.1.1/src/hyperkit/templates/tap_counter/main.py +188 -0
- gameviz_hyperkit-0.1.1/src/hyperkit/timers.py +203 -0
- gameviz_hyperkit-0.1.1/src/hyperkit/transition.py +192 -0
- gameviz_hyperkit-0.1.1/src/hyperkit/ui.py +36 -0
- gameviz_hyperkit-0.1.1/tests/test_android.py +12 -0
- gameviz_hyperkit-0.1.1/tests/test_animation.py +97 -0
- gameviz_hyperkit-0.1.1/tests/test_assets.py +102 -0
- gameviz_hyperkit-0.1.1/tests/test_audio.py +124 -0
- gameviz_hyperkit-0.1.1/tests/test_bounds.py +108 -0
- gameviz_hyperkit-0.1.1/tests/test_camera.py +65 -0
- gameviz_hyperkit-0.1.1/tests/test_camera_follow.py +96 -0
- gameviz_hyperkit-0.1.1/tests/test_changelog_phase36.py +83 -0
- gameviz_hyperkit-0.1.1/tests/test_cli_error_messages_phase45.py +109 -0
- gameviz_hyperkit-0.1.1/tests/test_cli_templates.py +171 -0
- gameviz_hyperkit-0.1.1/tests/test_collision.py +16 -0
- gameviz_hyperkit-0.1.1/tests/test_examples_syntax.py +9 -0
- gameviz_hyperkit-0.1.1/tests/test_final_qa_certification_phase65.py +109 -0
- gameviz_hyperkit-0.1.1/tests/test_flappy_mini_polish_phase49.py +132 -0
- gameviz_hyperkit-0.1.1/tests/test_flappy_mini_runtime_qa_phase60.py +125 -0
- gameviz_hyperkit-0.1.1/tests/test_game_object.py +33 -0
- gameviz_hyperkit-0.1.1/tests/test_generated_project_smoke_phase37.py +112 -0
- gameviz_hyperkit-0.1.1/tests/test_generated_project_validation_phase55.py +157 -0
- gameviz_hyperkit-0.1.1/tests/test_health_phase38.py +66 -0
- gameviz_hyperkit-0.1.1/tests/test_input_actions.py +116 -0
- gameviz_hyperkit-0.1.1/tests/test_layout.py +52 -0
- gameviz_hyperkit-0.1.1/tests/test_level.py +135 -0
- gameviz_hyperkit-0.1.1/tests/test_particle.py +67 -0
- gameviz_hyperkit-0.1.1/tests/test_pre_release_audit_phase40.py +69 -0
- gameviz_hyperkit-0.1.1/tests/test_production_template_polish_phase47.py +110 -0
- gameviz_hyperkit-0.1.1/tests/test_progress.py +182 -0
- gameviz_hyperkit-0.1.1/tests/test_public_readme_phase42.py +80 -0
- gameviz_hyperkit-0.1.1/tests/test_puzzle_game_polish_phase51.py +133 -0
- gameviz_hyperkit-0.1.1/tests/test_puzzle_game_runtime_qa_phase62.py +113 -0
- gameviz_hyperkit-0.1.1/tests/test_quick_start_tutorial_phase43.py +105 -0
- gameviz_hyperkit-0.1.1/tests/test_quiz_game_polish_phase52.py +132 -0
- gameviz_hyperkit-0.1.1/tests/test_quiz_game_runtime_qa_phase63.py +119 -0
- gameviz_hyperkit-0.1.1/tests/test_release_check_phase39.py +62 -0
- gameviz_hyperkit-0.1.1/tests/test_release_evidence_phase57.py +188 -0
- gameviz_hyperkit-0.1.1/tests/test_release_readiness_phase35.py +108 -0
- gameviz_hyperkit-0.1.1/tests/test_runtime_qa_tracker_phase58.py +207 -0
- gameviz_hyperkit-0.1.1/tests/test_score_save.py +82 -0
- gameviz_hyperkit-0.1.1/tests/test_simple_physics_polish_phase53.py +133 -0
- gameviz_hyperkit-0.1.1/tests/test_simple_physics_runtime_qa_phase64.py +122 -0
- gameviz_hyperkit-0.1.1/tests/test_sprite.py +121 -0
- gameviz_hyperkit-0.1.1/tests/test_stable_release_readiness_phase68.py +89 -0
- gameviz_hyperkit-0.1.1/tests/test_state.py +70 -0
- gameviz_hyperkit-0.1.1/tests/test_swipe_runner_polish_phase50.py +132 -0
- gameviz_hyperkit-0.1.1/tests/test_swipe_runner_runtime_qa_phase61.py +112 -0
- gameviz_hyperkit-0.1.1/tests/test_tap_counter_polish_phase48.py +121 -0
- gameviz_hyperkit-0.1.1/tests/test_tap_counter_runtime_qa_phase59.py +98 -0
- gameviz_hyperkit-0.1.1/tests/test_template_docs_phase33.py +41 -0
- gameviz_hyperkit-0.1.1/tests/test_template_helper_upgrades_phase31.py +52 -0
- gameviz_hyperkit-0.1.1/tests/test_template_helper_upgrades_phase32.py +80 -0
- gameviz_hyperkit-0.1.1/tests/test_template_media_phase44.py +95 -0
- gameviz_hyperkit-0.1.1/tests/test_template_polish_summary_phase54.py +164 -0
- gameviz_hyperkit-0.1.1/tests/test_template_quality_phase34.py +146 -0
- gameviz_hyperkit-0.1.1/tests/test_template_runtime_readiness_phase56.py +161 -0
- gameviz_hyperkit-0.1.1/tests/test_template_upgrade.py +26 -0
- gameviz_hyperkit-0.1.1/tests/test_template_validation_phase46.py +108 -0
- gameviz_hyperkit-0.1.1/tests/test_templates_syntax.py +32 -0
- gameviz_hyperkit-0.1.1/tests/test_testpypi_rc_readiness_phase66.py +82 -0
- gameviz_hyperkit-0.1.1/tests/test_timers.py +146 -0
- gameviz_hyperkit-0.1.1/tests/test_touch.py +18 -0
- gameviz_hyperkit-0.1.1/tests/test_transition.py +95 -0
- gameviz_hyperkit-0.1.1/tests/test_ui.py +29 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Md. Rifat Hossain Chowdhury / GameViz
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,445 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: gameviz-hyperkit
|
|
3
|
+
Version: 0.1.1
|
|
4
|
+
Summary: A lightweight Python SDK for 2D hypercasual and hybrid-casual mobile game prototypes.
|
|
5
|
+
Author-email: "Md. Rifat Hossain Chowdhury" <rifat.gameviz@gmail.com>
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/RifatGameDev/gameviz-hyperkit
|
|
8
|
+
Project-URL: Repository, https://github.com/RifatGameDev/gameviz-hyperkit
|
|
9
|
+
Project-URL: Issues, https://github.com/RifatGameDev/gameviz-hyperkit/issues
|
|
10
|
+
Keywords: game,kivy,android,hypercasual,mobile,2d,sdk
|
|
11
|
+
Classifier: Development Status :: 3 - Alpha
|
|
12
|
+
Classifier: Intended Audience :: Developers
|
|
13
|
+
Classifier: Programming Language :: Python :: 3
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
18
|
+
Classifier: Topic :: Games/Entertainment
|
|
19
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
20
|
+
Classifier: Operating System :: OS Independent
|
|
21
|
+
Requires-Python: >=3.9
|
|
22
|
+
Description-Content-Type: text/markdown
|
|
23
|
+
License-File: LICENSE
|
|
24
|
+
Requires-Dist: kivy>=2.3.0
|
|
25
|
+
Requires-Dist: tomli>=2.0.1; python_version < "3.11"
|
|
26
|
+
Provides-Extra: dev
|
|
27
|
+
Requires-Dist: build>=1.2.0; extra == "dev"
|
|
28
|
+
Requires-Dist: twine>=5.0.0; extra == "dev"
|
|
29
|
+
Requires-Dist: pytest>=8.0.0; extra == "dev"
|
|
30
|
+
Provides-Extra: android
|
|
31
|
+
Requires-Dist: buildozer>=1.5.0; extra == "android"
|
|
32
|
+
Dynamic: license-file
|
|
33
|
+
|
|
34
|
+
# GameViz HyperKit
|
|
35
|
+
|
|
36
|
+
**GameViz HyperKit** is a lightweight Python SDK for creating **2D hypercasual and hybrid casual game prototypes** quickly.
|
|
37
|
+
|
|
38
|
+
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.
|
|
39
|
+
|
|
40
|
+
> HyperKit is not a full game engine like Unity, Unreal, or Godot.
|
|
41
|
+
> It is a prototype-focused SDK with reusable systems, helper modules, and ready-made templates.
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Current Release Status
|
|
46
|
+
|
|
47
|
+
HyperKit is currently in active development.
|
|
48
|
+
|
|
49
|
+
Current package validation status:
|
|
50
|
+
|
|
51
|
+
- TestPyPI validation build: `0.1.1.dev1`
|
|
52
|
+
- Real PyPI release: not published yet
|
|
53
|
+
- Stable public release target: future `1.0.0`
|
|
54
|
+
|
|
55
|
+
For now, HyperKit should be considered an early SDK preview.
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Package Identity
|
|
60
|
+
|
|
61
|
+
- Package name: `gameviz-hyperkit`
|
|
62
|
+
- Import name: `hyperkit`
|
|
63
|
+
- CLI command: `hyperkit`
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Who Is HyperKit For?
|
|
68
|
+
|
|
69
|
+
HyperKit is useful for:
|
|
70
|
+
|
|
71
|
+
- learning 2D game development with Python
|
|
72
|
+
- building quick hypercasual game prototypes
|
|
73
|
+
- creating tap, swipe, runner, puzzle, quiz, and physics-style demos
|
|
74
|
+
- testing simple game ideas before moving to a larger engine
|
|
75
|
+
- students and indie developers who want a small code-first game toolkit
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Main Features
|
|
80
|
+
|
|
81
|
+
- 2D game project structure
|
|
82
|
+
- Scene system
|
|
83
|
+
- GameObject system
|
|
84
|
+
- Tap/click input
|
|
85
|
+
- Swipe input
|
|
86
|
+
- Score and high-score system
|
|
87
|
+
- Save system
|
|
88
|
+
- Collision helpers
|
|
89
|
+
- Simple physics helpers
|
|
90
|
+
- Text label and basic UI helpers
|
|
91
|
+
- Responsive virtual canvas scaling
|
|
92
|
+
- Asset loading helpers
|
|
93
|
+
- Image rendering support
|
|
94
|
+
- Audio playback helpers
|
|
95
|
+
- Animation helpers
|
|
96
|
+
- Sprite animation helper
|
|
97
|
+
- Particle helper
|
|
98
|
+
- Camera shake helper
|
|
99
|
+
- Scene transition helper
|
|
100
|
+
- Timer and cooldown helpers
|
|
101
|
+
- Input action mapping helper
|
|
102
|
+
- Level data loading helper
|
|
103
|
+
- Camera follow helper
|
|
104
|
+
- Screen bounds and world bounds helpers
|
|
105
|
+
- UI progress bar helper
|
|
106
|
+
- CLI project generator
|
|
107
|
+
- Ready-made starter templates
|
|
108
|
+
- Project health and release validation commands
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## Installation
|
|
113
|
+
|
|
114
|
+
For local development from the repository:
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
pip install -e .
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
Check that HyperKit is working:
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
hyperkit doctor
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
Install the current TestPyPI validation build:
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ gameviz-hyperkit==0.1.1.dev1
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## Quick Start
|
|
135
|
+
|
|
136
|
+
Create a new game project:
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
hyperkit new my-game --template tap_counter
|
|
140
|
+
cd my-game
|
|
141
|
+
python main.py
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
You can also use dash-style template names:
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
hyperkit new my-game --template tap-counter
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
Generated projects include:
|
|
151
|
+
|
|
152
|
+
```text
|
|
153
|
+
my-game/
|
|
154
|
+
├── main.py
|
|
155
|
+
├── README.md
|
|
156
|
+
├── hyperkit.toml
|
|
157
|
+
└── assets/
|
|
158
|
+
├── README.md
|
|
159
|
+
├── images/
|
|
160
|
+
├── audio/
|
|
161
|
+
├── fonts/
|
|
162
|
+
└── data/
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## Available Templates
|
|
168
|
+
|
|
169
|
+
Check all templates:
|
|
170
|
+
|
|
171
|
+
```bash
|
|
172
|
+
hyperkit list-templates
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
Current templates:
|
|
176
|
+
|
|
177
|
+
| Template | Command Name | Description |
|
|
178
|
+
| --- | --- | --- |
|
|
179
|
+
| Tap Counter | `tap_counter` / `tap-counter` | Tap/click scoring prototype |
|
|
180
|
+
| Flappy Mini | `flappy_mini` / `flappy-mini` | Flappy-style tap-to-jump prototype |
|
|
181
|
+
| Swipe Runner | `swipe_runner` / `swipe-runner` | 3-lane swipe runner prototype |
|
|
182
|
+
| Puzzle Game | `puzzle_game` / `puzzle-game` | Color matching puzzle prototype |
|
|
183
|
+
| Quiz Game | `quiz_game` / `quiz-game` | Educational quiz game prototype |
|
|
184
|
+
| Simple Physics | `simple_physics` / `simple-physics` | Gravity, bounce, and coin collection prototype |
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## Basic Example
|
|
189
|
+
|
|
190
|
+
```python
|
|
191
|
+
from hyperkit import Game, GameObject, Scene, ScoreManager, TextLabel
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
class MyScene(Scene):
|
|
195
|
+
def start(self):
|
|
196
|
+
self.score = ScoreManager(high_score_key="my_game_high_score")
|
|
197
|
+
|
|
198
|
+
self.player = self.add(
|
|
199
|
+
GameObject(
|
|
200
|
+
x=300,
|
|
201
|
+
y=500,
|
|
202
|
+
width=100,
|
|
203
|
+
height=100,
|
|
204
|
+
color=(0.2, 0.75, 1.0, 1),
|
|
205
|
+
shape="circle",
|
|
206
|
+
)
|
|
207
|
+
)
|
|
208
|
+
|
|
209
|
+
self.score_label = self.add(
|
|
210
|
+
TextLabel(
|
|
211
|
+
x=30,
|
|
212
|
+
y=1180,
|
|
213
|
+
text="Score: 0",
|
|
214
|
+
font_size=32,
|
|
215
|
+
color=(1, 1, 1, 1),
|
|
216
|
+
)
|
|
217
|
+
)
|
|
218
|
+
|
|
219
|
+
self.start_game()
|
|
220
|
+
|
|
221
|
+
def on_tap(self, x, y):
|
|
222
|
+
self.player.x = x - self.player.width / 2
|
|
223
|
+
self.player.y = y - self.player.height / 2
|
|
224
|
+
self.score.add(1)
|
|
225
|
+
self.score_label.set_text(f"Score: {self.score.value}")
|
|
226
|
+
|
|
227
|
+
|
|
228
|
+
Game(title="My HyperKit Game", width=720, height=1280).set_scene(MyScene()).run()
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
---
|
|
232
|
+
|
|
233
|
+
## Asset Folders
|
|
234
|
+
|
|
235
|
+
HyperKit projects use a simple asset structure:
|
|
236
|
+
|
|
237
|
+
```text
|
|
238
|
+
assets/
|
|
239
|
+
├── images/
|
|
240
|
+
├── audio/
|
|
241
|
+
├── fonts/
|
|
242
|
+
└── data/
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
Supported asset types:
|
|
246
|
+
|
|
247
|
+
| Folder | Supported Types |
|
|
248
|
+
| --- | --- |
|
|
249
|
+
| `assets/images` | `.png`, `.jpg`, `.jpeg`, `.webp` |
|
|
250
|
+
| `assets/audio` | `.wav`, `.mp3`, `.ogg` |
|
|
251
|
+
| `assets/fonts` | `.ttf`, `.otf` |
|
|
252
|
+
| `assets/data` | `.json`, `.csv`, `.txt` |
|
|
253
|
+
|
|
254
|
+
> FBX is not directly supported in HyperKit.
|
|
255
|
+
> For 2D games, export FBX source assets as PNG images, animation frames, or sprite sheets.
|
|
256
|
+
|
|
257
|
+
---
|
|
258
|
+
|
|
259
|
+
## CLI Commands
|
|
260
|
+
|
|
261
|
+
Check environment:
|
|
262
|
+
|
|
263
|
+
```bash
|
|
264
|
+
hyperkit doctor
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
Show templates:
|
|
268
|
+
|
|
269
|
+
```bash
|
|
270
|
+
hyperkit list-templates
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
Create a new project:
|
|
274
|
+
|
|
275
|
+
```bash
|
|
276
|
+
hyperkit new my-game --template tap_counter
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
Run a project:
|
|
280
|
+
|
|
281
|
+
```bash
|
|
282
|
+
hyperkit run
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
Show project metadata:
|
|
286
|
+
|
|
287
|
+
```bash
|
|
288
|
+
hyperkit info
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
Validate a generated project:
|
|
292
|
+
|
|
293
|
+
```bash
|
|
294
|
+
hyperkit validate
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
Show package health report:
|
|
298
|
+
|
|
299
|
+
```bash
|
|
300
|
+
hyperkit health
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
Show release readiness report:
|
|
304
|
+
|
|
305
|
+
```bash
|
|
306
|
+
hyperkit release-check
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
Show final pre-release audit report:
|
|
310
|
+
|
|
311
|
+
```bash
|
|
312
|
+
hyperkit pre-release-audit
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
Create experimental Android build configuration:
|
|
316
|
+
|
|
317
|
+
```bash
|
|
318
|
+
hyperkit init-android
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
Run experimental Android build:
|
|
322
|
+
|
|
323
|
+
```bash
|
|
324
|
+
hyperkit build android
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
Validate built-in templates:
|
|
328
|
+
|
|
329
|
+
```bash
|
|
330
|
+
hyperkit validate-templates
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
Validate generated projects for all polished templates:
|
|
334
|
+
|
|
335
|
+
```bash
|
|
336
|
+
hyperkit validate-generated-projects
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
Validate the runtime QA tracker and evidence structure:
|
|
340
|
+
|
|
341
|
+
```bash
|
|
342
|
+
hyperkit validate-release-evidence
|
|
343
|
+
```
|
|
344
|
+
|
|
345
|
+
## Development Commands
|
|
346
|
+
|
|
347
|
+
Run tests:
|
|
348
|
+
|
|
349
|
+
```bash
|
|
350
|
+
pytest
|
|
351
|
+
```
|
|
352
|
+
|
|
353
|
+
Build package:
|
|
354
|
+
|
|
355
|
+
```bash
|
|
356
|
+
python -m build
|
|
357
|
+
```
|
|
358
|
+
|
|
359
|
+
Check package:
|
|
360
|
+
|
|
361
|
+
```bash
|
|
362
|
+
twine check dist/*
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
Upload to TestPyPI:
|
|
366
|
+
|
|
367
|
+
```bash
|
|
368
|
+
python -m twine upload --repository testpypi dist/*
|
|
369
|
+
```
|
|
370
|
+
|
|
371
|
+
---
|
|
372
|
+
|
|
373
|
+
## Documentation
|
|
374
|
+
|
|
375
|
+
- [Version History](docs/VERSION_HISTORY.md)
|
|
376
|
+
- [Changelog](CHANGELOG.md)
|
|
377
|
+
- [Template Helper Usage Guide](docs/TEMPLATE_HELPERS.md)
|
|
378
|
+
- [Templates Guide](docs/TEMPLATES.md)
|
|
379
|
+
- [Template Quality Checklist](docs/TEMPLATE_QUALITY_CHECKLIST.md)
|
|
380
|
+
- [Release Readiness Checklist](docs/RELEASE_READINESS_CHECKLIST.md)
|
|
381
|
+
- [Generated Project Smoke Tests](docs/GENERATED_PROJECT_SMOKE_TESTS.md)
|
|
382
|
+
- [Project Health Report](docs/PROJECT_HEALTH_REPORT.md)
|
|
383
|
+
- [Release Build Automation](docs/RELEASE_BUILD_AUTOMATION.md)
|
|
384
|
+
- [Final Pre-release Audit](docs/FINAL_PRE_RELEASE_AUDIT.md)
|
|
385
|
+
- [Beginner Quick Start Tutorial](docs/QUICK_START_TUTORIAL.md)
|
|
386
|
+
- [Template Media Guide](docs/TEMPLATE_MEDIA_GUIDE.md)
|
|
387
|
+
- [Template Screenshots and Demo Media](docs/TEMPLATE_SCREENSHOTS.md)
|
|
388
|
+
- [CLI Error Messages](docs/CLI_ERROR_MESSAGES.md)
|
|
389
|
+
- [Template Validation](docs/TEMPLATE_VALIDATION.md)
|
|
390
|
+
- [Production Template Polish Checklist](docs/PRODUCTION_TEMPLATE_POLISH_CHECKLIST.md)
|
|
391
|
+
- [Tap Counter Polish - Phase 48](docs/TAP_COUNTER_POLISH_PHASE48.md)
|
|
392
|
+
- [Flappy Mini Polish - Phase 49](docs/FLAPPY_MINI_POLISH_PHASE49.md)
|
|
393
|
+
- [Swipe Runner Polish - Phase 50](docs/SWIPE_RUNNER_POLISH_PHASE50.md)
|
|
394
|
+
- [Puzzle Game Polish - Phase 51](docs/PUZZLE_GAME_POLISH_PHASE51.md)
|
|
395
|
+
- [Quiz Game Polish - Phase 52](docs/QUIZ_GAME_POLISH_PHASE52.md)
|
|
396
|
+
- [Simple Physics Polish - Phase 53](docs/SIMPLE_PHYSICS_POLISH_PHASE53.md)
|
|
397
|
+
- [Template Polish Summary - Phase 54](docs/TEMPLATE_POLISH_SUMMARY_PHASE54.md)
|
|
398
|
+
- [Template Stabilization Checklist](docs/TEMPLATE_STABILIZATION_CHECKLIST.md)
|
|
399
|
+
- [Generated Project Validation - Phase 55](docs/GENERATED_PROJECT_VALIDATION_PHASE55.md)
|
|
400
|
+
- [Template Runtime Readiness - Phase 56](docs/TEMPLATE_RUNTIME_READINESS_PHASE56.md)
|
|
401
|
+
- [Template Manual QA Checklist](docs/TEMPLATE_MANUAL_QA_CHECKLIST.md)
|
|
402
|
+
- [Manual QA Result Template](docs/MANUAL_QA_RESULT_TEMPLATE.md)
|
|
403
|
+
- [Release Evidence Structure](docs/RELEASE_EVIDENCE_STRUCTURE.md)
|
|
404
|
+
- [Release Evidence Workspace](docs/release-evidence/README.md)
|
|
405
|
+
- [Runtime QA Tracker - Phase 58](docs/RUNTIME_QA_TRACKER_PHASE58.md)
|
|
406
|
+
|
|
407
|
+
---
|
|
408
|
+
|
|
409
|
+
## Current Limitations
|
|
410
|
+
|
|
411
|
+
- HyperKit is not a full game engine.
|
|
412
|
+
- Advanced 3D rendering is not supported.
|
|
413
|
+
- Android APK build support is still experimental.
|
|
414
|
+
- AdMob and analytics helpers are not implemented yet.
|
|
415
|
+
- The current focus is 2D hypercasual and hybrid casual prototypes.
|
|
416
|
+
- Templates are designed for learning and prototyping, not final commercial production yet.
|
|
417
|
+
|
|
418
|
+
---
|
|
419
|
+
|
|
420
|
+
## Roadmap
|
|
421
|
+
|
|
422
|
+
Planned improvements:
|
|
423
|
+
|
|
424
|
+
- better beginner documentation
|
|
425
|
+
- more polished starter templates
|
|
426
|
+
- template screenshots and GIFs
|
|
427
|
+
- improved CLI error messages
|
|
428
|
+
- stronger asset and audio workflow
|
|
429
|
+
- mobile-friendly project structure
|
|
430
|
+
- Android build workflow improvements
|
|
431
|
+
- AdMob and analytics helper layer
|
|
432
|
+
- more complete example games
|
|
433
|
+
- future stable `1.0.0` release
|
|
434
|
+
|
|
435
|
+
---
|
|
436
|
+
|
|
437
|
+
## License
|
|
438
|
+
|
|
439
|
+
MIT License.
|
|
440
|
+
|
|
441
|
+
---
|
|
442
|
+
|
|
443
|
+
## Author
|
|
444
|
+
|
|
445
|
+
Developed by **Md. Rifat Hossain Chowdhury** / **GameViz**.
|