トマトの期限が切れそうな人のためのバンブラP曲紹介

=前置き=

 バンブラPを初日に買ってトマトもその月にゲットした人は今月(3月)でトマトの期限が切れるはずなので、自分がダウンロードして楽しかった曲などを紹介しておきたい。

 バンブラDXからの移植曲以外は公式サイトで試聴ができるので、そちらは試聴リンク付き。また、投稿者によって曲構成や難易度なども変わるので、実際にダウンロードする際は投稿者情報にも注意。

=弾いてて楽しい曲=

 まずは順当に「弾いてて楽しい曲」をリストアップ。どのパートもそれなりに楽しめるものを優先してみた。


曲名 アーティスト 投稿者 試聴
ダイナマイト →Pia-no-jaC← ダイズがヤバイ リンク

 とにかく曲がかっこよく、弾いてて楽しい。テンポ変化があり、中盤にタイミング的に難しいところがあるものの、トータルで見れば十分に楽しめると思う。
 「ピアノ1」がやや難しく、「ピアノ4」がややヒマ&単調以外なところ以外は基本的にどのパートもオススメ。特に(前述以外の)ピアノ系は一通りオススメで、さらに「ピアノ5」が特にオススメ。


曲名 アーティスト 投稿者 試聴
眠り姫 SEKAI NO OWARI あがるさがる リンク

 テンポ変化が強いものの、影響を大きく受けるのは「ロックドラム」くらいで他の部分はそこまで影響を受けず楽しめる。逆に言えば、「ロックドラム」の演奏を選んでしまうとテンポ変化の影響を大きく受けて、その余波が他の楽器にまで波及しやすい。
 ということでオススメは「ロックドラム」以外。やや単調だったり序盤がヒマなものもあるが、どのパートもそれなりに楽しめると思う。


曲名 アーティスト 投稿者 試聴
DIRTY ナイトメア にゃーち リンク

 サビの出入りでテンポ変化があるが、慣れれば十分に対応できるレベル。全体的に難易度がやや高めだが、どれも弾けると楽しいタイプ。
 「バイオリン2」はわりとヒマなハモりなのでそれ以外がオススメ。


曲名 アーティスト 投稿者 試聴
そしてパレードは続く Plastic Tree てるみ なし

 曲の速度がわりとスロウで曲自体も長く、演奏が単調なパートも多いが曲が好きであれば十分に楽しめると思う。また、難易度がかなり低いので操作はプロを推奨。
 「ビブラフォン」がサビでヒマする以外はどのパートもそれなりにオススメ。


曲名 アーティスト 投稿者 試聴
スーパータップ リズム天国 よっしゅ なし

 リズム天国プレイヤーにはお馴染みの曲。テンポ変化があるものの途中から微妙に高速化するだけなのでほぼ問題ないレベル。
 「ロックドラム」がやや難しいが、基本的にはどのパートでも楽しめるはず。



=個人的オススメ曲=

 パートによってはヒマだったり難易度が高かったりして微妙に難があるものの、個人的にオススメしたい曲のリストアップ。


曲名 アーティスト 投稿者 試聴
バイキンはかせ リズム天国 ほーたん なし

 リズム天国プレイヤーにはお馴染みの曲その2。曲自体は楽しいのだが、それなりにヒマになるパートが多いので楽器選択に注意が必要。
 「ロックオルガン」「スラップベース」「チェンバロ」は普通に楽しめる。
 「シンセドラム」はやや難しいところがあるが弾けると楽しい。
 「トランペット」「ブラス1」「ブラス2」がややヒマ。
 「ピアノ」はヒマかつ高難度なので非推奨。


曲名 アーティスト 投稿者 試聴
ピンポン リズム天国 はにょ リンク

 リズム天国プレイヤーにはお馴染みの曲その3。こちらもヒマになるパートが多いので楽器選択に注意が必要。
 「ストリングス1」「ストリングス2」「シンセベース」「ロックオルガン」「ピックベース」は普通に楽しめる。
 「ドラム」は単調であるがやや難しい。
 「ブラス1」「ブラス2」「シンセパッド」「ティンパニー」はヒマ。


