Yoji Suzuki

メインで使っているSNSはGitHubです。 https://github.com/s…

Yoji Suzuki

メインで使っているSNSはGitHubです。 https://github.com/suzukiplan

最近の記事

  • 固定された記事

東方BGM on VGS(実機版)

私は、2013年の春先頃から東方BGM on VGS(東方VGS)というスマートフォンアプリ(iOS, Android)を配信しています。 VGSとは、2012年ごろに私が開発した波形メモリ方式のチップチューン音源です。 そして、東方VGSは東方Projectの楽曲をVGS向けに耳コピ&アレンジしたものを配信するスマホアプリ(東方Project二次創作)です。 2013年〜2016年の間、当時の東方Projectの二次創作ガイドラインではスマホでのマネタイズがグレーだっ

    • VGS-Zero版Battle Marineをゲームギアに移植している件

      Steamで販売中のVGS-Zero版Battle Marine(以下)を現在ゲームギア(GG)に移植中です。 GG版の進捗はTwitterの方でだいたいデイリー頻度で呟いています。 VGS-Zero とゲームギアは全く異なるゲーム機ですが、VGS-Zeroを開発する前段階でゲームギアやMSX(TMS9918A)のエミュレータを作ってVDPの仕様を学習した関係で、アーキテクチャの細部にそれらのDNAのようなものが意図せず組み込まれているのかもしれません。(互換性はありませ

      • VGS-Zeroができるまでの流れ

        無事、VGS-Zeroのローンチタイトル「Battle Marine」をSteamでリリースすることができました。 Qiitaの方でVGS-Zeroの技術中心の紹介記事を投稿してます。 本書は、どういった経緯でVGS-Zeroが開発されたのかを時系列でまとめてみました。 プロローグ2016年ごろ、当時の勤務先の会社で「ゲームプラットフォーム事業を立ち上げる」とのことで事業の方向性を検討するブレストに参加して、その席で「新しいゲーム機作りたいッス!!」と発言したところ、発

        • Battle Marine 開発記 Part 2

          RaspberryPi Zero 2W で動作する自作ゲーム機「VGS-Zero」のローンチタイトル「Battle Marine」の開発状況を記します。 1月1日〜1月5日(過去分)今のところ、1月1日から11日連続で日々ツイートを継続中です。 1月6日 メインBGM作曲そろそろ効果音を入れていきたかったのですが、効果音を入れるためには音楽が必要です。 音楽無しで効果音を入れてしまうと音量バランスが想定外になってしまい、効果音の演出が意図した通りにならないことがよくある

        • 固定された記事

        東方BGM on VGS(実機版)

          Twitterで日々のゲーム開発進捗をツイートしてみる

          VGS-Zero版Battle Marineの開発状況をツイッター(X)で日々報告してみるようにしているところです。 ツイッター上で色々なクリエイターさんが実践されているヤツの真似事ですね。 ゲーム開発内容を短文で説明するのが大変なので、短い動画付きツイートをするようにしています。(別に動画縛りという訳ではないですが、今の所100%動画ツイートのみ) 動画ならSlack等のチャットでも齟齬が無く伝わり易いので、本業(※フルリモート)の方でもガリガリ活用していることもあり

          Twitterで日々のゲーム開発進捗をツイートしてみる

          VGS-Zeroをリリース

          2024年1月1日に自作ゲーム機「VGS-Zero」のバージョン1.0.0をリリースしました。 VGS-Zeroの特徴をざっくり挙げると、 RaspberryPi Zero 2W(ベアメタル環境)で動作 HDMI接続によりテレビに映像と音声を出力 カーソル(D-Pad)、A/Bボタン、Start/Selectボタンの8ボタン式(ファミコン方式)のUSBゲームパッドでの入力に対応(キー割当のカスタマイズ可) 16MHz の Z80 (8bit) CPU搭載 BG/F

          VGS-Zeroをリリース

          RaspberryPi Zero 2W の限界を探る

          現在、RaspberryPi Zeroのベアメタル環境で動作する自作ゲーム機VGS-Zeroを開発中です。 VGS-Zeroは、メインコアにZ80を搭載しています。 Z80のクロックレートとしては3,579,545Hz(Z80A)が有名ですが、VGS-Zeroは通常のエミュレータ開発とは異なり過去のソフトウェアとの互換性を気にする必要が無いので、敢えてそのクロックレートに拘る必要がありません。 そこで、VGS-ZeroのZ80はRaspberryPi Zeroのベアメタ

          RaspberryPi Zero 2W の限界を探る

          FCS80→VGS0

          RaspberryPi Zero (ベアメタル環境)で動作する自作ゲーム機の開発状況です。 前回までのあらすじベアメタル環境で開発するのに際して、ユーザープログラムのライセンス上の課題(GPL汚染)を回避するため、FCS80という過去に開発した架空のゲーム機エミュレータを用いて開発を進めることにしました。 FCS80は通常、Z80アセンブリ言語でゲームを開発しますが、より効率的にゲーム開発できるようにするため、C言語対応を進めていました。 新たなる課題(性能)アセンブリ

          FCS80のC言語クロスコンパイル対応(SDCC)

          以下の記事の続きです。 FCS80(自作の架空ゲーム機)のプログラミングを、Z80アセンブリ言語だけではなくC言語でもできるようにしてみました。 Z80クロスコンパイラの選定Z80用のCクロスコンパイラとしては、z88dkとSDCCの2つが有名です。 どちらかといえばz88dkの方が情報量が多いので主流だと思われますが、今回は敢えてSDCCを採用しました。 z88dkを採用しなかった理由z88dkはコンパイル(zccコマンド実行)時にターゲットオプションを指定する必要

          FCS80のC言語クロスコンパイル対応(SDCC)

          自作ゲーム機の開発進捗

          現在妄想中の自作ゲーム機開発の進捗を記します。 当初想定 & 現在の課題当初はvgssdk-picoをベースにしたRaspberryPi Zero(ベアメタル)用の新しいSDK(vgssdk-zero)を開発する気マンマンだったのですが、ベアメタル環境での開発が思っていた以上に大変だと実感しているところです。 しかし、幸いなことにRaspberryPiであればCircleというOSSを使えば比較的簡単にベアメタル開発ができます。 そこで、Circleの試食を兼ねてmic

          自作ゲーム機の開発進捗

          RaspberryPi Zero のベアメタル環境で動くMSXエミュレータを作ってみた

          私が開発している micro MSX2+ という組み込み用MSXエミュレータで、RaspberryPi Zeroシリーズのベアメタル環境での動作に対応してみました。 対応したのはRaspberryPi Zeroの全シリーズ(無印、W、WH、2W)です。 以下、RaspberryPi Zeroの無印、W、WHを「Zero1」、RaspberryPi Zero 2Wを「Zero2」と表記します。 MSXエミュレータとはいってもエンドユーザ向けのもの(OpenMSXやWebM

          RaspberryPi Zero のベアメタル環境で動くMSXエミュレータを作ってみた

          M5StampS3でUSBキーボードを動かしてみる

          以前Qiitaの方でM5StampS3に3.2インチのLCD(ILI9341)を繋ぎ、自作のMSXエミュレータを動かして音を鳴らすところまで記事化しました。 Part 1: まずは機材調達や配線など Part 2: 描画速度を実用的にする Part 3: 自作MSXエミュレータ(micro MSX2+)を動かす Part 4: DAC(UDA1334A)を繋いで音を鳴らす 本書は上記の続きで、USBキーボードを繋いでキー入力できるようにする方法を記します。 部品調

          M5StampS3でUSBキーボードを動かしてみる

          RaspberryPi Zeroで自作ゲーム機を作るための下準備(環境構築+基礎知識)

          以下の記事で、自作アケコンをベースにしてRaspberryPi Zeroを使って自作ゲーム機の開発を妄想しました。 下図のようにアケコンケースにゲーム機本体を収納した形のものを想定しています。 本記事では、この妄想の実現に向けた下準備の内容を記します。 RaspberryPi Zeroの準備まず、本書執筆時点ではRaspberryPi Zeroを持っていないので、とりあえず以下の3点を発注しました。 RaspberryPi Zero(以下、無印Zero) Raspb

          RaspberryPi Zeroで自作ゲーム機を作るための下準備(環境構築+基礎知識)

          アケコンのボタンとスティックを電子工作利用してみる

          自作ゲーム機の開発(電子工作)でコントローラ(ゲームパッド等)をどうやって調達すべきなのかが悩ましいという問題に直面しました。 ゲームパッドやキーボードなどの入力機器はUSBインタフェースのものが一般的(=調達が容易)というか、最近ではUSB以外のものを見つける方が難しいかもしれません。 そこで当初、市販されているUSBゲームパッドをお手軽に利用できるようにしようと思っていたのですが、USBには次のような問題があり利用を断念することにしました。 想像以上に複雑(参考)

          アケコンのボタンとスティックを電子工作利用してみる

          リアルアーケードPro(V3-SA)のスティックとボタンをセイミツ化

          久々のWindowsスマホアプリの開発を個人で始めて暫く経った2013年頃からメインOSがずっとmacOSだったのですが、仕事の関係で久々にWindowsの環境を構築しました。(※下図写真は仕事ではなくプライベート) デスクトップPCをテレビにHDMIケーブルで繋いで使っています。 Windows環境が整ったので久々に東方Projectの原作が遊べるようになり、上記ツイートの写真左側に映っているゲームパッドで遊んでいたのですが、Normal ALLぐらいまでならそれで全

          リアルアーケードPro(V3-SA)のスティックとボタンをセイミツ化

          趣味の話(自転車)

          今のところnoteでは自作ゲーム機の開発に関する記事しか書いていないのですが、別の趣味(自転車)の話題を書いてみます。 愛車紹介愛車は多分2011年モデルのGIOS AIRONE(アイローネ)というエントリーモデルのロードバイクです。 メルカリで購入したので正確な年式は不明です。 納車後に分解してチェックしてみた限り、コンポーネントが換装された形跡が無く、スプロケット(リアの変速車輪)が9s(9枚)のTiagraなので、恐らく2011年モデルだろうと推測してます。 公

          趣味の話(自転車)