ど~もeagle0wlです(再)

140文字では収まらないネタを記録するブログ

『テトリス99』の第2回テト1カップ当選しました

ブログの更新含めて、いろいろと進捗が停滞しているのはこういうことです。

twitter.com

イベント中に得た100ptを一口として、抽選で999人に999ゴールドポイントが進呈されるというものでした。
topics.nintendo.co.jp

4024ptを得ていたので、40口の抽選でしたが当選しました(前回は落選)。
999ポイントを追加する形で『ぷよぷよテトリスS』を買いました。

バトルロイヤルゲームとしては、2017年がPUBG、2018年がフォートナイト、2019年がApex Legendsが出た直後にテトリス99が出ていて、Apex Legendsは配信開始72時間で1000万ユーザーを超えたとのことですが、テトリス99はアクティブユーザー数が公表されていないので気になりますね。

TETRIS99がやっぱり面白い


Nintendo Switch Online に加入していれば無料で遊べます。
テトリス不思議のダンジョンシレン限定)、絶滅危惧種ピンボールや物理抽選のあるメダルゲームのように、同じ展開が二度として起こらないゲームが好きです。それ以前に遊んだテトリスは「テトリスDS」が最後で、T-Spinを使わずテトリス消し最適化のBackToBack一辺倒でしたが、TETRIS99を始めてからは、少ない列数(手数)で高火力が望めるT-Spinダブルとそれを効率良く行うドネイト、開幕テンプレ積み(パフェ積み一辺倒)を覚えてから楽しくなってきました。端を空けて積むテトリス消しよりはだいぶ頭を使う必要がありますが。テトリスは現代の囲碁将棋ですね。
f:id:eagle0wl:20190325014653j:plain
f:id:eagle0wl:20190325014706j:plain
ちなみに「イベント期間中に1位を取ると抽選で999人に999ポイントが当たる」イベントは落選しました。

現在のランクは65。58時間プレイで635戦中99人対戦で1位になれたのは84回で、勝率は13%に収束している。バトルロイヤルの性質上近いランクのプレイヤー同士でマッチングすることはあまり無いみたいなので、これが上手いのか下手なのかがわからないのが悲しいところ。ただしランク60を超えたあたりから、序盤からでも他のプレイヤーからの集中攻撃を受けやすくなった…気がする。さらなる火力を求めて開幕以外でもT-Spinトリプルは狙ってできるようになりたい。

現行のTETRIS99の「ステータス」には、連続1位回数は残らないんですね。バトルロイヤル系なので1位を取るのは困難を極めますが、YouTubeのライブでは何十連勝もしているプレイヤーがちらほらいるので実装してもらいたいところ。筆者は3連勝が限界です。

TETRIS99が面白い

2月14日に、ニンテンドースイッチで突如配信開始となったTETRIS99が面白い。

ニンテンドースイッチオンラインに加入していれば無料で遊べる。PUBGを契機としたバトルロイヤル系のFPS/TPSは数あれど、まさかのテトリスで99人対戦。FPSやTPSはちょっと…という方でも、テトリスなら試してみたいと思うはず。

f:id:eagle0wl:20190219000831j:plain
TETRIS99
99人から1位を目指すのは(乱戦必至なので)至難の業だが、自分の腕ではトップ10には安定して入れるようになってはいるが、トップ5からはなかなか安定しない。99人相手に3連勝できたが、もうちょっと研究を重ねる必要がありそうだ。

余談ではあるが、99人対戦ということは、P2P接続では無理でC/S型接続が使われていると思うが、C/S型は相応のコストがかかるはずなのでどうしているのだろうか。テトリスだからシビアなリアルタイム性が求められるという感じでもないので、いけるのかな? という認識でもあるのですが…。

AERA今週号に掲載されました

月曜発売のAERA 2019年2月4日号(表紙は稲垣吾郎)の連載見開きの写真ページ「師匠と弟子 90 ホワイトハッカー」(p82-83)に掲載されました。dマガジン版には掲載されていないようです
publications.asahi.com

写真がメインで文章はサブといったグラビア記事です。日本ハッカー協会の元ボスが師匠、自分が弟子です。私はハッカーを自称したことは一度もないのですが、こういう立ち回りが求められるようになった、ということでご理解いただけたらと思います。詳細は文章を読んでいただきたいのですが、自分は仮想通貨には興味を持てないので詳しくない、というスタンスです。

ちなみに、写真全体に漂っているソースコードPhotoShopによるデジタル合成ではありません。黒い網をカメラ側に貼って、その網にプロジェクタでソースコードを表示している画面を半投影するアナログ合成で作成されていますが、なかなかにいい味が出ていると思いました。
あと、自分は体重が増えると、真っ先に顔の輪郭に出るのですが、前もって絞っておくべきだと思いました。

Amazon.co.jp

楽天ブックス

history2gamelist を更新しました

このブログを始めるきっかけとなったRetroPieはすっかり飽きてしまったのだが、2年が経過してRetroPieが更新されたことで、少しずつ情報が変わっているようだ。まずは、ウェブ上にあるMAME用のファイルからgamelist.xmlに変換するスクリプト『history2gamelist』が古くなっていたので更新することにした。
github.com