曲名 アーティスト 投稿者 試聴
女々しくて ゴールデンボンバー ターミヤだよね リンク

 曲自体がだいぶお馴染みだしダウンロード数も多いのでいまさら感はあるが、「女々しくて」の部分を皆で連打するのはやはり楽しいと思う。
 「クラリネット」「ピアノ」「D・ギター」はヒマなのでそれ以外がオススメ。難易度がそれなりに高いものがあるので難易度表記にも注意。


曲名 アーティスト 投稿者 試聴
ブラックアウト 東京事変 へいおまち リンク

  リズム変化は終盤に部分的に少しあるだけで全体のプレイには特に支障がないレベル。
全体的に難易度は高めで、特に「ODギター1」は表記に反して難しく、「ポップドラム」は表記通りに難しい。「ボンゴセット」はややヒマなのでそれ以外がオススメ。


曲名 アーティスト 投稿者 試聴
Kagrra, ゆげぼくじょう リンク

 弾いてて楽しい曲ではあるが、ヒマなパートも多いので楽器選択に注意。
 「シャクハチ1」「ストリングス」「スラップベース」「ロックドラム」がオススメ。


曲名 アーティスト 投稿者 試聴
もしかしてだけど どぶろっく トイドラ リンク

 ネタ曲ではあるが、難易度がそれなりに高めで弾いてて楽しいパートが多い。ヒマなパートも多いのでやはり楽器選択に注意。
 「テナーソックス」と「ロックオルガン」がヒマなのでそれ以外がオススメ。メロディ以外のパートは難易度がやや高め。


曲名 アーティスト 投稿者 試聴
サムライハート(Some Like It Hot!!) SPYAIR かつひで リンク

 ヒマなパートと難易度が高いパートが混在しているので曲選択に特に注意。
 「ソプラノサックス1」「ピックベース」「Dギター3」はやや難易度が高いがオススメ。
 「Dギター1」「シンセリード1」「ロックドラム」は難易度がかなり高め。
 「ボンゴセット」はクラップを存分に堪能できるものの、サビでヒマ。ミス扱いにはならないのでサビで適当にクラップを鳴らして楽しめるパートとも言える。
 「ソプラノサックス2」「Dギター2」「シンセリード2」はヒマ。
 また、サムライハートに関しては投稿者によってテンポ変化があって弾きづらいものがあるので投稿者に特に注意。


曲名 アーティスト 投稿者 試聴
千川通りは夕風だった LUNKHEAD kira なし

 全体的に難易度が高めだが楽しめるレベルだと思う。パート数が7つしかないのでその点は注意。
 「ODギター3」がヒマなのでそれ以外がオススメ。


曲名 アーティスト 投稿者 試聴
コンプリケイション ROOKiEZ is PUNK'D がし リンク

 難易度が普通めのパートが多い。
 「ソプラノサックス」「ODギター2」「Dギター」「ストリングス1」「ストリングス2」「ピックベース」は普通に楽しめる。
 「ODギター1」「ロックドラム」はやや難しい。
 「トランペット」と「ストリングス3」はややヒマなので非推奨。


=その他=

 ある程度曲をダウンロードして好きな曲が出てきたら、その投稿者で検索して曲を探すのがオススメ。「同じアーティストの他の曲」であったり「アニメのOP・ED曲メイン」であったり、ある種の傾向が決まっていることが多く、その部分が自分の好みと一致する可能性が高い。

SiONでハナウタ機能(音高検出)を作る

=前置き=

 バンブラ耳コピや作曲をやっていると「原曲を聴くorメロディを思いつく→ハナウタでその音を出す→ハナウタ機能で実際の音(音高)を見つける」という流れで作るのがラクなんだけど、バンブラPではハナウタ機能がなくなってしまったのでできなくなった。Android音高を検出するだけのアプリもあるものの、自分の作曲ツールにもこの機能が欲しかったのでこれを作って組み込んでみた。というわけでそこらへんのメモ。

 ちなみに作曲ツール自体はそれなりに形になってきたらなんらかの形で公開する予定。

=ライブラリ=

 作曲ツールはAdobe Airで作っており、音を出すのにSiONを使わせてもらっている。で、直接音高をとる機能はないものの、音高をとるのに必要なフーリエ変換をサポートしている(org.si.utils.FFT)ので、ここではこれを使う。


