17/12/06で、Wiztoolsのソースコードを書き始めて2年になります。いやあ、あっという間ですね。

そういえばどういった経緯でシミュを作り始めたか、というのをこのブログには書いてませんでした。
Twitterで断片的に話している内容の二番煎じもありますが、今までの振り返りでもやろうかなと。

結構長くなりそうなので、ここでは公開前後あたりまでを書くことにします。

Wiztools 前日譚

Wiztoolsができる4ヶ月前(かな?)まで更新されていた、とあるシミュレーターがあったことはご存知でしょうか?
「魔法使いと猫一匹」というトナメシミュレーターです。

 

15/05にウィズを始めたばかりの僕にとって、トナメの攻略は難関でした。
当時はどういうシステムかも全く知らず、持ってる精霊をとりあえずシミュに突っ込んでクリアできるかを試したものです。

そんな便利サイトでしたが、8月ごろから更新がほぼ皆無になります。なんとか弐式(当時の最高段位は参式)までたどり着けた頃でしたので、かなりショックも大きかったです。

 

といっても、しばらくは弐式しかやらなかった(できなかった)ので問題はなかったのです。

しかし、インフレの波でやっと参式が普通に突破できるようになります。そして肆式の登場。こうなると、更新が停止したシミュだと何もできません。

開発を開始したのは確かこのあたりの時期だったと覚えています。

 

適当すぎる開発のきっかけ

けれども、肆式が出て慌てて開発を始めた…というわけではありませんでした。

当時、僕はまったりプレイヤー。シミュがないときは普通にデッキを組んで試して…を実機で繰り返してました。

その時、僕をウィズに誘うきっかけとなった友人がこう言ったのです。


友人「シミュって今更新止まってるじゃん」

僕「そうだね」

友人「作れたりしない?w」

僕「うーん、やるか!w」


元々趣味でプログラムをやっていたのですが、その頃に情報工学の授業があり、専門外なのになぜか教師レベルで詳しいアホがいると話題になっていました(まあ、教師も専門外ではあるのですが)。

それで、こんな無茶ぶりをふっかけてきたのです。

で、対する僕も暇だしいい時間つぶしになるなと引き受けました。
時間が潰れすぎて困ってます。どうしてくれるんですか

 

いやー、2年後に総合ボードに載ってるなんて絶対思ってないだろうな、あの頃の自分。

 

開発スタート

12月前半(12/6~)

まず、Web上で動作させる必要があったので使ったこともないJavascriptを使うことになりました。

この時点でだいぶアレなのですが、まあ方言さえ分かればいけるだろうということで、とりあえずググりながらコピペでプログラムを書き始めます。

あと、名前は知っていたが本格的に使ったことはなかったgitを導入しています。
きっちりFirst Commitが残っています。いやあ、懐かしいなあ。

 

最初にクエスト/精霊選択フォームを作り、次に試走部分の実装を開始しました。

PCに残っている最も古いキャプチャ動画がこの頃(15/12/13)のものです。

sim_151213

このページの画像/動画はクリックすると拡大して表示されます

このgif動画はスキルカウントとchain, turnを増やす処理、L覚醒の発動を実装したところです。
敵にダメージを与える処理をどうやって実装したものか…と悩んでいた時期ですね。

この時点で大体今と似たようなUIになっています。
ノートパソコンでスクロール不要なUIという目標をかかげて作っていたので、ぎっちりとしています。
前のやつは縦長でスクロールが面倒だったんですよね。

 

sim_151213_2027

これも12/13の動画です。さっきのは12時、こちらは20時です。

8時間で味方の攻撃処理、ch依存AS発動処理、全体攻撃処理をきっちり書き上げているのがわかります。
当時の自分めっちゃすごい。もう真似できないな…

この頃はログを左下に表示していました。
個人的にはこれもありだったのですが、スペースの関係で後に奥に追いやられます。

あと、デバッグ用元帥の攻撃力が1万しかないあたりに時代を感じてしまう。
当時はエッタですら5000だったのになあ。

 

sim_151214_2147

これは12/14のデータです。確かSSは未実装だったとおぼえています。

