メインコンテンツへスキップ
見出し画像

pyxelでサンドボックスゲームを作ってみる(1)

    以前作ったサンドボックスゲームに色々と要素を追加していきます。こういうのはつまりは壮大な箱庭遊びなので、いろいろギミックがあった方が楽しいはず。

    前回までの進行具合は以下のnoteをご参照ください。

    まず、このゲームの目標を設定します。人間に岩を壊せる機能を付けたので、「岩の中から宝石を見つける」こととします。逆マインスイーパみたいなものですね。

    画像
    ▲岩が壊れて宝石が出てきました。

    とすると、人間を大量に配置して掘らせるのが良いのですが、ここはゲームらしくするために「何か配置するにはコストがかかる」としましょう。これで無限に人間を生み出すことはできません。

    画像
    ▲ビルドメニューにコストの概念を追加。
    下のメッセージウィンドウに表示します。

    さてさて、だんだん形になってきました。
    となるとこの手のゲームでは「いかにコストを節約して資源を増やすか」というのが重要になってきます。ビルドメニューを介さなくとも人間が増えるギミックを作ってみます。

    画像
    ▲赤と緑のつぶつぶが見えます。キノコのつもりです。

    キノコを食べることで人間は勝手に増えていきます。これでコスト削減ができます。
    ただし、デメリットも作成しましょう。

    画像
    ▲キノコを食べたところ、何か変な色の人間が出てきてしまいました。

    キノコを食べると人間が生まれますが、半分の確率でキノコ人間になってしまいます。色は食べたキノコの色です。
    この状態にはメリット・デメリットがあり、

    赤キノコ人間は「勝手にブロックを置いてしまう」ことがあります。せっかく掘り進めたのに。さらに運悪く人間のいるマスにブロックが置かれてしまうと巻き込まれた人間は消滅してしまいます。ぐえー。
    ただし、各種ステータスが高いので、素早く岩を壊したりできます。

    緑キノコ人間は動作がとても遅いです。
    ただし、水の中でも行動できます。※他の種類の人間は水に触れると消滅します。

    このようにごちゃごちゃしている人間をプレイヤーは導かねばなりません。なので以下のような機能も付けてみました。

    画像
    ▲ビルドメニューに3種類の旗があります。

    この旗はそれぞれの色に対応した人間の目的地となります。これで人間たちをコントロールします。ただし、目的地へ向かう精度は各自異なるので、全員が規則正しくコントロールされるわけではありません。勘のいい奴、鈍いやつがいるわけですね。

    長くなってしまったので、今回はここで区切りとします。
    次回、続きの「水、溶岩の仕組み」「ゲームモード」について書こうと思います。

    ソースコードはGitHubに。ゲーム自体はGitHub Pagesで公開しています。よろしければ見てやってください。

    読んでいただきありがとうございました。

    この記事が参加している募集

     
     
    出版社のしがない社内SE。 ここでは主に趣味のプログラミングやゲーム制作について書いています。作ったゲームは https://koidemizu.github.io/ で公開しているのでよかったら遊んでください。 ゲーム大好きインドア派。

    あなたへのおすすめ