ソーシャルゲームを開発した上で気づいた点をあげたいと思います。
"まだ"1本しか作っていませんが(笑)
※参考までに私がソーシャルゲームを開発する前のスキルは以下のとおり。
・業務やウェブシステムの設計経験多数
・PHPプログラミング経験
・携帯サイトの制作経験(携帯のHTML、CSSの勘所も知っている)
・ゲームは好きだが、携帯のソーシャルゲームはやっていない(笑)
例えば、以下のような開発体制の場合は、
・サーバプログラマ ←今回のエントリ対象はココです
・Flashプログラマ
・デザイナー
・ディレクター
携帯サイトの制作経験 [必須]
パソコン用のサイト制作経験だけだと、厳しいと思います。
Flash画面を除く画面の大多数はサーバプログラマが作るからです。
さすがに最終的な仕上げはデザイナーにやってもらいますが。
携帯ならではの特性は知っていないと作れません。
代表的なところでは、
・文字コード
・3キャリアの違い
・絵文字
・サイズの制限
・画像ファイル
・URL長
・キーの特性(決定キー・上下キー)
・デバッグ環境
3キャリア対応のHTML・CSS・絵文字はめんどうですね。
今は便利なライブラリも出ていますので利用することをお勧めします。
Flashとの連携
昨今の携帯ゲームでは、UI部分はFlashで作成されています。
当然、Flash単体ではゲームとして成り立ちませんので、
サーバ側のプログラムとの連携が必要になります。
連携の方法にはいろいろ方法があります。
シュチュエーションに応じて使い分ける必要があります。
不正対策を想定する
実装に影響してくる部分なので、最初に意識するとしないとでは大きな差が出るでしょう。
例えば、ブラウザバック、URLパラメータ書き換えなどです。
当たり前のようにやられる所なので想定して開発すべきでしょう。
この辺の実装がなければ楽なんですがね(笑)
ソーシャルゲームの設計知識
リリース後も開発が続くので、機能追加が可能な設計が求められます。
ガチガチに作ると後で苦労します。
おそらくデータベースの選定にも影響がでるはずです。
マルチプラットフォームを実現できる設計も重要でしょうね。
MからGとかGからMとか。
プラットフォームに依存しすぎると移植で苦労すると思われます。
→まだやっていませんがw
そのほか
プラットフォームと切り離しても動作する設計も負荷試験のときに便利ですね。
普段の開発時は以下の工程が想定されます。
ローカルパソコンでの実行
↓
サンドボックスでの実行
↓
本番での実行
設定で簡単に切り替えられる実装が求められます。
技術的な話までは踏み込みませんでしたが、参考になればうれしいです。