忍者ブログ

素人ゲーム開発を垂れ流しつつ、覚醒に至るまでの記録や役立ち情報、愚痴を書くブログ。ちなみに前立腺の開発もやっている。

カテゴリー「自作ゲーム」の記事一覧
 

とりあえず照準から一番近いターゲットに追尾マークを
出すようにしました。本来ロックオンは瞬時の切り替えと言うより
一度捉えたら数秒間はロックされる使用のが多い気がしますが、
とりあえずこれで。


忘れずにGit等でプッシュしときますかね。



 

ストーリー的には仕事に疲れたサラリーマンが
自分探しの旅へ出る、と言うストーリーを考えていましたが
ちょっと保留。ざっくりと考えているのは
惑星の終焉と言う設定で、ある日惑星の状況を知ってしまい
宇宙人の救済の地を目指す、と言うもの。


 

しかし人類のほとんどは気づいておらず、
少人数でその地へと急ぐ。

そしてその道はとても際しい道であった。
みたいな(笑)資本主義社会に疲れたプレイヤーに
向けて元気をお届けしたい、と言う意図も
あるのでそういった刺さる要素も追加していきたい。


・・・本命はもっと深いものが作りたい。
2作目になるでしょう。それにつなげるストーリ
構成が良いと思います。

本当は少数派で今生きる事の意味を探している人へ
贈りたい。しかしそれには資金もノウハウも必要だし、
伝えたい手段を増やしたい。だからこそ
1作目を作らなくてはと思ってます。








PR
※GPT作

更にぶかぼって見ることにしました。
現在は無料プランでかなりリソースを使ったので
制限がかかっている中での解答でうす。最小限の短文。
デフォルトだと更に詳細なデーターがえられます。 
--------------------------------------





  1. よし、では妄想モード100%で、毎週日曜ウンコ雨が降る世界の タイムライン(週単位) を作ってみよう。文明崩壊~適応までをざっくり描く。 ---

    日曜ウンコ世界タイムライン(週単位妄想)

    Week 1(初回降下)

    • 空から1.2百万トンのウンコが落下。
    • 都市はパニック、道路・鉄道は通行不能。
    • 下水道がオーバーフローし、洪水+ウンコ水没。
    • SNSは大炎上。「#ウンコ雨来た」「#防護服必須」がトレンド。
    • 一部の農地は栄養過多で一時的に肥沃化、しかし病原菌大発生。

    Week 2

    • 防護服や雨具が即席に開発・流通。
    • 人々は「日曜ウンコ避難ルート」を確立し始める。
    • 水源汚染により飲料水確保が最重要課題。
    • 「ウンコ感染症」が初のパンデミックとして報告。

    Week 4

    • 都市文明は機能低下。週ごとの対策が定着。
    • 地下シェルターや高架通路が急増。
    • 一部の地域では小規模自治コミュニティが誕生。
    • 宗教・神話で「ウンコ雨神」が登場、信仰対象に。

    Week 8

    • 微生物バランスの変化で土壌生態系が大変動。
    • 肥沃化した農地では特定作物が大繁殖。
    • 大都市はほぼ人がいなくなり、防護服コミュニティ中心に生活。
    • 世界的に「ウンコ耐性スーツ」「ウンコ防御建築」が標準化。

    Week 12

    • 人類は完全に週サイクルに適応。
    • 「日曜ウンコ祭り」が文化的に定着 → 避難訓練と娯楽が融合。
    • 下水・排水技術がウンコ雨仕様に改造され、洪水リスクは低下。
    • 空から降るウンコの量や影響を監視する「ウンコ気象庁」設立。

    Week 24

    • 防御文明が確立:高層都市・地下都市・強靭な農地。
    • ウンコ微生物を利用した新エネルギー技術が登場(バイオガス爆誕)。
    • 世界の子どもは防護服着用で遊ぶのが当たり前。
    • 「ウンコの日」は国際祝日化。学校ではウンコ避難訓練が必須科目。

    Year 1

    • 人類はウンコ雨を前提にした文明へ完全に移行。
    • 都市・農地・文化・宗教・産業がすべて週サイクルに最適化。
    • ウンコ微生物を活用した医療・食料・エネルギー革命が進行。
    • 「ウンコ耐性人類」が標準。逆に耐性のない地域は文明から隔離。
    --- ポイント
    • 週ごとのサイクルで文明は「崩壊→適応→進化」を繰り返す。
    • 生態系・文化・産業のすべてがウンコ雨に依存。
    • 最終的には、人類は「ウンコと共生する世界」を完成させる。
    --- もし希望なら、このタイムラインをさらに ディテール化して、都市ごとの影響・文化・技術・食料事情まで描写した「全地球ウンコ世界マップ」 に拡張することもできる。 作ってほしい?
 

