「ペイガンシューターズ」公開
というわけで、本日新作が完成しましたので、itch.ioにて公開しました😄😄
上の写真は公開ページのスクショ。文字が英語ですが日本語も対応してますので、こういうドット絵好きだよって方及びそうでもないよって方、遊んでいただけますと非常に嬉しいです。よろしくお願いします😇
以下駄文。
この作品、昨年の9月くらいにCF2.5(クリックチームフュージョン)で開発を開始し、そこから途中でLOVE2Dに開発ツールを変えて完成まで漕ぎ着けました。
今までプログラミングなし(厳密にはコードを書かない)でゲームを作ってきた人間がガチプログラミングの世界に入って大丈夫なのか?と、不安しかないスタートでした。
しかしながらやってみると思ったよりはなんとかなるもので、結果的にちゃんとコードを書いて一作品完成できた!というのは、自分としてはそれなりに自信になりました😄
前回の記事ではLOVE2Dのライブラリについて素人目線でいろいろ書きましたんで、今回はLOVE2D(プログラミング全般?)について現時点での感想を書き残しておきます。
●exeファイルの作り方
ここに日本語で詳しく書かれてるのでこれに倣ってやってみました。
手順が書いてあるなら楽勝やでーって感じでしたが、やってみると(いつも通り)いろいろ詰まるわけで。
一応、自分のやった方法は書いておこうかなと。
・loveファイルを作る
注意書きにありますが、zipファイルを作る時はディレクトリを噛ませずに直にmain.luaがある階層全てをzipにする必要があります。
何かディレクトリを挟んでloveファイルにした場合は起動すると「これの下の階層で作れやハゲ」(意訳)っていうエラーが出てくるんでなんとなくわかるかなと思います。
んで、
> 英数大小文字同一視型のファイルシステム (Windows など) では、ゲームのあるフォルダ以外の場所に .love ファイルを移動して再検証することを推奨します。
これ、「ウチのは関係ないやろこんなの」って思ってましたが、思いっきり引っかかってました…w
デスクトップで起動させてるときは全然エラー出てなかったんですが、いざloveファイルにすると起動時に「ライブラリが見つかりません」と。
何でやって思って調べたらライブラリrequireのときのパスが大文字と小文字違ってました…。えらい時間食った😭
・exeファイルを作る
loveファイルを作れたら、
C:\Program Files\LOVE\ へloveファイルを入れる
→ Windows\System32 のcmd.exeを管理者権限で実行する
→ cd "C:\Program Files\LOVE\" で階層移動する
→ copy /b love.exe+○○.love △△.exe でexeファイルを作る
(○○は実際に作ったloveファイルの名前、△△は出力したいファイル名前を入れます)
でexeファイルを作りました。
書くと複雑に見えますがやってみるとそこまで難しくはないですね。
そして、先のリンクにある通り、好きなディレクトリに
- SDL2.dll
- OpenAL32.dll (注釈: このファイルは 'OpenAL32.dll' という名称であるにもかかわらず 64 bit 版のダウンロードでは同一ファイルではありません)
- SuperGame.exe
- license.txt (注釈: いかなる配布物であろうとライセンスを同梱することが義務づけられています)
- love.dll
- lua51.dll
- mpg123.dll
- msvcp120.dll
- msvcr120.dll
これらのファイルを全部コピーして移せばexeファイルが起動できる。はず。
ポンッ!てexeファイルができれば楽なんですが😅、こんな感じでやりましょうと。
誰かの役に立ってくれれば幸い。
●同じ名前の関数に違う処理を入れるな
いや、もう、おそらくプログラミングの前提のお話だと思うんですが…。
クラスを作って、親クラスの処理で「○○のときに関数△△を動かす」って書き方をして、子クラスの方で関数△△にそれぞれ違う処理を書いてたんですよ。
こうすれば楽にキャラごとの動作をさせられる!と。
それで本日いろいろテストしてたんですが、面を変えてみたらそこのボスが別の面のボスの攻撃をし始めてw
察しはついたので急遽ボスごとに関数の名前変えて厳密に行動を分けるようにしました……。
どのluaが優先されるのかとかはよくわかりませんが、明らかにバグの原因になるんだなってのがわかったのでイゴキヲツケマス。
●言語増やすなら無駄に文章増やすな
日本語でズババーって文章書くのは大好きなんですよ。ええ。
んで、時代はグローバルだ!!ってことで、私もビッグウェーブに乗って今作は英語も対応させるかと挑戦してみたんですよ。
挑戦とはいえ、現代には日本人の強い味方・Google先生がおられるわけで、単純に日本語を翻訳させて貼っていけばいいじゃんってノリでした。
うん、甘かったね。
日本語前提でメッセージウインドウとか作ってるんですよ。
で、いざ翻訳してみると、だいたい英語の文の方が長いんですよね。
だからウインドウに文が収まるように文を切り貼りせねばならず……。元の日本語文をどこまで消してもいいか?とか、考えることが結構多かった。
あと単純に「これ英語でなんて言うんだ?」ってのがどんどん出てきて、その都度DMM英会話の過去質問とかに助けてもらいました。ありがてえ🙏🏽🙏🏽🙏🏽
Twitterでも以前ツイートを見かけたんですが(無限びっとさんだったかな?)、ローカライズするつもりなら日本語を基準にUI作らない方がいいんですね。
他の言語を調べてわかるけど日本語はマジ優秀だと思う。オノマトペがむちゃあるのと、だいたい漢字使って短縮した言葉が作れるのが特に利点。逆に言うと日本語独自の表現ってのが多くて海外の言葉でそれを表すのが難しい場面は結構多いなと。
●日本のコミュニティがねえ
前も書いていた気がしますが、とにかく肩身が狭いw
コミュニティがないことをメリットとして捉えている方もおられたのですが、やっぱね、プログラミング学習初級者としてはなかなか寂しいわけですよ。
Twitterでは当然ながらUnity使いなんかが多いわけで、「Unityでこういうの作ってます!」っていうツイートに対して絡みに行きづらいw
ゲーム開発してるのは一緒なんだから意識しなくてもいいんだろうなってのは思うんですがね。ただ、共通してる部分が少ないから語り合うことはできんよなっていう。
LOVE2Dについて語り合える友人のいる方は一生大事にしてあげてください。
◎このあとどうすんの
とりあえずPC新調しますので届くの待ち。
届いたらいろいろ遊びつつドット絵もやりつつ、cocos editorの勉強をしていきたいと思います。
Unity2Dもアリなんですが、2Dゲーム作るならcocosだろうという話だったのでやはりこっちで次作はやってみたいなと。
あとは次作の大まかな構想は描いているので、それをもっと具体的にして開発に臨んでいきます。
一作やりきれたのはよかったですが、まだわからないことが多すぎるのでどんどん経験しながら学びを続けます!
そして、ウチの創作の世界も少しずつ広げていきたいですね😃