ぺやろぐ

ぺやろぐ

焼きそばよりチャーハンが好き。

【steam】ColonySurvival : 基本的な協力機能性(公式ブログ翻訳記事)

人気記事セレクション

スポンサーリンク

クラフト系のゲームの協力プレイは無慈悲にも壊してくるプレイヤーがいるので、困ります。
どうも、ぺやんぐ(@peyangu485)です。

10/26分の記事です。

steamcommunity.com




翻訳

今週は多くの進歩を遂げました。
ほとんどの変更は軽微ですが、変更の規模の感覚を与えるために、私はブログの最後に完全な変更ログを投稿します。
大きな変化は協力プレイです!

多くの人々が共通のコロニーを求めてきました。
複数のコロニーをサポートするために加えられた変更により、その機能を追加するのは比較的簡単でした。
まだUIはありませんが、コロニーを簡単に共有するための新しいコマンドがいくつかあります:

/colony addowner {player} [colony]
/colony removeowner {player} [colony]
/teleportother {player} here

コロニーの所有者は、コロニーの備蓄を見て使用することができ、そのコロニーのコロニストのための仕事を配置し、取り除き、研究すべき科学を選択することができる。
皆さんが楽しんでいただければ幸いです。

https://steamcdn-a.akamaihd.net/steamcommunity/public/images/clans/28352917/72f7ffa2aa2a8e06bb1dba70734df82db8cf4e27.png