※GPT作

  1. スケール感の確認
  • 世界人口:約80億人
  • 1日×80億人分のウンコ
  • サイクル:毎週日曜日に降る(つまり現実の雨と同期)
量の想像をすると…1人あたり1日分の排泄物を仮に0.15kgとすると: [ 80億 \times 0.15 \text{kg} = 12億 kg = 1.2百万トン ] …毎週、空から1.2百万トンのウンコが降ってくる。これはもはや気象災害レベル(笑)。 ---
  1. 即時的な影響
  • 都市部:建物、道路、交通が完全に麻痺。車も人も動けない。
  • 農地・自然:肥料としては過剰すぎて作物は死ぬか、逆に一時的に肥沃化 → しかしバクテリアが大発生 → 強烈な悪臭と疫病リスク。
  • 水源・河川:汚染で飲料水ほぼ全滅、水道も停止。
---
  1. 社会インフラの崩壊
  • 下水道は物理的に耐えられない → 洪水+ウンコ水没
  • 道路・鉄道・空港は封鎖
  • 公共交通や物流は完全停止 → 食料・燃料の供給が止まる
---
  1. 健康への影響
  • 下痢や感染症のパンデミックが急拡大
  • 空気中の病原菌や悪臭による呼吸器トラブル
  • 医療体制は完全に崩壊
---
  1. 経済・文明への影響
  • 1日で社会の半分は機能停止
  • 週に1回のウンコ雨で世界の都市・産業は長期的に破壊される
  • 経済は数週間で崩壊、都市文明は衰退
  • 代替文明(小規模・自給自足・地下都市など)に分散する可能性
---
  1. 生態系の変化
  • 土壌中の栄養過多 → 一部の植物は大繁殖
  • ウンコバクテリアが猛威 → 一部の動物種が減少、微生物が爆増
  • 空からの定期的な栄養供給で、地球全体の微生物生態系が大変動
---
  1. 文化・心理面
  • 毎週日曜日は「ウンコの日」として伝説化
  • 宗教や神話がウンコと結びつく
  • 人類の服装はフル防護スーツ化
  • ユーモア文化が最高潮に → 毎週のウンコ祭りが世界的イベント化
--- 結論(妄想モード) 文明は崩壊するが、数世代後には「ウンコ耐性文明」が誕生する。地下都市・防護服・強力なバクテリア制御技術が必須。毎週日曜日は全人類が一斉にウンコ雨対策を行う、全地球規模の祭典になる。

 
----------------------
こんな感じでシミュレーションが出来るので、ストーリーや
アイディアを掘り出すのにも使えます。お勧めはモードと言う機能があって、
「現実モード」と「妄想モード」を使い分けると良いでしょう。
デフォルトだと現実モードと言う設定になっているの
ですが、

自分の世界観を固定する為に「妄想モード」を使う事をお勧めします。

これにより物理法則などを無視した回答が得られたりするので
チャットGPTの人類的平均な解答を防ぐこと出来て自由な
発想が生まれます!

「妄想モード8割、現実モード2割」みたいな
指示もできるので結構破綻しないような仕組みも設定できますね。
ぜひ活用ください。
ゲーム開発でもバリバリ役に立ちます。
コーディングに詰んだりした時や、ネット検索でどう
検索していいかわからないときにかなり強みになるでしょう。
そして時短につながります。



以下GPTのやり取りを一部載せておきます↡

 

それに対してのGPTの返答↡

OK、やりたいことは明確
2Dで2点間の距離(長さ)を求めて、一番近いオブジェクトを選びたいね。


基本:2点間の距離を求める

Vector2 obj1;
Vector2 obj2;
 
