FM TOWNS用デモプログラム「PSX DOOM Fire Effect」と「Water Ripple」

富士通が1989年に発売したパソコン「FM TOWNS

DOOMWolfenstein 3DQuakeid SoftwareクラシックFPS3部作をTOWNSに移植してきて、次は公式で発売予定だったもののWindows 95の登場による市場の変化で発売中止となってしまっていた「System Shock」のソースコードも公開されているのでSDLポート版をベースにFM TOWNS版でも作ろうかと思ってたんだが、思いのほか大苦戦してしまい結局頓挫してしまっている。

Quakeの時もそうだが、完成できたとしても正直CPUパワーが足らな過ぎて快適とは言い難い移植になることがわかりきっていたのもモチベーションが上がりづらく作業が進まなかった理由ではあるんだけど。

 

代わりと言ってはなんだけど、とりあえず簡単なデモプログラムでも作ることとした。

どちらともアルゴリズムがネット上に載っているし、TOWNSならではの機能を使ったわけでもなくCPUパワーゴリ押しのデモではあるんだが、CPU 486DX2 66MHz相当でも少々荷が重かったんで地味ながら最適化を施して完成。

 

PSX DOOM Fire Effect」

実行ファイル & ソースコード ダウンロード先

Github - PSX DOOM Fire for FM TOWNS

PlayStation版「DOOM」のタイトル画面や一部ステージの背景で流れる炎エフェクトを再現するデモ。パッドのAボタンを押していく毎に火力が弱まり、Bボタンで再点火、RUNボタンで終了。

ちなみに、これが元ネタ

結構特徴的なエフェクトなんで印象に残るが、やっていることは単純で、

画面一番下ラインに明るい色を描いたら後は、

次フレームでその上ラインに下ラインの色をそのまま描くか色を暗くして描くか左右に散らして(風による揺らめきを表現)描くかを乱数で決める

ということを画面上部ラインまで延々と繰り返しているだけで表現できる。

が、この乱数っていうのが地味に重くてTOWNS標準のC言語コンパイラである「High C コンパイラ」に用意された乱数発生関数rand()を読み出して実装したところ動きがガクガクとなってしまった。

ということで自前で疑似乱数発生を作って(といってもUNIXのライブラリから借用)更にインライン化

static int rand_num = 1;

rand_num = rand_num * 1103515245 + 12345;
random = rand_num & 2147483647;

このデモだけでなく、乱数を使うTOWNS用ゲームやデモを作る時に有効なテクニックかもしれない。

 

 

「Water Ripple」

実行ファイル & ソースコード ダウンロード先

Github - Water Ripple on FM TOWNS

マウスを左クリックすると画像に波紋が広がって歪み、しばらく待っていればまた収まっていくデモ。マウスを動かせば波紋の作成位置が移動できる。右クリックで波紋全消去、左右クリック同時押しでプログラム終了。

元画像のテクスチャ(配列)と表示先のテクスチャ、更に波紋の強さを表すテクスチャを現在と前フレーム分で2枚用意して、波紋の広がりと減衰の計算、前フレームと波紋の強さに差異が出ているピクセルだったら波紋の強さから元画像のテクスチャの参照先を求めて表示先に書き込み、を繰り返す。

上記のPSX DOOM Fireよりも負荷のかかるデモで、表示先テクスチャに書き込む元画像テクスチャのアドレス計算が結構時間が食ってて、元ソースでは現在の座標から波紋の強さに応じて読み込み座標を計算するために486 CPUでは加減算よりも数十倍遅い乗除算を1回づつ使っている上に、読み込みアドレスがテクスチャ外にならないようにするために最大最小×X座標Y座標で合計4回のif文で範囲内かチェックを行っているが、TOWNS版デモでは

・「/ 1024」という除算は「>> 10」と10ビットシフトに置き換える(2乗定数の乗除算は1ビットシフト同一。High Cが出すOBJファイルを確認するとこの最適化が行われていなかったので手動シフト演算化)

・_max、_min関数というコンパイラ内部関数を使って最大最小値を求めて範囲内チェックを行う(if文によりもアセンブラレベルで比較命令が1命令節約できる)