詳しい使い方はリンク先参照。レイアウトを整えた上でこのスクリプトで作ったgamelist.xmlをブチ込むと、こんな賑やかな画面になります。
f:id:eagle0wl:20171024002815p:plain

主な変更点:

  • RetroPieが推奨するアーケードエミュレータが少し変わっていたので追従した
  • Python2からPython3に変更した(Python2では動作しません)

懸念事項:
『history2gamelist』の動作に必要なデータベースのひとつがgeocities.jpにあるので、2019年3月31日に消えてしまう。
mame_jp.lst
MAME32 Plus! 0.146r5027用 Japanese Game List
http://www.geocities.jp/mamelistjp/

動作確認済みとされているタイトル数の調査

『history2gamelist』から2年が経過して、その間に動作確認リストが大きく更新されたようです。Compatibility Listで挙がっているタイトルの数と、そのうちOK(動作確認済み)となっているタイトル数を調査しました。
2018/11/25調べ

RPi0/1 RPi2 RPi3
lr-fbalpha 17/4896 198/4896 1051/4896
lr-mame2003 56/4720 514/4720 2676/4720
Mame4all 225/2271 1850/2271 339/2271
pifba 111/ 684 274/ 684 80/ 684


関連エントリーはこちら。
eagle0wl.hatenadiary.jp

『ドラゴンクエストXを支える技術 ── 大規模オンラインRPGの舞台裏』を読んだ


縁があって青山プロデューサーより発売前に紙の本をいただきました(Kindle版も入手したがこちらは自費)。本をいただいた以上感想を書くのは礼儀だと思っているのでつらつらとネタバレ回避を意識しながら書いてみます。

とても読みやすい本だと思います。MMORPGとしてのドラゴンクエストXが持つ、数多くある複雑な技術要素を平易に記そうという努力が伝わります。何よりも「MMORPGの開発/運営/運用ノウハウを記した書籍」がまっっっったくと言っていいほど存在しないはずの現状に対して、国内最大手MMORPGである『ドラゴンクエストX』を題材にした解説書が出たという点が希少価値なんです。

ただし、具体的な実装方法には踏み込んでいないので、これ1冊で何か作れるようになるというものではないです。解説項目が多岐に渡っているし、個々のトピックスを下手に掘り下げると収拾がつかなくなるから、このぐらいのバランスで良いと思います。エンジニアの末席にいる私としては少し物足りないと感じる箇所はありましたが、読む人によって重視したい点もバラバラだろうから仕方ないですね…。

「ゲームの作り方」みたいな本はいくらでもあるんですよ。これが「オンラインゲームの作り方」になると本当に数えるほどしか存在しないんですよ。なぜか? ゲームを一つ作るだけでも様々な専門技術が必要なのに、オンラインゲーム、特にMMORPGともなると、本書の章立ての多さからわかるように「面白いゲームを作る」だけではダメで、さらなる専門技術を動員する必要がある。その専門技術もだいたいはゲームの面白さとは直接関係しない(大量の同時接続を捌けるサーバーを構築できたとしても、ユーザーからしてみれば「動いて当然」となる)。それゆえに、相当の予算と覚悟も必要となる(そういう意味では、ひたすらオンラインのFPSMMORPGを送り出し続けている韓国はすごいと思う)。当然ながら、開発会社も膨大なリソースを投入して獲得したノウハウを大盤振る舞いで開示したりするようなことはしない。

概要には「著者のこだわりによりプログラミングやドラゴンクエストXの事前知識がなくても読み進められるよう丁寧に解説しています」とあり、対象読者に「ドラゴンクエストX冒険者のみなさま」(=プレイヤー)が含まれていることから、「メモリ」「CPU」みたいな超基本的な技術用語や、「プロデューサー」と「ディレクター」の役割といったゲーム業界用語の解説から行われているので、前半はなんとか読み解けると思います。後半ではサーバーサイドの話が出てくるので、非エンジニアの「ゲーム好き」だと読み解くのは少し大変かもしれない(何度か読み返せば理解できるはず)。

本書では、開発環境や運営体制などが一通り書かれていますが、時折見せる具体的な数字(「ドラゴンクエストXC++ソースコードは1,000万行以上あり」「ドラゴンクエストXのサーバログは1日に約100億行です」「結果として0.00002秒の通信遅延がときどき発生していました」)からフリーザ様のような絶望感を覚えるわけです。いちプレイヤーとしてみれば、それだけの大プロジェクトであるという認識でいいと思うんです。ただ、いちエンジニアとしては、これは本当に娯楽を提供するための設備なのか? 金融とか信販系のレベルではないのか? とも思うのです(基本オンプレミスだし、一部のバックエンドは銀行レベルのスペックのものを使っていることが記されている)。

