ゲームプログラマー暇人日記

プロのゲームプログラマーが技術的な事から、そうじゃないことまで書いていきたいと思います。

Global Game Jam 2019に参加してきました。

1月25〜27日のGlobal Game Jam 2019に参加してきました。

全世界同じテーマで48時間でゲームを作るイベントです。

 

久々のゲームジャム参加でしたが、今回もリーダーをさせてもらいました。

『SPACE WORKER』というゲームをリーダー兼プランナーとして作りました。

宇宙船がコインを集め母船に持って帰ったら得点になる4人対戦ゲームです。

動画はこちら。

ダウンロードはこちら。

ゲーム自体もゲームのプロジェクトファイルも公開しています。

SPACE WORKER | Global Game Jam®

ツイートのまとめはこちら。

 

今回はGGJ2019でのリーダーとしての自分の動きや考えについてまとめてみます。

 

1月25日 テーマ発表

仕事が終わってから会場に向かいました。

会場についたのは19時ごろで、ちょうどGGJ2019テーマ発表の動画が流れる直前でした。

 

今年のテーマは『What home means to you.(意訳:あなたにとってhomeって何ですか?)』。

 

シンプルで応用がかなり効くやりやすいテーマでした。

Twitterでもツイートしましたが、テーマを聞いた時にはゲームが頭の中にありました。

こういうのはたまにある事で、以前、UE4ぷちコンの時も同じでした。

UE4ぷちコンの話はこちらにまとめてます。

UE4ぷちコン 進捗報告(4)『60 Seconds Shooting』提出完了しました - ゲームプログラマー暇人日記

 

テーマが発表されてからチーム分け終わるまでが約2時間は、同じチームメンバーになった人にゲームを説明するための仕様を考えてました。

最初に頭に思い浮かんだゲームの絵はコレです。

 

チーム分けの結果ですが社会人が自分だけでした。

リーダー・プランナー1人(自分)、プログラマー3人、モデル1人の5人チームとなりました。

今回は同じメンバーの人に知り合いがいなかったです。

開発する部屋に移動してから自己紹介を行いました。

自己紹介ではどれくらいのゲームジャムの経験があるのかとUE4の経験歴は教えてもらいました。

これはリーダーとしてゲームジャムでゲームを完成させるために必要な情報かと思います。

ちなみに自分は8回くらいゲームジャムやっていて、たしか最初の2回以降はずっとリーダーをやっています。

 

次に思い付いたゲームの内容説明しました。

金曜の夜にメンバーに説明したゲームの内容です。

  • 4人対戦のマルチプレイゲーム
  • トップビュー
  • 角に各プレイヤーのエリアがある
  • 真ん中にコインが出てきて、それを獲得してエリアに戻ると得点
  • コインを取れば取るほど動きが遅くなる
  • 自機は弾を撃てて、弾に当たると爆発してコインを落とす(コインを奪える)
  • 自機の得点は自機の上に出てるので、得点が高いやつを狙うと有利
  • コインの上に何点のコインなのかを表示する
  • 残り30秒とかで得点2倍になる

総得点をどこに出すかとかはこの時まだ考えてませんでした。

スマブラっぽく下に並べて出すのも1つの案にありました。

ほとんどの仕様は最後まで変更しませんでした。

最終的に完成したゲームと違うところは

  • コインの枚数を自機の上に出すのではなく、自機に重ねて出すようにした
  • コインの上に点数を書くのではなく、コインが散らばるように出るようにした
  • 残り30秒とかで得点2倍ではなく、コインを出す量を徐々に増やすようにした

くらいです。

といっても土曜日の朝には上記の仕様変更は説明してて、そこから考えてもあまり変更は無かったかと思います。

 

リーダーとして参加した時点で

『ゲームは遊べる状態に完成させる』

は決めていました。

これはリーダーとして毎回決めていることです。

特に出来上がった作品は学生が就職活動に使うだろうし、未完成のままにする事は出来ない。

あと、動画でも面白さが伝わるゲームっていうのは目指していました。

いや、やってみないと分からない面白さってあるの知ってますが、そんなゲームは一般ウケしないんですよ。

わかりやすさって大事!

 

その後、みんなでファミレスに行って、作るゲームのキャラクターをどうするか話し合いました。

ルールを決めただけで、別にどんなキャラクターでも良いと思ってました。

上から見てわかりやすい形、弾を撃っても不自然じゃないという理由から世界観は宇宙で宇宙船が撃ち合って、母船にコインを持って帰るという事になりました。

他にもいろいろと決めた気がします。

「明日は9時に集合」という話をして帰りました。

 

1月25日 帰宅以降

キングダムハーツ3の発売になので、ゲームやってました。

