2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

40歳のおっさんがゲームを作り始めてみる

1 :名前は開発中のものです。:2017/07/03(月) 15:49:19.91 ID:zP69ELgn.net
プログラミングの勉強もしたことがないのでとりあえず本を買ってみました。

412 :おやじ二等兵 :2018/11/07(水) 21:32:47.06 ID:A3tOFvdF.net
さっきの記事はアプリゲットさんからの転載でした。
https://appget.com/appli/view/72478/

413 :名前は開発中のものです。:2018/11/08(木) 07:59:13.86 ID:NjKyPlgt.net
初志貫徹したおやじ二等兵殿に、

         / ̄ ̄ ̄フ\               _       ノ^)
       // ̄フ /   \            .//\     ./ /
      //  ∠/  ___\___  __//   \   / (___
    // ̄ ̄ ̄フ /_ .//_  //_  /      \./ (_(__)
   // ̄フ / ̄////////////         |  (_(__)
 /∠_/./ ./∠///∠///∠//      ∧ ∧ /) (_(__)
∠___,,,__/ .∠__/∠__/∠__/       (´ー` ( ( (_(___)
\    \ \/ ̄ ̄ ̄フ\ \ \_ \  _   /⌒ `´  人___ソ
  \    \ \フ / ̄\ \ .//\  //\ / 人 l  彡ノ     \
   \ _  \//___\/∠_  //   < Y ヽ ヽ (.       \
    //\///_  //_  ///     人├'"    ヽ ̄ ̄ ̄ ̄ ̄
   //  //.////////∠/      ヽ-i ヽ__  ヽ
 /∠_//./∠///∠// .\\       `リノ ヽ |\  ヽ
∠____/.∠__/∠__/∠フ\.\\      c;_,;....ノ ヾノヽ__ノ

最大級の賛辞を送ろう

414 :おやじ二等兵 :2018/11/09(金) 09:06:32.17 ID:0KuYDNRE.net
>>413
ありがとうございます!
とりあえずリリースできましたが、これからがスタートなのかもしれません。

さて、リリースして3日間経って、さまざまなレビューが上がってきたので、それらを見ながら対応していかないと。

ただ、改善したい点はいっぱいあるんですが、私のプログラム能力では限界があります。
担当してくれたプログラマーさんは別件で手一杯だし、改善作業だけでも自分で出来たら、、。

あと次回作にも取り掛からないといけないし。

415 :名前は開発中のものです。:2018/11/09(金) 11:28:32.17 ID:gpLEktnZ.net
まぁ今回作はそこそこで放り投げて
次回作に改善点盛り込めばいいんじゃないかな

416 :名前は開発中のものです。:2018/11/09(金) 17:03:55.10 ID:oQub2Jai.net
上に同感
そのうち別作品として練り上げたものにしても良いと思う

417 :名前は開発中のものです。:2018/11/10(土) 07:12:24.10 ID:2wdri31B.net
>>414
質問
レビュー依頼や広告打ちなどはしました?

418 :おやじ二等兵 :2018/11/10(土) 12:43:31.09 ID:yhiwD6+M.net
>>417
何件かレビュー依頼ではなくて、プレスリリースのメールを送りました。でも結局どこも反応は無くて、送っていなかったアプリゲットさんだけがレビューしてくれた感じですね。

419 :417:2018/11/12(月) 03:58:49.86 ID:PhGm3vIT.net
>>418
お答えサンクス

420 :名前は開発中のものです。:2018/11/15(木) 20:32:30.29 ID:icz9P7eC.net
やってみたけど結構難しい
災害と時間制限が厳しい

でもね去年から見ていてまさか
完成まで持っていくとは

やっぱり完成させて事、次に
つながるからね

421 :名前は開発中のものです。:2018/11/15(木) 21:33:05.23 ID:wPGTVYpR.net
テストプレイヤーをもっと早めに入れることをおすすめする
完成してから改良って難しいだろ

422 :おやじ二等兵 :2018/11/15(木) 22:49:27.47 ID:b5Zntg1F.net
皆さんありがとうございます。
そうですね、やっぱり今回リリースしてみて、テストは大切だなと思いました。特にシミュレーションゲームはバランス調整が命ですし。後半に資金が余って物量で押して楽勝にならないように心がけていたんですが、なかなか難しいですね。

423 :名前は開発中のものです。:2018/11/15(木) 23:33:00.94 ID:wPGTVYpR.net
だからクラウドファンディングをしろって
完成品を売るんじゃなくて作る過程を売るんだよ
数千円でテストプレイ権を売れば賛同してくれる人10人かそこらは買ってくれるだろ
制作過程をブログにアップしてリリース前から売っていく
協力者から意見ももらえるし宣伝にもなって一挙両得

424 :おやじ二等兵 :2018/11/16(金) 22:35:57.30 ID:8ygeNhrB.net
>>423
クラウドファンディングは検討していましたが、テスターになってもらうという考えはありませんでした。
確かに、制作費も集まるしテストもしていただける上に宣伝にもなるしで、一石三鳥ですね。前向きに検討してみます!

425 :おやじ二等兵 :2018/11/23(金) 19:41:24.66 ID:8pACCt+e.net
いま次回作の製作に取り掛かっています。
今度のゲームはプログラマーさんにイチから教えてもらいながら作っています。
カードゲームとウィザードリィを足したようなRPGを目指しています。

426 :名前は開発中のものです。:2018/11/23(金) 20:13:29.40 ID:WX+ts4tA.net
>>425
奪われし玉座のスタッフですか?

427 :おやじ二等兵 :2018/11/23(金) 22:48:18.14 ID:8pACCt+e.net
>>426
奪われし玉座のことを知らなかったので調べたんですが、もっとシンプルなゲームになると思います。昔ファミコンであったドラゴンボールのカードゲーム、みたいな感じです。
もちろんスタッフではありません。

428 :名前は開発中のものです。:2018/11/24(土) 02:20:05.66 ID:iHs+Bnpb.net
ファミコンのドラゴンボールのカード
ゲームは面白かったですね

あのアニメーションはファミコンの
性能の中で上手いことできていて
センスがありました

429 :おやじ二等兵 :2018/11/24(土) 09:23:10.67 ID:SyvlCsJv.net
>>428
よく出来てましたよね。
私自身はソフトを持ってなかったんですが、友達の家で一緒にプレイしてハマってました。世界観を崩さず、かつよく出来たシステムだったと思います。なんで続編が出来なかったのか(あったけど知らないだけなのか)

430 :名前は開発中のものです。:2018/11/24(土) 19:45:03.93 ID:YNjab2cE.net
そうだね知らないだけだね

431 :おやじ二等兵 :2018/11/25(日) 08:48:36.87 ID:o/hF7l4O.net
いま製作しているゲームはドット絵を外注することにしました。やっぱり見た目は大事ですからね。
C#を習いながらやっているので時間はかかりそうですが、3月くらいにリリースできればと思っています。

432 :名前は開発中のものです。:2018/11/25(日) 16:19:30.64 ID:bOyLXRJK.net
C#だとゲームエンジンはUnityを
利用されてるんですか?

433 :おやじ二等兵 :2018/11/25(日) 17:44:41.44 ID:yQLPzQOa.net
>>432
そうです。Unityが一番マニュアルが多く、一見簡単そうだったので。2Dしか使ってないので宝の持ち腐れですが。

434 :名前は開発中のものです。:2018/11/28(水) 20:34:29.66 ID:qBU5CgiV.net
習いながら…
前も言ってたよね
結構長期的なカリキュラム組むところなんだ?
言語本で独学とかじゃなくて
その年でスクールとはなかなか度胸がありますな
多分オンラインスクールだと思うけど

435 :名前は開発中のものです。:2018/11/29(木) 09:53:12.32 ID:MnEnJQCm.net
作りながらマンツーマンで教えて貰ってる感じなんじゃないか?
そういうのが一番上達すると思うな

436 :おやじ二等兵 :2018/11/30(金) 08:22:17.36 ID:77EOlRRf.net
今のやり方は週1から2回で、プログラマーさんから1時間ほどのレクチャーを受けながら作っている感じです。毎回宿題が出るため自力でやらないといけないので、結構勉強になります。
そういう学校に通うことも検討したんですが、料金も高いしやっぱりマンツーマンのほうが気兼ねなく色々聞けるかなと。
もちろんボランティアではなくレクチャー代をお支払いするという条件です。
ゲームの進捗についてはまだ1、2割くらいですが、自分でイベントを作って画像やメッセージが表示されるまで出来ています。

437 :おやじ二等兵 :2018/12/02(日) 22:45:59.47 ID:umuROP9N.net
明日からはScriptableObjectの使い方を勉強しよう。

438 :名前は開発中のものです。:2018/12/03(月) 17:56:38.81 ID:cXWCf6YT.net
念の習得くらいに重要やな

439 :名前は開発中のものです。:2018/12/05(水) 23:47:13.78 ID:M/Ihyl2e.net
ScriptableObject、メモリ節約できるというからネットで読んでみたけど、読み込みメインのマスタデータという理解でいいのかなあ。
同じ初期値を持たせる複数のオブジェクトの生成時に与える初期値を共通のものとして扱うので、その分メモリの節約になるみたいな。
念習得みたいに重要なら、いまいちめんどそうなので避けて通ろうと思ったけど扱えた方が良さげに思えました。
同型複数オブジェクト、100とか1000とか使いそうだし。

440 :おやじ二等兵 :2018/12/06(木) 13:26:41.07 ID:AXyEjCrB.net
私の場合、今作っているゲームでモンスターやアイテムが100種類もいて、ステータスもそれぞれ設定しないといけないので、データベース作りには欠かせない要素でした。
ただ、ゲーム開始前からデータベースをスクリプトから読み出すだけで良くなるので、結果的に処理も軽くなるんでしょうか?

441 :おやじ二等兵 :2018/12/06(木) 13:31:38.63 ID:AXyEjCrB.net
ちなみにゲーム制作の進捗としては30%くらいです。Unity上での主な作業は大半は終わり、これから来年に向けて戦闘画面を作り込んで行きます。
https://i.imgur.com/W5CmOj6.jpg

442 :名前は開発中のものです。:2018/12/08(土) 08:49:18.41 ID:R/phYPtS.net
ここは生き残っている!
このスレが最後の希望、頑張って下さい

443 :おやじ二等兵 :2018/12/09(日) 10:28:41.19 ID:dVOABa3m.net
だいぶデザインが固まってきました。ドット絵の良さを表現するためにどれくらいのドットサイズにするかが一番悩みました。
今はまだお名前は明かせませんが、私のゲーム制作にご協力いただいているドット絵師さんに感謝です。

https://i.imgur.com/ATbXhIB.jpg

444 :名前は開発中のものです。:2018/12/09(日) 17:47:20.11 ID:KsK2VUFy.net
441と443の画像を比べるとぜんぜん印象が違うね

445 :おやじ二等兵 :2018/12/09(日) 20:15:02.97 ID:dVOABa3m.net
>>444
ゲーム制作中はとりあえずの仮画像をつかって、素材が出来次第落とし込んでいくという感じで進めています。
今回はプログラムを自分でやっているので、こだわって作り込むことができるっていうのが大きいですね。やっぱり作業を進めながら当初と違うレイアウトになったりするので、そういう時に自由に変更ができますので。

446 :おやじ二等兵 :2018/12/22(土) 00:00:43.86 ID:MPsVFWfM.net
おやじ二等兵はenumを覚えた!

447 :名前は開発中のものです。:2018/12/23(日) 00:38:03.66 ID:VNj2eHLe.net
レベルアップおめでとうございます

448 :名前は開発中のものです。:2018/12/27(木) 08:38:56.14 ID:vkWIuT25.net
年内にファイル操作をある程度マスターしたいなあ。
そもそもc#の文法に慣れないとなあ。

449 :名前は開発中のものです。:2018/12/27(木) 13:21:15.37 ID:ydNx9BEh.net
フラグ管理というかアイテムの管理方法をマスターしたい

450 :名前は開発中のものです。:2018/12/27(木) 17:02:06.00 ID:YPH4TDW6.net
ほんとに凄いな

しっかり見てるぞ

451 :名前は開発中のものです。:2018/12/27(木) 17:37:03.74 ID:3siD/kBa.net
はじめてきました
私も参考にさせてもらおう
last Sagaもやったよ、結構面白かった

452 :おやじ二等兵 :2018/12/27(木) 22:11:40.12 ID:qtvCeFJl.net
皆さんありがとうございます!
今年の表立った活動としては、LastSagaをリリースしたことくらいなんですが、改めてc#を学び始めた記念すべき年でした。
40代になって今さらプログラムの知識なんて身につかないと決めつけていましたが、やる気さえあればなんとかなると。(といいつつ、亀くらいの鈍足でしか進歩してませんが)
今作っているゲームはなんとか平成の年号のうちにリリースしたいと思っています。かなりペースを上げないと厳しい状況ですが、頑張ります!
https://i.imgur.com/Lgl8xkj.jpg

453 :名前は開発中のものです。:2018/12/28(金) 00:01:27.96 ID:MHnY0kLd.net
楽しみに待ってます

454 :名前は開発中のものです。:2018/12/28(金) 17:22:17.94 ID:1YUw5N3a.net
おっさんのゲ製作の道程は辛く長いものに

455 :名前は開発中のものです。:2018/12/28(金) 17:23:48.56 ID:abQyymHy.net
ちゃんと進捗あるだけ凄いと思うの
自分なんて仕事で書くだけで家でやる気力はもうないや…

456 :名前は開発中のものです。:2018/12/29(土) 15:57:23.66 ID:iUcYtOnB.net
実現化する行動力はすごいよ。
しかし星1つ付けて 一言レビューしてるバカには腹立つな

457 :名前は開発中のものです。:2018/12/29(土) 17:16:18.24 ID:2fEeg2kv.net
擁護するつもりはないが「自分には合わなかった。面白さが分からなかった」って言うだけでも
星を低くつける理由でいいと思うよ その人にとって満足いかなかったのだから
まあやらずに見た目だけで判断するのは愚の骨頂だと思うけど

458 :おやじ二等兵 :2018/12/29(土) 18:49:53.66 ID:9r97MBZ8.net
今日はモンスターやアイテムグラフィックの整理をやってました。今回はモンスターもアイテムもドットクリエイターさんに全て描き下ろしていただいたので、それをまとめて行くだけでも楽しいですね。年明けから戦闘シーンを作り込んでいきます!

確かに一言だけ書いて星一つっていうレビューはあまりいい気持ちはしませんね。星をいくつつけるかは自由ですけど、せめてちゃんと理由くらい書いてよ、と。
でも面白いゲームを作れば、そんなレビューをいくら書かれても全体評価は下がりませんし、逆にやってやる!っていう闘志が芽生えます。

459 :おやじ二等兵 :2019/01/03(木) 21:58:51.48 ID:k4aD3XYJ.net
明けましておめでとうございます。おやじ二等兵です。
年末年始は酒飲んでばかりの生活を送っていますが、暇を見つけてはプログラムを作成しています。歳なので一日やらないだけで三日くらい後退した気分になってしまうので。
今年の目標はゲーム3本リリースです!頑張ります!

460 :おやじ二等兵 :2019/01/10(木) 11:38:25.99 ID:/cOV9yZ3.net
おやじ二等兵はコルーチンの使い方を覚えた!

461 :名前は開発中のものです。:2019/01/10(木) 15:19:05.08 ID:Ymn7emgp.net
順調そうですねえ。流石です

462 :おやじ二等兵 :2019/01/10(木) 23:05:06.37 ID:/cOV9yZ3.net
いやいや、まだ肝心の戦闘シーンとかには手をつけられていません。
あと今ちょっと困っているのはアイテムデータの管理方法です。
今回アイテムには、薬草などの消耗品、剣や盾などの装備品とがあるのですが、今からアイテムIDを割り振るのにどうしようかと。
通し番号で全て管理すると、何番が何のアイテムなのかわからなくなるので、Item001とSword001という風に分けた方がいいのか。
消耗アイテムが数十種類、装備品が200種類近くあるので、簡単で明確に管理したいなと。

463 :おやじ二等兵 :2019/01/10(木) 23:25:01.75 ID:/cOV9yZ3.net
そっか、idは逆に文字列じゃなくて通し番号の方がデータとして呼びやすいのかな。画像データの管理についてはitem001とか自分がわかりやすくしておけば良いだけで。RPGのアイテム管理って皆さんどうしてるんですかね。

464 :名前は開発中のものです。:2019/01/12(土) 18:30:29.93 ID:F2wxenEG.net
アイテム種類ごとのデータ構造(薬草の回復量情報や剣盾の攻撃力防御力情報)はどうなってるんだろ
簡単にデータ構造を一般化してるのかな
それによるんじゃない

465 :名前は開発中のものです。:2019/01/14(月) 03:50:30.87 ID:ePq29ilT.net
一般論としては、配列にして、添字を定数とかかな

#define SWORD 0
#define KONBOU 1

item[SWORD][KONBOU]

466 :名前は開発中のものです。:2019/01/14(月) 10:59:18.97 ID:A39Tmqo7.net
前に誰かに教えてもらった

enum Item{
SWORD,
KONBOU,
ONO,
YAKUSOU
};
Dictionary<Item, int> itemDictionary = new Dictionary<Item, int>();


使う時は
//薬草を2個ゲット
itemDictionary[Item.YAKUSOU] = 2;

467 :名前は開発中のものです。:2019/01/14(月) 14:44:08.42 ID:Zlj4hCYA.net
GameGuruを使えば簡単にクソゲーが作れるぞ

468 :名前は開発中のものです。:2019/01/14(月) 15:07:01.65 ID:jZqTWQUP.net
アイテムの属性の数は、多い。
30ぐらいある

各、光闇火水風土への耐性が何% とか、
毒・睡眠・石化など、異常状態への耐性とか

469 :名前は開発中のものです。:2019/01/14(月) 20:46:31.59 ID:5s6TT6v4.net
個人開発ゲーで装備品が200ってヤバくね。超大作の気配

470 :おやじ二等兵 :2019/01/16(水) 16:59:00.58 ID:SHkKCzmM.net
おやじ二等兵です。

ゲーム製作が佳境に入ってきて、クラスや関数が増えてプログラムも複雑化してくると、だましだましやってきたことのツケがまわってきました。
変数・関数・引き値・戻り値の整理が未だにできていないので頭の中がこんがらがってます。
歳のせいかもですが英語の勉強と一緒で、一日空けると一歩後退してしまうようです。

アイテムは200種類、登場モンスターも200体以上いるので、ステータスの割り振りで年末年始の作業のほとんどを使ってしまったんですが、その間プログラムをあまり触らなかったのがいけなかったです。

平成のうちにリリースしたいと思っていますが、開発のペースを上げないと厳しいかもです。

471 :名前は開発中のものです。:2019/01/16(水) 23:45:04.88 ID:+JIzYSSe.net
敵キャラ200体とは結構な大作に
なりそうですね

472 :おやじ二等兵 :2019/01/17(木) 00:36:17.53 ID:IxUZrWah.net
>>471
ゲーム内容はダンジョンの中で戦い続けるだけなんですけど、敵のバリエーションが豊富じゃないと飽きてしまうと思いまして。
そして全キャラをドットで描き下ろしてくださったイラストレーターさんにも感謝です。

473 :名前は開発中のものです。:2019/01/17(木) 13:57:14.33 ID:atvG/PDp.net
せっかく、>>463の回答がいくつか書かれているんだから、ありがとうくらい言ったら?
(「回答が遅かったためすでに自分のやり方で実装してしまいましたが」でもいいし
実際、どう実装したからも言うべきだとは思うが)

474 :おやじ二等兵 :2019/01/17(木) 15:12:23.49 ID:IxUZrWah.net
おやじ二等兵です。

すみません、疑問に対して皆さんからいくつか回答を頂いていたのに返答をしておりませんでした。まずはありがとうございます。そしてお返事が遅れて申し訳ありません。

頂いた回答について、理解できていないところが多々あったのでお返事の前にある程度理解してお返事しようとして、色々調べている間にドツボにハマっておりました。プログラムの基本部分をもう一度見直してみます。

一週間程度ご報告はできないかもしれませんが、ゲーム製作は進めていきたいと思います。

475 :名前は開発中のものです。:2019/01/17(木) 15:42:32.42 ID:DSzrfN1a.net
>>474
別にここは質問スレでもないし回答は勝手に書いてるのだから気にせずに、おやじ二等兵のペースで大丈夫だぁ

476 :名前は開発中のものです。:2019/01/17(木) 16:47:34.44 ID:atvG/PDp.net
>>475
普通に善意で書いているのだから、お礼くらい言うのが常識だと思うけどね
「ただでサービスするのが当たり前」みたいな考え方が世の中をおかしくしているのだと思うし
脇から急に出てきたあなたが仕切っているなら別だけどさ

477 :名前は開発中のものです。:2019/01/17(木) 17:13:55.99 ID:VUzWXqSm.net
なんかスレのノリが15年くらい前の専門板みたいだなぁ
>>1のことではなく取り巻きの連中から加齢臭がする

478 :名前は開発中のものです。:2019/01/17(木) 17:17:29.20 ID:AeSiAnF7.net
>普通に善意で書いているのだから

本当にそう言い切れるかな
回答者の実態がどうかとは別の問題として、自分が疎い分野なら尚更、疑って掛かる必要がある。時間がかかっても仕方がない
当人もたぶん調べてるんだろうな、と思ってた
また真っ当に成果出している社会人に対して、頭ごなしに素っ気無く杓子定規を強要するのもどうかと思うけどね
そもそもここは、ただでさえ成人スキル・対人感覚・道徳観が常軌を逸して未熟なゴミカスナマポが目立っている板であることも忘れて欲しくない
ここでは会話がまともにつながる人材は非常に貴重じゃないか(笑)

479 :名前は開発中のものです。:2019/01/17(木) 17:46:44.67 ID:DSzrfN1a.net
お礼を強要する善意とかね
モンスタークレーマーみたいやね

480 :名前は開発中のものです。:2019/01/17(木) 19:45:54.12 ID:X9C+2FkG.net
まぁ単純に続きが気になるんでしょ

481 :名前は開発中のものです。:2019/01/17(木) 22:27:01.96 ID:Y9kJarhC.net
お礼くらい言うのが人の道だろうと思うんだけどね
押しつけではなくて、質問があったから、回答しました、なんだからさ
(あなた自身が回答しているなら、カッコ良いと思うけどさ、「礼はいらねえぜ」的に)

逆に、あなた自身は主体的にボランティア活動したことあるの?という話になるわけだが

海外でも大企業がOSSの美味しいところだけ持っていくのが問題になっているが、
「美味しいところだけ掠め取る、ただしクレームは言う」みたいな考え方が主流になると、
ほとんど誰もフリーで作る人がいなくなると思うけど(今の日本の現状のように)

私個人としても、おやじ二等兵さんには自分のソフト開発の励みにもなるし、
「ゲームを作る」という意味では同士な訳だから、稚拙ながら多少は答えられるところは答えたりもしているけど

482 :名前は開発中のものです。:2019/01/18(金) 00:12:54.96 ID:FOxRlkIS.net
そないに熱くならなくても…

483 :名前は開発中のものです。:2019/01/18(金) 00:47:29.66 ID:8QyF5bRa.net
「質問に答えてあげたんだからお礼くらい言いなさいよね!」
っていう古典的ツンデレヒロインの面影がみえたわ

484 :名前は開発中のものです。:2019/01/18(金) 14:16:26.62 ID:oX4tOWNz.net
まぁ、その辺は双方がどう思うかなだけだし強要は良くないでしょ
少なくとも真面目に頑張ってるのは伝わるし目くじら立てんでもって思う

485 :名前は開発中のものです。:2019/01/22(火) 20:28:16.33 ID:WPz1p6rh.net
もうこの板って面倒くさい奴しか残ってないのな

486 :おやじ二等兵 :2019/01/23(水) 16:53:48.63 ID:EiakYWS+.net
おやじ二等兵です。
今日はモンスターをランダムに表示する処理を入れるために配列について学びました。
ダンジョンを進むと一定の確率でモンスターが現れる。という処理まで作っていましたが、今日はモンスターリストからランダムに抽出してあるモンスターを登場させるところまで実装しました。
勘違いしていたのはRamdom.Rangeを使えば、モンスターリストからランダムに抽出して、データを持ってきてもらえると勝手に思い込んでましたが、Ramdom.Rangeはあくまで一定数の中から無作為抽出するだけで、モンスターリストから探してくることまではしてくれないんですね。
for文を使ってリストの先頭から一つずつチェックしていき、if文でランダムに抽出したモンスターIDと合致すれば、そこでやっとモンスターのデータを取得することができる。
抽出、検索、取得の命令を一つづつ組まなければならないということを勉強しました。
先日みなさんから教えていただいた配列の使い方とはちょっと違いますが、これを応用して宝箱からアイテムをランダムにゲットするプログラムを組んでみます。

487 :おやじ二等兵 :2019/01/23(水) 17:13:46.77 ID:SrgXNWbj.net
あ、そっか。これがプログラミング的思考ってやつなんですね、きっと。

488 :名前は開発中のものです。:2019/01/25(金) 03:21:26.71 ID:abDpzwC8.net
モンスター固有IDをランダムで選ぶより、リストのインデックスをランダムに選べば、モンスターIDを突き合わせるなんてことはしなくてよくないですか?

489 :名前は開発中のものです。:2019/01/25(金) 03:32:44.20 ID:abDpzwC8.net
もう一度読み返してみました。
あらかじめランダムに選ばれうるモンスター群がいるんですね。それが「リスト」なのかな。
で、そのリストの何番めかをランダムで選べばいいだけのような。
モンスターのデータをもつマスタのインデックスを、選ばれうるモンスター群に持たせてあげれば、1リストインデックスから2モンスターマスタのインデックスにつながりデータもすぐ取得できるように思えます。

モンスターマスタ[リスト[1リストインデックス].2モンスターマスタインデックス].モンスターのデータ
↑こんなイメージなんですが。

見当違いだったらごめんなさい。

490 :おやじ二等兵 :2019/01/25(金) 18:28:25.87 ID:z0GtB7Cx.net
>>488
ありがとうございます。いまどのようにモンスターを読み込んでいるか、勉強を兼ねて後ほどまとめて説明したいと思います。

491 :おやじ二等兵 :2019/01/27(日) 11:07:48.99 ID:0xnExxJ/.net
おやじ二等兵です。以下が私が作っている、モンスターをランダムに呼び出すプログラムです。

まずモンスターのID、名前、HPなどの各種ステータスをExcelで作成したMonsterDataというファイルを作りました。
そしてアセットのXLS_Import Settingsを使って自動生成されたのが、Entity_MonsterData.csです。
さらに、エクセルで作成したデータを読み込むためのクラス、EnemyStatus.csを作りました。

492 :おやじ二等兵 :2019/01/27(日) 11:10:56.56 ID:0xnExxJ/.net
public class EnemyStatus : MonoBehaviour {
public List<MonsterData> listMonster = new List<MonsterData>();

//Excel設定ファイル(Resourcesフォルダ以下)
private string data_file = "Data/MonsterData";

//エクセルデータ管理クラス
private Entity_MonsterData monsterData;

void GetExcelData(){
monsterData = Resources.Load(data_file) as Entity_MonsterData;
if (monsterData == null) {
Debug.Log("Excel Data Read Error!");
return;
}

}


// Use this for initialization
void Awake () {
//エクセルのデータをUnityに読み込む命令
GetExcelData();
for(int i=0;i<monsterData.sheets[0].list.Count;i++){
listMonster.Add(new MonsterData{
Monsterid = monsterData.sheets[0].list[i].MonsterID,
Name = monsterData.sheets[0].list[i].MonsterName,
Imagename = monsterData.sheets[0].list[i].MonsterImage,
});
}
}

493 :おやじ二等兵 :2019/01/27(日) 11:15:52.35 ID:0xnExxJ/.net
そしてEnemyLoadというスクリプトでモンスターの情報を取得するクラスを作成しました。

public class EnemyLoad : MonoBehaviour {

public EnemyStatus _EnemyStatus;
public MonsterData _Monster;
public GameObject Monster;

private string imagePath = "Images/Monster/";

public void ShowEnemy(int Floor){
_Monster = new MonsterData();
//100以上111未満のidをランダムに決める
int id = UnityEngine.Random.Range(101,111);
//モンスターリストの先頭から頭までを検索
for(int i=0;i<_EnemyStatus.listMonster.Count;i++){
//ランダムに決めたモンスターidと一致した場合
if(id == int.Parse(_EnemyStatus.listMonster[i].Monsterid)){
//そのモンスターの情報を取得する。
_Monster = _EnemyStatus.listMonster[i];
}
}
Monster.GetComponent<Image>().sprite = Resources.Load<Sprite>(imagePath + _Monster.Imagename);
Debug.Log(id+","+_Monster.Imagename);
}

494 :おやじ二等兵 :2019/01/27(日) 11:20:34.02 ID:0xnExxJ/.net
ちなみにモンスターのID管理については3桁の数字にしています。
1面で登場するモンスターは100番台とし、1面の敵は10種類いるので101以上、111未満のidからランダムに読み込むとしています。

495 :おやじ二等兵 :2019/01/27(日) 11:21:20.02 ID:0xnExxJ/.net
こうやってまとめてみると、えらい複雑な仕組みにしている気がする・・・

496 :おやじ二等兵 :2019/01/27(日) 11:31:00.29 ID:0xnExxJ/.net
pcで書き込んだのでsageになってなかった、、(>_<)

今回は教えてもらいながら作っているので、勉強を兼ねてちょっと複雑に作っている部分もあるかもしれません。

497 :名前は開発中のものです。:2019/01/27(日) 16:54:05.24 ID:AFIQyrLw.net
うまくいってるなら直す必要ないけど
Range(0,10)にすれば検索しなくても
listMonster[i].Monsteridでidは得られるんでないの?

498 :489:2019/01/27(日) 22:31:27.23 ID:2mIaxQBg.net
>>497
俺もそれが言いたかった。

499 :おやじ二等兵 :2019/01/28(月) 14:05:11.99 ID:IUskJMN+.net
おやじ二等兵です。

>>497
ありがとうございます。
for文とかif文とか使わなくてもいけるんじゃないかってことでしょうか?

500 :名前は開発中のものです。:2019/01/28(月) 16:43:40.70 ID:jtIftoJx.net
もしかしてlistmonsterには全モンスターが入ってるのかな
それなら検索必要だな

501 :名前は開発中のものです。:2019/01/28(月) 17:16:48.89 ID:DuHRK9wf.net
range(91+ stage数×10, 101+ stage数×10)
でいかんの?

502 :おやじ二等兵 :2019/01/29(火) 09:50:53.71 ID:l1MFARX4.net
おやじ二等兵です。

>>500
ありがとうございます。そうです。全モンスターがそこに入っています。

>>501
アドバイスありがとうございます。ちなみに91という数字はどちらからきたのでしょうか?

503 :名前は開発中のものです。:2019/01/29(火) 11:42:48.19 ID:Kt/mjAwB.net
>>502
計算して逆算です。
ステージ1なら101から110までとあったので。

504 :おやじ二等兵 :2019/01/29(火) 12:25:39.85 ID:l1MFARX4.net
>>503
なるほど1面ならrange(101,111)、2面ならrange(111,121)となるわけですね。
ただ、面によっては登場するモンスターの数が変わってくるので、一律にはできないんですよね(>_<)

505 :名前は開発中のものです。:2019/01/29(火) 13:49:26.28 ID:Kt/mjAwB.net
流石にそんなものは、自分で考えてくれw

506 :おやじ二等兵 :2019/01/29(火) 14:09:35.33 ID:l1MFARX4.net
>>505
ですよね(^_^;)
ということで、ちょっとややこしいですけど今のやり方に至っているんだと思います。
特に大きな問題はなさそうですし、宝箱開けた時のアイテム取得もこれと同じ方法でやろうかと思います。

507 :名前は開発中のものです。:2019/01/29(火) 16:29:08.30 ID:NV3b9IHp.net
自分ならモンスターIDの左から2文字を取り出して
1階なら 01で 01が含まれるモンスターの数を調べる
これで乱数の振り幅が決まる
r= range(0,N)
01+r で文字列にすればモンスターIDが決まる

508 :おやじ二等兵 :2019/02/03(日) 12:35:29.70 ID:guSLk/Zw.net
>>507
ありがとうございます。これなら階数を引数で指定しなくてもモンスターを呼び出せますね。

509 :名前は開発中のものです。:2019/02/03(日) 22:09:34.53 ID:skucwYxa.net
えっ!?

510 :おやじ二等兵 :2019/02/06(水) 17:19:08.98 ID:6lRjECDO.net
おやじ二等兵です。

>>509
あれ?私の認識が違いましたかね。
階層ごとに登場するモンスターの数が違うので、現状では階層ごとのモンスターデータ取得の数値を入れてあげないといけないけど、このやり方ならモンスターのidから登場階層を判断できるので、いちいち数値を入れて支持しなくてもいいのかなと。

今日から戦闘画面の本格的な製作に着手しました。来週あたりには予約トップ10で予約受付を始めようかと思っています。

511 :名前は開発中のものです。:2019/02/06(水) 19:15:37.04 ID:D92pq647.net
>>510
いや、気にしないでください。

512 :おやじ二等兵 :2019/02/11(月) 16:48:03.31 ID:J+7NZaQs.net
おやじ二等兵です。
ティザー広告が一足先に完成しました!

https://youtu.be/1t82HtdXuCY

ゲームの雰囲気がなんとなく伝わればいいなぁ。

総レス数 1001
337 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver.24052200