アルゴリズム

 ハナウタから音高をとるには、音声データをもとに「一番大きい音を出している周波数」を求めれば良い。音声データそのものは周波数が合成されたものなのでそのままでは「一番大きい音を出している周波数」はとれないけれど、音声データをフーリエ変換すると周波数ごとに分離できるため「一番大きい音を出している周波数」を求めることができる。

 ということで、ハナウタから音高をとる手順は以下のようになる。

  • マイクから音声データを取得する
  • 音声データをフーリエ変換する
  • 変換後の周波数データから一番大きいものを選ぶ
  • 一番大きい部分をHzとして計算する
  • 求めたHzに対応する音高(音名)を求める

 特にフーリエ変換自体については説明しないけど、基礎的な理解としてはフーリエ変換の本質が役に立つかと思う。

 Hzから音高(音名)を計算する部分は以下のような感じ。

  • ラ=440 Hzとする
  • 1オクターブ上がると2倍の880 Hzとなる
  • 1オクターブ下がると半分の220 Hzとなる
  • ラから次のラまでは12段階(12半音)あるので、1段階につき「2の12乗根」倍になっている
  • 実際の音(Hz)がラ(440 Hz)の何倍になっているかを求め、それが「2の12乗根」の何回分になっているか求める

 実際には今回の用途では音名さえわかれば十分なので、220 Hz〜440 Hzに収まるように事前に計算してから「220 Hzの何倍になっているか」→「対数をとって何回分か」を調べて求める。


=コード=

 実際のコードはだいたい以下のような感じ。

 ただ、論理的には正しくない場所が2箇所あるので注意。

 1つ目は音の大きさを「getIntensity」で取得している部分。Intensityは「音の大きさ(実部)と位相のズレの大きさ(虚部)」の両方を合成したものであり、位相のズレの方は本来は不要。ただ、あれこれ試したところ、Intensityの方がキレイに目的の音高を取得しやすかったのでこの方式を採用している。

 2つ目はHzを求めている部分。mic.rateの単位はkHzなので実際には1000倍すべきだったりあれこれするが、わりと複雑なのでとりあえず合致するようにやや強引に計算している。ここはマイクから与えられるデータが増減したりSOURCE_LENを増減させたりすると正しくなくなるかもしれない。が、手元での検証が難しいので正確なところは保留にしている。(ハナウタ機能は自分の端末で正常に動けばひとまず十分なので、ひとまずここまでで置いておいて他の機能の作成に入りたかった)

import flash.events.*;
import flash.media.*;
import flash.utils.*;

import org.si.utils.FFT;

class Hanauta
{
	//==Const==

	//Param
	//- データの大きさ
	//- マイクのサンプリングデータの大きさ(float:4byte×SOURCE_LENがByteArray.lengthと一致するようにしておく)
	static public const SOURCE_LEN:int = 1024;


	//==Var==

	//FFT
	//- フーリエ変換を行う本体
	public var fft:FFT;
	//- 音声データ
	public var src:Vector.<Number>;
	//- 変換後のデータの実部(音量に相当)
	public var dst:Vector.<Number>;

	//Mic
	//- マイク
	public var mic:Microphone;


	//==Function==

	//Constructor
	public function Hanauta(){
		//FFT
		Init_FFT();

		//Mic
		Init_Mic();
	}

	//Init : FFT
	public function Init_FFT():void{
		fft = new FFT(SOURCE_LEN);
		src = new Vector.<Number>(SOURCE_LEN);
		dst = new Vector.<Number>(SOURCE_LEN/2);
	}

	//Init : Mic
	public function Init_Mic():void{
		mic = Microphone.getMicrophone();
		if(mic != null){
			//サンプリングレート
			//- 低いほうが分解能は高くなるらしい(Hzの計算時に影響)
			//mic.rate = 44;//44,100 Hz
			//mic.rate = 8;//8,000 Hz
			mic.rate = 5;//5,512Hz
			//mic.rate = 1;//test:ムリっぽい

			//どれくらいの音量から取得するか
			//- 低いと環境音にも反応してしまうので用途に応じて要調整
			mic.setSilenceLevel(4);

			//マイクのデータを受け取るコールバックの設定
			mic.addEventListener("sampleData", OnSampleData);
		}
	}

