かべかけ工場2(仮)制作日記:2015/11/21

Siv3Dで制作中の自作ゲーム制作日記。ついったーの投稿を都度まとめる。
0

2015/11/21

AiNI @aini_bellwood

備忘。ジェネレータ設計。ジェネレータの基底クラスとして、フラグを見て毎フレーム、EUを前方ブロックに渡すブロックを作る。このブロックを継承して各ジェネレータを作る。ソーラーは(今の所)無条件で発電。火力は燃料、核分裂は核燃料と冷水、核融合はEUと重水素が発電に必要。

2015-11-21 23:56:48
AiNI @aini_bellwood

今の所作るのは火力までの予定。核分裂は液体の実装が、核融合は重水素の生成ができる必要がある。

2015-11-21 23:59:02

2015/11/22 朝

AiNI @aini_bellwood

液体はパイプの実装に少々手間がかかりそうである。パイプには前後の概念がないので、液体を渡されて自身の持つ液体ストレージが一杯になったら、両側の口から液体を出力する、というのはどうか。

2015-11-22 07:58:41
AiNI @aini_bellwood

これなら向きに関係なく、順番に液体が伝播していく…と思ったが、ブロックの処理順によってロスが発生するか。

2015-11-22 08:00:08
AiNI @aini_bellwood

いや、まず全ブロックで隣に渡す液体を確保してから、そのあと改めて隣に渡す、ではどうだ。両隣がパイプなら、支出と収入が釣り合うはずだ。

2015-11-22 08:03:32
AiNI @aini_bellwood

もらったそばから渡していては収支が釣り合わないので、一定量の液体がストレージに溜まるまでは備蓄モード、溜まってから放出モード、とするのがよいか?

2015-11-22 08:06:14
AiNI @aini_bellwood

しかしそれでは隣のパイプの備蓄モードが解除されると同時にこちらのストレージも尽きてしまう。隣のパイプを見て、ストレージの液体量がが閾値を超えていれば渡さない、などの工夫が必要か。逆止弁だな。

2015-11-22 08:09:15
AiNI @aini_bellwood

なんにせよ液体の実装は後回しだ。石油の実装、冷却水の実装、蒸気を実装してボイラーとタービンを分離する、などの夢は膨らむがまず電気の実装が先だ。

2015-11-22 08:11:13

2015/11/22 夜

AiNI @aini_bellwood

・すべての接続先に渡す量を一旦液体ストレージから取り出す ・改めて接続先に液体を渡す もともと内部的には1フレームの間に2度更新ループを回す設計になっているので、これで破綻しないはず、だ。

2015-11-22 20:02:25
AiNI @aini_bellwood

いや、パイプ同士の接続はそれでいいが、ポンプからパイプに渡す場合はそうはいかない…か?単に液体レシーバが無ければ最初のループで渡さなければいいだけか。

2015-11-22 20:04:09
AiNI @aini_bellwood

・接続先にレシーバが存在しない場合、液体を渡さない このルールの追加で、パイプ間では液体のやりとりが釣り合い、出力先に液体が渡されるはず。 液体の種別や一度に渡せる量の指定はまだ検討の余地があるか。

2015-11-22 20:07:00
AiNI @aini_bellwood

なんにせよ今は発電機だ。液体のパイプには向きが存在しないため実装がややこしくなるが、電気はそうではない。サクッと作らねば。

2015-11-22 20:08:46
AiNI @aini_bellwood

発電機は発電機で燃料をどう保持するかという問題がある。単に燃料ストレージを持ち、渡されたpelletに応じて残燃料が増える形でいいか。燃焼時間の管理もしやすい。

2015-11-22 20:10:15
AiNI @aini_bellwood

今の所燃料として活用する予定があるのは石炭のみ。追加してもせいぜいでコークスと木炭と木材程度か。

2015-11-22 20:11:21
AiNI @aini_bellwood

木材は「周囲から枯れ木を回収するドローン」とかでいいかなと思っている。ブロックの上で植林、とかにしてもいいが…。

2015-11-22 20:12:55
AiNI @aini_bellwood

まあ、とりあえずソーラー発電器。

2015-11-22 20:13:44

2015/11/23

AiNI @aini_bellwood

そういえば昨夜考えてたパイプ実装案にバグがあった。あれだと出口に接続したパイプのみ保有量が減っていくことになる。単純に、接続先の保有量を比べて、自分よりも少ない接続先に渡す、ではとかの方がいい。

2015-11-23 20:49:14
AiNI @aini_bellwood

保有量が自分より少ない接続先に渡す、でなんら問題ない気がするな…というかそこまでいくと、前のフレームで渡された液体をそのまま渡す、とかでいいような。

2015-11-23 20:53:52
AiNI @aini_bellwood

なんにせよ液体周りはまだまだ再考の余地があるか…後回しだ。

2015-11-23 20:54:16
AiNI @aini_bellwood

帰ったらいいかげん発電機の実装を進めたい。

2015-11-23 20:46:28

まとめ

・液体の実装は「保有量を接続先と比べて自分より少ない相手に液体を渡す」でイナフ。
・液体の実装で、核融合炉、核分裂炉、作れたらいいね。
・火力発電ブロックは渡されたPelletを燃料に変換して保持するよ。
・まずはソーラー発電ブロックだよ。