クエストは既製のタスクシステムです。報酬付きのデイリー、ウィークリー、1回限りのクエスト、宝箱付きのポイント トラック、タスクのグループを終えたときのボーナス。 クエストはすべての新しいプロジェクトに含まれています。 進行と報酬はサーバーが計算し、ゲームはプレイヤーの行動を知らせて結果を表示するだけです。
プレイヤーに見えるもの
- タブになったサイクル:デイリー、ウィークリー、実績。次のサイクルまでのタイマー付き。
- タスクごとの進行バーと、すべての目標が見られる詳細のポップアップ。
- 終わったタスク用の**「すべて受け取る」ボタン**。
- ポイントがたまると宝箱が開くポイントトラック。
- 終わったタスクが待っているときのタブのバッジ。
クエストの構造
- サイクル:スケジュールのあるタスクのまとまり。デイリー、ウィークリー、常設、期間限定イベント。サイクルは段階を 順に進めることもできます。たとえば8週間のシーズンで、週ごとに専用のタスクとポイントトラックがある形です。
- クエスト:それぞれカウンターを持つ1つ以上の目標(「モンスターを20体倒す」)と報酬。先に別のクエストの完了を 条件にでき、連続クエストはこうして作ります。
報酬は3種類あり、すべて同時に働きます。
- クエストの報酬:すべての目標を達成したとき。
- ポイントトラックの宝箱:受け取ったクエストがサイクルのポイントを増やし、必要な合計で宝箱が開きます。
- グループのボーナス:1つのグループのクエストを決まった数だけ終えたとき。
進行はどこから来るか
| 出どころ | 例 | 必要な作業 |
|---|---|---|
| ゲームが知らせる | モンスターを倒した、レベルをクリアした | 起きた場所に1行のコード |
| サーバーが数える | ストアでの購入、別のクエストの受け取り | なし、イベントを選ぶだけ |
| サーバースクリプト | クラウドコードの独自ルール | スクリプトからの呼び出し |
ステップ 01サイクルを作る
ダッシュボードを開き、プロジェクトを選んで ライブ運営 → v2 → クエスト へ。 サイクルタブでサイクル(たとえばデイリー)を作り、必要なら宝箱付きのポイントトラックを追加します。
ステップ 02タスクを追加する
クエストタブでクエストを作ります:名前、サイクル、目標、報酬。目標ごとに進行の出どころを選びます。ゲームが
数えるなら、カウンター名を選びます。例:monsters_defeated。
ページの AI ボタンでアシスタントが開きます。「勝利、ストアでの購入、ヒーローの強化のデイリークエストを3つ 作って」。変更を提案してくれるので、確認して保存を押します。
ステップ 03ゲームに進行を知らせさせる
ゲームが数える目標については、AI コーダーに頼みます。「モンスターを倒すたびに monsters_defeated を数えて」。 コードの正しい場所に呼び出しを入れてくれます。放置 RPG テンプレートは、クリアした ステージとヒーローの強化をすでに知らせています。
開発者向け
クエストは @idosgames/core の client.quest で動きます。進行はクエストごとではなくカウンター名で送ります。
サーバーがそのカウンターを待っているすべての進行中のタスクに渡します。
// 起きた場所で:モンスターを倒した
await client.quest.addQuestProgress('monsters_defeated', 1)
// クエスト画面:プレイヤーの進行。サイクルは自動で進みます
const state = await client.quest.getUserQuestState()
// 終わったクエストの報酬を受け取る
const claim = await client.quest.claimQuestReward('daily_win_20', 'daily')
if (!claim.ok) return showError(claim.error)addQuestProgressが進めるのは、出どころがゲームの目標だけです。サーバーが自分で数える目標は拒否されます。- 「念のため」に値を送らないでください。目標に1回あたりの上限があると、超えた時点でプレイヤーのアカウントが停止されます。
- 付与された報酬は SDK のキャッシュの残高にすでに反映されているので、読み込み直す必要はありません。
すべてのフィールドは、SDK の MCP サーバーが配るスキル quest-system に説明があります。
よくある質問
クエストをプロジェクトに追加する必要はありますか?
いいえ。クエストはすべての新しいプロジェクトに含まれています。ダッシュボードでクエストを1つでも設定すると、クエストのタブがプレイヤーに表示されます。
タスクの完了をゲームはどう知るのですか?
進行はサーバーが数えます。購入や他のクエストのように自分で数えるタスクもあり、モンスターを倒すといったゲーム内の行動は、ゲームが1行のコードでサーバーに知らせます。
バトルパスは作れますか?
サイクルのポイントトラックで似た仕組みが作れます。クエストを受け取るたびにポイントが増え、トラックの宝箱は必要なポイントに達すると開きます。
関連ページ
- ゲーム内ストア:棚、商品、価格iDos Games の既製ストアの仕組み。商品が入れ替わる棚、ゲーム内通貨や現金での価格、無料ギフト、購入上限、そしてダッシュボードでコードなしに設定する方法。
- ゲーム内ランキング:順位、ラウンド、報酬iDos Games の既製ランキングの仕組み。ラウンドのあるボード、順位とポイントの報酬、水増しスコアの防止、そしてダッシュボードでの設定方法。
- 放置 RPG テンプレート:ヒーロー、ウェーブ、ボスiDos Games の完成済み放置 RPG テンプレート。ヒーローはモンスターのウェーブやボスと自動で戦い、プレイヤーがいない間もゴールドがたまり、ステータスはゴールドで強化します。中身と、自分のゲームに作り変える方法。
- 新しいプロジェクトに含まれるものiDos Games の新しいプロジェクトは、ログイン、ロビー、6つの既製システムから始まります。ストア、ランキング、イベント、マルチプレイなどのシステムはアプリに必要になったときに追加されます。
自分のゲームを作ろう
アイデアを一文で書くだけで AI コーダーが作り、ゲームは専用リンクで公開されます。