・一時変数に入れたりせず配列の要素内でアドレス計算式を全部入れてしまう(High Cの最適化はあまり賢くないのか、無駄に変数の出し入れを行ってしまう)

といった具合に変更。

倍速とまではいかないまでもこれだけでも結構フレームレートに差が出た。

だが、まだ滑らかな速度ではなく波紋という感覚を得られるまでにはなっていない。

Steamチャットで「チームに投票をお願いします」とか「Steamウォレット送るよ」と来ても絶対に反応してはダメ

昨日から「チームに投票をお願いします」とか「Steamウォレット送るよ」とかいうチャットがSteam経由で送られてきているのだが、これらは全部アカウントハイジャック(ID・パスワードを偽Steamサイトで入力させてSteamアカウントを奪い取る)の手口なので絶対に反応してはダメだ。

反応するとURLを貼ってきて、Steam コミュニティとよく似たURLのサイトにあるSteamログイン画面が表示されるが、アカウント情報を入力したら最後、アカウントが取られてまたそこからハイジャックチャットを送っていく連鎖となり、更に被害が拡大していく。

無視するか、hijackとだけ返しておこう。

ちなみに英語メッセージだけでなく日本語でも送ってくるので油断しないように。

 

Steamアカウントを作って今日で20年

2004年7月22日にSteamアカウントを作ってから丸20周年ということでSteamプロフィールのアカウント歴を示すバッジが20年バージョンに更新された。

Steamプロフィール - BCC 長年の貢献バッジ

2003年9月12日にサービスを開始した当時のSteamはゲーム販売サービスという面影は一切なくValve製ゲーム専用のランチャーと言っていい状態で、目玉だったHalf-Life 2はデータ流出騒動で発売延期、Steam版Counter-Strike (CS)用のサーバーでマッチングしたい人が導入する物だった。

当時PCゲーム遊んでいた自分はCSにそこまで興味がなく、まだSteam版ではない既存のWON版でもそのままプレイできるので軽く遊ぶだけならそれでよかったので導入が遅れ、Half-Life 2の発売が数か月後になったから先に作っておいた程度の認識だった。2005年になってようやくValve以外のサードパーティーのゲームが配信されたかと思ったら「Rag Doll Kung Fu」とかいうどういう経歴でこれ出す事になったの?と疑問符しかつかないタイトルで先行き大丈夫かと不安しかない、あの頃のSteamを見てこれが一大プラットフォームになるなんて思っていた人はどれだけいたことか。おそらくゲイブその人しかいなかったであろう。

今から過去の自分にメッセージを送れるならSteamアカウントは9月12日のその日に作れ、スターリンvs火星人は75%セール来たら買おうとか後回しにせずすぐ買え、NVIDIA株もちょっと高くなったからって売ろうとせずホールドしまくれ、と言いたいね。

PC版「Outrun2006 Coast 2 Coast」用に新たな改善Modが登場。Xboxコントローラでトリガーが振動する

高級車「フェラーリ」にまたがり絶景を背景にドリフトで道を駆け巡るドライブゲームOutrun 2」の海外マルチプラットフォーム移植版「Outrun2006 Coast 2 Coast」

フェラーリとの契約が切れていて既にパッケージ版は絶版、Steam版もおま国だった上にこれまた配信中止と、かなりレアなタイトルと化してしまっているが、その爽快溢れる疾走感により未だに根強いファンがいるタイトルだ。

そんな名作のPC版向けに新たなModが登場。

github.com