と、言いつつもGGJの仕様もキチンと考えもいました。

  • 総得点の表示
  • 宇宙船の上に重ねて得点を出す(仕様変更)
  • 宇宙船の形の原案
  • 母船の原案
  • タイトル画面
  • ゲーム終了時の画面デザイン
  • 土曜の朝の仕様説明
  • α版用のシンプルモードの仕様作成
  • シンプルモード用の自爆ルール
  • その他いろいろ。

もっというと、土曜の朝にホワイトボードのどの部分に何を書くかまで決めてました。

もっともっというと、土曜日に誰がどの部分の処理を担当するのか、何時頃にどの仕様まで実装するのが目標かまで決めてました。

実装が遅れていたら自分が手伝って作るつもりでしたが、メインプログラマーをやってくれた学生さんが全て自分が勝手に決めていた想定時間よりも前に実装を行ってくれたので、結果的には自分が手伝うことはほぼありませんでした。

 

仕様で結構迷ったのは、『宇宙じゃなくて人間の方が面白かったかな?』ということです。

コインじゃなくてお金を奪い合った方が面白いゲームになるかなと。

基本、奪い合う対戦ゲームとかどう転んでも面白いんですよね。

この案は土曜の朝にちょっとだけ触れるのですが、宇宙船でそのまま行くことに決めました。

ここでキャラクター性を曲げるとモデルさんが混乱するでしょうし。

 

あとはメンバーにも説明してないですが、追加仕様考えてました。

  • 1位のプレイヤーが大きくなる
    これは逆転が起きやすいようにする仕組みです。
    弾に当たりやすくなる。

こちらもメンバーには説明していないですが、アイテムの仕様もいくつか考えていました。

  • 自機がボムを使って一定範囲内のほかプレイヤーを倒せる
  • 一定時間動作が早くなる

などなど5種類くらいは考えたかと思います。

余裕があればここまで入れようかと思ってましたが、入れるとルールがややっこしくなるので、やめてよかったと思ってます。

こんな感じでただ考えて頭の中でボツにしたアイデアはいっぱいあります。

1時ごろまでゲームして寝ますってツイートしてますが、実は3時くらいまで仕様考えてたと思います。

ただ、ゲームしてゆっくり寝てるわけじゃないですよ。

 

1月26日 ゲーム開発

土曜の朝は9時集合と言いながら、15分くらい早めに来ました。

着いてビックリしたのはメインプログラマーが会場に泊まってました。

前日に帰っていいと言っておいたのですが、家が遠いとのこと。

先に言ってよw。

 

前日の夜に考えていた、ホワイトボードに仕様の書き出しをしました。

書き出したホワイトボードはすべて公開してます。

9時半くらいに仕様を改めて説明しました。

帰宅後に考えた仕様も含めて説明しています。

この時、19時から始まるα版の発表に合わせた仕様(通称:シンプルバージョン)も説明しています。

 

実はモデルさんから「昨日の夜に宇宙船の案を考えてきました」と報告を受けたのですが、考えてくれた案をボツにしました。

考えてくるとは思ってなかったのでナイスガッツです!

できればそのまま入れたかったのですが、宇宙船の上にポイントを表示する機能が満たせないデザインだったので。。。

金曜日の夜の段階ではポイントを宇宙船の上に出す予定でしたが、土曜日の朝の段階では重ねて出したほうがゲーム的に良いと考えていました。

その場でこんな感じで、あとのデザインは任せます!って指示しました。

 

土曜日は

  • メンバーに指示
  • 仕様から機能の抜き出し
  • メンバーが作った機能チェック
  • 調整
  • 相談
  • α版発表資料作成

などなどをやってました。

気を使っていたのは『メンバーが止まらないこと』。

ゲームジャムは時間が少ないので、メンバーの作業が止まってしまうのがマズイです。

そのため、「30分止まったら相談して!わからないことがあったら相談して!」って言って作業を進めてました。

そうは言っても、初めて会った人ですし、日本人はだいたい話しかけないことを色んなゲームジャムに行って知っています。

ということで、30分以上発言が無かったり、詰まってそうな人がいたら、

「今何してる?」「困ったことない?」とか話しかけていました。

 

と言いつつも、実装やってなかったので結構時間的には余裕がありました。

自分が何も実装しないゲームジャムは初めてだったので、こんな時間ができるのかと驚いていました。

暇すぎて途中alweiさんとスマブラSPしてボロ負けしてました。

 

19時のα版(シンプルバージョン)の時点で遊べるゲームができていたので、かなり安心していました。

α版の発表が終わってからは最終版に向けての作業を説明しました。

ここで重要だったのが優先度付けだと思います。

何があれば遊べるゲームになるのか。

どれが重要なのかを決めてしまうことで、プログラマーが迷うことなく作業を進められると思います。

自分の本職がプログラマーなので、自分がこんな感じで指示がほしいということを優先的に考えて他メンバーに指示しました。

 

別件ですが、20時くらいに主催のalweiさんから

