UnityC#勉強してMMO作たいけどどうする!?4(^^
■ このスレッドは過去ログ倉庫に格納されています
さて、今宵はどんな感じでふか?(^^僕のチンコは硬いでふよ(^^
次やりたいこと(^^
・アイテムスロットのアイテムをショートカットキー(1〜^)で消費(^^
・複数アイテムの導入(MUのポーション3個セットみたいな)(^^
・装備を作る(^^
・装備欄に特定の種類(頭なら頭みたいに)しか装備できないようにする(^^
・装備ステのステータスへの反映(^^
・アイテムインベントリ?をTUV作る(^^
難しそうでふ(^^
このなかでは装備くらいしか作れなさそうでふ(^^
チンコショボーン(^^ >>126
インベントリであと5年くらいかかりそうね
起きたらやってみるよ
今日の俺は男キャラに再挑戦
野球部っぽいけどもうこれでいいや、寝る
https://i.imgur.com/MOewecA.jpg >>126
プロジェクトごとで起動するまで時間かかったわw
マップ、ワープポイント、NPC話しかける所とか色々追加されて来てて良いね
アイテム取得、しんだ時の効果音適当なの割り当ててくれると嬉しい
突然死に戻りしていつ死んだのか解からんかった
というかモンスター一匹も倒せんワニw >>126
なんだプロジェクトを上げたのか
ところであのマップはどうやって作った? 上から見たところをスクショして作りまひた(^^
なので細かい所に違いがありまんこ(^^ Unity2dでローグライクを作ることになりまひた(^^
ローグライクにMMO、なんで難しいものばかり挑戦してしまうのでひょう(^^
現状公式チュートリアルを改造して前後左右のスプライトが動くようになりまひた(^^ >>133
変な上着含めてとてもいいと思いまふ(^^ >>134
あまり今とやってること変わらん気がするが…
まあMMOよりかはゴールが近いしいいんじゃない
男キャラは欧米向けにすることを思い出して塗り直し
https://i.imgur.com/oCCb092.jpg
今のシェーダーでは金属表現できないのを忘れてたよ う〜ん(^^
チュートリアルのアレ、どうすれば部屋を複数、部屋を繋ぐ通路を作れるのでひょうか?(^^
あとサウンドリスナー?でひたっけ?が主人公に付けても左下に固定されるのでふが…(^^ >>137
シナリオは書けまふぇん(^^
シナリオのないゲームにしまんこ(^^ 師匠いまふか?(^^
装備欄って装備一つにスクリプト一個がいいんでふか?(^^
それとも全装備スクリプト1つで管理したほうが楽?(^^ 本日はアイテムを少々やりました
毒とかの状態異常や属性なんかもあったほうがいいのかしら >>140
おお、わたしのかわいいぼっきんぐや・・・
それっぽっちんぐの情報でわかるか!!ちぎるぞ!!
と言いたいところだが
装備一覧から装備スロットにD&Dや右クリックで装備するようなものを想定すると・・
各装備スロットはプレイヤーの操作に対して
「実際にキャラに装備させる」、「アイコン画像を表示する/消す」
「ステータスに反映させる」というような応答をする必要があるので、
各スロットにそのためのスクリプトを配置する
ただし、スクリプトは応答するという意味ですべて同じ挙動をするので
共通のものひとつで十分
結局のところ消費アイテムと考え方は同じ
構造的にシンプルでレイアウト変更などにも強いのでまずはこの方向性 拝啓ワンコのおっさん
毒だけでなく装備サビサビ、疲労や腹ペコ、病気、特定の状況に耐性低下、祝福など
上手く使えばゲームに緊張、カタルシスなどの緩急や戦略を与えられるので良いと思います
また、属性といっても単に火・水みたいなものは安易に乱用されすぎて期待薄ですが
錆びた青銅製武器でのみ傷つく、植物族が近くにいるとアレルギーで弱体、
虫族がいるとおっかけちゃう、水場に入ると固まる/追跡を断念する
みたいな一様でない特性のようなアプローチならプレイに工夫の余地や彩りを加え
さらには世界観やステージ構築に一役、ゲームに奥行きがでてくるかと思います
キャラではありませんが丁寧に書いてみました敬具 >>142
もしかしてアイテムスロットと同じスクリプトでint タイプ=1;//1=スロット 2=装備 みたいにしてもいいんでふか?(^^ 出来まひた、装備欄にアイテム置けるようになりまひた(^^
ここから持ってるアイテムの種類を取得してヘルムは頭に、武器は武器欄にしか置けないようにしたいでふ(^^
どうする!?(^^ >>143
ご丁寧にありがとうで候
武器 包丁:食べれそうな敵に大ダメージ
みたいなのを実装したいと思っていたので属性はやめて種族を取り入れてみようと思います
状態異常もやってみます >>145
やりたいことははっきりしてるんだから
あとはコードにするだけ
装備スロット側、装備アイテム側にそれぞれ種別をもたせる
まで書けばあとはわかるだろ 毒、麻痺、眠りの状態異常を実装
あとFXで今月稼いだ分全部溶かしました
もうFXなんか2度とやらないと誓いました なんとワンコのおっさんもFXやってるのか
その感じだと米ドルに往復ビンタくらったのかな >>147
師匠は忘れてると思いまふ(^^
僕がUnityガチ素人で手探りで作ってるということを(^^
エクセルの種類の項目とスクリプト側のString変数が一致すれば…ってことでふか?(^^
ifでいいんでふよね?(^^ >>149
今日も下目線だったのがいけなかった
あわててドテンLするも110越えず、あとは平常心を失って何をやっても裏目に出る
まあいいさ、ただの小遣い稼ぎさ
プラマイゼロになっただけさ
ああ…悲しみ itm = lamtes.itemReturn(HundItem.Hundid);
if (itm.種類 == "Consumable")
{
スロットを入れ替える();
}
>>if (itm.種類 == "Consumable")
ここがぬるぽになりまふ(^^
なぜでひょうか?(^^ いい加減なぜヌルポになるか覚えやがれ!
lamtes.itemReturn(HundItem.Hundid)が何する関数かしらんが
引数HundItem.Hundidで返す値がないんだろうよ itm = GameObject.Find("Itemyobidasi").GetComponent<Lamdatest>().itemReturn(HundItem.Hundid);
if (itm.種類 == "Consumable")
{
スロットを入れ替える();
}
こうしたところ無事ぬるぽは解決しまひた(^^
でふが今度は種類が一致してないにも関わらず置けるようになりまひた(^^
どうしまひょう?(^^ おいおい・・・試しにアイテム入れ替え関数消してもアイテム入れ替えできるぞ(^^
なんででひょう(^^ Unityの不調でこうなることあるので落として再起動したら置けなくなりまひた(^^ 置けなくなったはいいでふが(^^
今度はスロットのアイテム取り出せなくなりまひた(^^
バグの理屈としてはハンド変数=消費アイテムの時にアイテムを交換する仕様なので(^^
何も持ってないときは手の種類が消費ではなくNonなのがこのバグの原因でふね(^^
条件を消費orNonにすれば治ると思いまんこ(^^ >>151
午前中反発してたからねぇ
今も反発してるが、下目線だからなあ
プラマイゼロなら資金にダメージないんだし問題ないんではないか
反発してないときに売ればいいんだよ、さあエントリーしてごらん・・・フフフ・・・ 調子悪かったのでpc再起動したら治りまひた(^^
次は何作りまひょうか?(^^ >>159
もうチャートとにらめっこする生活には疲れたよ
小心者の俺にはFXは向かないんだ
よし、これを期にきっぱりやめるぞ(4回目) Unityが調子悪いってどういうことだよ
ボッキングのUnityは風邪でも引くんか?おおん? たまにでふが書き換えたスクリプトが反映されなかったりすることあるんでふよ(^^
そういう時は再起動すれば治りまふ(^^ ゲーム制作に間違いはないとはいえ明らかに効率悪いやり方はあるんでふよね(^^
そこで次僕がやるべきことを教えてくらふぁい(^^
今は装備を頭は頭だけ、鎧は鎧だけ装備できるようにするとかが正解でふか?(^^
其れなら簡単そうでふ(^^ そういやワンコのおっさん
アイテムどう実装するか悩んでるって言ってたじゃんさ
消費アイテムの話なら内製スクリプト化がいいと思うぞ
応用次第で罠、会話イベント、演出、シーン遷移なども扱えるし
それ以外の方法だとデリゲート系(関数ポインタ)が手軽だが、
アイテム種増えがちなローグライクには不向きと思う
なお、俺は資金動かしたくてしぶしぶ買いポジ5万近く損切りした
その直後に瞬間的に反転爆上げするのも定番、くそったれ >>164
簡単ならひとに聞く前に実装しちまえって スクリプトで設定した関数がインスペクタ上に存在しないんでふがどこを変えればいいんでふか(^^ あ、一回再生したら表示されまひた(^^
なんかUnity調子悪いでふね(^^ とりあえずやっておきまひた(^^
装備アイテムはまだ画像作ってないので薬の種類をHelm,Armorにしてまふけど(^^
薬をかぶって薬を着るってどういう状態なんでふかね?(^^
https://i.imgur.com/12XRFJw.png 装備の防御力も簡単そうなのでやっておきまんこ(^^ プレイヤー防御力実数= PlayerBlo + GameObject.Find("01頭装備画像").GetComponent<アイテムスロット置く>().Slotid + GameObject.Find("01胴装備画像").GetComponent<アイテムスロット置く>().Slotid;
こうやって装備変えるときにFind...+Find...+...ってやると恐ろしく長くなりそうでふ(^^ >>151は110じゃなかった111だった
今みたら夜中のうちに安値更新かよ
>>165
なんかうまいやり方がないか考えてたけど
諦めてゴリゴリ書くことにしたよ ダウ更新したらしいから難しい相場かもしれんね
ベタに書いていっていきづまったらなんか考えるでもいいんでないかい ところで画面サイズの変更とUIはどうしてる?
パネルとか使うと自動サイズ調整が無理だった
ああいうのはプログラムのほうで手動で調整してんのかな Android向けだから画面サイズは固定でござる
Canvas Scalerコンポーネントで画面サイズに合わせて拡縮みたいなことできなかったっけな 迷っていたがアイテムもモデリングすることにしたぞ!
https://i.imgur.com/oJGCztL.jpg
まだ人工物は下手くそね
他、状態異常回復アイテムと
カメラが自動で障害物を回避するようにしました ワンコのおっさんはたいしたもんだね
とにかく仕事がはやい
コーラ系ポーションも味あって悪くないと思うけどね
一方ボッキングはアホの子すぎて全世界がドン引きしてしまっているわけだが...
slotidを足していくと防御力になるんだぜ...
もう意味わからんしstupidでいいじゃんとか思った...
ずっとそんなんでいいんかボッキングよ... 眠い時に作ると混乱しまんこ(^^
Unity初心者がいきなりMMO作るのは無理がありまひたね(^^
でも完成させたいのでヒントくらふぁい(^^ ボッキング君、無駄とは思いつつお説教タイムだ
初心者だから作れないのではなく、初心者のままでは作れない、だ
もうちょっと詳しくなりたい、上手になりたいと思って取り組み続けた人だけが
作れるようになるだけ、いったいいつまで初心者のままなのかね
ヒントもらってればなんとかなると思っていること自体、根本的に間違ってるんだって
この期に及んであんな適当極まりない、始めて二週間の中学生みたいなクソコード書いて
ヒントくださいなんてなめすぎ、ふざけすぎ
考えようともしてないじゃん、他人に考えさせりゃいいかね?誰が開発者なんだよ
みんなそんなやつのために凄まじい時間努力して技術手に入れるわけじゃねぇんだわ
大事な夢なら粗末にすんなってんだ、頑張るんならちゃんと頑張れ >177
チャートを見てない日は仕事が早いのだ
しかし最近は誘惑も多くて流されそうだよ
モンハン面白いのかな
>>178
愚かなボッキングよ
slotidはデータベース検索用の値であろう
slotidでList内を検索するのじゃ 111円ブレイクしたぜ?
あとモンハン楽しいよ!知らんけど!
くくく 誘惑の言葉ばかり言ってくれる
FXはメモしたIDを破り捨てたのでもうログインできないよ
運営に問い合わせない限りはな!!
そういえばポケモンはストーリー途中で積んだし
買おうと思っていたドラクエ11に関しては買ってすらいない
ゲーム作っといてなんだが最近あまりゲームを面白いと感じなくなってきたよ 俺も同じ、ゼルダもドラクエもすぐやめちったな
作る方が刺激あるし、やり甲斐がまるで違うんだろうな
あ、FXは面白いですよ?フフ
開発もFXもドラマと成長のリアルRPGみたいなもの 今日はご要望にあったマップに挑戦してみたぞ!
https://i.imgur.com/PbUxsTF.jpg
まあ、上空カメラで撮ったものをRenderTextureに映しただけなんだけどね ボッキングよ、頼むから他の人の邪魔だけはしないでくれ 僕がいつ邪魔しまひたか?(^^
あーよく寝た(^^ >>184
あー見た感じはすごくいいな
色ってほんと大事だなって思うわ
RenderTextureではなくて他が重すぎるような気がしてならないが
2Dゲームでマップ作る要領で実ステージ配置にあわせた
ミニマップチップなりドットなりならべてやるか
それはそれで重いはずだし、古典的な方法なので
手間のわりに結果吉とでるかよくわからないが いやなんか変だな
マップ表示中にテクスチャ毎フレーム更新しちゃってるとか? 試しに2色表示にしてみたけれどまだ重い
https://i.imgur.com/rurQRbb.jpg
どうやら複数台カメラがいけないようです
代替案としては開始時にスクショを取って表示するか
地図開いてる間はポーズするか
どちらも微妙でごわす え…?
いや、毎フレーム取るのがおかしいわけではないが負荷高いからさ
いずれにせよ毎フレームはいらんのでは、
レーダー的に1秒更新ぐらいでも悪くないのではないか、と なるほどねーそんなことができるのね
明日また色々調べてみるわ
今日は夜更かししすぎたのでもう寝る ツクール界隈で知ったことでふが(^^
1秒ウェイトだとカクツキを感じるので0.5〜0.8秒くらいがちょうどいいそうでふ(^^
上は会話ウェイトの話でふがNPC表示レーダーなら0.3〜0.5くらいがいいんじゃないでふか?(^^
僕もレーダーほしいのでいつか作りまんこ(^^ >>193
例えば、静的なマップ部分はマップ生成時に1回描画、動的なキャラや敵、アイテム等のオブジェクトは毎フレーム描画、この2枚を重ねて表示するなんて手もある
更にレンダリング時にカメラ毎に描画対象を差し替えてミニマップはアイコン描画にすると更に楽になる
レンダリング周り最適化もちゃんとやればかなり描画が軽くなるし、モバイル端末の場合のみローポリモデルに差し替えてもいい
モバイル向けならパフォーマンスチューニングは開発のかなりの割合を占めるから腰を据えてじっくりやるといいよ 通ったところだけ記録されていく感じにしたぞ!
https://i.imgur.com/qFgDGVM.jpg
ベースとなるマスブロックがアホほどポリゴン数あるのを思い出して
作り直したら普通にandroidでも動くようになったよ いいね、実にいい
しかし、>>184のクオリティ捨てるのはおしい気がする
>>195には全面的に賛成で、工夫の余地はあると思うので
のちのち気が向いたら挑戦したらよかな >>179
愛情込めたお説教への返答がどうやらシカトらしいですよ
もうダメでしょコイツ、ほっときましょ >>195
レンダリング最適化?よくわかんないスルーしちゃえと思ってしまいましたw
時期を見て挑戦してみます
>>197
あくまで地図という設定なので>>196が着地点だったけど
好評なようなら>>195を試して挑戦してみるわ
>>198
あとは武器強化と能力アップの仕組みを考えたらプログラム面はほぼ完成ね
その後はモデリング地獄じゃ >>199
んー
ある意味返事のしようがないと思うのでレス的にはシカトで構わないのだが
ほっとくというよりは、いまだにぬるぽがーとか言ってんじゃ
ざるで水すくってるようなもんで、俺にかぎらず構いようなくなってしまった気がする
予定では今頃ネットワーク負荷がああでもねぇこうでもねぇとか議論してたはず、
そうなってたらスレ読んでるやつもボッキングもきっと楽しかったと思うんだよな
それが俺はちょっと寂しい
なぁ、ボッキング >>200
レンダリングに限らず、パフォーマンスチューニングってのは機能を追加する余地を生み出すための作業でもあるから、それを受け入れられると楽しくなるよ
プロファイラとにらめっこしながら、これがうまくいったらあの機能が追加できる程度には軽くなるはずとかやるのは決してつまらない作業ではないと思う
最終的にメモリとCPUの負荷バランスをどうとるかとかになるんだけど、タイミングとしては性能的な問題に直面した時に対処的にチューニングするのはお勧めしない
作りたい機能があるときにその機能を載せるためとかいう理由でチューニングする方がモチベが維持しやすいしな >>201
Unity歴半月(しかもブロック崩しくらいしか作ったことない)人が今頃ネットワーク負担とか話し合ってるは流石に無理だと思いまんこ(^^
プログラミングはC#が初めてでふひ(^^
結局僕はプログラミングやゲーム作りには向いてないんでひょうか?(^^
ツクールウディタでやってきた経験上一つのゲームに集中力が続くのは2年が限界なので(^^
2020年くらいまでに完成しないとエターなると思いまんこ(^^
(プログラミングってツクール→ウディタへ移行とは全然違うくらい難易度が高いでふ)(^^
(自由度高すぎて何していいか?正解が何なのかが分かりまふぇん)(^^ ぼっこの大師匠をこれ以上悲しませないためにUnity猛勉強しまんこ(^^
僕の急成長に驚いてくらふぁい(^^ 頭の防御力反映が無事出来まひた(^^
if(スロ置き.装備した==true)
{
ItemID取得 = Lamtes.itemReturn(スロ置き.Slotid);
int 防御プラス値 = ItemID取得.防御増加値;
PlayerBlo = PlayerBlo + 防御プラス値;
Debug.Log("megatiooo"+ 防御プラス値);
ItemID取得 = Lamtes.itemReturn(HundItem.Hundid);
int 防御マイナス値 = ItemID取得.防御増加値;
PlayerBlo = PlayerBlo - 防御マイナス値;
スロ置き.装備した = false;
Debug.Log("megatinpooooooooooooo");
}
本当はもっといい方法があるんでひょうけど…(^^ 手に持ってる装備タグがNonの時はしっかり防御力が-されるのでふが(^^
装備を持ってるときは+されまふぇん(^^
一時間近く悩んでる気がしまんこ(^^
https://i.imgur.com/2YXzn32.png >>207
防御プラス値とマイナス値に同じ値を代入してるからだな
ItemID取得.防御増加値が仮に10だとして
素の防御力が100とした場合
装備しましたメソッドの
3行目でいったん防御増加値の10が加算されて110になるが
その直後6行目で防御増加値の10を減算して
100に戻っている
解決方法としてはそもそも防御プラス値と防御マイナス値を分けないで
防御プラス処理だけにして
ItemID取得.防御増加値の値を
マイナスにしたいならマイナス、プラスにしたいならプラスの値に設定する ボッキングは正月明けからUnity始めたのかい?
半月じゃなくて半年だろう
しかし常人ならばとっくに諦めているだろうに
ボッキングの挫けぬ精神力だけは見習うべきかもしれんなw いくらやる気があっても満足するラインが糞だとあまり修正する必要もなく糞のまま終わるからスキルも身に付かない
完全におままごとだぜ >>209
単なる暇をもて余してるだけでしょう
>>210
構ってちゃんスキルと教えて君スキルはなかなかの物だと思う >>208
よく見たら防御プラスはスロットのアイテムのほう参照して
マイナスのほうは装備中アイテム参照してんのか
アイテムスロット置く.SlotID.防御増加値がうまくセットできてないんじゃないのか ボッキングに何度もしたようなアドバイスを今一度だけしてやるからな
これだけでもあのとき真剣に聞いていたら、おそらく今とは状況がだいぶ違ったはず
理由は省くが、コードに日本語を使うのは卒業して
正しい英単語で変数やメソッドに精一杯神経つかって命名する
英単語がわからなければぐぐってでもつける
よくみかけるものでないかぎり、意味のない省略も避ける(itmなど)
変数は名詞を、メソッドは動詞の英単語をつけてやる たとえをあげると
「ItemID取得」は動詞を名詞化したものなのでメソッドのように見える
多くの人がおや?っと思ってしまうので、これだけで読解のノイズになる
気を取り直して文法的に変数と認識してもitemIDを格納しているようにみえてしまう
それなら単にitemIDという変数名をつけるのが一番誤解ない
しかし、そもそもこの変数はitemIDを格納しているわけではない
これではボッキング自身も含めて誰が読んでも混乱しかしない
わざわざ難解にしている
せめて>>205の部分だけでもやってみな、それだけで成長するし話はそれから さすが先生!まるで聖人(英訳:sage セージ)のようだぜ!
今日はたいして進展なし
パーティクルを作ろうとして挫折してAsset Store覗いていいのがなくて
やっぱり自作しようとして挫折してを繰り返してました >>214
ItemID = Lamtes.itemReturn(スロ置き.Slotid);
int BlockPlus = ItemID.防御増加値;
PlayerBlo = PlayerBlo + BlockPlus;
ItemID = Lamtes.itemReturn(HundItem.Hundid);
int BlockMinus = ItemID.防御増加値;
PlayerBlo = PlayerBlo - BlockMinus;
アイテムスロット置く.装備した = false;
Debug.Log("megatinpooooooooooooo");
とりあえずintの名前を英語にしまひた(^^
ItemID取得をItemIDに変更しまひた(^^
僕は英検4級受かるかどうかってレベルの英語力なのでかなり分かりづらくなりまひたけど…(^^ 毎回sage忘れるたびに個人情報を誤爆メールした瞬間みたいな気分を味わってる
ひとには成長しろといいながら俺は学習しないスタイルなんだぜ・・・
ボッキングな、斜め読みでやるな、itemID意味取り違えてる
今のソースはlamTesとそのクラス名自体まで含めてほぼすべての命名が不適切なので
他人(1ヶ月後の自分含む)が読むことを意識してよく考えてみろな
そんで英単語つってもgetとかdefenseとかattackとかexpとかparamとか
限られてるから続けてればすぐ慣れる
あとでまとめてレビューしたるから
とさりげなくヒントを書いておく俺スイーツ系 別にいいじゃないかw
作法的なものだと割り切って毎回欠かさずsageと書いてるが
実際なんであげちゃいけないのか分からない
馴染みあるはずの日本語なのにコードになるととたんに可読性に欠けるのは不思議だね そう言っていただけますと救われるのですが
ひっそりやりたい派の俺が上げてどうするっていう
ほかのやつがあげるのは別にいいんだけど
やはり日本語は揺らぎがひどいし、とにかく長くなってしまうのに対して
英語は記号的で短く瞬間的に脳に届く情報量が多いからと思う
getComponents
複数のコンポーネントを取得する
日本語の方は「の」「を」「する」の有無、
「の取得」/「コンポーネンツ」などの言い換え、修飾語の語順など揺らぎ多すぎ長すぎ
俺の話も長すぎ 装備外したときにプラスされるのが呼び出されるバグが治りまふぇんね(^^
あーやる気消失(^^ ■ このスレッドは過去ログ倉庫に格納されています