元々「Outrun2006」はPS2/初代Xboxとのマルチプラットフォームタイトルで、その頃の環境やコンソール機ベースに作られている関係でワイドスクリーンにちゃんと対応していない・XInput(Xboxコントローラ)にネイティブ対応していないといった問題が存在していたが、このModでは

  • 120FPSの高フレームレート化
  • ロード中にフレームリミッターを解除してロード時間削減
  • ワイドスクリーン時のUIのアスペクト比を修正
  • ギアシフト・ドリフト・クラッシュ時にコントローラが振動
  • Xboxコントローラのインパルストリガーに対応
  • NPC車両のLOD(距離に応じてポリゴン数を削減する)を無効化
  • 遠くのオブジェクトのポップアップを引き起こすZバッファの精度を改善
  • ビデオドライバから設定せずとも異方性フィルタリングを16x、半透明オブジェクトのアンチエイリアスを有効化
  • 車体の反射レンダリング解像度を128*128から最大2048*2048まで向上
  • その他細かいバグ修正

などなど多岐にわたる改善が行われる。

実際に持っているSteam版に適用して試してみた(UIアスペクト比を変更すると何故かクラッシュしたのでそこだけ元のまま)が、これはかなり快適性が向上するModだ。

グラフィック改善も絶景が綺麗になりより一層引き立たせるのはもちろんそうだが、やはりコントローラがちゃんと振動するようになったおかげで、アーケード版でコーナーをドリフトで抜けようとするとステアリングがブルブルと動くので暴れ馬を手懐けるかのようなあの感覚がPC前でもちゃんと再現されるようになったのは大きい。

元がOutrun2006なので、その後日本で発売されたPS2「Outrun2 SP」では再現されているシャトルの発射演出などがカットされていたり、ブルームが弱すぎてギラギラ感が全くないといった欠点もあるが、解像度の向上やコントローラの振動面では圧倒的にこのMod適用版に軍配が上がるまでになった。

日本の夏、スチーマーの夏、Steam サマーセール 2024が開催

毎年恒例ともいえるPCゲーム配信サイト「Steam」の夏期間大規模セールが今年も日本時間6月28日午前2時から7月12日午前2時までの二週間開催中。

「パル」と呼ばれる動物を集め一緒に戦闘や建築を行っていくオープンワールドクラフト「パルワールド」が25%オフスマートフォン向けゲーム原作の4人共闘アクションRPGグランブルーファンタジー リリンク」が30%オフ、四季が移り変わるイギリスを

舞台にしたオープンワールドレースForza Horizon 4」が80%オフかつ車両ライセンス切れにより12月15日をもって販売終了とアナウンスされているので今回が最安値で買える数少ないチャンス、変異が発生している通路を歩き異常が見つかったら引き返して出口まで目指す「8番出口」が20%オフ、歌舞伎町をモチーフとした神室町や横浜を舞台に陰謀渦巻く事件の調査をすることとなった私立探偵八神隆之を主人公としたリーガルサスペンスアクション「ジャッジアイズ」とその続編「ロストジャッジメント」(通称キムタクが如く)が60%オフFPSの金字塔である同名タイトルをフルリメイクした2016年版「DOOM」が80%オフ等。

 

 

なお、これも大規模セール恒例となっている「トップページにフランチャイズタイトル特集ページへのリンクが並ぶ関係でおま国のドラゴンボールシリーズをクリックすると空白のページが表示される問題」

今年5月23日に長らくおま国となっていた「ドラゴンボール ゼノバース2」「ドラゴンボール ファイターズ」「ドラゴンボール カカロット」が突然おま国が解除され該当ページも問題なく表示できるようになったものの、これまで陰湿極まりない嫌がらせをさせられてきていくらおま国が解除されたとしても、「オッス!オラ、バンナム!おでれぇた、おめぇ、ニホン人なのか?わりぃけど、下級種族にオラたちのゲェムは安く買わせることはできねぇんだ。安く買おうなんて馬鹿な事やってねぇでとっとと働け」と今度はおまセールでもやらかしそうでフリーザを前にするベジータ並みに震えあがっていたが、ドラゴンボール ゼノバース2」が50%オフドラゴンボール ファイターズ」が84%オフドラゴンボール カカロット」が75%オフと普通に日本からもセール対象になっている。またスーパーおま国人に戻るかもしれないから欲しい人は必ず買っておこう。

カプコン・マーべル「"憲磨呂"なんてキャラは最初からいなかった、いいね?」あ、はい

