RのWeb制作

Webサービス制作のための技術情報を。データ分析(Python、機械学習コンペ他)や自作野球ゲームMeisyoのこと中心。

Web制作

ゲームのつくり方

投稿日:

何で書こうとしたの?

ゲーム制作者が自由な記事を作る Advent Calendar 2021があったのでつい…
昔からゲーム開発の方法論を簡単にまとめたいと思っていましたが、いいきっかけだと思って書いてます。

ゲームを作る、サービスを作るってかなりハードルが高そうですよね?
無論・・・高いです。
1機能をサクッと遊べるものならいいのですが、少しリッチになると20時間以上かかります。

とはいえ、作れるのは作れます。
作ったらわかりますが、手戻りが何にしても多いです。
必要だと思わなかった機能やデータベースが足りなくて動かねえ・・・なんてのはよくあります。

そのため、ゲームのつくり方を夢物語ではなく、現実味のある整理した方法論を提示したいと思います。
僕でもできるかも?と思って、行動いただければ嬉しい限りです。

著者は何をしている人なの?

仕事は、データ分析のコンサルタントです。
例えば、ソーシャルゲームおよびコンシューマーゲーム開発・運営での必要なデータ分析を行っていました。
得意な所は要件定義ですが、基礎集計からAI開発まで手広くしています。
今は社外の教育研修や品質担保のためのレビューをしてます。
もちろん他業種のコンサルティングも行っていますが、会社の主要顧客はゲーム業界です。

趣味は、個人でのゲーム開発(戦略シミュレーションゲーム)をしています。
名将と呼ばれた者達(Meisyo)では登録者2,500名程度、PV数は月3万程度です。
名将と呼ばれた者達+(Meisyo+)では登録者50名程度、PV数は月2万程度です。

収益は月で+1万円程度になってきました。

仕事で行っているゲーム開発やサービス開発も、以下で紹介する流れと同じです
むしろ自分が独自に行っていた方法論を企業が取っていて驚きました。

それでは手順を説明します。

ゲームのつくり方

開発方法名は知り合い駆動開発です。
知り合いを巻き込んでプレイユーザーを確保しながら、開発のモチベを維持する方法です。

  1. アイデア構築
  2. 知り合いに知らせる
  3. 概要設計
  4. 機能・データベース設計
  5. 基礎UI/UX設計
  6. プロトタイプ作成
  7. 作成 & PDCA
  8. サービス終了

大事なことは、まず作り始めるのではなく、まず概要を決めます
著者自身が戦略系ゲーム好きなので、触った感触等々よりゲームバランスがどうしても重要になります。

適当に作ってみると、結局これ以上作る気がしないモノができます。残念ですね。
というわけで、具体的に手順を見ていきましょう。

1. アイデア構築

何を楽しんで欲しいか?を考えます。

何でも構いません。
例えば、モンスターストライクであればはじく楽しさが一番大きいでしょう。

自作の野球ゲームMeisyoでは、考える野球を楽しもうという少しマニアックな楽しさを基本としています。
PJ_Meisyo+の設計書も作りました。

このように、何を作りたいか?を先に決めるのが重要です。
そうしないと何が困るのでしょうか?

アイデアは思い付きであることが多いので、何を楽しいで欲しいか?具体的にどう楽しめるのか?を考えないと作っている途中で忘れてしまう・・・というちょっと間抜けな内容でした。

2. 知り合いに知らせる

次に、それが好きそうな人または一番知り合いに知らせましょう。

人は、他人に宣言すると実現せざるを得なくなります
辞めると宣言するのにもエネルギーを使います。

そのように、心理的なバイアスを使います。
加えて、初めてのユーザーを獲得するというステップをクリアするには、この方法が一番簡単だからです。

3. 概要設計

何を楽しんで欲しいかから始め、何をできるべきか要素を考えます。

考える野球とは何か?を考えます。
プレイさせる?できない?
野球の対象は?高校?社会人?
監督と選手の関係は?指示命令?仲間?

のように・・・アイデアを具体化していきます。

基本的に僕はアイデアを紙に書きます。


マインドマップ
と呼ばれるモノですね。

この方法を取ることで、機能やデータの持ち方(データベース)をあらかじめざっくりと作成できます。

4. 機能・データベース設計

概要設計をしたものを利用し、要素ごとに機能やデータベースを作成します。
ここから、Excelなどで管理していくことになります。