(引用元: https://steamcommunity.com/games/366090/announcements/detail/1689306797525571029)

先週のブログでは、何人かの人々が散歩に出なかった。
私たちはDiscordに比較的軽視された少数の投票を行ったが、結果は明らかだった。
今週の民主的に選ばれた主題は、「どの機能をどのように機能させるのか」ということです。

機能の選択は難しいが、非常に重要な作業です。
私たちはコロニーサバイバルについて多くのことを考え、他のゲームをプレイして分析し、何時間にもわたる潜在的な機能について議論します。
もちろん、プレイヤーの提案を聞きます。
また、YouTubeでコロニーサバイバルゲームの多くの時間を見てきました。
どのように他の人々がゲームに近づくのかを見ることは非常に洞察力があります。

潜在的な特徴を比較するときに、我々はそれらについてある種の質問をする。
すべての回答が肯定的な場合にのみ、この機能を使用します。
私の心は、以前に遭遇したやり方でそれを視覚化しました。
いきわいがあなたの理由です。
あなたの仕事、あなたの趣味、そしてあなたの人生のはっきりと異なる部分としての「チャリティー」を見るのではなく、「生きがい」はこれらのコンセプトのすべてを組み合わせています:
あなたが好きで、愛しているもの、お金を稼ぐことができるものです。
あなたがそれを見つけたなら、あなたはあなたの理由を見つけました。

https://steamcdn-a.akamaihd.net/steamcommunity/public/images/clans/28352917/6995fec0e779189db47ffb6ce06851979d03e0e9.jpg

(引用元: https://steamcommunity.com/games/366090/announcements/detail/1689306797525571029)

このイメージは、インターネット上に浮かんでいます。
ソースは一番下にあります

私は、「良い機能」も同様の方法で視覚化できると思います。
価値があると考えられる機能について肯定的な回答を得なければならない4つの主な質問があります。
彼らはこれらの側面に関係しています:

  • ゲームプレイ:新しい機能はかなり追加する必要があります
  • 開発時間:これは、それが追加するゲームプレイの量とバランスを取るべきです
  • パフォーマンス:私たちはゲームをより良く走らせ、悪くはないように努力しています。
  • 将来:いくつかの変更は将来の変更を容易にし、他の変更は難しくします

この結果、次のような画像になります。

https://steamcdn-a.akamaihd.net/steamcommunity/public/images/clans/28352917/e45a24068815c59b6ac8b77027ee4a51973ce18c.png

(引用元: https://steamcommunity.com/games/366090/announcements/detail/1689306797525571029)

すべての可能なフィーチャは、このチャートのどこかの場所に割り当てることができます。
センターに近いほど、ゲームに追加されるチャンスが高くなります!

未来
これは、グラフの中で最も明白ではない部分です。
例。 0.3.0は科学システムをゲームに加えました。
当時はとてもシンプルで飽き飽きしましたが、大きく拡大され、0.4.0で非常に役立ちました。
科学システムは他の機能のための非常に重要な枠組みであり、したがってこの質問で非常に高い得点を得ました。

他の機能はここではかなり低いです。
多くのプレイヤーは、よりきれいな構造のより美しいハイテクツリーを見たいと思っています。
これは非常に賢明な要求ですが、テクニカルツリーの調整や更新がより難しくなります。
我々がまだ新しい科学を定期的に追加している限り、技術の木自体はあまり変わっていません。
少なくともそれを更新するのは難しくありません:)

パフォーマンス
コロニーサバイバルは、比較的古くてシンプルなハードウェア上で動作し、そのように保ちたいと思います。
この時点までは、特定の最適化のためにパフォーマンスが低下するのではなく、0.7.0が実際に増加するように見えます。

一般的な要求は透明性です。
過去に少し試してみましたが、パフォーマンスが大幅に低下しました。
できるだけ避けようとしています。

開発期間
これは予測が非常に難しいことがあります。
いくつかの変更は非常に簡単です。
新たな「ジョブブロック」、新しいクラフトレシピ、異なるダメージ/レンジ/リロードスピードの新しいガードを2〜3分で追加できます。

より複雑な機能にはもっと時間がかかります。
また、基本的なソフトウェア開発の問題があるため、正確にどれくらいの時間が必要かを予測することは非常に難しいです。
あなたはしばしば予想外の問題にぶつかるでしょう。
技術的な問題とは別に、技術的にも問題があってもゲームプレイに問題を引き起こすことがよくあります。
たとえば、「大きなコロニーの幸福コストが高い」と「プレイヤーが複数のコロニーを開始できる」ということは、最適なゲームプレイ戦略が「大きなものを開発するのではなく、小さなコロニーを開始する」という結果につながることに気づくまでにはしばらく時間がかかりました。
退屈で繰り返しです。だから私たちはVAT / XPのアイデアを見つけなければなりませんでした。

ゲームプレイ
多分、これは "これがどれくらいの時間楽しむことができるか"としてまとめられた方がいいでしょう。
より良いチュートリアルは実際には「ゲームプレイ」ではないかもしれませんが、1時間以内に終了するプレイヤーの割合はかなり高く、チュートリアルがあればさらに多くの時間をプレイした可能性があります。
こんにちはjacksepticeye(https://www.youtube.com/watch?v=cZKwEaMiywI&feature=youtu.be)。

より良いグラフィックスやアニメーションではさらに多くの時間がかかるかもしれませんが、60時間後にすべてのコンテンツを経験してゲームを終了した人物は、コロニストが少しリアルに歩いていくので、数十時間戻ってくるでしょう。
アニメーション/モデリングは当社の強みの1つではありませんので、開発時間と結果の悪い比率ですぐに終了します。

https://steamcdn-a.akamaihd.net/steamcommunity/public/images/clans/28352917/48e6f51fcf3d894dbee30bcd90ebf347ce48425d.jpg

(引用元: https://steamcommunity.com/games/366090/announcements/detail/1689306797525571029)

上記の要件は厳しく制限されるかもしれませんが、そうでなければなりません。
機能の提案は非常に簡単で、実装は非常に難しい場合があります。
私たちが追加したいことがたくさんありますが、私たちは1ヶ月または1年で多くを行うことができます。
私たちは、私たちが作業している機能を慎重に選択する必要があります。

0.7.0のために考慮すべきもう1つの重要なことがあります:
古い世界を壊すこと。
これは一般的に回避しようとするものなので、機能が必要とする場合は負の品質です。
しかし、新しい世界と0.7.0の新機能は、必然的に古い世界を壊すでしょう。(あなたは古いブランチに戻って古い世界を再現することができます!)
つまり、0.7.0は、これらの機能すべてに対して、セーブゲームを最後に追加する絶好の機会です!
それはなぜそれが長くかかるの理由の一つです。

最後に、今週リリースされた3つの新しいdevブランチビルドの完全な変更履歴をお伝えし、変更の適用範囲を示します。

日曜日
- タイムアウトや切断をより良く処理するために、ネットワークコードを少し修正しました(前と同じようにエラーを投げずに:upside_down:)
- 別のコロニーの近くでコロニーを始動させないようにする(どちらも200ブロックの半径に一意にアクセスする必要があります)
- いくつかのバナー設定をsettings / server.jsonに移動しました(ロードされたチャンク半径、最大ゾンビのスポーン半径)
- バナーのないautoremoveコロニー(後でバナーを動かすにはUIが必要)
- おそらく固定ゾンビが安全な場所に産卵する(珍しいアクセスエリアで確認するのは難しい)
- ベッドの端の特定の回転を取り除いても、ベッドの他の半分を取り除かなかったバグが修正されました
- 苗木の樹高が1倍になるように変更します(標高の変更があれば、フォスターは自分のフィールドを歩くことができます)
- アクティブなプレーヤーのリストのための固定蒸気サーバーのスコアボード
- コロニー半径の外にあるベッド/クレートの使用を取り除いた

コードのもの:
- チャンクのデータとAIの読み書きを1つに統合
- IChunkDataから未使用のコードを削除しました。
- OnPlayerMovedコールバックを引数として古い位置に変更しました
- キューの代わりにいくつかのビット配列ルックアップテーブルのものを使用するように変更されたバナー/クローズドプレーヤーのチャンクロード要求(リクエストが重複しないため、テラ埋め込み者をもっと幸せにする方法で読み込み可能)
- 変更されたServerManager.TryChangeBlock、World.TryGetTypeAtおよびWorld.TrySetTypeAt:
- 別の古い予期されたタイプを取って、別々の読み書きアクションから競合状態を取り除くようになりました
- boolの代わりに複数のオプションを持つenumを返します
- これらのメソッドの動作を制御するフラグenumの更新/拡張
- "cause / requestedby"引数は、(プレイヤーの原因だけでなく)プレイヤーまたはコロニーのいずれかを含む共用体の構造体になりました。
- OnTryChangeBlockコールバックを上のように同じ共用体構造体に変更しました。
- blockUtityCallbacksにOnUpdateAdjacentコールバックを追加 - ブロックエンティティのブロック変更コールバックがそのプレーヤ/コロニーユニオン構造体を使用するように変更されました
- 古いItemTypesServer.OnAddなどのシステムを削除し、ブロックエンティティのコールバックコードで置き換えます

既知の問題:
- 下のソリッドブロックを必要とするブロックは、そのソリッドブロックが削除されても消えません(つまり、四分の一ブロック/植物の下の汚れを取り除く)

火曜日
コロニーのないプレイヤーの蒸気サーバースコアを更新しようとしたときにエラーが修正されました
- チャットコマンドクラスインターフェイスを少し改造しました(すべてのコマンドが文章を分割する必要がないように、 "単語"のリスト<文字列>を含みます)
- それらの下にあるソリッドブロック(プラント、クォーターブロックなど)の取り外しにより取り外された "needsbase"チェックブロックが再び削除され、可能であればプレーヤーまたは備蓄に払い戻されます
- いくつかの新しいコマンドを追加しました:
- /colony addowner {player} [colony]
- /colony removeowner {player} [colony]
- /teleportother {player} here
- / teleportother {player} bunner
- / teleportother {player} {x} {y} {z}
- チャットコマンドからいくつかのコードをコマンドマネージャに抽出したので、すべての{player}オプションでsteamID64または名前のいずれかを使用できるようになりました
- 複数の所有者コロニーは、最初のテストに基づいて意図したとおりに動作しているようです
- CursorLockMode.Lockedモードでは、カーソルはこのプロパティの値に関係なく非表示になっていることに注意してください。

水曜日
- 固定サーバーラッパー
- 古いスタイル+ server.world blablaなどの引数を使用してcolonyserverを起動できるようにします(pingperfect上で動作します)
- プレーヤーのための固定初期在庫(テストされていない、ワープ)
- コロニーの初期固定杭
- 草の種類にアイコンと名前を追加しました。親の代わりに自分自身を削除する必要があります
- 葉の種類にアイコンと名前を追加
- 更新されたleavestemperateアイコン
- 固定サーバーワールドローディングメニューの注文
- 固定シングルプレイヤーワールドローディングメニューオーダー




終わり

今回は協力プレイに関してと、devブランチの履歴がメインでした。

途中、動画のリンクがありましたが、英語が分からなくてもやってることが分かるのでなかなか面白かったです。