質問: アカウントを必要としないゲームアプリはだいたい作れるようになりました。(Swift) 実際、作りたいのは、アカウントを持ったPRGゲームなどです。 例えば下記です。 ・パズドラ ・モンスト ・白猫プロジェクト ・タワプリ 疑問点は下記です。 ・サーバーを持っていて、DBにプレイヤー情報を格納して管理しているのか ・それとも、単にアプリ内で記憶させているだけなのか とりあえずゲームアプリのその辺の構造が分からない状態です。 例えばどっかの企業の会計システムとかはたいていDBで管理していると思いますがその構造は分っています。(PHPをよく触っていたので) ・ウェブブラウザ(HTML/CSS/JavaScript/PHP) ・サーバー() 1ウェブ上で入力したものをDBへ格納していき(INSERT) 2得たい情報はSQLで組んだクエリでゲットしてきてウェブ上に表示させたり(SELECT) 3変更したい内容があれば1と同じことしたり(UPDATE) 4削除したいな内容があれば削除したり(DELETE) と、 ウェブからサーバーへリクエスト サーバーからウェブへレスポンス と、ウェブだとそこらへんは分かっています。 ゲームアプリも同じのでしょうか? レベルが上がりばステータスも上がり、その値をUPDATEで修正していってるのでしょうか? そこらへんが良く分かりません。 そこらへんの構造の図があれば分かりやすいのですが、リンク先などありましたら教えていただけるとありがたいです。
回答: > > ・サーバーを持っていて、DBにプレイヤー情報を格納して管理しているのか > > ・それとも、単にアプリ内で記憶させているだけなのか > > > 一般的に言って、ソシャゲを含むオンラインゲームは、 サーバのデータベースにプレイヤーの情報を保存して管理しています。 なぜ、「単にアプリ内で記憶させているだけ」でないのか。 それは一言でいうと、**課金の都合**です。 違法コピーや改造ツールなどで、データを改ざんされないためです。 なお、課金のないフリーゲームでも、サーバに保存する場合があります。 それはランキングがあるタイプのゲームで、やはり改ざんされないためです。 > > ゲームアプリも同じのでしょうか? > > > DBの設計方針は様々だと思いますが、 普通にSQLを使っていたりしますし、 ゲームだからといって特殊なDBではないです。 ただし、微妙に違ってくるところもあります。 セキュリティと負荷対策、メンテナンスと障害対策です。 企業のビジネス用システムと違い、外部に公開され何万人もアクセスでき、 しかも24時間営業していますから、上記が大きな問題となるでしょう。