「暇やったらボードゲーム作ったら?」

って言われて、マジで作ることにしました。

というのも、参加時に

ボードゲーム作りたいです。』

って書いてたんですよね。

 

土曜日は22時過ぎくらいに帰りました。

GGJに参加して土曜日に帰るのは初めてでした。

 

1月26日 夜編

基本的にはボードゲームの仕様考えてました。

作ったボードゲームについては解説する気はないので、知りたい方は一人で作ったボードゲームの解説動画で確認してください。

 

メインで作っていたゲームについても考えていました。

土曜日の朝に仕様を出して、そのチェックや自機の速さ、爆発時間の調整まで自分でやってしまった事をちょっと反省してました。

進捗を最高に出す!という意味では正しい行動だったかと思いますが、学生にやらせた方が経験になったかなと思ったりしてました。

ただ、ゲームジャムの経験が浅い人に任せすぎてゲームが完成しないというのは嫌でした。

α版までは完成しているので、あとの調整は学生さんに任せようと思って日曜日の指示の方向性を決めました。

結果、コインの排出量とかは決めてもらいました。

ただ、暫定で自分で決めてしまったことが、そのまま使われてしまっているのが多いかと思います。

何枚で自機が遅くなるかは、多分自分が暫定で言った値が使われちゃってますね。

この日も3時くらいまでいろいろと考えてました。

 

1月26日 ゲーム開発

朝到着してから、すぐに夜の間に作業進めてもらってた実装の確認をしました。

その時点で『ベータ版の発表をどこまで行うか』というのを決めました。

 

日曜日は

  • メンバーに指示
  • メンバーが作った機能チェック
  • 機能実装
  • 調整
  • 相談
  • β版発表資料作成
  • 最終発表資料作成
  • ボードゲーム作成
  • ボードゲーム発表資料作成

 などなどをやってました。

 

やはりゲームジャム最終日はバタバタしますね。
ボードゲームの作業が余計でしたw。
土曜日くらい余裕があるかなと思っていたのですが、正直余裕は無かったです。

 

ほぼ全てのバグが修正されたのは15時前くらいでした。
時間的にはギリギリでしたが、間に合ってたという意味ではとても順調だったと思います。

 

最終的に出来上がったゲームが自分の最初の想定と違うことはよくあると思います。
いくつか想定と違うところはあったのですが、すべていい方向に転びました。

  • 母船絵は一枚絵のつもりだったが、回転しているようになった。
    →絵として分かりやすくなった。
  • 8秒で自機が爆発するシステムはシンプルバージョン用で最終的にはなくなっている想定だった。
    →8秒で絶対帰らなければいけなくなり、コインを取りすぎると帰れない事がある良い難易度になった。
  • 宇宙船が爆発したときにコインは周りに生成されるだけの想定だった。
    →中心から破裂するように生成されるようになっていた。
     宇宙船が隣接している状態で宇宙船を倒したときに分散する前にすべてのコインを奪えるようになっていた。
  • 宇宙船と宇宙船がぶつかるようになっていた。
    →弾を撃てない状態でも他のプレイヤーの足止めが可能になった。

などなどです。

 

その後は成果発表会やって、みんなで作ったゲームやってという流れです。
同じ会場で作られた他のチームのゲームだと、『New Life』が面白かったです。

New Life | Global Game Jam®
アーケードコントローラーが2つ必要なのですが、操作のし辛さを逆手に取ったゲームデザインは面白いと思います。


あと『Rabbit, Go Home! Escape From Hunter!』も面白かったです。

Rabbit, Go Home! Escape From Hunter! | Global Game Jam®
もうね、絵が卑怯w。
あんなん笑うってw。

 

他にも面白いゲームはいろいろありましたが全部紹介はできないので、こちらからやってみてください。

全作品が公開されています。

【GlobalGameJam2019 in Osaka】バンタンゲームアカデミー大阪会場 | Global Game Jam®

 

1月26日 飲み会!

GGJ終わってからは23時頃まで飲み会!
まぁ、飲みますよね。
いつものメンバー感がかなり強い飲み会でした。

ゲームジャムのことやゲーム業界のことやゲームのことなどいろいろと喋ってました。

 

帰宅後、夜はアドレナリンが出まくっててなかなか眠れなかったです。

 

GGJの感想

久々にGGJに参加しましたが、とても楽しかったです。

リーダー兼プランナーとして動きましたが、どういう指示を出せばいいかとか、メンバーが動きやすいようにするにはどうすればいいかとか、普段とは少し違った視点で動くのは面白いなと思いました。

仕事ではプログラマーですが、プランナーってこんな事考えながら進めるのかとか新しい発見がありました。

仕事ではこんな経験できないですかね。

同じメンバーが楽しめていたり、満足できていれば嬉しいです。

また参加したいなー。

