あるみにメモ

技術的なメモをかくかもしれない

制作物紹介-1- ポ○ックブレンダーをSiv3Dで作ってみた

いままで作ってきたゲームなんかを紹介したいあるみにのお話。

人生初のゲーム制作がこれだったのだけど、大した知識がなくても出来ました。

単なるゲーム紹介と経緯や作り方についての二部構成?なので後者に興味がなくても前半だけでも見れると思われます。

簡単なゲーム紹介

ポ○ックブレンダー

ゲーム画面はこちら。


f:id:aluminum_pepe:20180715005835j:plain

DL…http://firestorage.jp/download/ae7798c76b070d22a8f15b4da633cb74236d5754

四か所にあるマーカーの位置と、回転するマーカーが重なるときに、対応するボタンを押す!

タイミングが完全であれば「◎」、まあ良ければ「○」、大きくずれていれば「×」の評価になります。

評価スコア

  • ◎……50
  • ○……10
  • ×……-10

え?それどこかで


1人で1つのキーを担当するようにすれば、最大四人でプレイできます。

イメージとしてはひとつのマシンを四人で囲んでやるイメージ。原作に忠実でしょ?

各種モードについて


みんなでブレンド

最もベーシックなモード。やったことがある人ならある。

◎~×の評価が四か所で合計され、総合スコアを出す。最後にスコアランキングも出るのでハイスコアを目指そう!

f:id:aluminum_pepe:20180715005854j:plain

(個人的に2000行けば大したものだと思います)

いちおうセーブデータがあるので一度閉じても読み込んでくれます

もちろん1人でやっても大丈夫。後述するが、コンフィグで1人プレイ推奨モードにするといい。


バトルブレンド

四か所それぞれのマーカーのスコアが個別にカウントされ、各箇所のスコアと順位を表示してくれる。

f:id:aluminum_pepe:20180715013154p:plain

(みんなでブレンドでも「Qキー」を押すことで個別の結果が見れてしまうので現状あまり意味がない)


コンフィグ

ゲームと言えばコンフィグを弄って自分好みにしたい。

f:id:aluminum_pepe:20180715012430j:plain

このゲームにそこまでの自由はないけれど、四方のマーカーに対応するキーパターンが二種類ある。


「W」,「P」

「Z」,「/」(スラッシュ)


の四種類でやる複数同時プレイモード。キーが離れてるだけ。

みんなで一台を囲んでやろう。多分邪魔にならない。

通信すれば複数人プレイできる時代、でも一台で複数人遊べたらなってことも、ありますよね?(言い訳)

2人で2キーずつ担当してもいいかも?


「F」,「K」,

「V」,「M」


の四種類でやる1人プレイ推奨モード。キーが近いから多分やりやすい。

都合よく複数人でできるわけねーだろ!!って思ってる人も4人分1人で遊べるのでお得かもしれない。

むしろハイスコアを狙いたいならこっちを無限に試行した方が良さそう。

作者はこっちばかりやってました。


マーカー君とはなす

あんまりにもパクオリジナリティにかける気がしたので、かわいいマスコットを用意。


f:id:aluminum_pepe:20180715013309j:plain

その名も「マーカー君」です。15秒で思いつきました


各モードの説明をしてくれたりお話してくれるので割と役に立っている。

f:id:aluminum_pepe:20180715013121j:plain

後述するが、オブジェクト指向っぽく書く練習として、こいつだけがクラスを使って書いてあります。

(すなわちほかはそうでない)

何度も話かけたくなる……よね???浅い作りこみを是非見ていってください。


f:id:aluminum_pepe:20180715020441p:plain


ダウンロード先URLはこちら↓↓

http://firestorage.jp/download/ae7798c76b070d22a8f15b4da633cb74236d5754

制作物をちょいちょい公開していく予定↓↓

http://aluminum0001.webcrow.jp/gamepage.html


人生初のゲーム制作

ここからは自分語り。

ゲームを作った経緯とかどんな風に作ったかを話しているのでゲームの紹介で十分な人はそっ閉じ推奨(?)

プログラミングもゲーム制作も経験がほとんどなかった最初、サークルの先輩方から教えてもらったのが「Siv3D」というライブラリでした。


Siv3Dとは?

github.com

以下引用

ゲームとメディアアートのための C++ ライブラリ

Siv3D は C++ で楽しく簡単にインタラクティブなアプリケーションを作れるライブラリです。

2D / 3D グラフィックスやオーディオを自在にコントロールし、KinectLeap Motion, カメラやマイクといった様々なデバイスを使った複雑なインタラクションを短いコードで書けます。

引用終わり。

てなわけでして、 リファレンスを見ればわかるとおり、画面上で図形を動かしたりがとても簡単で分かりやすく、少ない行でいろんなことができます。

もっというとこの先C++オブジェクト指向の勉強をしていく中で、このSiv3Dのライブラリとして持っている機能やクラス構造はとても参考になりました。


開発環境

VS(Visual studio)もサークルのオヌヌメだったもので。


経緯

作るための環境を先に決めていました。

なにをつくろうかな……

と思っていた時に、発売したのは「ORAS」。

リメイクうれしい~~~~~

ということは、あのミニゲームをもう一度できるのか……?あれ好きだったんだよな~~~~~


ポロックブレンダー廃止


どうして…


……



ないなら?



作ればいい!!!!!!!!!


ということで作ったという事です。

やっぱりパクリじゃないか

ただし、初めてのゲーム制作において、なにかを真似たり、 オマージュすることは作るべきゲームの形が明確になっていた分良かったとも言えると思います。

開発について

以下だらだらと。

とりあえずリファレンスを見たりググったりです。

「Siv3D 図形 回転」で検索したのはいい思い出、中心軸を指定して回転する"rotateAt()"がすごく役に立ちました(というかゲームの根本)

当たり判定がものすごく簡単に取れるので(insects)、評価も作りやすかったです。

魔王魂というサイトでSEや音源を無料で使わせてもらえたので、雰囲気も出たかと思います。


このときはシーン遷移はSwich文でした、一回しか呼びたくない処理を一回しか通らないcaseを作ってなんとかした覚えがありますね……

オブジェクト指向とかもよく考えてなくて、四か所の判定処理や図形は四回ほぼ同じ事書いてます()

コードをかくのに慣れてきてから「マーカーくん」をクラス構造で実装してオブジェクト指向っぽい練習をしています。

残念ながらあまり恩恵のない実装でしたが()、動かし方の勉強になりました。



あちこちに不備はみられるものの、

「タイトル」、「説明」、「サウンド」、「スコア評価」までした、作った中で一番まともなゲームだったりするのでちゃんとしてくれ自分。

そんなわけで作っていこうまるでいじってないままですが、腐らせるのももったいないので公開しておきます。

どうぞやってみていただけると幸いです。


ダウンロード

ダウンロード先(firestorage)はこちら↓↓(しつこい)

http://firestorage.jp/download/ae7798c76b070d22a8f15b4da633cb74236d5754

制作物をちょいちょい公開していく予定↓↓

http://aluminum0001.webcrow.jp/gamepage.html