Skip to content

A game on zepp os that trains your memory by accurately reproducing an automatic performance in which the notes increase one by one.

License

Notifications You must be signed in to change notification settings

ishiki-hikuhiku-game/zepp-memory-game

Repository files navigation

記憶力ゲーム

一つずつ増える自動演奏の配列を正確に追いかけていく、スマートウォッチで動く記憶力ゲーム。

動画

以下の Twitter のツイートに動画を載せてある。

https://twitter.com/tannakaken/status/1855613545892941860

実行環境

Amazfit Bip 5 Unity という、1 万円以下でかえるスマートウォッチのアプリ開発環境で作成した。

Amazfit は zepp os という OS で動いている。

zepp os は

  • アプリを JavaScript で開発できる。
  • sdk を npm でインストールできる。
  • シミュレータがある。

など、手軽に開発できる環境が揃っている。

とはいえ、

  • ドキュメントが足りない。
  • そもそも SDK の機能が足りていない気がする。
    • GUI の配置が不自由すぎる(もしくは GUI の配置を自由に行う方法を知るためのドキュメントがない or 辿り着けない)。
    • ログを見る方法すらよくわからない(もしくはログが見えない)。
    • example も今のところかなり不親切(音声ファイルのパスの参照方法もよくわからなかった)。
  • ある種のクラスのインスタンスを複数作ると(おそらくメモリが足りなくなって)落ちる。

など、今後の発展に期待したい。

開発方法

環境構築は本家を参考にした

https://docs.zepp.com/docs/guides/quick-start/

面倒くさいが、本家に書いてあるように、zeus-cli はグローバルにインストールした方が良いようだ(node_modules にインストールしたらエラーが出た)。

npm i @zeppos/zeus-cli -g

node が 16 系だとエラーが出たが、node が 20 系なら動いた。

simulator が windows だと qemu(エミュレータ)がパスのエラーを起こしていた。多分、パスに非 ascii 文字が含まれてるからだと思う。 なので mac で動かすことにした(無事動いた)。

SoundPlayer などのクラスのインスタンスを複数作成するとアプリが落ちることがある。 すると、その部分を改善して preview してもアプリが落ちてしまうことがあるが、Amazfit 自体を再起動することで治った。

zepp os での開発方法のダイジェスト

アプリのテンプレートの作成方法は

zeus create hello-world

アプリをシミュレータで走らせる方法は、

https://docs.zepp.com/docs/guides/tools/simulator/download/

からダウンロードしてインストールしたシミュレータを走らせた状態で、

zeus dev

実機でテストする方法は、

https://docs.zepp.com/docs/guides/tools/zepp-app/

を参考に Amazfit を開発者モードにして、

zeus preview

で生成された QR コードを、開発者モードの画面の中にあるアプリ追加機能で QR コードをスキャンする。

このアプリでは音声が関わり、音声はどうやら現状のシミュレータでは出ないため、もっぱら実機でテストした。

実機テストでも、ビルドもインストールもそれほど時間はかからず、快適に作業できた。

音声ファイル

ピアノの音はランダムに音を並べても、そこそこ自然に聞こえるように、ペンタトニックを選んだ。 C5 のドの音が変になってしまったので、もう少し調節する必要がある。

ピアノの音の音声ファイルは以下のアイオワ大学のサイトからダウンロードした。

https://theremin.music.uiowa.edu/MISpiano.html

mp3 に変換してトリミングをするために、ffmpeg を利用している。

assets フォルダにあるファイルはインストール時に実機にコピーされるため、ここのフォルダが大容量になると、 インストールに時間がかかるようだ(なので、できるだけファイルを軽くした方が開発体験がよくなる)。

不正解時の効果音は OtoLogic のサイトよりダウンロードした。 アプリを Amazfit のアプリストアなどで公開するならば、OtoLogic のクレジットを表示する必要がある。

https://otologic.jp/free/se/quiz01.html

アイコン

アイコンは imagemagick を使って生成している。

ライセンス

このリポジトリを CC BY 4.0 で公開する。

開発者

淡中 圏 tannakaken@gmail.com

About

A game on zepp os that trains your memory by accurately reproducing an automatic performance in which the notes increase one by one.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published