はかせのラボ

なんか好きなこと色々書きます

雑記 ディスガイアRPGサービス再開延長について

あいさつ

どうも、はかせです。
今日は咳やらなにやらで体調が怪しかったので
作業はせず休みました。
そしてTwitterを眺めていたらディスガイア
サービス再開が4月以降になったという
ツイートを見ました。
今回はそれについて思ったことを書いていきます。

まずディスガイアって?

知らない人もいると思うのでまずは簡単に説明を。
今までのディスガイア
ゲーム性自体はスパロボみたいなユニットを操作して勝利を目指す
シミュレーションゲームです。
ゲーム性自体は割と普遍的にありそうなものが多いですが、
ディスガイアシリーズといえば何といってもやり込み要素がエグイですw

シミュレーションゲームとかRPGゲームだと基本的に
レベルは99や100でカンストし、
ダメージとかも数千~数万程度です。
ただディスガイアはレベルは9999とかになり
ダメージは当たり前のように億
を超えてきます。
スマホゲーとかだとインフレが~とかって多いですが
それを最初からしてしまっているという頭のぶっとんだゲームですw

スマホゲーだとよくあるサービス再開延長

最近スマホタイトルで
有名タイトルや会社がリリースするもののあっという間に障害が発生して
サービス中断からの長期メンテナンスに入ること多いですよね。

ぶっちゃけ私はこのことについては大して何も思わなくなってきました。
多いってのもありますが、
ゲーム開発を勉強していて不具合0にするのがどれだけむずかしいのか
肌身で体感しちゃったのも大きいです。

私は今までスタンドアローンで動くオフラインゲーム、
しかも売り物に比べたら機能もクオリティも限定的なものしか作っていないのにもかかわらず
バンバン不具合やら何やら出ますからね。

なのであぁあるあるー程度になりましたw
目線が完全消費者ではないのでちょっと変わった目線になりますけどね。

あとがき

今回はディスガイアの一件があったので
スマホアプリの障害発生とかについての意見を述べてみました。

いや本当にバグ無く動くものを作るのって難しいんですよ。
ましてやそれを24時間365日ずっと続けなければならないわけですから
大なり小なりの障害は目をつむってあげたくなってしまうんですよね。
まぁそれがゲームプレイ本編に影響出たら容赦なくク〇ゲーっていいますけどw

それでは今回はこの辺でノシ

落ちモノパズル 詰めテト作ってみた

あいさつ

どうも、はかせです。
今回は詰めテトを作ってみたので
その紹介です。

実装しようとした経緯

以前Tスピン実装の記事をあげたとき
私が下手で確認が出来ないって嘆いていたら
詰めテトとか作ってみたらどうでしょうっていう
ありがたいコメントを頂きました。

ちなみにその記事はこちら↓
hakase0274.hatenablog.com


そのすぐ後に就活関連で東京行ったりとかで時間がなかなか取れず
実装できていませんでした。

ただようやっとまとまった時間を開発に充てることができるようになったので
実装しようと思い今回実装してみました。

実装

指定したキー(今回はテンキーの1)を押したら
Tスピンが可能な盤面に盤面を切り替えて
手持ちのテトリミノをTミノに切り替えます。

今回Tスピン盤面としてはよくDT砲といわれている盤面です。
f:id:hakase0274:20190322210653g:plain

盤面切り替えは盤面情報をcsvファイルで用意しておき、
キー入力を受けて読み込んで反映しているだけです。

void FieldManager::SetTSpinField()
{
    auto dataTable = GetCSVData("Data/DT.csv");

    auto i = ROWNUM - 1;
    auto j = COLUMNNUM - 1;

    for (auto datas : dataTable)
    {
	i = ROWNUM - 1;
	for (auto data : datas)
	{
	    if (data == "s")
	    {
		UpdatePiece(i, j, Space, Red);
	    }
	    if (data == "r")
	    {
		UpdatePiece(i, j, FieldLock, Red);
	    }
	    if (data == "b")
	    {
		UpdatePiece(i, j, FieldLock, Blue);
	    }
	    if (data == "g")
	    {
		UpdatePiece(i, j, FieldLock, Green);
	    }
	    if (data == "o")
	    {
		UpdatePiece(i, j, FieldLock, Orange);
	    }
	    if (data == "l")
	    {
		UpdatePiece(i, j, FieldLock, LightBlue);
	    }
	    if (data == "p")
	    {
		UpdatePiece(i, j, FieldLock, Purple);
	    }
	    if (data == "y")
	    {
		UpdatePiece(i, j, FieldLock, Yellow);
	    }
	    i--;
	}
	j--;
    }
}

GetCSVDataは以前実装したcsvファイル読み込みをメソッドとして抽出しただけです。
csvファイル読み込みの詳細はこちらの記事をどうぞ
hakase0274.hatenablog.com

あとがき

今回は詰めテトを実装してみたという話でした。

実装してみて使ってみて思ったのが
「めちゃめちゃデバッグがしやすい」です。

目的の状況をキー入力一発で作りだせて
しかも何度でも可能なので
Tスピンの練習も出来ますし、
誰かに機能を見せる時にも使えるしで
実装して本当によかったなと思いました。

詰めテト実装の助言をして頂き本当にありがとうございました。
この場を借りてお礼申し上げます。

それでは今回はこの辺でノシ