ラベル ゲーム の投稿を表示しています。 すべての投稿を表示
ラベル ゲーム の投稿を表示しています。 すべての投稿を表示

2021年1月8日金曜日

中華ゲームパッド購入

普段、ゲームで遊ぶのはもっぱらWindowsマシンで、XInputに対応したゲームパッドを世界のAmazonから購入して使っています。ゲームパッドをJavaScriptで扱うためのライブラリを作っている関係で、DInputやXInputのゲームパッドをいくつか持っています。PS2のゲームパッドをUSBに変換して接続するアダプターもあります。

XBOX360ゲームパッド

その中でもやはり使いやすいのは、XBOX純正のコントローラーでした。以前はXBOX360のゲームパッドをWindowsに接続しゲームに使っていましたが、最近はXBOX ONEのXInput対応Bluetoothゲームパッドを使っていました。XBOX360用はドライバーをインストールしないと使えませんでしたが、XInput対応ゲームパッドはそのまま使えるので、かなり楽です。

XBOX ONEゲームパッド

しかし、このXBOX ONEゲームパッドの調子が悪くなってきました。電源を入れてもすぐに電源が落ちてしまったり、ゲーム中にBluetooth接続が切れてしまうようになりました。最近やっている「マインクラフトダンジョンズ」はハクスラなので、途中で使えなくなると致命的です。また、Nintendo Switchがあるのですが、標準で付いてくるコントローラーがお世辞にも使いやすいとは言えないので、対応ゲームパッドが欲しいなと思っていたのですが、純正はすぐに壊れると聞いていたので純正以外でいいのがないかと探していたところでした。

OPOLARゲームパッド(1)

「XInputとSwitch両対応で、無線USB接続のゲームパッド」で探していいたら見つけました。「OPOLAR」という聞いたことのないメーカー(多分中華)のゲームパッドが見つかりました。お値段は4,000円という、中華パッドにしてはちょっとお高めな感じです。これをポチってみました。

OPOLARゲームパッド(2)

電源を入れると結構派手に光ります。XInputで接続されると中央下の縦に4つあるLEDの、一番上と一番下(1番目と4番目)が光ります。初めて接続した時に、これが全然接続出来なくて「初期不良化?」と悩んだのですが、何度かやっていたら繋がりました(ゲームでも使えました)。


光りっぱなしのLED
しかし、ひとつ困ったことがあり、無線レシーバーのLED(説明書には「赤いLED」と書いてあるが実際は青)が、パソコンのUSB端子に挿している間はずーっと光ってしまっていることです。他にも中華なゲームパッドを持っているんですが、それらはパソコンの電源を落としている時は光らないですが、こいつはずーっと光ってしまっています[※1]。


ゲームパッド裏の謎スイッチ
そして、このゲームパッドには裏に謎のスイッチがあります。Nintendo Switch(なんか紛らわしい…)では設定で機能を割り当てられるらしいです(ちなみにSwitchではまだ使ったことないです)。Windowsでもなにかしらのボタンが割り当てられているみたいです。





とりあえず、しばらく使ってみることにします。あ、ひとつ書き忘れていましたが、充電コネクタはUSB-Cです。あと結構軽いです。

※1 2021.1.10追記:「光りっぱなしのLED」は私の使っているパソコンの仕様で、特定のUSBポートだけが常に電源供給されているのが原因でした。

2020年6月9日火曜日

Minecraft Pocket Edition用のmobプラグイン

Minecraftには3つの種類がある

  1. コンシューマーエディション(プレステ用とか、XBOX用とか、SWITCH用とか)
  2. ポケットエディション(iOS用とか、Android用とか、Windows10エディションとか、最近はプレステ4とかも)
  3. Javaエディション(WindowsとかMacとかで動かすやつ)

このうち、自前でマルチプレイのサーバーを建ててみんなでワイワイ出来るのが(2)と(3)。
(3)のJavaエディションは歴史が長いのでいろんなサーバーMODや、クライアントMODがあって出来ることも多い。
しかし(2)のポケットエディションは、最初はスマホなどでひとりで遊ぶ感じだったものが有志の手によって、マルチプレイ出来るサーバープログラムが開発され、個人でサーバーを建てられるようになっている。
しかし、如何せん勝手にやっているので開発元であるマイクロソフトの動きに振り回される形で、周辺アプリが開発されている。