2018年プレイしたゲームまとめ

毎年恒例の1年でプレイしたゲーム一覧です。

赤字がクリアまでプレイしたタイトル、黒字が途中までプレイしたタイトルです。

 

1月

オーディンスフィア レイヴスラシル

Crypt of the NecroDancer

GRAVITY DAZE 2
MONSTER HUNTER: WORLD

2月

勇者のくせにこなまいきだDASH

FINAL FANTASY VI
ワンダと巨像

3月

ペルソナ5

FORTNITE

ゼルダの伝説 ムジュラの仮面

Burnout Paradise Remastered

4月

シルバー事件

428 〜封鎖された渋谷で〜

5月

God of War

Nintendo Labo Toy-Con 01: Variety Kit

シルバー事件25区

ゼルダの伝説 神々のトライフォース

ゼルダの伝説 時のオカリナ3D

ダンジョンメーカー

6月

Bloodstained: Curse of the Moon

Detroit: Become Human

スプラトゥーン2 オクト

マリオテニスエース

7月

聖剣伝説2

8月

Braid

9月

オクトパストラベラー

THE MESSENGER

Gorogoa

Marvel's Spider-Man

10月

INSIDE

Undertale

ASTRO BOT

セブン・ビリオン・ヒューマンズ

Red Dead Redemption 2

11月

DELTARUNE

florence

リバーシエスト2

12月

GOD EATER 2 RAGE BURST

大乱闘スマッシュブラザーズ SPECIAL

ラピス・リ・アビス

Celeste

 

2018年ゲームベスト3

2018年でプレイしたゲームは41本、クリアしたゲームは30本でした。

というか、今年1年は仕事が落ち着いていたのでなるべくゲームしたいと意識して過ごしてました。

プレイしたゲームの本数が増えて嬉しい限りです。

ちなみに

2017年でプレイしたゲーム28本、クリアしたゲームは24本、

2016年はプレイしたゲーム34本、クリアしたゲーム23本、

2015年はプレイしたゲーム34本、クリアしたゲーム14本でした。

 

2018年最も面白かったゲームは『ASTRO BOT』です。
VRゲーム初期時代の完成形かと思います。
VRでしかできない体験、面白さが追求されていました。
面白さに感動しすぎて、一気にプラチナトロフィーを取るまでプレイしてしまいました。

 

2位は『MONSTER HUNTER: WORLD』。
今年一番遊んだゲームです。
今までのモンハンシリーズで不満を感じるところを取り除き、正当進化したからこそ世界で受け入れられるタイトルになったのかなと思います。

FF14ベヒーモスコラボとかも今までのモンハンシリーズでモンスターがコラボしたことなかったので驚きました。

 

3位は『Marvel's Spider-Man』。
本当に映画の世界に入り込んだような感覚になりました。

ゲーム中の見た目はかなりすごいのですが、プレイヤーの操作としてはなるべくシンプルになるようになっていました。

街を移動しているだけで楽しいと思えるゲームでした。

 

今年はいろんなゲームをやったので、他にも

ペルソナ5God of Warダンジョンメーカー、Detroit: Become Human、Braid、オクトパストラベラー、THE MESSENGER、Gorogoa、大乱闘スマッシュブラザーズ SPECIAL……

あたりのゲームは本当に面白かったです。

プレイ時間だけでいうとモンハンワールドの次に長いのはダンジョンメーカーですねw。

一時期めっちゃハマっててやりまくってました。

あの中毒性はヤバイです。

 

2019年に期待しているゲーム 

来年は『モンスターハンターワールド:アイスボーン』、『SEKIRO: SHADOWS DIE TWICE』、『Days Gone』に期待しています。

SEKIROは体験会でプレイしましたが、想像通りの高難易度!

アクションゲームとして手触りよかったです。

Days Goneはゾンビの制御がすごかったのでプログラマーとしてもかなり注目しています。

 

来年も楽しいゲームで遊べる事を期待しています。

BitSummit Vol.6に行ってきました

BitSummit Vol.6に行ってきました。

 

プレイした中でいくつか注目したゲームを紹介します。

 

①RPGタイム!〜ライトの伝説〜 

RPGタイム!~ライトの伝説~ by DESKWORKS

小学生の時に友達とノート上でゲームを再現した遊びをそのままゲーム化したような作品。

細かいところまで作らててかなり好きです。

子供の時の夢が詰め込まれている感じがしました。

Twitterでネット記事へのリンクを見かけて知ったのですが、会場内でも凄いと話題になってました。

まだYouTubeとかにPV動画上がってないっぽいので、開発者のGIF画像紹介。

こんな感じです。

自分がこのゲームを知った記事はこれです。

 

②BATTLLOON - バトルーン

見たらわかる、おもしろいやつ。

シンプルに左スティックとワンボタンしか使わないゲーム。

