N-EMU · レトロゲームエミュレーターv1.10.1
開発の話投稿日 thorv0.1.0

自分のエミュレーターアプリを作る

自分のエミュレーターアプリを作ってみたいと思って始めました。対応機種、画面、セーブ機能を一つずつ整理しながらN-EMUを作りました。

初期開発

レトロゲームが好きで、自分のエミュレーターアプリを作ってみたくなりました。それがN-EMUの出発点です。

開発を始める前に、約1か月かけて機能を設計しました。対応する機種や、ゲームの選び方、セーブの方法を整理しながら、アプリの形を決めていきました。

アプリを作る中で、複数の機種のゲームを一つのライブラリから選べるようにしました。機種が違っても、ステートや設定を同じようなメニューで管理できます。

好きなピクセルフォントと角ばったボタンで画面を作りました。ゲームを始める前のメニューにも、古いゲーム機の雰囲気があってほしかったのです。

作りながら学ぶことも多くあります。ボタンをどこに置くか、セーブデータをどう守るか、自分で考えなければなりません。好きなものを作りながら、開発者としてもっと学びたいと思いました。

自分用に始めましたが、ほかの方にも快適に楽しんでもらえるよう改良していきたいです。N-EMUの開発と運営で学んだことを生かし、これからも自分の好みや考えを反映したサービスを作りたいと思っています。

当時追加した機能開く閉じる

Androidの対応機種を拡充

Androidにスーパーファミコン、ニンテンドーDS、PSPを追加しました。iOSと同じ機種に対応します。

AndroidのPSP韓国語フォント

AndroidでもPSPゲームに韓国語フォントを使えます。

スーパーファミコン・PSPのバックアップ

Androidでも、両機種のセーブデータを自分のGoogle Driveにバックアップできます。

セーブスロット管理

セーブスロットに名前とメモを付けられます。ロック、移動、コピー、上書きの取り消しもできます。

機種別のボタン配置

機種ごとにボタン配置を保存します。縦向きと横向きの配置も別々に保存できます。

ニンテンドーDSのマイク

マイクをオンにしたときだけ使用許可を求めます。許可なしで使える「息を吹く」ボタンもあります。

コントローラー接続

4台のコントローラーを1P~4Pに割り当てます。ライブラリやポーズメニューも操作できます。

画面ボタンの見た目

自分で用意したスキンファイルで画面ボタンの絵柄を変えます。位置と大きさは変わりません。

読み込み画面

ターミナル風の画面で処理の進み具合を表示します。

ワンダースワンの縦画面

縦向きのゲームに合わせて、画面と操作ボタンを配置します。

マスターシステムのFM音源

日本版のFM音源を使えます。パドルとスポーツパッドの操作にも対応します。

PSPの画面設定

iOSではオリジナル、フレーム優先、鮮明さ優先から選べます。ゲームを再起動すると反映されます。

音声の遅延を調整

音が途切れる場合は「安定性」、ボタンを押してから音が遅れる場合は「低遅延」を選びます。

画面エフェクト

画面をくっきりさせたり、LCDの格子やブラウン管の走査線を加えたりできます。残像も調整できます。

ゲーム別の画面配置

画面配置と比率をゲームごとに保存します。ニンテンドーDSでは上下画面の位置も入れ替えられます。

iPadのマルチウインドウ

複数のウインドウを切り替えて使えます。外部ディスプレイにはゲーム画面だけを表示できます。

ホーム画面からゲームを開く

ウィジェットで最近遊んだゲームを確認し、よく遊ぶゲームのショートカットを置けます。

  1. 開発の話v0.5.0初期開発

    ゲームを開いたら続きから

    自動再開を有効にすると、ゲームを開く際に自動セーブを読み込みます。ゲームごとに開始方法を変えることもできます。

  2. 開発の話v0.2.0初期開発

    ピクセル画面に込めた好み

    角ばったボタン、ピクセルフォント、点滅するカーソル。操作を遅らせずに雰囲気を出すまでの過程を紹介します。

  3. 開発の話v0.2.0初期開発

    複数のゲーム機を1つのアプリに

    機種が変わっても同じライブラリでゲームを選び、セーブデータを管理できるよう、複数のエミュレーターコアを組み合わせました。

一覧に戻る対応機種と機能