web-dev-qa-db-ja.com

一方的な仮想経済をコーディングする方法

ミニエコノミーを取り入れたオンラインゲームを作ろうとしています。課題は、何かを販売するのはWebサイト自体だけであるため、需要と供給の曲線は適用されないことです(販売されているアイテムを作成するためにWebサイトに費用がかからないため)。

販売される製品には、その価値に寄与するいくつかの要因があります。これらの各要素は数値で表すことができますが、Xの方がYの方が優れている場合、製品Xが製品Aよりも優れているかどうかを判断するのは困難です。 _とYの方がBの方が優れています。各要素(したがって、各製品)の金銭的価値を計算するのは難しいので、経済に計算してもらいたいのです。

一部の製品は上位製品であり、お金を持っていないプレーヤーはアクセスできないようにする必要があります。

市場にはいくつかの種類の製品があり、それぞれがゲーム内でまったく異なる目的を果たします。

下位レベルのプレイヤーが増えると思います。

私はそれを開発する方法について3つのアイデアを持っています:

  1. 各製品の初期価格を生成します。人が製品を購入するたびにAAの価格は一定額X上昇し、他のすべての製品の価格はX/(# of products)
  2. 各製品の初期価格を生成します。人が製品を購入するたびにA、価格はX上昇します。毎分、Aの価格はYに下がります。
  3. 固定レートで各製品を生産し、ハイエンド製品の量を減らします。生産時に、製品をオークションに追加します。オークションでは、各プレーヤーが支払う金額に入札できます。最初の入札が生成されます。

方法1と2はローエンド製品を過大評価し、ハイエンド製品を過小評価すると私は信じているので、#3が私のお気に入りです。 #3にも生成できる値は1つだけですが、#1と#2には複数の値があります。ただし、#3は、商品の初期入札額が高すぎる場合や、商品の生産速度が本来よりも低い場合に問題が発生し、不足する可能性があります。

製品のオークションは、製品の価格を決定するための最良の方法ですか?これを行うためのより良い方法はありますか?

2
Nathan Merrill

バーチャルエコノミーを正しく理解するのは非常に難しい場合があります。幸いなことに、プレイヤーが自分で作成/略奪したアイテムを販売しないことで、問題がいくらか単純化されました。供給を制御できるため、大量に生産されたときに発生する可能性のあるアイテム値の大幅なデフレを防ぐことができます。消費されるよりも大量です。

注意すべき他のいくつかの問題:

  1. プレイヤーは自分の間でアイテムを転送できますか?もしそうなら、プレイヤーはもはや必要のないアイテムを交換するので、これは低レベルのアイテムの需要を大幅に減らします。

  2. (リアルマネーではなく、ゲーム通貨でアイテムを販売することについて話していると仮定します)高レベルのプレーヤーが非常に大量の現金を蓄積することを妨げるものは何ですか?

これらに対する良い答えがあると仮定すると(アイテムの品質が使用によって低下するアイテムの崩壊は、両方の問題に対する1つの可能な答えですが、多くのプレイヤーはそれを嫌います)、オークションは良い賭けです。同様のアイテムの最近の販売価格のパーセンテージとして初期入札を生成できます。これにより、その問題が解決されるはずです。そして、売れないことが多い商品や、常に多くの入札を引き付ける商品に注意してください。これらは、補給率が間違っているという警告である可能性があります。

オンラインゲームの経済に関する必読の記事をいくつか紹介します。

http://psychochild.org/?p=1179http://www.raphkoster.com/2006/09/07/agc-mmo-economies/ - http://www.raphkoster.com/2012/03/20/do-auction-houses-suck/

3
Jules

意図したゲームについてあまり知らなくても、価格が各「属性*加重係数」の合計になるように、各属性に加重係数を与えます。

たとえば、(武器の場合)耐久性、スライスダメージ、バッシュダメージ、速度の4つの属性があるとします。次のように重みを割り当てることができます。

  • 耐久性ポイントごとに3コイン
  • スライスダメージ1ポイントあたり10コイン
  • バッシュダメージ1ポイントあたり8コイン
  • 速度のポイントごとに5コイン

ここで、ヒットごとに20スライスのダメージを与え、1秒間に1回ヒットできる、耐久性が120の剣があると想像してください。価格は120 * 3 + 20 * 10 + 5 * 1 = 565コインになります。耐久性が160、バッシュダメージが19で、1秒間に0.8回ヒットするメイスの価格は、3 * 160 + 19 * 8 + 5 * 0.8 = 636コインになります。

このようなシステムの良いところは、重みを微調整できることです(そして、アイテムのグループ全体に一度に影響を与えることができます)。また、適切な価格のランダムなアイテムを動的に生成するのは簡単です。

注:多くのゲームで私が嫌うことの1つは、最良の結果を達成するための特定の機器のセットがあることです。Webサイトですべての機器のすべての統計を確認できます。たとえば、一般的な「最小/最大」プレーヤーが(ファンのWebサイトのアイテムリストから)機器を決定し、その機器を入手するまで特定のクエストまたはダンジョンを粉砕します。ランダム/動的に生成された機器がそれを解決します(プレーヤーを強制しますラッキードロップがもらえることを期待してゲームを継続的にプレイします。

2
Brendan

欠品は問題ではありません。経済は、不足しているからこそ、そのように機能します。不足がなければ、経済はあり得ません。生産率が低すぎるために非常に望ましいアイテムが不足している場合、人々は入札して価格を上げ、裕福でないプレイヤーが非常に望ましいアイテムにアクセスできなくなります。その時点で、生産率を増減して利益/収益を増やすことができます。ある時点で、価格は、生産率をさらに上げても利益/収益が増えなくなるまで下がります。おめでとうございます、あなたは市場均衡に達しました。それは人々がそのアイテムに喜んで支払う正しい価格です。実際には製造コストがないため、利益は収益と同じであることに注意してください。

オプションで、生産コストをモデル化して、市場を希望どおりに形作ることができます。ショップは、すべてのアイテム間で共有される総生産能力を持つことができるため、1つのアイテムの生産率を上げると、他のすべてのアイテムの生産率が下がります。レベルの高いアイテムほど生産コストが高くなり、単一タイプのアイテムの生産コストは、そのアイテムタイプの生産率が上がるにつれて高くなるはずです。人々が非常に望ましいアイテムの価格を上げ続けると、そのアイテムの生産率をさらに上げると、実際にショップの総「利益」が減少するまで、その生産率が上がります。生産率を制御するアルゴリズムの目標は、特定の生産能力が与えられた場合に利益を最大化することです。

これらは、市場に対するあなたのコントロールになります:

  1. 総生産能力(グローバルアイテム価格を管理)
  2. 各アイテムの生産乗数(そのアイテムタイプの価格を制御します)

時価総額の計算式は次のようになります。

Constraint: 
SUM[(Production Rate of I * Production Multiplier of I) for I in (All Items)] <= Total capacity
Sales Rate of I < Production Rate of I

そして、あなたは解決しなければなりません:

Goal: Maximize(Sum[(Sales Rate of I * Selling Price of I) for I in (All Items)] by varying Production Rate

より多くの人々が非常に望ましいアイテムに入札するにつれて、そのアイテムの価格は上昇し、ほとんどの人々にとってそれを手ごろな価格にし、大多数はより手ごろな価格のアイテムに落ち着くでしょう。店舗は、利益の最大化を追求し、需要に合わせて手頃な価格の商品をさらに増やしていきます。

ショップの目標を利益の最大化として設定することにより、市場はダイナミックなマネーシンクとしても機能します。金持ちのプレーヤーがたくさんいる場合、最も望ましいアイテムの価格は大幅に上昇し、事実上、入札はマネーシンク率と自己調整型インフレを増加させます。

1
Lie Ryan