投稿記事

2024年 01月の記事 (5)

kotaro / 俺時空 2024/01/30 23:19

SlashRush #3 / シーンの実装

タイトル通り!

タイトルの通り、シーンの仕組みが実装出来たという報告です。
有言実行えらいぞ♡
正直もう記事終わっていいんだけど。

くわしく

今回実装出来たのはシーンの仕組み部分。
どういうことかというと、複数のシーンを用意することが出来て、シーンの切り替えもできるようになりました。
逆に各シーンの内容は未着手の状態です。
タイトルにもゲーム部分にも「Now Loading」と書いてあります。草。

「仕組みだけ?」と思われるかもしれませんが、今後のプログラミングにおける作業効率が段違いになっているはずです。
このためにめっちゃ勉強した。知らない言葉10個くらい覚えた。
まあ、プログラムを触らない人には伝わらない部分で頑張ってたというお話です。

苦労したんですよ

いやあ、実は「シーンの実装」だけなら何度もやったことあるんですよ。
ただ今回はちょっと違う方法での実装を試みたんですね。
その結果5日くらいかかっちゃった。てへ。

今までやっていたシーンの実装方法は不正解ではないんですが、他の方法に比べて効率が悪いというものでした。
だから旧SlashRushは7,000行とかあったんですね。
なので色々調べて、なるべく効率のいい方法で実装したいと思っていました。しました。
プログラミングってね。楽をするために苦労をするものなの。掃除するために掃除道具から手作りするようなものなの。

おわり

短めですが、今回はここまで。
次回からやっとゲームの内容部分に触れられそうです。
といっても、まずはタイトルやステージ選択周りのシステムを作るところからになりそうですが。プレイ画面を作り始めるのはもう少し先かも。
まだまだDXライブラリも使いこなせているわけではないので、結構期間が開いてしまうかもしれませんね。頑張ります。

それじゃ、またね。

kotaro / 俺時空 2024/01/24 17:02

SlashRush #2 / まずやるべきこと

プログラムを書く前に

僕はいまDXライブラリに慣れていく段階にいる。
ではある程度慣れたあと、何から始めよう。
いきなり見切り発車でプログラムを書き始めても、全体の見通しが立っていなければ効率がいい方法とは言えません。
ということで整理していきます。前回も整理してなかった?

決めておくべきもの

適当にプログラムを書き始めて完成まで持っていくのは至難の業。
例えるならば、下書きをせずいきなり絵を描き始めたり、起承転結や全体の構成を考えないままいきなり小説を書き始めるようなものです。
プログラミングも同様に、下書きのようなものがあります。
下書きと言っても、ある程度大まかに「このゲームには何が必要か」「どんな機能が必要か」などを決めていくものです。
「攻撃の挙動」とか「敵の配置」などの細かい部分は省略して考えます。
今回はそれを考えていこうというお話。

  • ゲームの仕様
    仕様と言ってもプレイヤーの挙動や使用するボタンなどではなく、ゲーム全体を通したものを考えます。
    タイトル画面→プレイ画面→クリア画面orゲームオーバー画面
    のように、シーンの遷移やその順番などを整理していきます。
    最初にゲームの流れを決めてしまおうというわけですね。
    ここが決まると、どの場面で何が必要かを考えやすくなります。
  • 必要な要素
    ここでいう必要な要素とは、「その場面で必ず必要になるもの」のこと。
    ゲームが始まった場面では、必ず「ステージ」と「プレイヤー」が必要になります。
    いらないゲームもあるかもしれないけど。
    とにかく、「これがなきゃゲームが成り立たない」というものを挙げていきます。
  • 場面と要素の関係性
    これは少し難しいのですが、上で考えた要素が「どこで必要になるか」を考えます。
    例えばプレイヤーの場合、ステージが開始した場面では必ず必要ですが、タイトル画面やステージ選択画面では必要ありません。
    いや必要なゲームもあるけど。
    とにかく、「どこでこれが必要になるのか」という、要素と場面の「関係性」を整理していきます。

このあたりのことを決めることが出来れば、既にゲームの枠組みはできたと言っていいでしょう。
ここからそれぞれの要素を細かく掘り下げていったり、途中で必要なものが増えたりしたら適宜対応していく形になります。

