今回はタイトルの通り、製作中のエロ同人ゲームの根幹となる「敵に見つかると追跡され、捕縛されると凌辱される」システムを全部作り直したお話です。
あとついでに、「会話中の立ち絵表示」システムも改修中ですので、ちょっこり紹介します。
端的に言うと、「頑張ったよー、褒めて褒めて―」みたいな感じの記事です。
大して中身はありませんが、記録的な感じで書き残しておこうと思います。
といっても、追跡システムに関しては画像で説明できるようなものではないので後回しにして、まずは一目でわかる立ち絵表示システムの改修中画像をどうぞ。
はい、以前は立ち絵を一人ずつしか表示できず、特にキャラの入れ替わり時に表情差分が重なって見栄えが悪くなったりする出来の悪いシステムでしたが、今回改めてシステムを見直し、一度に二人表示させつつ、台詞の対象でないキャラを薄暗くさせて分かりやすくするようなシステムに作り直しました。
元々立ち絵の表示と、その表情差分や話者の名前を別の命令で管理していたのですが、これらを統合し独立したシステムとして作り直した形です。
見栄えが良くなり、表現の幅が広がる、良い改修になると思います。
さて、「追跡~捕縛」までのこのゲームのえっち成分の根幹を担うシステムについてですが、以前のシステムではマップを全て直線で繋ぎ、入り組んだ地形を作らないようにし、処理負荷を考慮して十字、T字、L字の交点(ランドマーク)を30か所以内に収めなければならないという制約の元に成立するシステムでした。
何故こんなシステムになっていたかというと、幻月ちゃんを見失った敵キャラが元の配置に戻る時の経路探索を行う為にこうせざるを得なかったんですよね。
幻月ちゃんを見失った敵は、まず壁を挟まず視認できる最も近いチェックポイントを目指して歩き、その後直線で繋がった通路を元にして元の立ち位置に帰る、こういう仕組みだったわけです。
体験版をプレイして頂いて、敵キャラの挙動を観察したことのある人が居れば見たことがあるかもしれませんが、処理や地形の都合上、自分の持ち場と逆に動いてから元来た道を引き返すような挙動もしばしば起こりました。
また、敵キャラを目的地まで移動させるシステムも、当時何らかの仕様にひっかかったせいか簡単にXY座標のどこどこに行けという命令が出来ず、目的地まで1マスずつ動かしていたりと、結構滅茶苦茶な実装の仕方をしていたのです。
そんなこんなでぐずぐず製作している内に、ある革命がおこりました…。
そう、ウディタVer3.5の大規模アップデートです。
このアプデにより、ウディタには標準で経路探索機能が備わり、コマンド一つで滅茶苦茶簡単に、XY座標指定も可能で、しかも障害物を自動で避けながら目的地に向かわせることが出来るようになりました。
この経路探索機能実装により、従来のシステムでは複数のデータベースでランドマークとその相互関係を管理していた物が根こそぎ不要となり、各敵キャラの座標や状態の管理をしていたデータベースも消え去り、データベースとのやり取りが一切無くなりました。
また、1から処理を見直したことで複数人から同時に追跡された時の処理遅延も改善され、確認した限りでは5人に追いかけられても行動遅延を起こさず、個々がスムーズに動作してくれました。
また、この大規模改造によって敵キャラたちの巡回ルート構築に必要だった専用のシステムも不要となり、行動パターンの設定も非常に楽になりました。
ついでに、幻月ちゃんを敵が捕まえた時、視認範囲外であっても一定範囲内の敵キャラが自動で幻月ちゃんの確保現場に急行してくれるようになり、幻月ちゃんが取り囲まれる様子をお楽しみいただけるようになりました。
我ながら結構良い演出だと思います。
これらの改修によって、敵の配置やマップに制限が無くなった(と思う)ので、今後登場するマップの構築をもう少し面白く、スニーキングし甲斐のある構造に出来るかもしれません。
とはいっても、このゲームの本質は見つかって貰う事、追いかけられて捕まって貰う事ですからして、あんまり凝ったマップにはしないと思います。
さくっと進んでサクッと犯される、このサイクルは守りたいですね。
ということで、大規模改造によって目に見えないところばかり生まれ変わったエロ同人ゲーム、これからも完成に向けて頑張って製作していきたいと思います。
今後の予定としては、ずっともじもじ弄り続けている催〇撮影会を最後まで見れるようにするか、壁尻シーンを進めるか、というところです。
前者は時系列を無視して、後者は時系列通りに、ということで二者択一ですが、どっち先にするかは自分の気分次第ということで…。
それでは今回はこの辺りで。
最後までお付き合いいただき、ありがとうございました。
廻Re8
2025-04-20 14:29:51 +0000 UTCAssault
2025-04-20 12:12:30 +0000 UTC