gamekit · ahao0150/gamekit
GameKit 是一套用 TypeScript 编写的 2D 小游戏工具链,目标是一份源码同时构建 Web、微信小游戏和抖音小游戏三端。它采用 .ui 声明式界面与契约先行的开发方式,并设置真浏览器适配门禁。仓库 README 以一款面向 4 岁以上儿童的记忆配对...
Memory Game 是一款面向 4 岁以上儿童的 Android 记忆翻牌游戏,最早于 2014 年发布,仓库描述为「Simple and beautiful memory game for kids」。它的设计目标很明确:没有广告、没有账号、不收集任何数据。玩家点击 Play 后,会沿着一条由若干回合组成的「路线」前进,在计时结束前找出配对卡牌并收集星星。
README 记录了这款游戏的完整生命周期:2014 至 2019 年以 Java 编写并上架 Google Play,最后一个版本为 2019 年 2 月的 1.01.001007;2019 年 11 月因未跟上开发者政策被下架,代码随之停滞,期间 Android 平台向前推进了十二个 API 级别;2026 年项目重启,整体从 Java 迁移到 Kotlin,重构、调试、测试并准备重新发布,同时保留原有美术与玩法。
项目是一个标准的 Android Studio 工程,技术栈为 Kotlin、AndroidX、Gradle Kotlin DSL,target SDK 36,min SDK 24。README 中值得注意的工程细节包括:
art/original,应用绘制的所有内容都由一个 Gradle 任务从原图生成,因此修改原图只需重跑任务并提交。app/src/main/assets/characters/<name>.chr。应用在 Canvas 上绘制,任意尺寸都清晰,并带有动画:正面朝上时呼吸与眨眼,配对成功时跳跃。标记错误可在 art/character-overrides.txt 中修正。art/original/lettered,tools/erase-lettering.py 生成去字副本,应用在运行时以玩家语言绘制文字。tools/generate-titles.py 以同样风格生成其他语言版本。启动图标与商店图标同样由 art/original/app_icon.png 生成。tools/i18n 下的 Python 数据,每种语言一个字典,tools/i18n/generate.py 据此生成 values-<locale> 资源。显示字体 Grobold 只有拉丁字母,因此 @font/game 按语言解析为 Rubik、Baloo 2 或 Mitr(均为 Open Font License),中日韩使用系统字体。README 给出的常用命令如下:
./gradlew :app:assembleDebug # debug 构建,可与商店版本共存安装
./gradlew :app:testDebugUnitTest # 游戏逻辑单元测试
./gradlew :app:lintDebug # lint,警告视为错误
./gradlew checkKeystore # 校验签名 keystore 配置
scripts/verify-release.sh # 生成签名 release APK + AAB 并做上传前检查
签名与 Play 商店清单见 docs/RELEASE.md,签名材料不会存放在仓库中。隐私政策由 sromku.github.io 站点仓库发布。
重新生成美术资源需要先安装 webp,并从 GitHub Releases 下载 macOS 版的 realesrgan-ncnn-vulkan 与 vtracer,然后执行:
brew install webp
./gradlew regenerateArt -Prealesrgan=/path/to/realesrgan-ncnn-vulkan -Pvtracer=/path/to/vtracer
根据 README,游戏当前包含以下内容:
Play 商店条目将该游戏声明为儿童应用,并声明符合 COPPA 与 GDPR。因此任何改动都必须保持无数据收集、无网络访问、无权限、无广告、无内购、无第三方 SDK;CLAUDE.md 对此有明确说明,checkChildSafety 任务在可判断时会令构建失败。
许可方面,代码采用 Apache License 2.0;美术资源由原作者单独授权,来源包括 GraphicRiver 上的动物合集、怪兽创作套件、游戏背景与卡通 GUI 包等条目;Rubik、Baloo 2 与 Mitr 字体采用 SIL Open Font License,详见 docs/licenses。
这个仓库适合作为 Android 小游戏与「合规优先」儿童应用的参考样本:可以观察 Kotlin 迁移后的工程组织、Gradle 驱动的美术资源生成流水线、矢量角色与 Canvas 动画的实现方式,以及用 Python 数据源生成多语言资源的本地化流程。若关注儿童应用合规,checkChildSafety 与变更规则部分也提供了可借鉴的约束思路。
《Dead Ascend》是一款手绘风格的 2D 点击式(point-and-click)冒险解谜游戏...
micropolisJS 是把 Micropolis(开源版《模拟城市》类城市模拟游戏)移植到 J...
Endless Sky 是一款 C++ 编写的 2D 沙盒式太空探索游戏,玩法接近 Elite、Esc...