もっとわかりやすく

ゲームに必要なものはだいたいわかりました。
しかし、小規模な物であればあまり問題はないのですが、規模が大きくなってくると複雑な関係性を構築していたりして非常にわかりづらくなります。
ということで、もっと整理していきましょう。
僕のように完全に一人で作っている場合、ちゃんと全体の流れが頭に入っているのならばわざわざここまで整理しなくとも大丈夫だったりしますが。
でも僕は頭がそんなに良くないので整理していきます。というか忘れる。

もっとわかりやすくとは言いましたが、具体的にどうするか。
今回は視覚的にわかりやすく整理する方法をとります。
それぞれの要素や関係性を図にしてみましょう。


ということで作りました。手書きでゴメンネ。
この図ではシーンの流れとプレイ中に必要な要素をまとめています。
現状、構造自体はシンプルな物ですね。
ステージ選択画面で選んだステージをプレイできる。プレイ結果によってリザルト画面へ。そしてまたステージ選択に戻るの繰り返し。
プレイ中では、プレイヤーと敵が存在します。プレイヤーと敵はお互いにダメージを与えあう存在です。
そして敵には「ザコ」と「ボス」が存在します。さらにザコとボスの中で種類がある、という感じですね。
プレイヤーと敵にはそれぞれパラメータや行動が設定されていて、それに基づいた動作を行います。移動だったり弾を飛ばしてきたりなどですね。
端の方にある「シーン」は、こういうシーンがあるよという情報を持っています。特に何かとつながりがあるわけではないんですね。

とりあえず最低限ではありますが、これでゲームの流れと要素を把握しやすくなりました。
何にでも言えることだと思いますが、やっぱり整理整頓は大事です。
僕が分かんなくなるから。

で、どうするの

ここまで整理してきましたが、忘れてはいけないのは整理することが目的ではないということ。ここで終わってはいけません。
ある程度全体の見通しを立てたということで、プログラミングではどんなメリットがあるか。
一番は、「最初に手を付けるべき場所」が考えやすくなることだと思います。
言い換えると「一番重要な部分」を考えやすくなる。
今回の場合、最初に手を付けるべきは「シーン」だと思います。
そもそも「シーン」が存在していなけば、プレイはおろかタイトル画面すら存在することが出来ません。
ということで、まずは必要なシーンを作り、それから各シーンに必要な要素を作っていく、という形でプログラミングは進んでいきます。
最初にやるべきことが分かるだけでも、プログラミングの効率が上がりますし、なにより気持ち的にもとても楽です。
みんなも整理整頓、しよう!

おわり

ということで、DXライブラリをある程度扱えるようになったらこんな感じで進めていきたいと思います。
いやーとっても気が楽。やることわかってるとすごい気が楽。
とまあ、進捗報告というよりは備忘録みたいになってしまいましたがまあいいでしょう。
実際全体の見通しを先に立てておく、というのはだいたいのものに言える大事なことですし。
次回からはちゃんとした「進捗」の報告が出来るよう努めてまいります。

それじゃ、またね。

kotaro / 俺時空 2024/01/23 17:01

SlashRush #1 / 制作開始

制作開始!

ということで、本格的にリメイク版SlashRushの制作を開始していきます。
がんばるぞー。
と言っても、本当にゲーム部分の制作が始まるのはもう少しかかりそうですが。

制作環境の構築

今回はDXライブラリを使用し、C++で制作を進めていくことにしました。
上手くいけば元のソースコードをある程度流用できるってのが大きいですね。
とりあえずパパッと「もうゲーム作り始められるで」ってとこまで構築できたので、あとはもう作っていくだけなんですよね。
今のところ順調。まあ環境作っただけなんでそりゃ順調じゃなきゃ困るんですが。

DXライブラリ?

実は僕も今回初めて触るので、そこまで深くは理解してなかったりします。大丈夫か?
超ざっくりいうと「描画関連はだいたいやってくれるツール」みたいなものです。間違ってたらごめん。
そう、初めて触るんですよ。一応リファレンスはざっと目を通しましたが、恐らく慣れるのには時間がかかると思います。
まあ描画関連も全部一から自分でやるってよりは相当楽なはずなのでね。まあなんとかなるでしょ。

