ドナドナされるプログラマのメモ

Windows用アプリのプログラミングメモ

Upload Labs 攻略 (終盤戦)

Steamsで遊べる無料ゲー「Upload Labs」でシステムレベル24になって次レベルまで数週間かかる見込みとなり、色んな最適化もやりきった気分になった。なので最後に攻略記事を書いてみる。ただし、プレイ開始~中盤については多数の方が攻略記事を執筆済みなので、ここでは中盤~終盤の攻略記事を書くことにする。

注:本記事はVer. 1.1.6のときのものである。

■Steams:

store.steampowered.com

■Upload Labsとは:

automaton-media.com

 

 

ハッキング

構成

Upload Labs - ハッキング

 

ハッキングのポイントはクリティカルである。クリティカルダメージは乗算的にかぶせることができるので、最初に4段直列接続する。ただ、攻撃が安定しないので汚染ペイロードも1個直列接続する。汚染ペイロードが出力する感染ダメージは入力されたペイロードダメージに比例する。すなわち、入力にクリティカルが乗っていると、その分感染ダメージも増える。そのため、汚染ペイロードは最終段とする。

なお、政府データ侵入や企業データ侵入、個人データ侵入はなぜか有効・無効切り替えができない。そのため、配線の有無で切り替えるしかなく不便である。

ハッキングアップグレード

Upload Labs - ハッキングアップグレード

ハッキングのデータ侵入アップグレードの優先度は、

  1. 情報漏洩
  2. クリティカル率、クリティカルダメージ
  3. 奇襲攻撃
  4. データ侵入速度
  5. ペイロードダメージ、感染ダメージ

である。ただし、ポータルに入った直後など脅威レベルをひたすらクリックする状態のときはデータ侵入速度を最初に上げることで連打可能速度を増やす。

脅威レベル

Upload Labs - 脅威レベル

脅威レベルは、残り時間が半分になったころにデータ侵入量が半分になるくらいに調整する。脅威レベルは1あげるごとに入手経験値等が4倍になるため、成功率が50%でも1レベル下げた場合より期待値が2倍になる。

攻撃対象である政府・企業・個人だが、自分は放置時:個人のみ、操作時:政府のみ、または企業のみの接続としている。本ゲームは加速度的に成長するゲームのため、一つのものに絞って成長させるほうが複数同時成長よりも早い傾向にあるからだ。

データ侵入アップグレード

データ侵入アップグレードの優先度は以下の通り。

  1. 脅迫状と非人道的な研究
  2. 政府サボタージュ、企業サボタージュ
  3. インサイダー取引、スパイ活動

Upload Labs - データ侵入アップグレード

コーディング

全体構成

Upload Labs - コーディング 構成

コーディングはドライバコーディング、アプリケーションコーディング、最適化コーディングの3ブロックに分かれており、それぞれがIDEブロックにより有効・無効を切り替えられるようになっている。

ドライバコーディング

Upload Labs - ドライバコーディング 構成

ドライバコーディング後にコード最適化する構成とした。デバッグは無し。

コード最適化において、2番めの入力はオレンジ▲であれば何でもよいようなので、もっとも必要リソースが少ないバグ修正コードを入れた。この状態で最適な出力となるIDE設定は下記のとおりである。

Upload Labs - ドライバコーディング IDE設定

生成する上位変数は、変数合成機を冗長に用意することでバランスさせた。また、最下流にビルドとコミットを並置し、有効・無効によりそれぞれ選べるようにしてある。

アプリケーションコーディング

Upload Labs - アプリケーションコーディング 構成

アプリケーションコーディングは最初の数分で終わるため、最適化等の工夫はしていない。IDEの設定は以下の通り。

Upload Labs - アプリケーションコーディング IDE設定

最適化コーディング

Upload Labs - 最適化コーディング 構成

最適化コーディングもいつの間にか終わるため、とくに工夫はしていない。IDE設定は以下の通り。

Upload Labs - 最適化コーディング IDE設定

リサーチ・トロイの木馬

全体構成