これ学生さんが作ったって聞きました。

こういうのゲームジャムとかで作りたいなーとか思っちゃった。

発想の勝利!

ゲームとしてもとても良く出来ていて面白かったです。

 

③The Messenger

PVよりもプレイ動画の方が分かりやすかったのでそちらで紹介。

8bitと16bitを切り替えながら進む忍者アクションゲームです。

青いゲートを抜けると8bitと16bitが切り替わり、ステージが一部変化します。

それによって通れなかったところが通れるようになったり、敵の配置が変わったりして先に進めるようになる感じです。

切り替わるのは絵やステージ構成だけでなく、音も変わっててとてもこだわりを感じました。

 

BitSummit全体を通しての感想ですが、ドンドン外国の方が増えていますね。

まぁ、増える事自体は良いんですが、日本にももっとインディーゲームはいっぱいあるので、日本のインディーゲームも紹介してほしいです。

また新しい発想のゲームができることを期待しています。

 

 

ゲーム紹介(6)『ゼルダの伝説 ブレス オブ ザ ワイルド』

ゲーム紹介第6弾。

まずはPVをどうぞ。

 

このゲームをクリアしてから、いつかブログで書かなければいけないと思っていたゲームです。

2017年で間違いなく1番面白かった。

いや、今までプレイした数百本のゲームの中でも1番面白かったと言っても過言ではない面白さでした。

ぜひプレイしていただきたい1本です!

 

知らない世界に行ってみるのってこんなに面白かったのか!

って再認識させられるゲームでした。

  • 目の前に崖がある。
  • 崖を登るのは大変そうだから、迂回する。
  • 迂回すると祠が見つかる。
  • 祠に近づいてみると、塔が見える。
  • 塔を登ってみると村が見える。
  • 村に着くと、村の上の方に滝がある。
  • 滝の方に行ってみると……。

という感じでもう、気になるところに行き続けてしまうゲームでした。

ホントにこのゲームの世界の中で歩いていました。

それが楽しすぎました。

例えるなら、旅行で知らないところに行って気になるところに向かって歩き続けてたら、気になったところに着いた時に絶対に面白いことが起こる感じです。

オープンワールド(オープンエアー)ってスゲェ、任天堂ってやっぱりスゲェと思わされました。

 

CEDECの公演であった『フィールド三角形の法則』をそのまま受けて、衝撃が走りました。

リンクを紹介しておきます。

クリエイターなら読むべきです。(できればクリア後に読むことをおすすめします。)

 

今作のゼルダでは、ほぼすべての壁を登る事ができるというのが特に衝撃的でした。

スタミナ切れで登れないということはあるのですが、基本的にどんな壁も登れます。

ゲームでよくある透明な壁を感じる事が無かったです。

透明な壁は『あー、やっぱりゲームだよなぁ』って認識させられるのですが、そういうゲームならではの仕方なかったルールがなくなったことによって、よりゼルダの世界に入り込めたのだと思います。

 

ゼルダは発売日に買っていたのですが発売された頃は別のゲームをプレイしていたため、ちょっと遅れてゴールデンウィーク頃にゼルダをプレイしました。

ゴールデンウィークは実家に帰っていたのですが、実家のリビングでずっとやってました。

1日10時間くらいやってたので、ほんとに実家に帰った意味あったのかな?って思うくらいです(笑)。

親はゲームに興味が無い方なのですが、ゼルダの画面を楽しそうに見ていて、祠の攻略では『こうやったらできるんじゃない?』とか言ってきました。

その時、『ゲームに興味がない人に興味を持たせるなんて凄い』と感じてしまいました。

そして、大阪に戻る電車の中で風景を見て、『あ、この崖はリンクなら登れそう』とか思ってしまっていました。

ほんとにゼルダの事ばかり考えている時期でした。

 

ゼルダの当たり前を見直す』

今作で言われていた言葉です。

そのため、過去作にあった瓶とかフックショットとか長いダンジョンとかなくなってますね。

素晴らしい判断です。

今までのゼルダも何本かやっていますが、長いダンジョンが長すぎてダレてしまった物があります。

時のオカリナとか、もう何年も積みゲー状態です。

今作は面白すぎて全く積む事なく一気にクリアしてしまいました。

面白さの本質は長いダンジョンをクリアすることではないと思わされました。

 

今作は敵の数が少ないです。

他にも減っているモノが色々あり、種類が少ないなと感じるところがありました。

が、ボリュームはものすごくあります。

これは数が減ったのではなく、最終的にできる事が増えた結果だと思います。

