ゲーム作成

16*16汚染ヒヨコ

12月くらいからもうめちゃくちゃ忙しくて…
年明けからドット絵に切り替えてみたものの
なかなかゲーム制作に使える絵が描けてなかったですが
(それでも毎日何かしらは出してましたが…奇跡的に)
ちょっとずつ、このささやかなドット絵の時間を
有効に使っていきたいと思います。落ち着きますな。

16*16のシリーズは、今作ってるゲームに
使えそうな素材を描いていきたいわけです。
ということでヒヨコです。なぜ。

私もわかりません。

作成中のゲーム「ADULTHA」に出す予定のキャバ嬢。
自分に自信があって、弱いところを見せない。
ギャップとかないのがいいなと思ってます。

ちなみにキャラは4色+黒です。
主線のおかげで、意外と見れますね。


影をディザにしてみました。
すんげえ洋ゲー感出ます。メガドライブ感とも。
洋ゲーはイベント絵でもディザが炸裂しまくってて
すんげーバタくさい感じになりますね(笑)。
ビジュアルシーンはディザない方が好みなので
あんまこういう方向には持ってかないつもりです。
メガドライブ感は上がるけどねー。

酒場のウェイター

ADULTHAのキャラ。
名前とか全然決めてないなー。
酒場のウェイターをやってる。
自分が可愛くないことを気にしている。
リストカットの跡がある。
他人を信用してない。
口が悪い。
家にめちゃくちゃかわいい服がある。
金のために寝る。
タバコ好き。
とか、そんなカンジ。

ひとりゲームジャム7日目(最終日報告)

ひとりゲームジャム最終日です。明日から仕事ですからね。
でもこれを強行で進めることで
ホントに多くの知見を得ることができました。
上のアニメは、2本目のチュートリアルの途中。実際はもっとなめらか。

ということで、SGDKによるメガドライブゲーム作成に向けたひとりゲームジャムというか
どっちかっていうとブートキャンプ(笑)、気づきのまとめ。
なおあらためて…SGDKというのは、本来アセンブリ、
いわゆるマシン語でやらなければならないメガドライブのソフト開発を、
も少しやりやすいようC言語で組めるようにライブラリ化されたもの…です。
なので今の私は、
メガドライブの仕様を理解しつつ、C言語を学んでいるような状態です。
我ながらよくやるな、ホントな。



googleの自動翻訳がホント使えたので
苦しむことなくチュートリアルを読み進められました。
英語の障壁取ってくれるのありがたい。
誤訳もあるので翻訳前テキストも同時に読みましたが
やっぱ理解度が、段違いです。
お世話になったチュートリアルはこちら。
https://www.ohsat.com/tutorial/
まだまだありますので、当面はこれに取り組む予定です。
お布施でソフト買いました(笑)。
まあもともとTech系サイトを日本語訳かけてナナメ読みしてたから
そういうのにあんま拒否感ないってのもあるかなあ。
ちなみに、チュートリアルはバージョンが低いので
そこで躓く場面もそこそこありましたが、
個人的には課題?クエスト?のようで、
解決のためにいろいろ調べることで理解が深まりました(笑)。



VSCode+Mega Drive Mega Packが使い勝手良くて
このコードはどういう意味か?
なぜ動かないのか?という疑問に集中できました。
これはIDEとワタシとの相性問題が大きいとおもうけど
最初にトライしたCode::Blocksではこうはいかなかった…。
インタフェースの見た目もあると思うんだけど、
Code::Blocksはプロジェクトの概念が強くて、
なんかファイル操作まわりがピンとこない。
単一のファイルに見せるというか…融通がきかないというか…。
VSCodeはフォルダ単位で開くことができて、
さくっとツリー構造を見せてくれるからすごいわかりやすい。よかった。



日本人先駆者のみなさまがwebに残したテキストで、かなり救われました。
これはアップデートによる問題では…?
という局面で、答えを書いてくださってたり
チュートリアルに記述されたプログラムの
別パターンなんかを見ることで、中身の解像度があがったりしました。
参考にさせていただいたサイトさまのリンクを張っておきます。
・HidecadeさんのArcadeCabinet
https://ameblo.jp/arcade-cabinet/
・らえるさんのNendo工房
https://nendo16.jimdofree.com/
・かねださんのnote(SGDK関連)
https://note.com/skaneda/m/m83b3dc49d83f
多謝。