制作の予定

とにかく初めて触るので、いろいろと慣れておかないといけませんね。
ある程度扱えるようになったらゲーム部分の制作に手を出し始めると思います。

最初に作るのはやっぱり操作キャラですかね。ゲームのメイン部分なので。
同時にチュートリアル用のステージも作る形になると思います。
動作確認も兼ねて、まずは主人公がステージ上を動けるようにする。
第一目標はここですね。

ちょっとした問題

リメイク版の制作にあたって、旧版SlashRushからソースコードを流用しようと思っていました。だって楽だし。
専門学校の用意したエンジンを使って制作していましたが、基本的にエンジンは描画関連を担っていたので、DXライブラリでも少し手を加えれば流用はできると思います。
問題なのは、僕が書いたコード。

main.cppに7,000行あります。

わかる人なら「うわあ」ってなると思います。僕もなりました。
旧SlashRushは、main.cppに約7,000行のコードが記述されていて、そのmain.cppだけでゲームのすべてが動いています。
例えると、数学のノートとかで絶対ノートの幅が足りないような式を無理やり詰めて書いてる感じです。見にくいしわかりにくい。
まあこれは気合いで何とかするしかないですね。7,000行とはいっても大部分は流用できそうなので、整理しながらやっていきましょう。

余談

旧SlashRushではプログラムはもちろん、グラフィック、BGMも全て自作でした。
まあそんなに出来がいいとは言えないと思いますが、なんか全部自分でやろうとしてたんですよね。
僕がこのゲームを気に入っているのは、全部自分で作ったからかもしれないですね。手間暇かけただけ愛着が沸いているのかも。
ちなみにBGMは僕のYoutubeで公開されているのですが、そもそも僕のチャンネルを見つけることが難しいというね。リメイク終わったらチャンネルの方も大々的に宣伝するかもしれないです。

おわり

そんな大した報告でもなかったんですが、とりあえず作り始めたよという報告でした。
ちなみに記事のサムネイルは旧SlashRushのタイトル画面です。CERO Zの作品だと間違えられたことがありました。草。

それじゃ、またね。

kotaro / 俺時空 2024/01/23 09:21

リメイクするゲームについて

現状の考え

思い切ってスタートした過去作リメイクプロジェクト。
しかし「リメイクしたい」の気持ちだけではどうにもできない。
いろいろと必要なことだったり考えたいことがある。
ということでまとめていこうね。整理したいこともあるし。

リメイクする作品

一応全部リメイクしたいなとは思っているんだけど、過去作の中でも「SWARM」だけは一度リメイクしている。
リメイクというかゲーム性結構変わってたから続編みたいな立ち位置なんだけど。
スクショが残ってなかったので画像はないけど、「RE:SWARM」というタイトルのゲームがあった。簡単に言うと3DになったSWARM。

正直に言うと、SWARMのリメイクはそんなに考えていない。
やるならRE:SWARMの方になる。
まあ3Dゲームのリメイクとなると結構大変になると思うので2Dゲームのリメイクが終わってからになりそう。

さて、現在リメイクに取り掛かろうと思っている作品は「SlashRush」か「BulletPhilia」のどちらか。
どちらも2Dアクションではあるので、リメイクの難易度的にはそこまで変わらないと思う。
個人的にはまずSlashRushのリメイクをしたい。割と気に入っている作品なんだよ。

開発ツールについて

ゲームの開発において避けては通れない話題が開発ツール。
僕の過去作は全てC++とDirectXで作られている。
まあ専門学校が作ったエンジンを使わされていただけなんだけど。
Unityとかも触ったことはあるけどちゃんとゲームを完成させたことはない。
ということで、慣れ親しんだC++で開発を進めていくことになるだろう。
ただ、最近Unityを触っていて「こっちの方が楽じゃね?」とか思ってしまっている。
実際ゲームの配布や販売などはUnity製のゲームの方がやりやすそう。知識がないので何とも言えないけどね。
今まで通りC++で作ってもいいし、Unityで作ってもいい。
C++で作るならDXライブラリあたりを使うことになるかな。

