MENU閉じる

HEXA BLOG

ゲーム

HEXA BLOGゲーム2020.3.5

最近遊んでいるゲーム

こんにちは!
大阪プログラマーのマサムネです。
今回は最近遊んでいるゲームの紹介をしたいと思います。

そのゲームがこちら
Factorio
https://factorio.com/
Copyright © 2015 – 2020 Wube Software – all rights reserved.

WubeSoftware様が開発しており、現在アーリーアクセス版が公開されています。
このゲームの目的は、未知の惑星に不時着した主人公がロケットを飛ばすというものです。
しかし、ゲーム開始時点では、ロケットを飛ばすための材料が何もありません。
なので、石炭や鉄鉱石を採掘し鉄を精錬するところから始まり、
鉄を使用して歯車を作り、歯車を使用して自動生成用施設(自動採掘機や歯車の自動生成器など)を作るなど
様々な作業を自動化しながらロケットを飛ばすための材料を作っていきます。

 

今回このゲームを紹介しようと思った理由なのですが、
1つは単純に面白いということと、
もう1つはプログラムと似ていると感じるところがあったためです。

プログラムと似ていると感じた物として、
インターフェースを整備することと、
役割毎にまとめるということです。

1つ目のインターフェースを整備するとはどいうことかというと、
鉄を使用する施設があった場合、
その施設は鉄が与えられさえすればよく、
「どのように鉄が生成されたか」や「どのように運ばれてきた」かは重要ではありません。
ですので、施設側は鉄を与えてもらう口(インターフェース)を用意しておけば、
鉄の生成方法や運び方が変わったとしても、滞りなく施設を稼働することができます。

2つ目の役割毎にまとめるということは、
このゲームでは生成したアイテムの運送にベルトコンベヤーを使用するのですが、
このベルトコンベヤーがすべて繋がっていた場合どうなるでしょうか?
ある場所での変更がそれ以降に繋がっている場所に影響してしまい、
施設が正常に稼働しなくなってしまうなどバグが発生してしまいます。
これは1つの物に複数の役割を持たせてしまっていることが原因です。
ですので、ベルトコンベヤーをすべて繋げるのではなく
役割毎に分けることで、変更を加えたとしても、影響を与える範囲を狭くすることができます。
大規模な施設を作る上ではこの役割毎にまとめるということは重要になると思います。

このような要素があるため、
遊ぶだけでプログラムの練習になる(?)かもしれませんね。

 

さて、それらしいことを書きましたが、
そんなことは気にせず単純に面白いので、
興味を持たれた方はぜひ遊んでみてください。

ちなみにデモ版が無料で遊べるため、気になるけど買うのはちょっとという方は
そちらで試してみてはいかがでしょうか?

では!

RECRUIT

大阪・東京共にスタッフを募集しています。
特にキャリア採用のプログラマー・アーティストに興味がある方は下のボタンをクリックしてください

RECRUIT SITE