Upload Labs - リサーチ・トロイの木馬 構成


リサーチとトロイの木馬(+サーバー)は同一のネットワークを共有する設計とした。

感染コンピュータによる設備ブーストは接続する設備数が2なら半減、3なら1/3になる。今回はリサーチ速度を優先するため、設備ブーストはこのネットワークノードだけにかかるようにした。以下、リサーチとトロイの木馬、そしてネットワークについて解説する。

リサーチ

Upload Labs - リサーチ 構成

ダウンロードしてきたファイルのサイズが100倍になっても、リサーチ価値は以下の通り2倍にしかならない。

  • テキスト:サイズ: 100b リサーチ: 1
  • 画像:サイズ: 10kb リサーチ: 2
  • 音声:サイズ: 1Mb リサーチ: 4
  • 動画:サイズ: 100Mb リサーチ: 8
  • プログラム:サイズ: 10Gb リサーチ: 16
  • ゲーム:サイズ: 1Tb リサーチ: 32

言い換えると、帯域が同じなら、テキストは理論上はゲームの312.5M倍のリサーチ価値を生み出せる。しかし、データラボが処理できるデータの数はデータラボのレベルによる制約を受ける。処理しきれなかった分はあふれるため、むやみに小さなファイルを処理させるのは避けるべきである。通常は、データラボが処理できるファイル数をやや上回るようにダウンロードファイルを選定する。

例:ダウンロード速度: 1Mb/s、リサーチ速度: 100個/sだと、以下の通り画像ダウンロードが最適解となる。

  • テキスト: ダウンロード数: 10k個/s リサーチ処理数: 100個/s リサーチ価値: 100/s
  • 画像:ダウンロード数: 100個/s リサーチ処理数: 100個/s リサーチ価値: 200/s
  • 音声:ダウンロード数: 1個/s リサーチ処理数: 1個/s リサーチ価値: 4/s

なお、リサーチに有効な属性はエンハンサー、プレアナライザー、データリファイナーである。ウイルススキャン等は不要。また、ファイルサイズも無関係なためエンコンプレッサーも効果がない。よって、エンハンサー×3、プレアナライザー×1、データリファイナー×1を直列接続したものが最適解となる。

エンハンサー、プレアナライザー、データリファイナーの動作に必要なCPUリソースはいずれもファイルサイズ依存である。×4なデータリファイナー以外は全て×2であるため、おそらくデータリファイナーを最後に持ってくる構成がベストであろう。CPUリソースがきつい人はスレッドマネージャーにてCPUリソースを配分すること。ただし最適配分とするにはかなりの努力が必要と思われるので、余裕がある人は何もしないほうがいいかも。

トロイの木馬

Upload Labs - トロイの木馬 構成

トロイの木馬に有効な属性は、エンハンスとウイルススキャン、ファイル価値である。AI生成したファイルは最初からウイルススキャンされているが、トロイの木馬付与で消されてしまうためトロイの木馬のあとに改めてウイルススキャンすること。また、ヘルプではファイル品質が寄与するとあるが、実際にはファイル価値が寄与する。ファイルのアップロード帯域は有限なので、サイズあたりの価値を最大化するため以下の構成とする。

AIゲーム生成->エンハンサー×3->エンコンプレッサー->トロイの木馬->ウイルススキャン->リッパー->デコンパイラ->アップローダ

リッパーおよびデコンパイラーを入れることで、サイズあたりの価値を大きくする。同様に、エンハンサー×3の後ろにエンコンプレッサーを入れることで価値を維持したままサイズを半減(=サイズあたりの価値を2倍)とする。エンハンサー×3とエンコンプレッサー×1のセットはデコンパイラのあとでもいいかもしれない。

ネットワーク

ネットワークのレベルは200が上限であり、比較的早い段階でカンストしてしまう。こうなると、残った強化方法はトロイの木馬による設備ブースト、オーバークロック、ドライバーコードのビルドによるハードウェア倍率の向上、そしてブーストだけとなる(意外とたくさんあった)。

開始時用ダウンローダ・AIトレイナー