マーベルのアメコミを原作としたカプコン製タイトル7作品を収録したコレクション「MARVEL vs. CAPCOM Fighting Collection: Arcade Classics」が遂にSteam / PS4 / Switchにて発売予定となっている。

"X-MEN"を題材にした格闘ゲームX-MEN CHILDREN OF THE ATOM」、X-MENのみならず他マーベル作品のキャラクターとのコラボとなった「MARVEL SUPER HEROES」、更に開発元の代表作「ストリートファイター」とのコラボ「X-MEN VS. STREET FIGHTER」「MARVEL SUPER HEROES VS. STREET FIGHTER」、更にストリートファイターに限定せずカプコンキャラ全体で参戦した「MARVEL VS. CAPCOM CLASH OF SUPER HEROES」「MARVEL VS. CAPCOM 2 NEW AGE OF HEROES」、家族を殺された男が冷酷な復讐者となる"パニッシャー"原作のベルトアクション「The Punisher」の計7タイトルを収録し、日本・海外版切り替え可能、すべてオンライン対戦&協力プレイ対応、格闘タイトルに関してはトレーニングモードも実装。

The Punisher」は今まで家庭用版は海外メガドラでしか発売されておらず更に完全移植ではなかった、「MARVEL VS. CAPCOM 2 NEW AGE OF HEROES」もPS3Xbox 360で配信されていたものの既に終了しており、どのタイトルにしても貴重で価値のある移植となっているが、一部(というか当時のプレイヤー全員)で心配されている"憲磨呂"というキャラクターの存在がある。

元は日本テレビとんねるずの生でダラダラいかせて!!」の企画内で登場したキャラクターで、とんねるず木梨憲武氏が扮する木梨憲太郎がデザインした「MARVEL SUPER HEROES VS. STREET FIGHTER日本版限定で登場するキャラなのだが、へっぴり腰の老け顔の学生というお笑いのセンスでマーベルともカプコンとも違うデザイン、カプコン側は役員会の承認も得ずにキャラクターを追加され、日本テレビ側の認識だとゲームの宣伝を行っているということで登場には日テレへの使用料の支払いが発生し、マーベル側としてもあくまでもストリートファイターのキャラクターとのコラボということで契約を結んだのに勝手にふざけたキャラクターを入れられたということで激怒したと噂されている、とんでもなく複雑骨折しているキャラクターである。このような経歴があったため海外版ではもちろん削除(没データは残っているので後年解析された際にその存在が海外でも知れ渡ることとなる)。

 

カプコンで「ストリートファイター」シリーズなどのプロデューサーを務めたこともある岡本吉起氏による"憲磨呂"誕生秘話

 

そんな黒歴史どころか暗黒歴史化してそうなキャラクターだが、果たして今回のコレクションではどうなっているかというと・・・

公式サイトスクリーンショットから引用。

やはり憲磨呂のアイコンがあったところにはゲームロゴが載っているデザインとなっており、選択できないようになっているようだ。まあ、当然というべきか。

なお、当時のオリジナル版から今回のコレクションでの変更点も一緒に掲載されているのだが・・・

えっえええ???

"特定のキャラクターを削除しました"とか匂わす文章すらなく、もう最初からそんなキャラクターいなかったから削除もしてないってこと!!!???

俺たちは当時は珍しかったテレビ番組とのコラボということで興奮し、企画は没になったにも関わらずその興奮から"憲磨呂"というキャラクターが遊べる格ゲーがあると集団幻覚でも見ていたのかもしれないな・・・

スパイダーマンが薄暗い取調室で放心状態で「僕は不細工な学生からカンチョー攻撃を食らってたんだ・・・」と証言するけど、スパイダーが一人で飛び跳ねているだけの写真を見せられてすべて擬似体験だったと悟るんだろうな。

日本人で歴史の専門家と名乗りアサクリ シャドウズを批判していた「Kenji Yamamoto」なる人物、外人だとバレて逃亡