とはいえ、1シートで作り終えるレベルの内容で良いです。
あくまで、忘れず完遂するためのモノであって、やる気をそぐためにしているわけではないからです。

ただ、何も考えずに作ると、左のように(悲報)何を入れていたデータベースか忘れる等に見舞われます…。

5. 基礎UI/UX設計

最初に、どんなふうに楽しんで欲しいかをイメージしていたと思います。

それを実際の画面に落とし込んでみます。
スマホならスマホ、WebならWebの大きさがあるので、紙に絵を書いてみましょう。

イメージ図があるなら、それをどこかに保存しておきます。
Meisyoなら、

や、

です。

6. プロトタイプ作成

ここまで出来たら作り始めます。
こうすることで、形にできないアイデアを元に作って、結局完成できない・・・なんてことをなくします。

ただし、色々な表示機能を実装するには検索スキルが必要なので意外と難しいです。

思ったよりズレたりする。

7. 作成 & PDCA

作ったからには多くの人に遊んでほしい・・・当たり前の感情だと思います。
まずは、累計プレイ人数〇人新規登録人数〇人という目標を立てて、PDCAを回してみましょう。

そこで、ユーザー心理をステップに分けてどこが上手くいっていないか、
Webの場合はGoogle Analyticsなどで分析して作り込んでいきます。

例:
初回アクセス

「楽しそう、登録してみよう」

新規登録

「どんなゲームかな?」

一回目プレイ

「この動き楽しいな。」

二回目プレイ

・・・

さて、あなたのゲームはどんな楽しみ方になるでしょうか?

上記の内容を難しく言うとカスタマージャーニーです。

本格的に分析するのであれば、
カスタマージャーニーマップ
や、
サンキーダイアグラム

など、様々な方法があり、基本的にユーザーの離脱しているポイントを洗い出して、問題点を解決していく手法となります。

Meisyoは2,500名以上登録があります

数字が見えているからこそ、モチベーションの維持が簡単になります。

8. サービス終了

サービス終了を最初から頭に置いてサービス運営を開始します。

なぜなら、時間は有限です。
どうしても使う人が居ないサービスに時間を使っても仕方がないので、サービス終了を行います。

私の場合、これまでで少なくとも20サービス以上終了させています。

最近では、野球ゲームMeisyoの前身もサービス終了*1しましたし、タスク管理ツールのWork It!もサービス終了*2しました。

*1 汎用的に強い選手カード(イチロー、王等)を出し、その選手以外必要がなくなった。

*2 タスク管理ツールもどきで、何をしたいのかわからなくなった。

終了まで考えてサービスを作りましょう。
お金も、時間も掛かりますので。

最後に

3行でまとめまると、
・記録して
・目標を立てて
・楽しんで作ろう

というように、ゲームを楽しんで作るために、ちょっとしたコツを書きました。

それではまた!

-Web制作

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

[Meisyo]ビッグデータから学ぶ試合の基礎設計4

ここでは、「どのパラメータが打率等にどれくらい関係するのか」を理解することで強いチームを作る指針を記載しておきます。 機械学習(重回帰分析)を使って本気で遊んでます。 実際のデータセットはこちら 野手 …

(VPSでつくる) PythonでMariaDB(MySQL)へ接続できるアプリを触ってみよう

連載第十一回目です。 Python3.6.8+FlaskでMariaDBに接続・データベースを編集するアプリを動作させる設定を行い、動作確認します。 この記事は、VPSで作るPythonでのWebアプ …

手書き数字診断士(機械学習)ver 0.0

手書き数字診断士、まずは動くようにしました。 ただ、初っ端から間違えています・・・! 動画 http://webmaking.rei-farms.jp/wp-content/uploads/2018/ …

(VPSでつくる) phpMyAdminインストール

連載第九回目です。 GUI上でMariaDB(MySQL)を触れるようにするために、phpMyAdminをインストールしましょう。 この記事は、VPSで作るPythonでのWebアプリ運用環境の連載記 …

for内で選手個人データをSQLで呼び出すより、辞書型を利用した方が読み込みは早い

for内でSQLを呼び出すと遅い…。 自作野球ゲームMeisyoでは、明示的にデータを呼び出すためにfor内でSQLを利用していました。 CDs = {} # Cardデータ(選手id, 選手データ) …

筆者情報

名将と呼ばれた者達(Meisyo)
高校野球チーム育成シミュレーションゲーム。個性豊かな選手たちを育成し、監督としてチームを優勝に導こう!

メインサイト:Rの考え方