構成

Upload Labs - 開始時用ダウンロード・AIトレイナー 構成

ポータルに入った直後の資金稼ぎやAIトレイナーで鍛えるための構成である。実際に保存してあるものではダウンロードマネージャのテキストがアップローダーに直結し、配置後すみやかに資金が入るようにしてある。一方、上記画像のものではAIトレイナーの出力がストレージ用ゲームジェネレータにつながっており、ダウンロードマネージャの有効化によりいつでもゲームニューロンを補充できるようになっている。

AIトレーナーに有効な属性はエンハンサーとディスティレーターのみであるため、これらを直結した構成としてある。

ストレージ

構成

Upload Labs - ストレージ 構成


ストレージの特性は以下の通り。

  1. 属性を付与しても価値が増えない(エンハンサーなどが無意味)。
  2. 圧縮は効果あり。
  3. ファイルの種類と価値は無関係、格納したサイズが大きいほどサイズあたりの価値が増える。
  4. ストレージ全体としての価値は、格納したファイルの種類の平方根に比例する。すなわち、1種格納に比べ、4種格納だと2倍の価値。9種格納なら3倍の価値となる。

以上より、ストレージの価値を最大限とするには、以下のようにデータを処理する必要がある。

  1. 全て3段階圧縮する。
  2. できるだけ多くの種類を均等な容量で格納する。

ファイルの種類は属性ごとに区別されるので、以下の構成とした。

  1. ゲームジェネレータでゲームを大量生成する。
  2. ゲームをコンプレッサーで3段圧縮する。
  3. シッパーやアロケータ等で6種類のファイルを均等生成する。
  4. 各ファイルに対し、無属性/データリファイナー/プレアナライザー/データリファイナー&プレアナライザー の計4種を作り、ストレージに格納する。

ゲームジェネレータおよび3段圧縮

Upload Labs - ストレージ ゲームジェネレータおよび3段圧縮

説明省略。

6種類のファイルを均等生成

Upload Labs - ストレージ 6種類のファイルを均等生成

ここでは、圧縮されたゲームを下記の図のように分配している。

Upload Labs - ゲームジェネレータ出力の分配

Upload Labs - ストレージ 属性付与

各ファイルに対し、無属性/データリファイナー/プレアナライザー/データリファイナー&プレアナライザー の計4種を作っている。

ストレージの状態

Upload Labs - ストレージの状態

本構成で実行すると、このようにほぼ完全に均等な配分を得ることができる。また、各ファイルの容量あたり価値は4.39ag/bだが、サーバーとしての価値は105ag/bに跳ね上がっていることがわかる。

AGI

Upload Labs - AGI 構成

AIトレーナーはエンハンサー属性とディスティレーター属性のみ有効なため、エンハンサー×3とディスティレーター×1を組み合わせている。ダウンロードマネージャーの設定は全て最大としている。なおAIパワーはニューロン数で決まる。必要な数はファイルごとに100倍異なり、たとえばテキストは画像の100倍必要である。下記の例だと、動画ニューロンまたはプログラムニューロン、ゲームニューロンが503のためAIパワーもそのような数字となっている。もし極端に数値が悪いものがいるなら、それを補強することでAIパワーが劇的に改善する。

Upload Labs - AIパワーの例

小技

オーバークロック・熱交換器

順調に研究を進めると、熱交換器が1個余るはずだ。この熱交換器を他の熱交換器と並列につなげると、最大までオーバークロック可能になる。

Upload Labs - オーバークロック・熱交換器

1:2分配のしかた

Upload Labs内のアロケータ等では、1:2配分など合計が10とならない配分ができない。その場合は、以下のようにフォルダなどを使うとよい。

Upload Labs - 小技: 1:2分配の例

Upload Labs - 小技 2:7分配の例

執筆時の状態

現在のポータル状態

現状、システムLV24、コンプリートできるものは以下の通り全てコンプリート済み。

・お金・リサーチによるアップグレード

・特殊効果

・最適化

・アプリケーション

・実績

・依頼

Upload Labs - 全体構成