	//Callback : Mic
	public function OnSampleData(e:SampleDataEvent):void {
		var buf_num:int = e.data.bytesAvailable / 4;//float:4byteの格納数

		//マイクのデータをフーリエ変換に回す
		for(e.data.position = 0; 0 < e.data.bytesAvailable; ) {
			Exec_FFT(e.data);

			break;//1回だけで終わらせてみる(音高とるだけならそれで十分なはず)
		}

		//音程を求める
		Calc_Note(buf_num);
	}

	//Exec : FFT
	public function Exec_FFT(data:ByteArray) : void {
		for(var i:int = 0; i < SOURCE_LEN; ++i){
			src[i] = data.readFloat();
		}
		fft.setData(src).calcFFT();//高速フーリエ変換
	}

	//Calc : Note
	public function Calc_Note(buf_num:int):void{
		//dstに変換後のデータを入れる
		//- 実部ではなくIntensityを使ってるのは、こちらの方がキレイに音高を取れることが多かったため
		fft.getIntensity(dst);

		//一番大きい部分を取得
		var max:Number = 10;//ノイズな反応を除去するため、ここでも閾値を設定してみる
		var index:int = -1;
		for(var i:int = 0; i < dst.length; ++i){
			if(max < dst[i]){
				max = dst[i];
				index = i;
			}
		}

		//閾値を超える部分がなければムシ
		if(index < 0){
			return;
		}

		//Hzを求める
		//-   サンプリング時の周波数
		//- * フーリエ変換での周波数
		//- * 実際のサンプリングデータ数/フーリエ変換に渡したデータ数
		//- = 本来の周波数、のはず(ここはあまり自信ない)
		var mic_rate:Number = mic.rate;
		//- rate=5の時は厳密には5.512でだいぶ違うので補正(他はそこまで大きくは違わない)
		//-- 参考:http://help.adobe.com/ja_JP/FlashPlatform/reference/actionscript/3/flash/media/Microphone.html#rate
		if(mic_rate == 5){mic_rate = 5.512;}
		var hz:Number = mic_rate * index * (buf_num/SOURCE_LEN);

		//ラ=440 Hz として音名計算
		//- 880 Hz, 220 Hzがそれぞれ1オクターブ上下となる
		var key_name:String = "";
		{
			const KEY_NAME_ARR:Vector.<String> = new <String>[
				"A",
				"B♭",
				"B",
				"C",
				"D♭",
				"D",
				"E♭",
				"E",
				"F",
				"G♭",
				"G",
				"A♭",
			];

			//Hzを操作して音名を検出
			var base_hz:Number = hz;
			if(base_hz <= 10){base_hz = 220;}//低い値の精度はどうせ高くないので、適当に値を設定してしまう(エラー対策)
			//まずは220Hz〜440Hzに収めてみる
			while(base_hz < 220){base_hz *= 2;}
			while(440 <= base_hz){base_hz /= 2;}
			//これでbase_hz/220は1〜2の係数となり、Log2をとることで平均律としてのratioが求まる
			//Log2(base_hz / 220) = Log(base_hz / 220) / Log(2)
			var ratio:Number = Math.log(base_hz / 220) / Math.log(2);
			//1/12ごとに半音上がるものとして捉えることができるので、12段階にすることで最終的な音名を求める
			var key_index:int = int(ratio*12 + 0.5) % 12;

			key_name = KEY_NAME_ARR[key_index];
		}

		//あとはkey_nameを表示すればOK
		//- Hzも併記するとわかりやすい
		//- さらにdstをグラフ化して表示すると波形データとしてもわかりやすい
	}
}

=まとめ=

 というわけでフーリエ変換でハナウタから音高を取得する機能を作った。コードのところで書いたように他の端末で動くかは怪しい部分があるので、ツールを公開する時はもうちょっとここら辺の検証を済ませてからにしたい。

神トラ2もどきの作成時メモ

=前置き=

 このまえ作った神トラ2もどきの作成のプログラム的なTips。というか自分が思い出せるようにするためのメモ。

