IIDX33の稼働開始が2025/09/17(水)に決まったようです。
今やACに収録されている曲は1800以上あるらしいです。
そんなにたくさんの曲について、自分が得意なオプションはどれだったかなって毎回なっているので、記録するためのアプリを作りました。(2025/09/14 App Storeの審査中)
アプリのスクリーンショットと概要
ストアにまだ出てないので、testflightでのスクリーンショットです。
画面は二つだけです。
- ホーム画面
- 曲を追加画面
ホーム画面
アプリを起動すると、まずホーム画面が表示されます(ホーム画面画像参照)。ホーム画面には以下の情報が表示されます。
- 曲リスト:初期状態ではなにも表示されないです。登録をすると曲名(オプション)の形式で一覧が表示されます。
- 曲名のフィルター:「曲名で検索」のフィルターに文字列を入力すると部分一致で登録済みの曲をフィルターします。
- 全消去ボタン:右上にある「全消去」をタップすると登録した曲のリストを全部消去します。(消去前に確認のダイアログが表示されます。)
- 曲追加画面への遷移ボタン:右下の「+」をタップすると、「曲を追加」画面がモーダルで表示されます。その画面で追加した曲が「曲リスト」に表示されます。

曲を追加画面
ホーム画面より「+」ボタンをタップするか、追加済みの曲をタップすることにより本画面へ遷移します。(本画面はモーダルのため下にシュってやればホーム画面へ戻ります)
- 曲名(必須):必須入力項目です。自由入力なので曲名は正式なものでなくても自分はわかるのであればなんでもよいです。
- オプション(必須):必須入力項目です。デフォルトでは正規が選択されています。RANDOM、R-RANDOM、S-RANDOM、MIRRORから単一選択が可能です。
- 備考(任意):任意入力項目です。特筆すべき事項がなければ何も入力しなくてもよいです。
- 追加 or 更新ボタン:「+」ボタンで本画面へ遷移した場合は、「追加」ボタンになり、ホーム画面の曲リストからタップで遷移した場合は、「更新」ボタンになります。

アプリの技術的な話
続いては技術的な話です。
フロントエンド:ReactNative
バックエンド&DB:なし
曲リストの保存方法
データは画像などがなくデータ量は大きくはないので、DBなどには保存せず、@react-native-async-storage/async-storageのライブラリを使用して、端末本体に保存しています。
AsyncStorageはkeyvalueストアで、string型しかsetできないので今回は、以下のようにsetしています。
AsyncStorage.setItem("songs", JSON.stringify(newSongs));
newSongsの中身は、id(曲のキー、新規の時に作られる)、title(曲名)、option(オプション)、note(備考)のJSONです。
const newSong = {
id: uuid.v4() as string,
title,
option,
note,
};
そして、画面にリストとして表示するには、getItemです。
AsyncStorage.getItem("songs")
とても扱いやすいです。
アプリアイコンの作成
アプリの作成はいいのですが、アプリアイコンは個人開発の方はどのようにつくっているのでしょうか。いつも悩みます。
私はcanvaとかadobe XDとかで適当につくっています。今回のアイコン(作成時間5分)

まとめと今後の機能強化
今回は、IIDXのオプション記録アプリを作成しました。前回プレイ時のオプションをゲーム側で覚えてほしいなぁと常々思っております。(昔ガルパを一生懸命やっていたときも正規とミラーどっちだっけ?っていつもなってました)。IIDXは譜面傾向が33から見られるようになるみたいですが、他の人はこういうオプションでやっている人が多いですよみたいのでも十分役に立ちそうな気がします。
今後の機能強化
- 一曲ごとに消す機能
- 曲が増えたときのことを考慮して、分類できる機能
- ソフランの対策(自分がソフランあんまりやらないので案がないです)
来週くらいには審査が通ると思うので、「IIDX曲オプションメモ」をApp Storeで検索すればヒットするかと思います。
では、また

コメント