戦国時代に日本に渡来し織田信長に小姓として仕えたという黒人「弥助」。本能寺の変明智光秀に捕らえられ南蛮寺に送られてからの消息は定かではないという、波乱万丈かつ曖昧なその経歴から物語を作りやすく扱いやすい人物像のためか、創作物において何度か登場したりモチーフにされたりしてきたが、UBIソフトのゲーム「アサシンクリード」シリーズ最新作「アサシン クリード シャドウズ」でもそんな彼を主人公の一人として発表したところ海外を中心に炎上。

元々海外のゲーム会社はポリコレ意識が高いというのもあってそれ目的で無理やり黒人を入れたのではないかと疑われたり、UBIソフト広報も「弥助は史実の侍」と言ってしまったり(正確には「弥助は史実の"人物"」と言いたかっただけで、単に侍とかの定義がよくわかってない可能性も高い)と歴史を扱ってきたシリーズなのに歴史改変を行っている!と荒れているが、アサクリシリーズ自体「DNAを通して先祖の記憶を読み取り、現代社会を裏で操るテンプル騎士団が持つという秘宝の在処を探る」なんていうトンデモファンタジーなストーリーのゲームが史実に忠実かどうかとかなんて今更議論にすることなのか!?とか、和ゲー(主にというかほぼコエテクゲーだけど)ですら誇張した表現で登場してきてそこから勝手な弥助像を作り上げる人だっているだろとか、自分もポリコレそのものは大嫌いとはいえ史実や実在の人物をモチーフとした他のフィクションに言及しないのはダブスタとも思うので逆に反発意見の方に色々ツッコミを入れたくもなる。

でも、「桜と柿と田植えが同じ時期に映っている映像」という四季の無さはフィクション以前の問題なんで指摘するべきだろ。

 

そんな騒動が続いていたが、東京大学歴史学を専攻しているという日本人の「Kenji Yamamoto」(@Samurai_KenjiYa 既に鍵垢にして逃亡)なる人物がTwitter(旧X)において、「アサシンクリードの公式に"弥助は侍じゃない"と言っていたらブロックされた」と騒ぎ立て始める。

もちろんアサクリ シャドウズに批判的な人たちはこの話にすぐさま反応し始めたものの、どうもこの「Kenji Yamamoto」なる人物が胡散臭いと気づく人が何人か現れる。

というのも、東京大学にその名と同じ人物が所属しているという情報はなくジョー・バイデンのことを"俺たちの大統領"と言ってしまったり、日本人を名乗る割には日本語が怪しく機械翻訳に頼っているような返答をしてきたり、魚拓から調べると過去に「Garrett Barnes」という名前を設定していた経歴があることが見つかったためだ。

このような検証がなされた後はもちろん「Kenji Yamamotoは日本人じゃない。ただの白人デブだ」という反応が多くなっていったが、渦中のKenji Yamamotoは以下のように返答。

皆、私の事をKenjiを"演じてる"といってるが、この前は"Garrett"を演じてたんだ。アメリカ人とアメリカの政治を議論するためにアメリカ人に成りすましてたんだ。

実験は大成功だったよ。

という物凄い頭の悪そうな実験(になってない)をしていたと明かし、何故かはよくわからないけど自身の痛い過去ツイを消して鍵をかけて逃亡してしまう。

ブロックされた本当の内容はすぐには確認することはできないが、UBI側が批判意見を受け付けない一方的な対応をしていたとしていたとしても、わざわざ国籍を偽って指摘されたら苦しい言い訳を述べて逃亡した後ではメンドクサイ人間がいたからブロックしたまでという印象しか与えない。「弥助は侍じゃない」という身分の偽りを指摘している人間が、自身の身分を偽っているとかどういうことやねん。

そして、批判している人たちは身分を偽ったり平気でうそをつく、人種差別主義者が騒いでいるだけ、と批判グループ全体でそういう目で見られてしまう。

 

しかし、素性や実績がわからない人間でも自称専門家のみならず異邦人という肩書があるだけで権威のある人間が言った言葉の様に聞こえるという現象は、日本だけでなく世界共通の認識だったんだな。だからこそ批判をするだけなら偽る必要性がないにも関わらずわざわざ日本人なんて名乗っちゃって自信を大きく見せようとする。