このポケットエディションのマルチプレイサーバープログラム、つい最近までmobが出てこず、ただみんなで積み木プレイをするだけだったので、サバイバルと言っても腹が減って死んだり、溺れて死んだり、落ちて死ぬだけなので、あまりサバイバル感はなかった。

そこで、mobを動かすプラグインを作る人が出てきた。

poggit.pmmp.io


このプラグインはちょっとプレイヤーの追随アルゴリズムに疑問が残る追いかけ方をするが、ちゃんと邪魔をしてくれるので所謂マインクラフトのサバイバルモードになっている。
これなら、いろんなデバイスから入れるのでプレイの幅が広がる。
いつでもどこでもマインクラフトが出来るので、さらに時間泥棒になるので、困った(困ってない

2020年5月25日月曜日

ゲーム専用Windowsマシン遍歴

Windowsマシンというゲーム機



こんにちわ、Chromebookに移行したと言いながら、MacWindowsも使っている今日この頃、如何お過ごしでしょうか。

私は割とゲームをやる方だと思うのですが、いわゆる世間一般的に言う「コンシューマーゲーム機」と呼ばれるモノは買わないようにしています。それは何故か!?理由は単純で欲しいゲームが出てきた場合に、そのゲームが出来るゲーム機をホイホイと買っていると、気づいた頃にはアラ不思議、家がゲーム機だらけになってしまうからです。なのでゲームはWindowsパソコンでやることにしました。

Windowsパソコンでゲームをやる場合、

  1. メーカー製のパソコンを買う
  2. パーツを買ってきて自分で組む

の2択になるわけなのですが、メーカー製のパソコンは自分で組むのに比べると割高になる可能性が高いのと、自由度がかなり低く自分でパーツの交換が行いにくいというこ事で自分で組むことにしました。まず最初に買ったのは筐体でした。
f:id:digitarhythm:20131110010149j:plain
f:id:digitarhythm:20131110010326j:plain



以前にグラフィックボードを2枚挿したりした時に熱と戦った経験から、筐体はデカいにこしたことはないという事で大きめの筐体を買いました。
筐体と一緒に、マザーボード、CPU、メモリ、ビデオカード、電源を買いました。電源は筐体に500Wが付いていたのですが、GeForce GTX760を使うには足りないだろうということで別で買いました。
f:id:digitarhythm:20140727124046j:plain
f:id:digitarhythm:20131110010403j:plain
f:id:digitarhythm:20131110020020j:plain
f:id:digitarhythm:20131110021050j:plain
f:id:digitarhythm:20131110010347j:plain



この時の大失敗は、CPUをケチって5,000円くらいのAMD A5350を買ってしまったことです。後々こいつがかなり脚を引っ張ることになります。メモリは画像にあるように4GB×2を買いました。しばらくはこの環境で「rFactorMinecraft専用機」として使っていました。
f:id:digitarhythm:20131110145807j:plain
f:id:digitarhythm:20140317015157j:plain


しかし、この後にValveのPCゲームプラットフォーム「Steam」に手を出してしまい、GPUが非力になっていきます。rFactorも2を買ったり、BATTLEBORNを初めたりとするうちにGPUを換装しようと思い立ちます。そして、この大型の筐体が邪魔になってきたので小さなゲーミング筐体を買うことにしました。
f:id:digitarhythm:20200515004724j:plain

この筐体は標準サイズの電源が使えないので400Wの電源も購入しました。
f:id:digitarhythm:20200515005711j:plain



さらに筐体に合わせてMini-ITXマザーボードと、256GBのSSDを1つと、1TBのSSHDを2つ購入しました(マザーボードの写真は撮り忘れました)。
f:id:digitarhythm:20200515012641j:plain


で、この筐体で使えそうなGPUを探して、ファンレスのGeForce1050Tiを見つけたので購入しました(CPUは購入しませんでした)。
f:id:digitarhythm:20200515010251j:plain


ところが、なんと、このサイズのGPUでは、この筐体では使えないことが判明しました。ヒートシンクなんか付いていない、スロットも1つ分くらいしか専有しない、ボードだけくらいのものでないと入り切らないという感じでした。そこで急遽、このGeForce GTX1050Tiが使える筐体を探しAmazonで購入しました。

なんとこの筐体、フルサイズの電源と、フルサイズのビデオカードが使えるというスグレモノ。なので新たに購入した400Wの電源は使わずに、元々使っていた750Wの電源を使うことにしました。LEDがギラギラして眩しいことを除けばかなりイイ筐体でした。中が狭いので自由度はそれほど高くないですが、2.5インチのストレージも4つ固定する場所があったりして、使い勝手に気を使ってありました。

この状態でまた暫く使っていたのですが、前述の通りCPUを購入しなかったのでかなり型落ちのCPUで使うことになりました。GPUもそこそこなものになって、メモリも8GB積んだのにかなり操作が引っかかる(分かりますか?)ような感じになり、2年後にまたリプレイするすることになります。

今度はGPUはそのままに、マザーボード、CPU、メモリを換装することにします。CPUはAMDの最新世代Zen2を採用した「Ryzen5 3600」にしました。マザーボードをメモリスロットが4つのものを敢えて選んだので、将来増設することも睨んでメモリは16GB×2にしました。ストレージは元々使っていた256GBのSSDと、1TBのSSHDを使用します。

これがマザーボードと、CPUと、ついでに買ったHDMI切替器です。メモリも一緒に注文したのですが、痛恨のミスでSO-DIMMを注文してしまいAmazonに返品して、注文しなおしました。
f:id:digitarhythm:20200310190954j:plain
f:id:digitarhythm:20200311100153j:plain


しかしここでまたミスをします。前回買ったSilverStoneのゲーミング筐体がMini-ITX専用というのを勘違いしており、MicroATX対応だと思っていました。なのでMicroATXマザーボードを買ったのですが当然のごとながら入らず、最初に買ったZALMANの大型筐体を引っ張り出して来ることになります。

こんな感じで組んで行きました。
f:id:digitarhythm:20200515014031j:plain


これがCPUです。
f:id:digitarhythm:20200515014118j:plain


これで一件落着!…と思いきや、なぜかGPUを使う処理を行うとパソコンが突然再起動します。タイミングはいろいろなのですが、GPUを酷使する処理を行った時…が多い気がしたのですが、とりあえずWindowsをインストールし直してみたり、メモリのアクセス速度をDDR4-2666から、DDR4-2400に落としてみたり、2枚のメモリを片側づつ抜いて使ってみたりしましたが状況は変わらず。そんなこんなで全く状況は改善されないので、思い切って電源を750Wから1050Wに交換しようと思いAmazonでポチりました。

また、以前に熱と戦っていた時になにをどうしても温度が下がらず、試しにCPUとCPUファンを繋ぐ(?)グリスを新しく買ってきて塗り直してみたところ、それまではなんだったのかというくらいにCPU温度が下がって突然パソコンが落ちることがなくなったという経験があるので、吉田工務店オススメのCPUグリス「MX-4」も購入しました。

ARCTIC MX-4-4g cpu グリス;熱伝導グリス;

ARCTIC MX-4-4g cpu グリス;熱伝導グリス;

  • メディア: エレクトロニクス

CPUグリスはマザーボードやCPUと一緒に買っていたのですが、塗ろうと思った時にすでに固まっている状態で、あまりイイものじゃないような感じはしていたのでちょっと期待して購入してみました。そして、到着後CPUグリスを塗り直し、750Wの電源を1050Wに入れ替えました。
f:id:digitarhythm:20200503122937j:plain
f:id:digitarhythm:20200515014925j:plain
f:id:digitarhythm:20200515014856j:plain


これでパソコンが突然再起動かかるようなことはなくなりました。施策を2つ同時にやってしまったので、電源が足りなかったのかCPU温度が原因だったのかは分かりませんが、やっと安心してXbox Game PassでHaloが出来ます(笑)

www.xbox.com



2020年1月3日金曜日

ゲームパッドライブラリ

ちょっと前から「enforceGamePad」というJavaScriptで使うゲームパッドライブラリを作っている。市販のUSBゲームパッドが、ブラウザ毎、コントローラー毎にバラバラな値を返すため、JavaScriptゲームで使いづらいのをなんとかするために、ゲームパッドの「VendorID」と「ProductID」を読み取り、同じ位置のキーを同じ値を返すようにするというもの。



github.com



作り始めたのはいいが、同じ値を返すゲームパッドは、OEMと思われるものだけ。メーカーが同じでもゲームパッドが違えば全然違う値を返してくる。なので、個人ですべてのゲームパッドを買って定義ファイルを作るのは無理なので、定義部分をプラグインっぽくして拡張出来るように出来ないか模索中。



2014年10月7日火曜日

gl.enchant.js

私の作っているゲーム作成フレームワーク「enforce」にWebGLを使ってゲームを作れるように「gl.enchant.js」を組み込もうとしているが、このgl.enchant.jsによる3Dオブジェクト同士の当たり判定がうまいこと使えない。


例えば半径3.0の球(Sphere)同士の当たり判定を行っても、半径1.0の球として判定されてしまう。


この話をすると「そういう時は、コライダー*1というのを用意して(ry」という話がよく出るのだが…………私の困っているのはコライダーでの話なんですよね(汗)


 なので、実際にゲームに使えるオブジェクトのサイズというのが、すべてサイズが「1.0」のものだけになってしまう。


これはプリミティブだけではなく、Colladaデータでも同様になっている感じ。


gl.enchant.jsのソースを覗いているが、これを修正するのは………キツそうだなぁ(汗)


*1:ゲーム等において画面上に表示されている絵(ビジュアル)とは別に当たり判定を行う専用のオブジェクトのこと(らしい)



2014年9月28日日曜日

enforceにbox2d

enforceのenchant版のほうで、box2dを使った物理演算スプライトを使えるようにした。


とは言っても、使う時は通常のスプライト生成と変わりはなく、生成する時のオプションで「rigid: true」を渡すと物理演算スプライトになる。


サンプルを作った。


カーソルキーで白いクマが動いて、Zキーかスペースバーで茶色いクマが生成される。


物理演算されているので、ぶつかると跳ね返るし、回転する。


2014年9月12日金曜日

enchantとtmlibのタッチイベント

enchant.jsと、tmlib.jsのスプライトでは、発生するタッチイベント名が違う。


 


enchant.js


タッチ開始:ontouchstart


移動:ontouchmove


終了:ontouchend


中止:ontouchcancel


 


【例】



sprite.ontouchstart = (e)->


    console.log('x='+e.x+', y='+e.y) 



 


 


tmlib.js


タッチ開始:onpointingstart


移動:onpointingmove


終了:onpointingend


中止:onpointingcancel


 


【例】 



sprite.onpointingstart =(e)->


    console.log('x='+e.app.pointing.x+'y='+e.app.pointing.y)



 


2014年9月2日火曜日

tmlib0.3で音楽再生

tmlib0.3では、それまでの0.2までとは音楽の再生方法が変わっているようなので備忘録。


アセットリストに「sound」という名前で登録されているファイルを再生する場合



org = tm.asset.Manager.get('sound')


sound = org.clone()


sound.volume = 1.0


sound.play()


sound.loop = false



 


cloneしてからでないと重ねての再生が出来ないので注意。


2014年8月30日土曜日

JavaScriptでゲームパッド

もともとは「GamePad API」としてW3Cが制定しているものだが、なぜかブラウザー毎に実装がマチマチで、これまたブラウザー毎に処理を分けないといけない。
そして、2014年現在は、Chrome37と、Firefox31でしかゲームパッドは使用出来ない(SafariIEでは未実装)。


なので、実行しているブラウザを自動判別し、ChromeFirefoxの両方でほぼ同じデータの取れるものだけを配列で返すライブラリを作ってみた。


 


両方のブラウザでほぼ同じデータが取れるものは下記になる。


f:id:digitarhythm:20140830224336p:plain


 


ボタン1〜4に関しては各ゲームパッドによって違いはあるが、ボタンが4つあればボタン1〜4になっていると思われる。


ボタン5と6は、人差し指で押すボタンが返ってくる。
垂直軸と水平軸は−1、0、1の3つの値を返す。


さらに、Xbox360コントローラーでは2つのアナログスティックの値を−1〜1の範囲で返すようにしている。


しかし、アナログスティック1の値は垂直軸、水平軸の値とリンクしているので、アナログスティック1の値が振り切る(1、もしくは-1になる)と、十字キーを押したのと同じ状態になる。


Xbox360ではボタンは16個あるのだが、ファミコンもどきコントローラーとXbox360コントローラーで同じような値を返すのがボタン1〜6までなので、このライブラリではボタン6までしか値を返さない。


Xbox360コントローラーでは十字キーの値はボタンとして返ってくるのだが、ライブラリのほうで水平軸、垂直軸の値として返るように違いを吸収している。


 


ライブラリはgithubにあるので、普通にクローンすると使えるようになる。


 


digitarhythm/gamepadprocedure · GitHub


 


ファイル自体はCoffeeScriptなので使用する時はコンパイルしてご使用ください。


 


コンパイルしたファイル「gamepadprocedure.js」を読み込むと、「gamepadProcedure()」という関数が使用出来るようになるので、ゲームなどのループ処理内でこれを呼ぶことでゲームパッドの状態が配列として返ってくる。


SafariIEの場合は空の配列が返される。


 


GAMEPADINFO = gamepadProcedure()


 


上記のようにした場合、ゲームパッドがひとつの場合はGAMEPADINFO[0]ゲームパッド情報が格納されている(ゲームパッド番号=0)。



  • GAMEPADINFO[0].padbuttons

  • GAMEPADINFO[0].padaxes

  • GAMEPADINFO[0].analogstick


上記3つのオブジェクトはさらに配列になっていて、GAMEPADINFO[0].padbuttons[0]〜[5]にボタン情報が入っている。


GAMEPADINFO[0].padaxes[0]には、十字キーの水平軸情報が入っている(-1、0、1)。


GAMEPADINFO[0].padaxes[1]には、十字キーの垂直軸情報が入っている(-1、0、1)。


GAMEPADINFO[0].analogstick[0]には、アナログスティック1の情報が配列として入っている。


GAMEPADINFO[0].analogstick[0][0]には、アナログスティック1の水平軸情報が入っている(-1〜1)。


GAMEPADINFO[0].analogstick[0][1]には、アナログスティック1の垂直軸情報が入っている(-1〜1)。


GAMEPADINFO[0].analogstick[1]には、アナログスティック2の情報が配列として入っている。


GAMEPADINFO[0].analogstick[1][0]には、アナログスティック2の水平軸情報が入っている(-1〜1)。


GAMEPADINFO[0].analogstick[1][1]には、アナログスティック2の垂直軸情報が入っている(-1〜1)。


 


ChromeFirefoxではコントローラーの認識されるタイミングが違う。


FirefoxではファミコンもどきコントローラーでもXbox360コントローラーでも、Webアプリを起動した時には認識しておらず、ゲームパッドをなにかしら操作した時に認識される。


しかし、ChromeはどちらのゲームパッドでもWeb起動時に認識している。


動作的にはChromeのほうが好ましいのだが、一回認識してしまうとその後にUSBコネクタを何回抜き差ししても、最初に認識したゲームパッド番号がリセットされない。


例えば、Xbox360コントローラーを挿した状態でWebアプリを実行するとXbox360コントローラーがゲームパッド番号0として認識される。


その後にXbox360コントローラーを抜いてからファミコンもどきコントローラーを挿しても、ファミコンもどきコントローラーはゲームパッド番号1となりChromeを再起動するまでこの情報はリセットされない。


どちらにせよ、今の状態では複数ゲームパッドを使用したり、ゲームパッドの抜き差しなどはオススメしない。


2014年7月18日金曜日

iPhone/Androidスマホをゲームパッドにするぞ計画

家電量販店などに行くと、スマホタブレット用のゲームをプレイするための、Bluetoothコントローラーが売っています。


こんな感じ(Google画像検索)。


f:id:digitarhythm:20140718175542p:plain


 


しかし、ゲームがやりたい時に必ずコントローラーが近くにあるか?というと、ほとんどの場合は無いと思うんですよ。


私は普段、iPadはこういう状態で持ち歩いています。


f:id:digitarhythm:20140718185702j:plain


 


当然、ゲーム用のコントローラーなど持ち歩いていません。


そして、この状態だとiPadの画面を操作するタイプのアクションゲームも出来ません。


 しかし、私達は普段コントローラーに似たサイズのデバイスを持ち歩いているではないか、ということに気付いたわけです。


そうです、こういうやつです。


f:id:digitarhythm:20140718190221j:plain


 


これならば、ちょっとゲームがやりたくなった時にパっとスマホを取り出して、iPadのゲームをやって、終わったらスマホは充電するなり、ポケットに入れるなりすればコントローラーを持ち歩く必要ありません。


 


で、ゲームのBluetoothコントーラーとして使えるアプリを作ればいいジャマイカと思いますが、そうは簡単にはいかないのです。


ゲームのコントローラーには通常、方向指示ボタンがついています。


どこの誰が考えたかわかりませんが、これが実に良く出来ていて、私達はこれに完膚無きまでに、慣れさせられています。


そこで、スマホの画面に十字の絵を描き、それをコントローラーのごとく操作させようとすると・・・・これが上手くいかないんですねぇ。


なぜなら指先にまったくボタンを押している感触が無いので、指がどんどん十字の絵から離れていってしまうんですね。


そこで次に、「最初にタッチした場所を中心として上下左右を判断する」という方法を取ったアプリが出てきました。


これはまぁ最初の、なんにも考えていないコントローラーよりいくらかはマシでした。


一旦指を離してしまえば次のタッチでリセットされるのですから。


しかし、これもゲームを続けていくとイライラさせられることになります。


なぜなら、位置をリセットするためには指を一旦離さないといけないからです。


使いやすくするために導入した「一旦指を離す」という操作が、ゲームを続けているとイライラポイントに変わってしまうんですね。


そして、指を離せない場面というのも存在します。


アクションゲームで多いと思うのですが、動き回りながら敵を倒していくタイプのゲームだと指を離している暇が無いのです。


例えばこんなゲーム*1です。


f:id:digitarhythm:20140718182229j:plain


そうすると一番最初のなにも考えてない十字の絵と同じ現象が出てしまうのです(指がどんどん十字から離れていってしまう)。


このアンチノミーを解消するにはどうすればいいのか?


いつかAppleがこれを解決するベストソリューションを提供してくれると信じて待っていたのですが、全く出てくる気配すらありません。


それどころか、WebのアップルストアBluetoothゲームコントローラーを売ってる始末です。


では、どうすればいいか?と考えてみました。


まず、「十字の位置をリセットするために指を離す」を除外します。


そもそもゲームをやっている時に指を離さなければならないなどと言うことは、思考の邪魔以外のなにものでもありませんし、上記の理由により離すことが出来ない場面が往々にして訪れます。


しかし指先で十字を認識出来ない以上、指はどんどん画面上を移動していくので、どこかで位置をリセットしなければいけません。


 


そこで、「二回目に閾値を越えた量の位置移動があったらそこを中心点にする」という方法を考えてみました。


f:id:digitarhythm:20140718191003p:plain


上記の図で説明すると、まず最初にタップした位置を中心点として指の方向を取得します。


図の左で言うと「上方向」の処理を行います。


そしてそのままタップし続けるとずーっと「上方向」の処理をし続けますが、指の動きがある閾値を越えたところで、その時の指の位置を中心として十字コントローラーをリセットします。


例えば、画面をタップし指を上へ動かすと自キャラは上へ歩いて行きますが、指を動かすとリセットされるので自キャラは止まります。


しかしそれだと、方向を変えるためには一旦止めてから再び方向を指示するという形になり、タップし直してリセットとあまり変わりません。


 


そこで、方向を指示した後の指の動かす方向によって処理を分ければいいのではないかという考えに辿り着きました。


f:id:digitarhythm:20140718195311p:plain


おおまかに図にすると上図のようになります。


最初にタップした位置から上へ指を動かすと上方向への指示になります。


そこから閾値を越えて右へ指を動かした場合はそこを中心としてリセットし、右方向への指示とします。


左の場合はリセットして左方向への指示です。


下の場合は2段階になり、下に動かすとリセットされそこを十字の中心にします。


そこからさらに下に動かした場合は下方向への指示とするという感じです。


 


と、構想は出来ているので、あとはアプリを作るだけですね(笑)


 


2009年5月18日月曜日

初めて買ったゲーム

◯=覚えている

●=記憶があやふや






















                    • -












ファミコングラディウス


確か発売日の次の日に、ヨドバシカメラ西口駅前店で買った記憶が。





スーパーファミコンストリートファイターII


本体と一緒に買った。

これ以外は中古で2、3本買ったくらいでほとんど遊んでない。





◯Nintendo64 = スーパーマリオ64


これも本体と一緒に買った。

��4のソフトはこれ以外はメモリパックが欲しくて買ったワンダープロジェクトJ2のみ。





Wii = メイドイン ワリオ


Wii買ったはいいがソフトが無かったので、家にあったもう見ないであろうDVDをBOOKOFFに売って購入。





PCエンジン妖怪道中記


たしか中古で購入。

でもこれより先に猛烈にハマったイメージファイトを買っているかも。





セガマークIIIアウトラン


普通に買った唯一のソフト。

これ以外は本体に付属してたSG-1000用のゲームか、ひとつ600円くらいで叩き売られていたカードのゲーム。





プレイステーションイニシャルD


プレステは貰い物。

ジョグコンを買ったので車のゲームを買ったがこれは対応してなかったので多分一回しか起動してない。

すぐR4を買ってジョグコンで遊びまくる。





プレイステーション2 = サイヴァリア リビジョン


プレステ2を買ってもしばらくはプレステのゲームとか買っていたので2専用で初めて買ったのは記憶があやふや。

あれ?俺、2専用ってサイヴァリアしか持ってないかも?





Xbox360TEST DRIVE UNLIMITED


とりあえずボイスチャットしながら遊べるプラチナのゲームってことで購入。





ゲームギア = ソニック ザ ヘッジホッグ/エイリアンシンドローム


本体と一緒に購入した2本。

これ以降は10年後くらいにぷよぷよを購入w





ゲームボーイ = クオース


たぶんクオース。

本体と一緒に買ったんじゃないかな?

なんか会社の社員旅行でバスの中の暇つぶしに買った気がする。

あ、レッドなんとかっていう魔界村に出てくる怪物のゲームも買った気がするなぁ。





ゲームボーイミクロスーパーマリオ


本体と一緒に購入。

欲しくて買ったわけではないのでこれ以降アドヴァンスのゲームは買ってない。

DSで出来るし。





NintendoDS = 英語漬け


これも本体を買ったはいいがゲームが無いので下北沢の中古屋で購入。





PSPリッジレーサーズ


本体と一緒に購入。

当時勤めていた会社の同僚と終業後に休憩所でリッジレーサーズ大会をしていた。





ワンダースワンカラー = ワンダーウィッチ


ワンダーウィッチでゲームを作ろうと思って本体も買ったけどワンダーウィッチは開封すらしなかったw

あ、こないだツタヤで中古のFF3かなんか買ったな?

初めて買ったゲームはそれになるのか?




QMK開発環境構築メモ

## Ubuntuコンテナイメージ取得 ```bash docker pull ubuntu:24.04 ``` --- ## コンテナ作成 ```bash docker run -it --name qmk_dev -v [マウント元ディレクトリ]:[マウント先ディレクトリ]...