どういうことかというと、オブジェクトの種類としての数は減っているのですが、影響を与える相互関係が増えているということです。

  • 木を剣で攻撃すれば木が倒れ、それを足場にして渡れます。
  • 倒れた木を攻撃すれば薪が出来ます。
  • 薪の近くに火打ち石を置き、攻撃すれば火が付きます。
  • 薪に向かって炎の矢を撃っても火が付きます。
  • 火に向かってアクションを起こせば時間を進める事ができます。
  • 火の近くにリンゴを置けば焼きリンゴが出来ます。
  • 火の上には上昇気流が生まれていて、パラセールで上昇出来ます。

それぞれのオブジェクトは1つの役目を持っているのではなく、他のオブジェクトと組み合わせて使うことで色々な使い方ができる。

これがボリュームがものすごくあると感じている大きな理由です。

引き算はしたけど、残っているもので掛け算しているため、ボリュームとしては増えている。

そういう仕組みになっているからこそ、『こうしてみたらどうなるんだろう?』という疑問が産まれ、実際にやってみたら期待通りor期待以上の結果が返ってきた時に『面白い!だったらこれはどうなるんだろう?』という感情が産まれるのだと思います。

それが連鎖的に起こることで連続して面白さを感じ続ける事ができる。

すごいゲームです。

 

不満点はハッキリ言ってあります。

1番思ったのは操作がしにくいです。

XボタンでジャンプでBボタンでダッシュって、結構特殊だと思うんです。

他のゲームには無い操作性。

ボタン間違いで死んでしまう事も結構ありました。

不満です。

が、そんな不満を軽く上回る面白さと満足度でした。

そもそも自分が加点でゲームを考えていて、減点でゲームを考えないというのがあるかもしれません。

 

今回書いたのは自分が面白いと感じたところのごく一部であって、全てではありません。

というか、全ては書ききれないレベルです。 

オープンワールドのゲームの基準がこのゼルダになると、次のゲームはかなり厳しいなと思ってしまうレベルで面白かったです。

この面白さを越えるゲームはあと数年は出ないと思いますね。。。

このゲームを参考に、さらに面白いゲームが開発される(開発できる)事を祈っています。

紅白歌合戦の投票システムが気になる

年末『紅白歌合戦』を見ていました。

楽しく見ているのですが、毎年やってる紅組・白組の勝ち負けを決める投票システムが気になってしまって、ちょっと雑談っぽく書いています。

 

2016年の結果について

まずは前々回の結果です。

紅組が勝ちました。

投票システムはボールの数で勝敗でボールはそれぞれ下記の通りでした。

  • 特別審査員が1つずつ
  • 会場の観客投票で多かった方にボールが2つ追加
  • 視聴者審査で多かった方にボール2つ追加

結果は下記の通りです。

最悪の結果だと思うのですが、会場投票も視聴者投票も白組が買っていたのに、特別審査員が紅組に固めて入れたため紅組が勝ってしまってます。

もうね、一般視聴者の意見が一切入らない出来レースじゃねーかと。

こんな結果になるんなら特別審査員だけで優勝決めろよ。

って思ってました。

 

2017年の結果について

ここからは昨日あった紅白歌合戦の話なのですが、投票システム変わってました。

まぁ、そうでしょうね。

というか、2016年の結果になったのに投票システム変えないのはあり得ないだろうし。

2017年の投票システムですが、それぞれ下記の通りでした。

・特別審査員、会場の観客投票はすべてのアーティスト終了時に1票

・視聴者は紅白のアーティストが1戦1戦勝負になっていて、1戦終わるごと紅白の良かったた方に投票する

結果は下記の通りです。

約80万票差で白組が圧勝しています。

数えてみたら視聴者は22回も投票を行うタイミングがありました。

このルール、ほとんど視聴者の結果で決まるってことですよね?

視聴者の投票はどっちでも良いってことなので、白組を絶対に優勝させたい人はアーティストに関係なく22回白に入れるでしょう。 

それぞれの問題点

2016年だと特別審査員が圧倒的な力を持っていました。

2017年だと1人あたり視聴者 が特別審査員・会場の観客の22倍の票を持っています。

それぞれ、票の重みがちがいすぎるんですよね。

2017年の方法で投票を番組終了のタイミングだけにしたとした場合は票の重みは同じになります。

ただ、紅白って毎年同じ人が出ている事が多いじゃないですか。

ということは2017年の投票方法や完全に票の重みを同じにした場合は毎年のように白組が勝つことになりそうなんですよね。

解決方法

解決方法考えました。

勝ち負けつけるの止める。

もうそれでいいんじゃない?

この投票気にしている人あんまりいないと思うんですよね。

ダメ?

じゃあ、

みんな票の重みを同じにしてしまう。

この方法だとさっき書いたように毎年のように同じ組が勝ちそうですが、いいでしょ?

ダメ?

じゃあ、

たまに2016年の方法を入れて作為的にそれぞれの組が同じくらいの勝数になるように調整する。

この方法ですかね?

ダメ?

2017年プレイしたゲームまとめ

年末にインフルエンザにかかってしまいました。

