8/2日記 ===== ゲーム開発 ===== * ボスの攻撃について2種類追加。これで割と間が持つ。 * 今回、本編ではまったく利用の機会がなかった弾をいくつか出してみた。\\ 結果、他のボスと比較してもバリエーションが豊かな画面になっていると思う。 * あと1形態ほど入れたいがどうするかな。 * ザコ敵を出すのも考えてたけど、画面全体に弾を出してかつザコ敵も破壊して、ってのはなかなかに辛い。 ---- * 今回のボスのコンセプトが「通常のボスラッシュに対する味変」「ついぞ出す機会のなかったベンチマーク的な弾幕出力」だが、現状でもまったく余裕なんだよね。リミット2048発だけど当たり判定検出は近くに寄らないと発生しないようにしているし、C#JobSystemである程度は処理を並列化しているし、レイアウト的に詰め込まれた内容になっていないので。 * また2048発というのも割と余裕をもった数値にしてあるし、スプライトアニメを動かすのにも余裕の数値にしている。更に言うと、見栄え上の調整を行った上で定義しているので、「大量に発射を想定しており、かつ画面を埋めるのに問題ないくらいの数値」として2048発を定めてるのが現状。 * 今回のボスも画面に出ているのが多くても300発なので弾を重ねる等なければ表示は余裕。 * なのでベンチマークという観点からすると「超余裕では?」みたいなところはある。まぁ仕方ない。 ---- * 画面を埋め尽くすほどの弾が大量に出せる!というノリでプログラムを書くのは楽しいんだけど、最終的に使うときにどういう仕様かは決め打ったほうがいいかと思った。 * 20年くらい前に大学で同じノリでプログラム書いてその状態でゲームに組み込んだんだけど、割と見栄えがよくなかったりした、というのが根底にある。 * なので今回は弾の大きさを先に決めて、かつスプライトの仕様も先に決めて、その状態で弾が大量に出せるかという最適化をしておいた。 * Unity上でやろうと思うとおそらく通常速度で何万発出るんだろうなと思うけど(実際kzrさん動画でそういうのやってるのは見た)、自作のほうはフレーム制御と自作スプライトの更新に関する制約があるため速度に制約がかかり、現状の弾数になっている。 * スプライトに関する制約はもう仕方ないものとして割り切った。 * 今回完成が近づいてるのも、そういった割り切りのおかげかなとも思うし。 ---- * 今後について。 * 実のところ3Dについては手を出せてないというかあまり手を出したくない。 * プログラム的には以前から3Dのプログラムを書いてるので問題ないんだけど、リソースを作るのにかなり時間が取られるのと、現在の腕ではGUIを酷使してリソースを作るのが困難というのがある。 * やるとしてもSDFチックなモデリングツールを使うとかになりそう。 * 数値指定とかでマウスを使わないでモデリングできればいいんだけど・・・ ---- * https://ephtracy.github.io/index.html?page=magicacsg * マウスが必要 * https://clavicula.link/ * 内部でシェーダ書けるらしい * https://sascha-rode.itch.io/sdf-modeler * どこかで見たことあるGUIだけど、こんな設定できるのか。ただマウスが必要。 ---- * 他にはプログラムを書いてモデリングするソフト。 * https://openscad.org/ * これいいかも。 * https://github.com/CadQuery/CQ-editor * Pythonなのが強い。 * https://zalo.github.io/CascadeStudio/ * Webベースなのはありがたい。 * あとすっげえ前にライノセラスってモデリングツールを使っていたことがあったけど、あれもREPL式で数値入力ができたんだよね。 * https://www.rhino3d.co.jp/ * 20万ならまぁ支払いも問題ないわ。 * CadQuery使ってみようかしらね。 * 少なくともドット絵以外の部分はキーボードで作業できる環境が整う。 * まずプリレンダで使うことにしていけば効率的になるんじゃないかな。画像としての出力方法をどうするかは検討が必要だけど。 * あと自前テクスチャアトラスとしてまとめるには結局フォトショが必要になるのは避けられない。