NPC をコーディングして領地経営するゲーム開発(Python 対応の必要機能を実装する)
Python 対応の一番小難しい実装は終わりましたが、ぷち難しい実装が残っているのでやっていきます。
やったこと
ここまでで Python 側からゲーム側にコマンドを送るあたりが動作しました。今回はゲーム側から Python 側にデータを送るあたりを実装します。
そして実装しました。
やったことは
- Python 側から要求されたデータを JSON フォーマットにしてゲーム側から送信する。
- Python 側でデータを受信して処理する。
です。
実際に実装したのは、渡した建物のオブジェクトを返すメソッドです。
# 農場のリストを受け取り、リストの最初の農場を変数に代入している。
farm = world.buildings(buildings.farm)[0]
ここまでは時間を費やして動作しました。よいです。
そして実装前は、この実装が終わったら最低限の機能は実装し終わると思っていました。ただ、着手してみて課題がまだ残っているのに気付きました。
↓ これは移動まわりの実装なのですが、移動コマンドは NPC が移動完了するまで呼び出しが終わらない仕組みなのもあって、こんな風に仕組みが小難しくなっています。
この Lua で書かれたコードと同様の処理を Python で実装すればいい気はするのですが、本当にそうかとか、もっと楽でシンプルな実装がないかとかを考えてから着手したいので、続きは次回にやります。
まとめと今後の予定
ゲーム側から Python 側にデータを送る処理を実装して動作しました。よいです。
次回は、NPC を移動させるブロッキングなコマンド処理を検討して実現したいと思います。がんばります。