エッタの連撃処理、ユッカのエンハンス、ターン巻き戻し処理、クリア時のメニュー表示と、かなり出来上がってきています。

 

どこまで再現するか?の壁

さて、この時点でかなり出来上がってきましたが、この時点で僕はあることに悩んでいました。

「どこまで本格的に再現するのか?」

全部を完全に再現するのはどう考えても労力が厳しすぎる。
しかし、一部のみだとそれが必要になった時困ることがある。

 

例えば味方のHPです。これだって、敵の攻撃を実装してなければ不要なパラメーターになります。

実際、以前のシミュレーターでは手動で「快調」状態にしていました

労力を考えたら正しい判断かもしれません。ですが、……

 

結局僕は、作り直しの労力を考えたら最初から全て実装するしかない、と諦めます。

そうして敵の行動スキル全て、被弾処理、HP処理などを「全て」実装することにしました。

 

結果的には全て実装したおかげで助けられた回数は数知れず。
例えば、敵先制行動以外の鉄壁とか、実装を妥協してたら間違いなく困っていました。

そう考えると面白いものですよね。

 

12月中旬~下旬

sim_151220_2134

これは12/20の動画です。敵スキルとして「多段カウンター」「鉄壁防御」を実装しています。

味方の画像欄がありませんが、これは当時「画像を当てはめるの面倒くね?」と思っていたためです。

今みると違和感しかないですが、当時はこれもありだと思っていました。慣れって怖い。

 

sim_151225_2245

15/12/25の動画です。味方のSS「」が実装されています。

敵のHPやクエスト名を見ると分かる通り、参式の実装に乗り出しています。

 

sim_151226_1721

これは15/12/26の動画です。特攻SS、自傷SS、スキルコピー、ch+SSが実装されています。

これは何を隠そう、僕の参式突破デッキです。

参式突破を模索しているときに、自作シミュであれこれ試していたのです。

 

この試走通りに参式を突破することができたときは、人生でトップクラスの感動だったと思います。

そして確信します。「これはとても役に立つ」と。

 

精霊実装の悪夢

全精霊実装の恐怖

12月下旬に入り、完成が現実的になるとある問題点が浮上してきました。

「……精霊を全て用意しなくては」

 

どの精霊が役に立つかなんてわからないわけですから、極力全てを用意する必要がありました。

ですが、どう考えても1人では間に合いません。

しかも、僕は同じ作業を延々と繰り返すのが苦手です。精霊の定義なんて絶対やりたくありませんでした。

 

……誰かにやらせよう。

 

その発想に至った時、やらせる先は1人しかいませんでした。

もちろん、このシミュ作成きっかけの張本人となった友人です。

 

補助ツール + 手作業

友人はプログラムに関してはほぼ未経験でした。
さすがに攻撃力定義とかまでやらせるのは労力が厳しすぎたので、自動で攻略サイトのデータから定義データを作成するプログラムを書いて渡しています。

ですが、AS定義、SS定義、画像定義はさすがに自動化が無理な範囲でした。

 

年が変わる頃に定義データの塊を投げつけて、「えっ何これは…(ドン引き)」となりながらもやってくれて、いや~助かりました。

 

そして公開へ…

大詰め

sim_160101_1859

正月も実装やってました。
肆式追加、敵行動の実装、スキルカウンター、割合削りetc…、と必要なものがほぼ揃った状況です。

 

当時のツイートを遡ると1/2でほぼ終わり、他に細かいバグ修正をして、
1/6(開発始めてから1ヶ月)で定義データ待ちの状況になってるみたいでした。はやい。

 

付与効果の点滅

sim_160104_1459

アイコンを提供してもらって、実機っぽいアレを再現してみました。
実際動かしたときはめっちゃそれっぽくて感動した。

 

サイトアイコン

友人にお願いして、こんなものを書いてもらいました。アリエッタです。

tw_card

Twitterでツイートすると出てくるTwitter-Cardのアイコンに使ったり、後はこのブログのアイコンにもなってます。
(PCから見るとわかるかと思います)

 

完成!

sim_160104_1754

公開したての時はこんな感じでした。懐かしい…。
ついでに、これは僕の肆式デッキまんまです。

 

 

to be continued…?