まだまだ記事編集中ですが、毎年恒例にしているので投稿だけしておきます。

と言うか、元々書いていたところまでを投稿します。

 

1/4更新

まとめを更新しました。 

書き漏れていたタイトルも追加しました。

 

赤字がクリアまでプレイしたタイトル、黒字が途中までプレイしたタイトルです。

 

1月

罪と罰 宇宙の後継者

2月

ダンガンロンパV3

FINAL FANTASY XV

GRAVITY DAZE

3月

GRAVITY DAZE 2

4月

Horizon Zero Down

NieR:Automata

The Unfinished Swan

5月

ゼルダの伝説 ブレス オブ ザ ワイルド

キングダムハーツバースバイスリープファイナルミックス

6月

ヒューマンリソースマシン

ARMS

Farpoint 

7月

キングダム ハーツ ドリーム ドロップ ディスタンス HD

キングダム ハーツ キー バックカバー

キングダム ハーツ 0.2 バース バイ スリープ -フラグメンタリー パッセージ-

Splatoon 2

8月

ドラゴンクエストXI 過ぎ去りし時を求めて

大逆転裁判2

FINAL FANTASY VI

9月

アンチャーテッド 古代神の秘宝

10月

V!勇者のくせになまいきだR

グランツーリスモSport

スーパーマリオオデッセイ

11月

UNDERTALE

12月

ゼノブレイド

SUPER HOT

オーディンスフィア レイヴスラシル 

 

2017年ゲームベスト3

2017年でプレイしたゲームは28本、クリアしたゲームは24本でした。

毎年クリアゲーム本数25本を目標にプレイしているので、ほぼ目標通りのクリア本数ですね。

ちなみに2016年はプレイしたゲーム34本、クリアしたゲーム23本で、

2015年はプレイしたゲーム34本、クリアしたゲーム14本でした。

 

2017年最も面白かったゲームは『ゼルダの伝説 ブレス オブ ザ ワイルド』ですね。

今年どころか、今までで最も面白かったゲームと言っても過言ではないです。

圧倒的でした!最高でした!

 

 2位は『ドラゴンクエストXI 過ぎ去りし時を求めて』ですね。

JRPGの王道のドラクエ

やはりストーリーとゲームバランスが良かったです。

ドラクエシリーズは半分くらいクリアしていますが、今までプレイしたドラクエの中では1番好きですね。

あと、この物量なのに修正アップデートを全く行っていないのが凄い。

 

3位は『Farpoint』です。

ガンコンに対応したVRゲームです。

例えて言うなら遊園地のアトラクションが自宅でできるレベルの面白さです。

ガンコン使わないと楽しさは全く味わえないと思います。

発売当初はAmazonガンコンの在庫がなくなってて、手に入れるために実店舗まで行ったなー。

 

2017年も面白いゲームがたくさんありました。

 

2018年に期待しているゲーム 

来年は『モンスターハンターワールド』、『ドラゴンボール ファイターズ』に期待しています。

特に楽しみにしているゲームはモンスターハンターワールドです。

β版プレイしましたが、やはり面白いですね。

ドラゴンボール ファイターズはアニメがそのままゲームになったような感じでPV見た時に興奮しました。

いやー、凄いわ。

 

来年も楽しいゲームで遊べる事を期待しています。

ぷちコンで作ったPC用ゲームをAndroid対応してみる

 この記事はUnreal Engine 4 (UE4) Advent Calendar 2017の22日目の記事です。

今回はUE4ぷちコンで作成したPC用ゲーム『60 Seconds Shooting』をAndroidに移植する話です。

『60 Seconds Shooting』はこんなゲームです。

 PC版は無料ダウンロード出来ますので、詳しくはこちらを参照してください。

 

行ったAndroid対応ですが、下記の順番でやってます。

  1. Andoridで動かしてみる
  2. システムとして問題がある部分を修正する
  3. ゲームとして問題がある部分を修正する

 Androidで動かしてみる

もちろん、Andoridで動かないことには話になりません。

ということで、Androidで動かしてみます。

と言っても、昔UE4からAndroidのアプリを吐き出す対応を行っていたため、ここでの作業はあまりありませんでした。

Androidの開発環境が準備できていない場合は

Unreal Engine | Android クイックスタート

を参考にAndroidの開発環境を構築してください。

 

作業を始める前に一応、プロジェクトのバックアップを取って作業を取っておきます。

これは別に必要の無い作業でしたが、バックアップの安心感はありますよね。

 

プロジェクトの設定を変更します。

ハードウェアをモバイル/タブレットに変更する

グラフィックレベルをScalable 3Dまたは2Dに変更する

f:id:hima_zinn:20171215230151p:plain

ETC1フォーマットで出力します。

f:id:hima_zinn:20171215230203p:plain

これだけでAndroid用のアプリケーションファイルが出力されます。