=基礎=

 3D表示用にAway3Dを使用。

 地面と天井は一枚絵にして、壁は一つ一つPlaneとして生成した。壁に関しては並んでるものをまとめる方向も考えたが、後述のマテリアル変更の件もあり、個別のPlaneを生成する方向でまとまった。
 Away3DではZの比較はピクセル単位ではなくメッシュ単位っぽく、普通の設定では天井の方がプレイヤーより奥に表示されてしまうことがあったため、mesh_ceil.zOffset = 10000;という感じでZのオフセットをかけて手前に表示するようにした。

 Flashをこのブログに貼る方法はいくつかあるが、Away3D(厳密にはStage3D)を使ったものを貼る場合はwmodeの設定も必要なのでFree Web Hosting - Your Website need to be migratedを使わせてもらった。

=3D表示を2Dっぽく見せる=

 神トラ2(もどき)は「通常モード」と「壁入りモード」の2つがあり、別にどちらも普通の3Dカメラにしても良かったが、「通常モード」の方は普通の2Dゲーム的な見た目にしておいた方が壁入り時のインパクトが大きいかなーと思ってそちらのカメラは2Dカメラっぽくすることにした。

 で、一般的には2Dゲームのカメラは「並行投影(Orthographic)カメラ」というやつで、3Dゲームのカメラは「透視投影(Perspective)カメラ」というやつなんだけど、壁の出入り時にこの2つの別種のカメラを補間するのはだいぶ面倒。ということで、ここでは3Dカメラ(透視投影)のFOV(画角)を小さくすることで平行投影っぽくしてみた。(3Dカメラでは60度で、2Dカメラもどきでは2度)
 ただ、FOVを小さくすると見える範囲も狭くなるのでカメラの位置を大きく後ろに下げてちゃんと一定の広さが見えるようにした。さらにそうすると今度は描画可能な距離範囲(Near〜Far)の範囲外になったりするのでこちらも一緒に変更するようにした。

 真上から見る場合や真横から見る場合はこの対応だけで良いんだけど、RPGっぽい表示にする場合はカメラを斜め45度から表示することになり、このままの設定だと縦方向が1/Root(2)に縮小されて表示されてしまう。そこで、さらにレンズ(PerspectiveLens)を継承してupdateMatrixのところで「縦にRoot(2)倍する」感じのAspectRatioを設定して引き伸ばすことで等倍っぽい表示にした。

 現状の設定ではここまでの対応で止めているが、プレイヤーの表示がやや潰れているのが気になる場合、いわゆる「ドットバイドット」な感じで表示を調整する必要がある。が、今回はそこまでは気にならないかなーというのとあくまで紹介のための簡易ゲームなのでここまでで止めておいた。


=壁に入った際の表現=

 神トラ2(もどき)では壁にプレイヤーを貼り付けて描画する必要がある。単にプレイヤーのPlaneを壁の少し手前に表示するだけだと、壁が直角に奥に曲がっているところでプレイヤーがはみ出てしまう。ということで、専用の対応が必要になる。

 当初は「投影マッピング」という手法をとるつもりだったものの、この手法だと他の壁にまでプレイヤーが表示されてしまうのと、ピクセルシェーダの負荷がムダに大きくなってしまう(投影しない壁でも不要なサンプリングが発生する)ので、今回は専用シェーダで実現することにした。

 具体的には「普通の描画(壁描画)にもう一つテクスチャ(プレイヤー)を追加し、UV座標のオフセットを外部から指定することで横方向にスクロールさせる」というシェーダを追加した。Away3D的にはEffectMethodBaseを継承したやつにシェーダを書いてそれを壁のマテリアルにaddMethodで加えるだけなので比較的簡単に実装できた。
 ただ、全ての壁にこのシェーダを加えるとやはり不要なサンプリングが増えて描画負荷などが大きくなるので、「現在居る壁」と「移動先の壁」だけ上記のマテリアルに変更するような処理を行ったりした。

