私はゲーミフィケーション Q&A プラットフォームを作ろうとしています。ユーザーは、システムによって与えられたいくつかのタスクを実行することで XP を獲得し、レベルアップできます。
要件
- ユーザーがレベルアップすると、このユーザーに新しいタスクを与える必要があり、ユーザーは与えられた各タスクを完了することで xp を獲得します。
- ユーザーがレベルアップし、以前のレベルのタスクがまだ残っている場合、ユーザーは新しいタスクで前のタスクを実行できます。
マイ データベース デザイン
タスク
id | xp | level
id : タスク ID
xp : xp 量
level: このタスクを表示する下限
ユーザータスク
user_id | task_id | compeleted | created_at
この設計から、ユーザーが持っている、または持つ予定のタスクを処理できます。
問題
タスクが完了したかどうかを確認するにはどうすればよいですか? たとえば、「5 つの質問をして 50 XP を獲得する」というタスクがあるとします。どうすればそれを確認できますか? これはほんの一例です。動的データベース設計が必要ですが、作成できません。ゲーム、特に MMORG ゲームはこの状況をどのように処理しますか?
アドバイスをありがとう。