とても簡単です。

マルチプラットフォーム開発環境万歳! 

 

次に出力したアプリをAndroid端末に入れます。

PCとAndroidを接続した後、AndroidがPCで認識されているか確認します。

コマンドプロンプトから

『adb devices』

で端末が認識されていることを確認します。

もし端末が認識されていない場合はドライバが入っていない可能性があります。

『端末の機種名 adb ドライバ』などで検索し、ドライバを入れてください。

adbがうまく動いていない場合は

adbの停止『adb kill-server』コマンドを行った後、

adbの起動『adb start-server』コマンドを行うとうまくいくことがあります。

その後は

Install_SixtySecondsShooting_Shipping-armv7-es2.bat

を実行するとAndroidスマホにアプリが入ります。

f:id:hima_zinn:20171215230223p:plain

あ、もちろんただ確認するだけならデバイスを選んで起動してもOKです。

f:id:hima_zinn:20171215232943p:plain

でも、最終的にはアプリとして出力しなければいけないので、先に正しく出力できるかは試しておくべきかと思います。

 

 システムとして問題がある部分を修正する

Andoridで動いたらゲームを遊んでみます。

しかし、『60 Seconds Shooting』の場合は即問題が発生してゲームが遊べませんでした。

タイトル画面からゲームを開始する方法を

キーボードのスペースキーを押すorコントローラーのStartボタンを押す

しか対応していませんでした。

そのため、タイトル画面から次の画面に行く方法がありません。

 

PCとAndroidで処理を変える必要があります。

プラットフォーム別に処理を変える方法ですが、

『Get Platform Name』ノードを使用します。

Get Platform Name | Unreal Engine

返り値はプラットフォーム名で

WindowsMacIOSAndroidPS4、XboxOne、HTML5Linux

が返ってきます。

IOSが大文字なので注意が必要です。

今だとSwitchとかも返ってきそうですね。

 

今回はGUIWidgetの部分で処理を変えています。

とりあえず、こんな感じです。

f:id:hima_zinn:20171215230238p:plain

PC版では文字を表示してキーボードorコントローラーのボタンでゲーム開始、

Andorid版ではボタンを表示して押したときにゲーム開始にしました。

それぞれ下記の見た目になります。

PC版

f:id:hima_zinn:20171215230303p:plain

 Android

f:id:hima_zinn:20171215231524p:plain

『60 Seconds Shooting』に関してはこの対応くらいで他にシステムとして問題があるところはありませんでした。

もし処理負荷が高い場合は処理負荷の軽減対応なども必要になります。

 

 ゲームとして問題がある部分を修正する

ここまでゲームとして動くようになったので、テストプレイを行いました。

調整を全く行っていない状態でのNexus 5での実機プレイ動画です。

これは難しい。。。

PC版でコントローラーで遊んだら慣れた人なら3分くらい遊べるように調整を行ったのですが、スマホでは操作性が悪すぎて19秒で死んでしまいました。

何回もプレイしたのですが、平均30秒くらいしか生き残れませんでした。

特にタッチパッドになったことによって指の部分が隠れてしまい、

指の下から来る敵に気付いた時には当たってしまいます。

PC版と同じ難易度にしてしまうとかなり難しいゲームになってしまうことがわかったので、Android用に調整することにしました。

 

敵の動きの速度を経過秒数に応じて変更することを試してみました。

敵の動きをゲーム開始時に今までの半分の速度にして3分経過時にPC版と同じ速度になるようにだんだんと早くするようにしてみました。

こちらが難易度調整後のNexus 5での実機プレイ動画です。

90秒ほど生き残れるようになりました。

まだ調整がかなり荒いところはありますが、これでゲームとして遊べる形になったかなと思います。

単純に敵の動きを遅くしたため、ステージ上に敵が想定よりも多く出てしまっています。

PC版と同じプレイ感になるようにするには、敵の出現数の調整もまだまだ必要そうです。

 

 最後に

このゲームは最初の企画段階からぷちコンに提出するためにPC版を作るだけではなく、あとでスマホ版対応を行う予定でした。

初めからなるべく移植しやすいように作っていたので、システムとして変えなければ行けない部分が少なくて助かりました。

PCとスマホの両対応するアプリを作る時はキーボードやコントローラーボタンのみの操作をなくしておいた方が簡単です。

また、処理負荷に関してはなるべく早めに考えておいた方が楽ですね。

ゲームとしての調整は実際にプレイしてみないとわからないところが多そうです。

マルチプラットフォームでの開発では操作性の違いから難易度が大きく変わってしまい事があるので注意が必要です。

このゲームはapkファイル化までは行ってゲームとしては作成できたので、時間があるときに残りの難易度調整を行って署名つけて公開しようと考え中です。

 

明日はじゅる (@xxJulexx)さんのUE4+Arduinoでいろいろとです。