=遷移部分=

 「通常モード」<=>「壁入りモード」ではカメラの「ターゲットとの距離」「FOV」「NEAR・FAR」「AspectRatio」をそれぞれ変化させる必要がある。
 当初は「ターゲットとの距離」を等速で変化させ、それに応じて他のパラメータを計算していたが、そうすると画角(FOV)の変化が遠くに行くほどゆるやかになり、画面での見た目がやや不自然な感じになった。
 そこで、「FOV(画角)」の方を等速(角速度)で変化させて他のパラメータを計算する方式にした。これでかなり自然な遷移になったが、逆に自然になりすぎたのでもうちょっとSinカーブとかを使って緩急をつけるべきだったかもしれない。


=予定=

 次は「ゲーム作成」やら「作曲ツール作成」やらを行う予定。どちらにしても数ヶ月レベルで時間がかかる見込み。

「神トラ2の壁画化ギミックって移動以外に使うことあるの?」という人のための簡易Flashゲーム

=前置き=

 自分も「神トラ2って神トラの使い回しじゃないのか」とか「神トラ2の壁に入るのって単純な移動にしか使えないんじゃないか」と思って購入をちょっと渋ってたんだけど、買ってみたらちゃんといつものゼルダとして楽しめたので、同じ理由で躊躇してる人向けに簡単なFlashゲームを作ってみた。これでピンと来たら購入して損はないはず。(本編のギミックとどれくらいカブってるかは遊んでからのお楽しみ)

Flash

操作方法

  • 十字キー:移動
  • SPACEキー:壁入り(壁に向かってSPACE)



ニャロメロンさんのジャンケンAct(簡易版)を作ってみた

=前置き=

 ニャロメロンさんのTweetにあったジャンケンActの原型は1日あれば作れそうだなーと思って1日で作ってみた。

↓元ネタ

Flash




 操作は

  • 左右キー:移動
  • 上キー:ジャンプ
  • SPACE:グー・チョキ・パーの切替
  • R:リスタート

 エネミーを作るのは時間がかかるので作ったのはブロックだけ。「あいこ:普通の壁」「こっちの勝ち:通過可能」「こっちの負け:ダメージエリア」という感じになる。
 
 やっぱりブロックだけだといつもの自分のパズルアクションと同じ感じになるなー。

=予定=

 今回はちょっと脱線したけど、今の体調を維持できれば次の火曜あたりにまた簡易ゲーム的なものをUPできると思う。遅くても来週末くらいには。

帰郷メモ

=前置き=

 今回も帰郷中にあれこれ遊んできたので一通りメモ。

パルテナ

 3DSの「2本で1本キャンペーン」でダウンロードして面子がだいぶ揃ったため、いまさらながら一緒に遊んできた。

 対人戦の立ち回りもわかってきたし、自分が作りたい武器の方向性も固まってきたので次の帰郷時にまた遊ぶと思う。今回の帰郷中パルテナの比率が多いかと思っていたけどそうでもなくてまだ普通に遊び足りないのもあるし。

 ちなみに試したのは「超誘導」「高速移動」「透明化+見えない射爪」「価値149のダッシュ打撃1乙調整」など。どれも基本的には良かったのだが、付属スキルを色々と調整したくなったので帰郷までにそこらへんを調整していきたい。

=モンハン4=

 ネットマルチでプレイはしていたものの、ようやくローカルでも4人プレイなどができた。

 ネットではチャットの定型文での遊びなどもあるものの、やはりローカルですぐにやりとりできた方がラクだし楽しかった。特に2体同時討伐系は方針やタイミングの確認がネットでは煩雑だったので、帰郷の際に一通りやり終えた。

 そしてマルチ側のクエストは一通り終わってしまったので、自分としてはこれで一段落といった感じ。サポートが必要そうであれば遊ぶと思うが、基本的には次のモンハン(4G?)が出るまではたまにスキマ時間に発掘するくらいになると思う。

バンブラP

 合奏専用のフリーダウンロードソフトがギリギリ配信開始されたので、(イーショップの混雑問題などはあったが)帰郷時に一緒に遊ぶことができた。

 自分を含めてバンブラP本体を持っているのは3人で、それぞれの所持曲数は30・10・10くらいだったと思うが、所持数が少なく見えるわりには一通り遊ぶのにかなりの時間がかかった。

 これからもまだしばらくはダウンロードするだろうし、であれば次の帰郷時にも遊ぶ機会がありそう。次は耳コピをいくつか完成させて持って帰りたい。

