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で始めるZ80マシン語ゲームプログラミング

      はじめにVGS-ZeroでZ80のマシン語ゲームプログラミングを始めたい方向けの入門書のようなものを書いてみようと思いました。 VGS-Zeroは、C言語(SDCC)でゲームを開発することができますが、16MHzのZ80で最大限のパフォーマンスを発揮するにはマシン語でのプログラミングを検討してみる価値があるかもしれません。 VGS-Zeroは高速なZ80(16MHz)を搭載していますが、Cコンパイラ(SDCC)があまり高速な最適化をしれくれません。 個人的にはそれだけ

      • 私の株式投資との付き合い方

        私は2005年あたりから株式投資を始めたので、2024年時点で投資歴19年の初心者です。10年以上やっていて「初心者」と自称するのは疑わしいところかもしれませんが、実際未だに色々とよく分かっていません。 本業は普通のサラリーマン(平社員)でFIREはしてません。エンジェル投資で勤務先の会社(非上場)の株式を第三者割当増資を引き受けていくらか持っているので一応勤務先の株主ですが、会社を支配できる程度の議決数は持っておらず(多分0.5%ぐらい)、更に株主提案等で経営への口出しも

        • mvno(OCN)から楽天モバイルにMNP

          先日、出先でスマホ(Pixel 8a)を使っていたところ、友人へ送信したLINEが送信の1時間後ぐらいに送られていたり、Twitterの読み込みがいつまで経っても完了しなかったりと、色々と支障をきたすレベルで通信が遅くなりました。 通信キャリアはOCNモバイル(ドコモのmvno)で、1日100MBを上限に高速通信でき、100MBを超えると低速モードになる契約です。(1日毎に上限設定があるタイプの契約は今は無いようです…便利だったのに) iPhoneを使っていた頃はそんなカ

        • 固定された記事

        東方BGM on VGS(実機版)

          心拍数マネジメントの重要性

          心拍数を意識してロードバイクに乗ってみたところ、何故か疲れないのに早く走れるようになりました。 普段走っている約12kmのコースを、まずは数値を特に気にせず普段通りに走ってみた結果が下図です。 平均心拍145bpm、平均ケイデンス79rpmとのことですが、40代のオッサンにしてはハッスルし過ぎかもしれません。 そこで、心拍数が140台になったら130以下ぐらいになるように足を緩めたりギアを調整した結果が下図です。 平均心拍131bpm、平均ケイデンス70rpm。 概

          心拍数マネジメントの重要性

          スマホ機種変更(iPhoneSE2→Pixel8a)

          4年半ほど使っていたiPhone SE2がここ最近Lightningで全然充電できなくなりました。 思い当たる敗因としては、ロードバイクにマウントしてRuntasticを使っていたのですがここ最近の灼熱と汗でダメになってしまったのかもしれません。 街乗りならともかくロードバイクではサイコンを使わないとダメですね😅 私のiPhoneは裏面のガラスがバキバキに割れているので、分解して修理するのも難しい状態です。 iPhoneSE2を発売とほぼ同時に購入して4年半ほど経過し

          スマホ機種変更(iPhoneSE2→Pixel8a)

          サイクルコンピュータの選び方

          サイクルコンピュータを導入してみようと思ったのですが、まずはどういう用途で使いたいのかを考察した上でどういう商品を導入すれば目的を充足できるかを考察してみました。 用途の考察ロードバイクであれママチャリであれ、自転車の最大速度はタイヤサイズ、ギア比、ケイデンス数で決まります。 コチラのサイトでそれらを入力すれば計算できます。 現在私が使っている自転車は次の通りです。 タイヤ 700x25c クランク(フロントのギア)52-36t スプロケット (リアのギア)11-

          サイクルコンピュータの選び方

          自転車のコンポーネント交換

          以下の記事でも少し触れた昨年購入した中古自転車のコンポーネントを9速のTiagra(R4500)から前世代の105(R5800)に自力換装してみました。 具体的に交換したコンポーネントは以下の12点です。 STIレバー(変速やブレーキのレバー)※中古 クランク(フロントギア+ペダルのアーム)※中古 前後両方のブレーキ ※中古 フロントディレイラー(フロントギアの変速装置)※中古 リアディレイラー(リアギアの変速装置)※中古 カセットスプロケット(リアギア)※中古

          自転車のコンポーネント交換

          底辺ユーチューバーを目指してみる話

          VGS-ZeroでNSF形式をサポートしましたが、FamiStudioの操作に慣れる目的で東方紅魔郷の全17曲をRP2A03(拡張音源無しのファミコン本体音源)縛りで作ってみました。 当初、純粋なFamiStudioの練習目的で始めた試みですが、折角なのでFamiStudioの動画エクスポート機能を使って出力した動画(東方NSF)をYouTubeで公開してみました。 赤より紅い夢 ほおずきみたいに紅い魂 妖魔夜行 ルーネイトエルフ おてんば恋娘 上海紅茶館 ~

          底辺ユーチューバーを目指してみる話

          VGS-Zero で NSF(ファミコン形式の音声)の再生に対応

          VGS-ZeroカーネルでNSF(NES Sound Format)形式のBGMの再生をサポートしてみました。 従来のVGS(Video Game Sound)形式のサポートも継続していて、追加の音源フォーマットとしてファミコン音源に対応してみた形です。 なお、拡張音源はVRC6(KONAMIのSCC相当の波形メモリ音源)だけサポートしていて、VRC7(OPLLのFM音源)、FME7(AY-3-8910のPSG音源)、MMC5(拡張メモリマッパー)、FDS(ディスクシステ

          VGS-Zero で NSF(ファミコン形式の音声)の再生に対応

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

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

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

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

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

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

          Battle Marine 開発記 Part 2

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

          Battle Marine 開発記 Part 2

          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 の限界を探る