CGIで作られたゲームを現代の技術でよみがえらせるには
こんにちは。なおキーヌです。
ブログ毎日更新は301日目になります。
現代の30代前後の方たちはまだ常時接続が始まる前のインターネットをご存知かと思われます。
オンラインゲームもまだウルティマオンラインやリネージュ・ラグナロクオンラインがまだβ時代だった頃
ネットゲームとして流行っていたのがCGIゲームです。
どんなゲームかと言うと、マウスでクリックしてキャラクターを育て対戦させる。
それだけです。
現代の視点から見るとあんまり面白くなさそう……と思うのですが
当時はメチャクチャ人気を博してCGIゲームのソースコードを改変した亜種が沢山生まれました。
私はその中でもやっていたのが「FFA」と「エンドレスバトル」というゲームです。
主にFFのキャラやガンダム系のキャラを題材にした版権元が見たら怒るようなネットゲームでした(笑)
一部はやりすぎて怒られてたのかもしれませんが、まだまだネットの法律が緩かったのもあり寛容な時代でした。
当時はメチャクチャ面白くてドハマりしてたのは恐らく、
日本全国の人と競い合えるという仕組みがまだ目新しかったからだと思います。
いまでは対して珍しくもなんともないというか当然の仕組みですからね。
これらのCGIゲームをどうにかして現代に生き返らせないかなと考えていたのですが、
よく考えたらスマホのソシャゲがまさにCGIゲームの進化版じゃないのかという結論にたどり着きました。
ソシャゲ、ハマる人はハマるけど私みたいな人間はチュートリアルで飽きてしまいます。
なのでいわゆるソシャゲは切り離してCGIゲームを現代によみがえらせる方法を考えていきたいと思います。
CGIゲーム時代の問題点をあげてみる
当時やってた人以外はわかり辛いかもしれませんが、CGIゲームの問題点を挙げると
- 時間があるやつが有利すぎる
- インフレしすぎてよくわからん
- 項目が多すぎて混乱する
- 開始時~対戦までが作業感が酷い
ガッツリとのめり込んでプレイしていたわけじゃないので、まだまだ問題はあるかもしれませんが
ちょっとプレイしてた人間からみても新しく始めたCGIゲームは上記の問題点を肌に感じました。
1つずつ解決法をみてみましょう。
時間があるやつが有利すぎる
これはもう仕方ない気がしますね。
今も昔もネットゲームは時間を自由に使える人間がトップです。
これを解決したのが課金システムで、時間の無い社会人は課金して優位になるってやつですね。
ネトゲの時間格差社会問題は課金要素が解決してくれています。
一見集金的な悪い要素に見えますが、運営する以上お金がかかるわけなので
大人な考えをもつべきですね。
インフレしすぎてよくわからん
CGIゲームのダメージ、ディスガイア並みに意味わからない桁になってたりしていました。
なんかすごい!って言うのは結構大事ですが正直意味ないですよね(笑)
あれが好きなんだって人もいるので一概にはいえないのですが……
ネトゲは更新していくものなのでインフレはつきものですが、
それを調整するのも運営の役目なんじゃないかなと思います。
まぁ無料だったら仕方ないですよねって感じです。
インフレを防ぐのは恐らく更新し続けていく以上避けられないかもしれません。
項目が多すぎて混乱する
日本人の場合やれることが多すぎると萎えて辞めてしまう現象が多くみられます。
私もその一人でゲームはもっとシンプルであるべき派です。
項目を増やすのは一定の値が増えたらアンロックされていくってのは好きですね。
CGIゲームは元々PCでしか動かないので画面が広い分項目をいっぱい置けるんですよね。
今のデザインセンスならもうちょっとすっきりしそうですが、
当時は何でもかんでもつめこんでやろうみたいなスタンスだったので
復活させる場合はその辺も考慮して作らないといけませんね。
開始時~対戦までが作業感が酷い
これは今も昔も変わらないですね。
サービス開始時からやってる人は良いですが、
後発が人気のあるコンテンツにたどり着くまでに時間がかかり過ぎて辞めてしまう人も少なくありません。
成熟したオンラインゲームは開始時にレベルを引き上げるサービスをやっていたりしますが、
なんかそれってどうなんだろうと思いつつも現実問題そうしないとユーザーが離れてしまうんですよね。
解決策としては低レベル~中レベル層でも遊べるコンテンツを増やす。
そしてそこで手に入れたアイテムは上位でも使える装備の強化
とかに使えるとかにしないとだれもやらないようになってしまうので
この辺のバランス調整は最初のうちに考えておかないと破綻しやすそうですね。
問題点を挙げてみましたが、企業だろうが個人だろうが解決できてないので難しいのでしょうね。
実現するための言語はJSとPHPでOK
今まではCGIで作られていたのですが、現代の技術だとぶっちゃけ頑張ればJavaScriptだけで作ることができそうですね。
JavaScriptというかNode.jsですが。
CGIゲーム風なのであればFirebaseとかを使えばNoSQLはむしろ相性がよさそうです。
格安のレンタルサーバーに置く場合は安定のJavaScript+PHPでしょうか。
CGIもPerlも良い言語ではありますが、今から覚えるにはちと骨が折れる言語ですし
使用用途も限られている時代なので現代であればjs+PHP(+MySQL)が鉄板でしょう。
後はチート対策をしっかりとしておけばよさそうです。
不正し放題だとゲームそのものが破綻してしまいますからね。
システム的にはフロントエンドとバックエンドのやり取りさえできれば
後は文字表示とか数値計算とかだけなのでシステム自体は意外と簡単に作られてしまいます。
いかに手軽にアクセスできるかが勝負
恐らくここが一番気にするべき点だと思います。
個人的にPCでもいいのですが、やはり外出中にスマホからもプレイ出来た方が良いでしょう。
アプリにする場合の理想としてはSNS用のクライアントに、
作ったゲームが組み込まれているうようなものが便利そうです。
そうすればツイッター監視も出来るしゲームも出来て移動中の暇つぶしには最適じゃないでしょうか。
問題はやりすぎるとツイッター側がAPI制限に引っかかってしまいそうですね。
Web版だとレスポンシブに作っておけば気軽にプレイできそうですが、
スクロールしないタイプにしないと誤操作と化して面倒になりそうです。
この辺はReactを使ってフロントの制御をすれば解決できそうですが、
結局はブラウザなのでなんかしら誤操作しそうな予感がします。
とにかく手軽にアクセスできないと自然とプレイしなくなってしまうので
作るうえでいかに楽にアクセスできるかを考えるのは一番最初に考えるべきですね。
そこからどんな言語を使うのかもきまるわけですからここは慎重になるべきです。
素材の用意が一番大変
CGIゲーム時代は無法地帯なので少しイラスト書ける人なら版権物をバンバン使えたのですが、
今の時代はかなり厳しいので基本的にはオリジナルキャラになると思います。
今なら全部いらすとやで作っても面白そうですが(笑)
音源は基本的に使わないので素材の大半は画像になります。
欲を言えばGIFで動いたりすると良いですね。
CGIゲームの時代もGIFでキャラが動くモノもあった気がします。
今ではCSSだけでもオシャレなインターフェースを作ることが出来るので
用意する画像は殆どキャラクターになりそうです。
現実世界と絡めないとすぐ飽きそう
このあたりの仕組みはアプリ化しないと難しそうなのですが、
やはり現実の時間に絡めたり位置情報や移動距離等で何かボーナスを与える仕組みにしないとすぐに飽きられそうです。
Web版にしちゃうとこのあたりの機能の連携がすごく難しくなりそうです。
このあたりのバランスってすごい難しいですよね。
取り入れると一気に開発難度があがりますしバグにも気を付けないといけない。
微妙な感じで取り入れるならあえて入れない方が良さそうかもしれません。
──以上のことから現代にCGI風ゲームを復活させる条件をまとめてみましょう。
- 長時間プレイヤーと短時間プレイヤーの差を埋める方法を考える
- インフレは避けられないので最初から大味の数値にしてしまうのもあり
- 実装言語はJavaScriptとNode.js or PHPでやる
- スマホを前提に作ってアクセスしやすい状況を作る
- 当時にはできなかった現実世界とのリンクがあると楽しそう
……考えれば考える程、CGIの進化版ってソシャゲなんじゃ?って思えてきました。
作ってみたらソシャゲでええやんってなりそうで何か怖いですね。
それでは。