自前サイトを持ってるの、モチベーション的に影響大きい。
見られているかはさておき(笑)!壁打ちみたいな感じですが
自分がやったことを適宜アウトプットできるの大事。
特に仕事やサイトウニガミとは違って完全にひとりでやっているプロダクトなので
ネタとして消化できる場がどうしても、精神衛生上、必要です。
SNSでもいいんだけど、長文書けないし。残らないし。
あのー、固定電話にかけて誰も出なくてもイライラしないけど
ケータイにかけて出ないとちょっとイラつくっていう
平成のあるあるが…あるじゃないですか(笑)。
あれに近くて、リアクション至上なSNSにのっけて
反応無いと結構キツいと思うんすよね。
自前サイトだと、なんか全部そんなのブッちぎっちゃってるんで、みたいな。
SNSが流行る前にネットで面白そうなことはひととおり体験させてもらったしね…。


ということで、当面はチュートリアルを続けて理解を深めていきたいと思います。
ちなみにSGDKのサイトには、
C言語学習目的でやるのはオススメしないってはっきり書かれてるんですけども(笑)、
こっちからすると逆ですね。C言語を学習するモチベーションなんて一切わかない。
メガドライブでゲームが作りたいっていう、それだけでやってるので。
Cの参考書とかも一通り読んでるんだけど、
それをメガドライブのゲーム作成にどう生かしていいか、
全然イメージがつかめないものね。
チュートリアルから入るの大事。参考書は逆引きしたりしてます。


最後に。
同じだけUnityやらGMSやらGODOTなんかを勉強すれば、
アセットもあるので短期間でもっと面白い成果物が出せると思います(笑)。
これをやってるのは、まあ、そうするのがスキだからに他なりません。
C言語理解出来たら、老後も面白そうだしね(笑)。
ミドルウェアに左右されないし。そんなカンジで、長期的に。
みなさんも、何か始めるなら今ですよ!

ひとりゲームジャム6日目(できた)

6日目。
ゲームできました。PONGクローンですが。
すげ悩んだけどクソゲーでもできると感慨深い。

それにしても、プログラムと格闘しているのか
英語と格闘しているのかわからなかったな(笑)。
すっごい自動日本語訳が役に立ったんだけど、
結局うまくいかないときは微妙な言葉じりを
英語で拾う必要があって、それがすげえ大変だったす。
プログラミングの基礎がないから、
コマンドを順に書かなければならないとか
そういう作法もあるしね。
ネットワーク機器のコマンド打つときって
機械側で並び替えとかしてくれちゃうし…。

いやあでも大きな糧になりました。
大事な一歩です。がんばってこ。
最低限のラインはクリアできたので、
明日は違うチュートリアルに取り掛かります。

ひとりゲームジャム3日目(SGDK SetUp)

ちゃんとやることにしました。
ていうか最近まともな休日とれてないのでいいじゃないか。
大変なんだぞ毎月45時間近く残業させられて…風邪もひいて…

さて。メガドライブのゲームを作るため、
気持ち新たにSDGK(メガドラのゲームをC言語で作成できる、ある種のミドルウェア?)の
インストールから。SGDK installationの内容をなぞります。
https://github.com/Stephane-D/SGDK/wiki/SGDK-Installation
ここね。
まずJAVA入れます。入れろっていうから入れます。
http://icy.bioimageanalysis.org/upload/jre-8u281-windows-x64.exe
次に、
https://github.com/Stephane-D/SGDK/releases/tag/v1.90
最初に取り組み始めたのがv1.70でしたが今は1.90のようなので
とりあえず最新版を落としました。

でもinstallationを見るとなんかコマンド打たなきゃいけないらしいです。
C:\直下にsgdk190てフォルダ作って中身を解凍したらコマンドプロンプトで
cd c:\sgdk190
と打ってディレクトリ移動した後に
.\bin\make -f makelib.gen
ってやってあげると、ファイルが展開されます。

最終的にlibフォルダに「libmd.a」てファイルが生成されたら終了。
なんか慣習的に?ルート直下にフォルダ作るのがいいっぽくて
あーなんかユーザ名とか変な日本語フォルダが途中にあったりして
おかしくなるの、WindowsMeのころに食らったなあなどと思い出したりしました。


Windowsへ環境変数の追加、というのも必要のようです。

私はWin10ですが、
コントロールパネル→システム→システムの詳細設定→詳細設定タブ→環境変数へ。
ユーザ環境変数の新規をクリックし、
変数名「GDK」、
変数値にsgdkフォルダへのパスを入れます。私の場合は
c:\sgdk190
というカンジです。
さらに。システム環境変数カテゴリのPath変数に
%SYSTEMROOT%\sgdk190
てのを追加。C直下のインストールフォルダを指定。

これ、消すと後述のVSCodeの挙動がおかしくなります。ファイルパスねーよとか。
つかHidecadeさんの解説ではバックスラッシュがスラッシュだったり
GDK_WINて変数も必要だと書かれてるんですが
なんか、とりあえず上記のカンジで動いてます(笑)。
これはIDEによるのか?バージョンなのか?なんなんだ??うーん。
ネットワーク保守してて、よくわからんけど大事だったり
説明めんどくさかったりするコンフィグ部分のことを
「おまじない」なんて言ったりしますが、それだと理解しています。
動いてるっぽいのでヨシとします。