float distance = Vector2.Distance(obj1, obj2);

これでOK。
内部的には √(x² + y²) をやってくれる。


でも「一番近いもの」を探すなら最適化した方がいい

距離比較だけなら 平方根は不要

Vector2.Distance() は √ を使うので少し重い。
比較だけなら sqrMagnitude を使うのが定石。

Vector2 diff = obj1 - obj2;
float sqrDistance = diff.sqrMagnitude;

または一発で:

float sqrDistance = (obj1 - obj2).sqrMagnitude;

これは √ を使わないので高速。


複数オブジェクトから一番近いものを選ぶ例

public Transform GetNearest(Transform origin, Transform[] targets)
{
    Transform nearest = null;
    float minSqrDistance = Mathf.Infinity;
 
    Vector2 originPos = origin.position;
 
    foreach (Transform target in targets)
    {
        Vector2 targetPos = target.position;
 
        float sqrDist = (originPos - targetPos).sqrMagnitude;
 
        if (sqrDist < minSqrDistance)
        {
            minSqrDistance = sqrDist;
            nearest = target;
        }
    }
 
    return nearest;
}

ポイントまとめ

  • 距離を知りたい → Vector2.Distance

  • 比較したいだけ → sqrMagnitude

  • Mathf.Sqrt は基本避ける(比較用途では不要)


さらに高速にするなら

大量にある場合:

  • 事前に検索半径でフィルタ(Physics2D.OverlapCircle など)

  • 空間分割(QuadTree)

  • DOTS系


今作ってるのは

  • 敵AIのターゲット選択?

  • 弾のホーミング?

  • UIロックオン?

用途によって最適解ちょっと変わるよ。
どのタイプ?


以上チャットGPT-----------------------↑↑↑



数秒で返ってきます。是非、個人やチームで開発している
方がいらしたら使ってみることをお勧めします。かなり時短です。
そして思いもよらない小技をぽろっと言ってきたりもします。




オッサンほいほい、西部劇。
20代前半に買った「夕日のガンマン」DVD版。
何で買ったか覚えてないけど当時メルカリは使ってなかったと
思うのでどこか店頭で買った気がします。

祖父が映画好きでリビングでは西部劇がよく流れていました。
当然子供の頃は汚らしい髭づらのおっさん達がむさ苦しい汗を
垂らしながら繰り広げられるしょーもない薄っぺらいストーリー
にあまり興味がありませんでした。


 


何がきっかけだったか、当時簡単な言語でFPSを創っているときに
このDVDを見て「SAA」のカッコよさを知った気がします。
ブラックパウダーによる銃口からの煙がカッコいいんですよね。

これはゲームに追加したい要素と言う事でゲーム内に登場させて
行きたいと思います。ソレっぽく描いてみました。ハッタリですが、まぁこれでいいでしょう。





 


ダブルバレルも追加で。
ソウドオフとロングの2種類を用意してみました。
FPSでダブルバレルショットガンを初めて使ったのは
ゲームボーイアドバンス版DOOM2だったと思います。
この時期はあまり良さを感じませんでしたが決定的だったのは
KillinFloorのサポートスペシャリストのアレでした。

オルトファイアでぶっ飛ぶスペシメン達に脳汁が出たのを覚えています。
友達も何もいない、寂しい思い出です(笑)




  
ブログ内検索
最新コメント
[01/01 FrankSeita]
[10/06 ダージリン]
[10/03 ゼン]
[10/01 ダージリン]
[09/25 ゼン]
プロフィール
HN:
kawaハギ
年齢:
36
性別:
男性
誕生日:
1989/07/03
職業:
無職
趣味:
ゲーム 音楽
自己紹介:
人類を5次元意識へ押しあげる為のゲームを
開発しています。

小学生3年頃から鬱を発症。対人恐怖症、醜形恐怖等で引きこもり。
生きる意味を長らく探し求め、ようやく答えを見つけスピリチュアル
にたどり着く。覚醒を数段階体験し現在は”もう一度”物理的な自立を目指しています。
カウンター
Copyright ©  -- 覚醒できるゲームを作るブログ --  All Rights Reserved

Design by CriCri / Material by petit sozai emi / powered by NINJA TOOLS / 忍者ブログ / [PR]