ポケモンXY

 ポケバンクが稼働してから対戦しようと思ったので帰郷のタイミングで弟と対戦してきた。

 実際にはポケバンクが一時配信停止になってしまったので向こうのチーム構築が少し崩れたりしたみたいだが、なんとか対戦できた。戦績はこちらの「ボロ負け1回、辛勝2回」といった感じ。

 現段階での育成は一段落しているけど、ポケバンクが配信再開されたら育成しなおしたいのでその時にしばらくまた遊ぶと思う。

=テラリア=

 メンツの都合やらで一人で遊ぶ機会があったのでPS3版を遊んでみた。

 まだボスは倒さずにあちこち探索してるだけだけどわりと楽しい。あちこちに拠点を作ったりそれをつなぐ長い連絡通路を作ったり。ただ、wikiを見る限り隕石と連絡通路の相性が良くないのでそこらへんの対応とかするかも。

 そんな感じでゆるゆると進め中。次の帰郷時も一人で遊ぶタイミングがあれば遊んでると思う。

=地獄の釜(Auf Teufel komm raus)=

 帰郷時にやったボードゲームその1。

 中央に裏返っているチップをめくっていき、数字が出たら基準点をプラス&悪魔が出たら基準点が0になり手番終了というなかで、途中で止めるかまだめくるかを考えつつ進めていき、最終的に基準点の高かった人(とめくった枚数の多かった人)にスコアが加算されていくゲーム。
 さらに皆がめくる前にベットを行い、誰かの基準点がそのベット以上になったらそのベット分のスコアも加算される。一番高いベットを行った人はさらに倍の加算が行われたりする。

 という感じで運の要素も絡みつつ、めくられたチップなどから期待値を求めたり、高いベットの人を蹴落とすためにめくるのを途中で止めたりと意外とあれこれ考えることがあるゲーム。2〜6人まで遊べるのでメンツの数に左右されにくく、わりと思考の負荷が軽いので手軽に遊べてよかった。

=王宮のささやき=

 帰郷時にやったボードゲームその2。

 6枚の手札を持ち、自分の手番にカードを1枚場に出して、場に6種類のカードを出せばアガリ(スコア+2)というゲーム。ただし、ダブるカードや禁止状態のカードしか出せない時に手番が回ってくるとドボン(他の人たちがスコア+1)となる。また、手番は時計回りではなく「直前に出されたカードの色と同じ色の人」の番になる。
 という感じで基本的な構造はシンプルながら、「手札交換などのカードもあるため、初手で6種類あったとしてもすぐにはあがれない」「手札と場の合計が常に6になるようになっているため、場にカードを出すほどに手札は少なくなる=ドボンの確率が上がる」などアガるのが難しくなっており、「手札交換+相手の色と同じ色のカードを出して相手を強制ドボン」など相手をドボンさせる要素は多くなっているため、基本的には「いかに負けないか」を競う感じになると思う。

 こちらも運の要素が絡みつつもコンボなどを考えることができ、わりと手軽に遊べるタイプのゲームだと思う。一応、3〜5人で遊べるらしいが、カードを抜いたりするなどの下準備が必要になるかと思うので実質5人でやる感じのゲームになりそう。


公式ページ
Group SNE | 製品情報 | ボード/カードゲーム /王宮のささやき ゲーム紹介

=まとめ=

 というわけでかなり色んな種類のゲームを遊んできた。モンハンとポケモンが一段落して、パルテナバンブラPが継続、という感じになりそう。ゼルダも買ったのでしばらくはゼルダメインでそのあとにパルテナバンブラPに復帰することになるかと思う。

=予定=

 体調はようやく中の中付近まで回復したので、今週いっぱいこの体調を維持できたらようやく個人開発をゆっくりと再開しようかと思う。

現状報告

さらにもうしばらく更新しなさそうなので軽く現状報告だけ。

ゲーム作成とかの出力的な趣味のモチベは依然として回復してないので、何かを作って公開するのはまだ先になりそう。

来年からは徐々に忙しさを増していくのもあるので、さらに半年くらいは絵描きとかの学習だけに時間を充てることにした。

いまのプロジェクトが終わってまたしばらく休んだら何か作り始めるかもしれないが、半年先のことなので予定は未定。