進捗報告について

リメイクに取り掛かった後、進捗の報告はぜひともしたい。
しかし進捗報告といっても何を報告しよう。
というかどういうタイミングで報告しよう。

僕が考えているのは、新要素の案が浮かんだりしたとき。
「こういう要素を考えました」から始まり、実装するまでワンセット。
進捗報告の内容としては十分と思う。
でもそういう案が浮かばなかったとき、実装が難航しているときは難しい。

ここまで書いて不定期更新だということを思い出したのであまり気にしないようにしよう。
とにかく報告できそうな内容が出来次第になるかな。

作ったゲームの公開

リメイクしたゲームは当然公開する予定。
しかし現状、いつ公開するか、どこで公開するかなど全く決まっていない。
とりあえず、「過去作と同じ内容が実装出来たら」というタイミングで一度公開してみようと思う。
支援者特典とかにはしないで、全体公開。Ci-enの記事からダウンロードできる形にしようかな。
そこからは、新ステージを実装したタイミングだったり、まあそれらしいタイミングでそのバージョンの配布をしようかなと思う。
まあ変わるかもしれないけど。今のところ思いついた予定がこんな感じってだけ。
「ゲームが完成した」ってなったら、せっかくCi-en使ってるしDLsiteとかで配信しようかな。今のところ有料にするつもりはないんだけど。
他サイトの名前を出すのはあれだけど、できるならSt〇amとかでもDLできるようにしたいな。
この辺りは追々考えていきましょ。

おわり

とりあえずこんなところかな。
リメイクを始めた段階でまた記事を書こうかな。「リメイク作業開始」みたいな感じで。
まあ気長にやっていきましょ。

それじゃ、またね。

kotaro / 俺時空 2024/01/22 10:00

Ci-en開設!

Ci-en開設しました!

いやまあ読んで字のごとく。
色々書いてくんでとりあえず読んでみてよ。

誰だよお前は

俺。

Ci-en開設の理由

僕はゲームが作りたくて専門学校に通ってます。
んで、その学生時代に作ったゲームを世に出したい。
でも当時の僕が作ったクオリティのゲームでは色々足りないものがある。

そうだ、リメイクしよう。

ということで、リメイクした作品を世に出す。
だいたいの目的はそんな感じです。
あとえっちなゲームも作りたい。えっちじゃないものも作りたい。

活動内容について

現状不定期になる予定ですが、制作しているゲームの進捗や近況報告などを投稿していきたいと思います。
それ以外のことは思いついたらやります。

どんなゲーム作ってたの?

SWARM

一番最初に作ったゲーム。
全方位型STG。マウスの方向に弾が勝手に出ていく。

SlashRush

ふたつめ。
「だいたい何でも斬れる」アクション。攻撃連打で気持ちよくなれる。



BulletPhilia

みっつめ。
機関銃持ったメイドさんがなんかキモイのをぶちのめす。




作品について

これからも趣味の範疇でゲーム制作は続ける予定なので、何かしら新作を出すぞってなったときはここに投稿があると思う。
あとは過去に作った(上記)作品をもっとクオリティを上げてリメイクする。
そして世に出す。
まあしばらくは新作とか作らないで過去作のリメイクに力を入れると思う。

俺はそんなに賢くないのでこれで儲けるとかはあんまり考えてないけど、少なくとも遊ぶ人が楽しんでもらえるようなゲームにしたい。
もしかしたら、ゲーム内のコンテンツについて何かしら助言を求めたりアンケートを実施することがあるかも。よければ協力してくれると泣いて喜ぶ。

ということで精進します。応援してね。
まああくまで趣味の範囲内での活動なんでね。ぼちぼちやっていきますよ。

プランについて

そんな…人様からお金をいただくなんて恐れ多い…
現状有料プランは作らない予定。応援してくれる人がいるってだけでモチベーションにつながるってものよ。
まああまりにも生活に困窮しているとかあったらここを頼るかもしれない。

最後に

とりあえずこんな感じでやっていきたい。
楽しみに待とう。俺が作るのを。

それじゃ、またね。

月別アーカイブ

記事のタグから探す

限定特典から探す

記事を検索