さらに制作環境を構築します。メモ帳でなんてやってられないからです。
メガドライブミニ収録ダライアスEXのベースを作成されたHidecadeさんは
Code::BlocksというC特化なIDEを使われていたようです。
あとなんか日経ムックにもそれでやるって書いてあったし
ほかのなんか…作る残骸みたいなサイト?にもそうありました。
これはもう、先駆者であるHidecadeさんに乗っかろうと思ったんですが
画面のカンジとかしっくりこないし設定が大変。
Unity触ったときにMicrosoft Visual Studio Code(通称VSCode)がなんとなく好きで
それは使えないのかと思っていたら
昨日書いた悩める個人製作者のAndrej Preradovicさん
VSCodeいけるって書いてたのでそれでやることにしました。

https://code.visualstudio.com/
VSCodeインストールしたあと(オレはしてあったけど)、
https://marketplace.visualstudio.com/items?itemName=zerasul.mega-drive-mega-pack
笑っちゃうんだけど「Mega Drive Mega Pack」なる
VSCodeでメガドラ開発に必要なセットがVictor Suarezさんから提供されているんで
とりあえずそれブチ込みました。
が、
…ここでハマりました。
Mega Drive Mega Packの中にあるGenesis Codeというライブラリは
プロジェクト作成とか、コンパイルするのを簡単にしてくれるものですが、
プロジェクトファイルの保存場所を
SDGKのインストールフォルダ配下にしてしまうと、正常に動かない様子。

なので、同じルートにいろいろファイルを置くフォルダを作りました。
c:\sgdk190(SDGKインストールフォルダ)
c:\sgdkfile(プロジェクトや素材やエミュレータ入れとくフォルダ)
こんな構成。


VSCode上で「Ctrl+Shift+P」をたたき、
genesis codeと打ち込むと…なんかいろいろ出てきます。

Genesis Code: Create Projectを選ぶと、任意フォルダに必要なファイルやフォルダ構成を
ぜーんぶ作ってくれます。hello worldのプログラム付き。
Genesis Code: Compile Projectを選ぶと、
プログラムをエミュレータで動くゲーム形式(*.bin)に書き出してくれます。
だからこの2つをやれば、簡単にhello worldができてしまうのです。

こんな感じです。先のとおりコンパイルできずハマったので
さらっと行きませんでしたが、わかっていればさらっといけます。

ちなみにプロジェクトのフォルダ名をうっかり変えたら
バグって使えなくなりました。
AviUtlもblenderもそうだけど、参照の相関関係崩れることはしないほうがいっすね。


動かすエミュレーションソフトは再現性が高いらしい
「BlastEm」てソフトを使ってみてます。あんま挙動スキじゃないけど。
Genesis Code: Set Gens Emulator Command Pathを出して、ソフトまでフルパスで書いてあげると、
Genesis Code: Compile & Run Projectを実行することでコンパイルからBlastEmでの実行まで
ワンストップでやってくれます。便利ですね。
デバッグ機能のある「Gens KMod」もあるといいらしいっす。使い分けってことかな。


とまあHelloworld出せました。
やったことを日記に残しておくと脳内整理がはかどるしとてもいい!
明日は大晦日ですか。普通にまたがんばります。


バルダーズゲート3がやりたい。買ってしまった。買ってしまったんだ!

ひとりゲームジャム2日目

ひとりゲームジャム2日目。
テキストをよみはじめました。落ち込みました。
その後で忘年会代わりに友人とメシに行き。
戻ってきて今度は少し散財しました。気になってたレアソフトを…。
あれ?ゲームジャム関係なくね?


2日目の進捗はこちら。

ステーキをたべました。いい加減にしろ。

ひとりゲームジャム1日目

ゲームジャムというのは、短期間でゲームを作成するイベントのことです。
ふつうはどっかに主催者がいて、メンバーを募ってやるんですけど
死にかけサラリーマンがメガドライブのゲームを作ってみるということが
現実的に可能なのか確認したくて、勝手にやることにしました。
ていうかこうやって長く休暇取れるの年イチとかだし、
期限決めないとやれないし、ノープランですけど宣言しちまえと。
ということで、なんかしらクソゲーができれば大成功、くらいで考えてます。


さて、今日の進捗報告です。

おすしをたべました。
では、次回。

おとこのこ

露骨に気の弱いショタ(ショタいうなや)。
今日終電だったんですが、
帰りの電車もある程度はスカスカだったので
眠り防止も兼ねてこの絵を描いてました。
それでも寝過ごしそうでした。あぶねっ。