Level 100

レベル100、満足。

保存データの読み込みに5分以上かかります、PCの性能のせいでしょうけど。Javascriptの限界かな。

7fpsくらいしか出ないのは広く使いすぎてるせいでしょうね、Chunk単位でアップデートしてるならおそらく。密集して作ると拡張しにくいし、コピペもしづらくなるし。これ以上最適化は無し。

32/秒の納品が出来る自動工場なので、今の22/秒よりもう少しレベルは進められますが、あまり意味が無いのでこのへんでWires Updateは終わり~。また新しいインディゲーム探そ~。


Level50

仕事の調べもんホッタラカシで絶賛夜更かし逃避中。

Shapez.io、レベル27からWireブロックが全て解放され、あとはフリープレイ(ランダム要求)になります。何のために論理ゲートブロックだの疑似シェイプ操作ブロックだと思ってましたが…。

フリープレイ以降は、要求されるあらゆるシェイプを全自動で出力する製造ラインの作成が必要になります。

日本語がむづいな。シェイプの要求毎に製造ラインをつくるのがLevel27まで。それ以降はシェイプの要求が変わると出力するシェイプを「自動で」変更する製造ラインを作らなきゃいけないって事です。

空白を含む5種の形、それぞれに7カラー、4つで一層、さらに4層まで重ねられて、さていったいシェイプは何通りあるでしょう?ってスレッドが以下にありますが、

How many shapes can you make?[reddit.com]

決着ついてないですね…。空白のせいで層が出来なかったりするルールがあるから計算では出せないと思うんですが。


コードを読む

昨日運動会の為、子供は休み、嫁さんも休み。何してたのか聞いたところ「モトマチ」へ行って服を買ってきたとか。「本町」って漢字が頭に思い浮かびましたけど「ホンマチ」やし。

…神戸で服買って、中華街で昼食ですってよ…。

一方僕は何してたかと言うともちろん仕事、でも今日は進められる作業が無かったのでコードリーディングです、週末WebStormを購入した事もあってゲームshapez.ioのソースコードを読んでました。

ビルドに必要なものは、node,Yarn,ffmpg(動画の変換?),Java(スプライトのパッキング?)。

描画部分はどうなってるのかと気になったので、ひとまず描画(canvas要素)の初期化部分を追ってみましたが僕のスキルが(+オツムが)弱い為なかなかたどり着けず。

ブラウザで実行中メインのキャンバスには<canvas id=”ingame_canvas”>とIDがふられているので、「ingame_canvas」をプロジェクト内で検索するとcore.js/GameCore.internalInitCanvas()に当たりました。

GameCoreクラスはいつインスタンス化されてるの?ってのはingame.js/InGameState.stage3CreateCore()にあります。いろいろ準備し終えてからキャンバスの初期化ってところでしょうか?状態を管理しているのはstate_manager.js/StateManagerクラスで、application.js/Applicationクラスでインスタンス化されています。

今日はここまで〜。またそのうちー。