当然ながら、大勢のプレイヤーが好き勝手に動くMMORPGにおいて、いきなり決定版を世に送り出せるかというとそうはいかず、様々な不具合や高負荷、障害に直面するたびに「こうやって工夫して乗り切った」ことがいろいろと書かれています。文章上では、比較的淡々と書かれているように読めましたが、徹夜で対処を行い体得したものが血となり肉となっているはずだから、注意深く読んでみると味わい深いものがある…はず。

最終章である「第12章 不正行為との闘い」は開発者側から語られることがほぼないトピックスであり、一番気になるところではないだろうか。自分も気になったが、読んだ感想としては「そら安易に手の内を明かす訳にもいかないよなあ」といったところであり、これはどうにもならない。RMT対策について、業者特有の行動のクセに言及していたのは面白かった。チートに関しては、本書の表現では「明確に問題視された」1件について触れている(これは刑事事件化している)。この辺は無闇に情報を開示するわけにもいかないので仕方ないことだろう。

ということで、本書が持つ様々なキーワードに気になるものがあったら、読んで損はないと思います。これ1冊読んだだけではゲームを作れるようにはなりませんが、ドラクエXを実現するために必要なたくさんの要素をインデックスとして頭の中に持つことは、ゲームの中身が気になるという人にとっては絶対にプラスになるはずです。デザイナーやプランナーも読んだほうが良いと思いますよ。あと、オンラインゲームもある種の「異世界モノ」と言えるので、そういう小説を書きたい人はディテールを深めるためにも良いかもしれない。最後にひとつ。「あとがき」にある、「最高の技術力」の定義が素敵だと思いました。これは各自で確認してほしいです。

f:id:eagle0wl:20181115012044j:plain
カバーをはずすと「たけやりへい」が…(Kindle未収録)

Kindle版について

レイアウトは紙の本そのままではなく、電子書籍用にある程度組み直されている。巻末の索引は単語の羅列だけになっているが、Kindleの検索機能を使えばいいので特に問題はない。

枝葉にも程がある誤字指摘:紙の本ではp187
誤 シングルポイントには最新の注意を払う必要があります。
正 シングルポイントには細心の注意を払う必要があります。

技術評論社「ドラゴンクエストXを支える技術」が11/14に発売されるらしい

表題の本を執筆中であるという話は、今年の頭からちらほら聞こえていたのですが、ついに出るそうです。
hiroba.dqx.jp

Amazonでは紙媒体しか出ていないが、発売同日に電子書籍版も出るそうです
個人的には、かさらばず検索ができる電子書籍版がほしいのですが、紙のレイアウトベースで組版されていて、スマホでは見づらくタブレットでの閲覧でないと難があれば紙かなあという感じではあるのですが…。会社の書架に置いてもらうなら紙媒体で決まりなんですが。

これは技術評論社の「支える技術」シリーズだからバリバリ技術系の内容のはずで、特に(一般ユーザーが知ることのない)バックエンドに関する記述が多い印象なのですが、SNSでの反応を見ると「この本にダウンロードコードはつかないらしい」とかややズレたコメントが散見されるのでぐんにょりする。

テクニカルディレクターからプロデューサーに昇格した青山さんは、たけやりへいのアイコンから、ようやく専用のバストアップのイラストが用意されたんですね。
で、目覚めし冒険者の広場に掲げられている目次はこんな感じ。

□第1章 ドラゴンクエストXとは何か ── ドラゴンクエストかオンラインゲームか
□第2章 開発・運営体制 ── ドラゴンクエストXを支える人々
□第3章 アーキテクチャ ── クロスプラットフォームMMORPGの基本構成
□第4章 開発と検証 ── 並走する追加と保守のサイクル
□第5章 メモリ管理 ── MMORPGボトルネック
□第6章 ゲームクライアントグラフィックス ── 魅力的な絵を描画する工夫
□第7章 ゲームサーバプロセス ── 機能ごとに分離して負荷分散
□第8章 キャラクター移動 ── 移動干渉による押し合いへの挑戦
□第9章 ゲームDB ── ワールド間の自由移動を実現する一元管理
□第10章 ゲーム連動サービス ── ゲーム内とつなげるための工夫と力技
□第11章 運営と運用 ── リリースしてからが本番!
□第12章 不正行為との闘い ── いたちごっこ覚悟で継続対応

Amazonの書籍カテゴリで「オンラインゲーム」で検索すると、「オンラインゲームの作り方」みたいな本が本当に少ないことに驚かされる。

「ゲームの作り方」みたいな本はたくさんあるんですよ。ところが「オンラインゲームの作り方」となると本当に数えるほどしか無い。面白いゲームを作るだけではだめで、目次にあるような深遠なトピックスが山積みで、明らかに一個人がどうこうレベルではない。趣味でチクチク実装するにも分量が多く、求められる専門知識も奥深い。そのような中、国内最大手MMORPGである『ドラゴンクエストX』を事例にした書籍というのは非常に価値のあるものではないかと思うのである。

このエントリを書いている時点では未発売なので、読んでみたらまた書きます。

ドラゴンクエストXを支える技術 ── 大規模オンラインRPGの舞台裏

ドラゴンクエストXを支える技術 ── 大規模オンラインRPGの舞台裏