目次
概要
主人公たちが使うソフトウェアの一部は、以下のような課金システム Fibonacci Ball を採用している。
- 使うだけなら無料
- 有料ユーザになると以下の特権が得られる
- リリース前の次バージョン (β) を使える
- 次バージョンで実装される機能の候補に投票できる
- 次バージョンで実装される機能の議論に発言できる
- 投票権は 1ユーザあたり複数ある。支払った金額に応じた投票数を持つ。金額比例ではない。上限あり。
用語の定義
- ソフト
- 本方式によって開発が進められるソフトウェア。
- ユーザ
- ソフトの利用者。本方式では発言権や投票権を持つのは有料ユーザだけなので、この文書では特に断りがない限り、ユーザとは「有料ユーザ」を指す。
- 有料ユーザ
- ソフトに金を払った結果、本方式における「ボール」を1個以上持ったユーザ。
- 無料ユーザ
- ソフトに金を払っていない利用者。ソフトを使うことはできるが、本方式による議論・投票に参加することはできない。
- ボール
- 投票権。(有料)ユーザは1個以上のボールを持つ。
- 新機能候補
- ユーザが提案・議論している、ソフトの将来のバージョンで実装されるべき機能の候補。ユーザが新機能候補にボールを投票する。得票数が多い順に、開発者によって実装される。
- 開発者
- ソフトの開発者。1人のこともあるし、多数のこともある。
ボール(投票権) と 累進課金
- ユーザは n 個の ボールを持っている。n は整数。無料ユーザは n=0、有料ユーザは n>1。
- ユーザは金を払って、ボールの個数を増やすことができる。ボールを '1個 増やすため' の料金は、そのユーザが現在持っているボールの個数の関数 f(n) である。この関数はフィボナッチ数列を使っている。
ここでは2010年代の物価をもとに 100円 (ジュース一杯分) を単位とする。作品に使うときは物価を2070年代のものに変換せよ。なお、他の国の通貨でも同様の単位であり (例: 1 US$)、通貨変換は胴元であるGoogle的な会社が行う。
n | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
f(n) | 100 | 100 | 200 | 300 | 500 | 800 | 1300 | 2100 | 3400 | 5500 | 8900 |
n | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
f(n) | 14400 | 23300 | 37700 | 61000 | 98700 | 159700 | 258400 | 418100 | 676500 | 1094600 |
具体例
例えば、無料ユーザは 100円払うと ボール1個を持つ有料ユーザになる。ボール1個の有料ユーザは、もう100円払うとボール2個になる。ボール2個のユーザが3個目のボールを買うためには 200円を払う。ボールをすでに9個持っているユーザが、ひとつ増やして10個目のボールを欲しいとしたら、そのために5500円を払う必要がある。
それまでに払った金額の合計という視点で見ることもできる。ボール1個のユーザは、ボール1個を100円で買った。ボール2個のユーザも、1個目のボール・2個目のボールは同じ100円で買ったので、合計200円を払ったことになる。3個目のボールは200円するため、ボール3個のユーザは今まで合計で100+100+200= 400円払った。ボール4個持ちのユーザは合計700円、ボール5個持ちのユーザは合計1200円…ボール10個持ちのユーザは今まで14300円をこのソフトに支払ったことになる。
上限
このシステムを採用したソフトのほとんどは、ユーザのボール数に上限を設定している。カジュアルなゲームでは 10個、マニア向けでは 15個、プロや廃人向けソフトでは 20個などに設定されている。
次バージョンについての議論
ここ以降の文章では、「ユーザ」とは有料ユーザを指す。というのは、無料ユーザは新機能の議論に参加できないからである (バグ報告は無料ユーザでもできる)。
議論の進め方
ユーザはネット掲示板を使って、次バージョンでどのような機能を実装すべきか、議論する。議論に使う言語は英語である。
大半のソフトは、一定のリリース間隔 (2ヶ月など) を設定している。まず 2070年1月版、次に 2070年3月版、次に2070年5月版、…といったふうに定期的にバージョンアップする。
ある版がリリースされる直前までに、ユーザは議論を重ね、次の版で実装すべき機能について合意する。開発者が次の版を開発しているうちに、ユーザはさらに次の版で実装すべき機能を議論する。
例えばリリース間隔は2ヶ月、現在が2070年1月で、2070年1月版をリリースしたばかりだとする。この時点で、次の版2070年3月版に実装すべき機能は、ユーザたちによって2069年11〜12月のうちに決められている。開発者は2070年1月から3月まで、その機能を実装する。それと並行してユーザたちは2070年5月版で実装すべき機能を議論する。
期間 | 2069年11〜12月 | 2070年1月版リリース | 2070年1〜3月 | 2070年3月版リリース | 2070年3〜5月 |
開発者 | 2070年1月版を開発 | 2070年3月版を開発 | 2070年5月版を開発 | ||
ユーザ | 2070年3月版を議論 | 2070年5月版を議論 | 2070年7月版を議論 |
議論の期間は、討論フェーズと投票フェーズから構成される。リリース間隔が2ヶ月なら普通、討論フェーズは6週間、投票フェーズは2週間である。討論フェーズではユーザたちが話し合って次の版に入れるべき機能の候補をいくつか挙げる。投票フェーズではそれら機能候補について、ユーザたちがボールを投票する。その投票の結果、次の版に開発者が実装する機能が決まる。
討論フェーズ
討論フェーズでは、ユーザたちは次バージョンで実装する機能のアイデアを出し、意見を交換し、共通点が多いものはまとめ、分解すべきものは切り分け、候補を絞る。
絞られた候補が投票フェーズにて投票の対象となる。
投票フェーズ
投票フェーズは1〜2週間と短めに設定される。投票フェーズのうちは新しい機能の候補を追加することはできなくなる。
投票フェーズでは、ユーザは新機能候補にボールを投票する。持っているボールの個数まで投票できる。一つの新機能候補に複数のボールを入れることもできる。
いったんボールを入れたあとも、投票フェーズのうちは何度でも、ユーザは投票を撤回し、別の機能候補に投票し直すことができる。
サモア標準時(GMT-11:00)において期日が過ぎると、投票フェーズが終了し、投票できなくなる。サーバが集計する。新機能候補は得票数の多い順にソートされる。
投票フェーズが終了すると、次のリリースの討論フェーズに移行する。
開発者は今回の得票数が多い順に、機能の実装を開始する。
最初のリリースの場合
未公開のソフトのver1がリリースされたとする。未公開なので、ver1リリースまでのあいだにユーザがver2で実装すべき機能を決めておくことはできない。この場合、ver2で実装する機能は開発者自身が決める。ユーザの議論によって新機能が決まっていくのは、ver3以降となる。
ただし、大半のソフトはver1のリリース以前にβ版を公開テストするので、その時点のテストユーザの意見によってver2の新機能が決まることが多い。