【モンスト】 モンストのソースコードを(合法的に)読んでみた

Поділитися
Вставка
  • Опубліковано 7 лют 2025
  • ※BGMの音量設定が誤っていたので再アップしました
    プロの人が書いたコードを読むのは勉強になりますよね
    おしゃれテクニックばっかりですわ
    じゃがりこコラボの告知サイトはこちら↓
    www.calbee.co....
    twitter:
    / gomuhimoch

КОМЕНТАРІ • 151

  • @なぎさん-y6f
    @なぎさん-y6f 7 днів тому +203

    びっくりした…禁忌に近づいたから、神に消されたのかと…。しれっとタイトル変えてるし

  • @永問リジィ
    @永問リジィ 6 днів тому +135

    ボス出現時演出の変数名"gogogoRotate"すき

  • @山-m9o
    @山-m9o 6 днів тому +151

    運営「じゃがりこ工場で撃種の違うモンスターの減速率が同じになる問題を修正しました」

  • @hiko6055
    @hiko6055 7 днів тому +67

    ネタ動画に近い話かと思ってたら普通に勉強になった件

  • @dj2basa
    @dj2basa 7 днів тому +29

    今まで予想で「いくつかブロックが内部でグループ化されていて、キャラがブロックに乗っかっているときはそのグループ内のブロックには当たってもすり抜ける」とかかと思っていたけどなるほどこういう仕組みだったとは
    本家モンストもLRTBのコリジョンの仕組みになっていそうな気がしますね
    アンチブロック持ちがブロックに乗ったときの演出やサウンドを処理するのにも使われていそう

  • @Masshi-Channel
    @Masshi-Channel 7 днів тому +123

    「ここいらんやろ!w」っていってプログラムを削ると、(そこは必要なプログラムだったんですか…)ってときにフリーズバグや意図しない挙動を産むからね…
    コピペして済むんだったらその方が心臓に優しい。
    (さすがに串カツって書いてあるのがじゃがりこ様にバレたらマズいと思うんだが…)

  • @sptlayzner
    @sptlayzner 3 дні тому +13

    面白い企画でした。
    「動いているコードには触るな」ってやつですね。
    社内流用で速度や容量的に問題ないなら、この手のコピペはよくある話。

  • @ヒーロー-h6b
    @ヒーロー-h6b 7 днів тому +202

    自分でモンストっぽいものをつくろうとしたときに思ったんだけど、このゲーム敵の当たり判定が丸なのに反射の演算が四角になってるから、モンストと同じような仕様の作り方考えるの難しかった

    • @GivemeGenuine
      @GivemeGenuine 6 днів тому +51

      モンスト創世記って動画で当たり判定の話がありましたね。綺麗な丸じゃなくて階段状になってるという

    • @SigureAki13178
      @SigureAki13178 6 днів тому +23

      当たり判定丸ではないって神が言ってたね
      限りなく丸に近い四角形の組み合わせらしいよ

    • @相崎孝行
      @相崎孝行 6 днів тому +14

      その辺の事情でマッチショットができるのだと思う。たぶんバグに近いが面白いから残したとかだと思う。

    • @user-tbg2ev6a
      @user-tbg2ev6a 6 днів тому +16

      これのせいでイレバンが?

    • @ヒーロー-h6b
      @ヒーロー-h6b 6 днів тому +6

      @@GivemeGenuine あれはすごい興味深かった記憶あります。
      あれで、敵に斜め45度ぐらいでに当たりに行った時に、そのまままっすぐ帰って来るのとかも説明できるんでしょうかね?
      なんか階段状+何かが組み合わさってる挙動な気がするんですよねー

  • @haru_mikan
    @haru_mikan 7 днів тому +60

    じゃがりこコラボで遊べるミニゲームの不具合についてのお詫び
    とかが発表されたら笑ってしまう

  • @たるたる-o8p
    @たるたる-o8p 7 днів тому +33

    ブロックのプログラムの話すごく面白かった
    昔はコラボ特設サイトにイザナミを倒せ!みたいなミニゲームあったけど、ああいうのも解析すれば当たり判定とかわかるのかもね

  • @user-EKRO
    @user-EKRO 7 днів тому +75

    バグ見つけてて草

  • @はか0106
    @はか0106 3 дні тому +2

    深い理解がないとできない
    素晴らしい考察でした

  • @jdkskdjkwkskslslssessvsvhs9363
    @jdkskdjkwkskslslssessvsvhs9363 7 днів тому +55

    ブロックの設定を変える意味案あんの?
    って思ったが、たしかによく考えたら中のブロック反射しなかったよね。
    驚きすぎてモンスト久々開いて爆死したわ

    • @Korotokku
      @Korotokku 6 днів тому +20

      情報量が多い

  • @おれおれ-d3f
    @おれおれ-d3f 6 днів тому +14

    ン十年前にプログラムを勉強した時に最初にゲームらしいゲームを作ったのがブロック崩しで
    斜め45度から消えない壁に突っ込むとブブブブブって振動して一生戻ってこずそこで諦めた思い出が蘇った

  • @ふぁる-e9y
    @ふぁる-e9y 6 днів тому +3

    ちょうど少し前にc言語の勉強始めたからそこそこわかるところあって楽しかった

  • @yakidake9039
    @yakidake9039 6 днів тому +67

    プログラムは書くのより読み解く方が難しいのに普通にやってのけてるのガチで中の人かフリーランスの現役プログラマじゃないか?

    • @lain8247
      @lain8247 9 годин тому +2

      有名メーカーのプロの書いたコードで、アニメーション処理が何処で書かれてるかとか、バグまで見つけるのは、同じレベルの人じゃないと無理ですね。
      私も仕事でアプリ開発する事もあり、時間をかけてコードを見ればどの部分でどんな処理をしてるかなどは想像がつきますが、バグまで見つける自信はないです。w

  • @lain8247
    @lain8247 9 годин тому +1

    駆け出しの頃、同じように人の書いたソースを読んだり、依頼があれば既存の動いてるコードを改造したりしましたが、勉強になりますね。
    というか、デバックまですると思わなかったので少し驚きました。w
    普通は目的のコードを書くと異変に気付くと思うのですが、気づかなかったという事は既存の物を使いまわしてるのかもしれないですね。
    私も仕事でコードを書くので、動きのあるエフェクトを実装するためにどんなコードを書くか?とか動画を見ながら考えたりしました。

  • @earthsun
    @earthsun 6 днів тому +15

    衝突タイプのRTB 何かの専門用語の略称かと思ったら納得のいく解説始まって感動した 本家でも同じなんかな
    top,bottom,right,left

  • @user-nyarinTo
    @user-nyarinTo 7 днів тому +99

    運営「消せ」
    🐰😺「ごめんね、消してもう一回再アップ」

  • @KorinkuRentorar
    @KorinkuRentorar 7 днів тому +43

    プログラミングに1ミリでも精通している側からするとかなり勉強になる

    • @DA1NA5N_AZUKI
      @DA1NA5N_AZUKI 6 днів тому +47

      1ミリでも精通とかいう矛盾

    • @KorinkuRentorar
      @KorinkuRentorar 6 днів тому +8

      @ 多分疲れていたんだろう

    • @オンライン微熱
      @オンライン微熱 6 днів тому +1

      1ミリ精通って実質射○だろ

    • @sawakura0428
      @sawakura0428 5 днів тому +2

      まぁでもめっちゃわかる。
      そっち類のことを学んでいるが、初期化順による影響って組み方によってはエラーにもならんしバグとして残る理由も理解できちゃう
      ブロックの方も簡単に書いてるようで奥の方に内から触れた場合と外から触れた場合で色々書かれてるんだろうなぁ

    • @D-Ark-wl1wh
      @D-Ark-wl1wh 4 дні тому +9

      プログラミングにせよ何にせよそこそこの熟練度まで精通してる人ほど「全然分かってない」って自己評価しがちなので
      1ミリほど精通してるって表現は割と的外れではない
      プログラミングチョットワカル...

  • @永問リジィ
    @永問リジィ 6 днів тому +7

    ブロックの反射できる面をそれぞれ設定してる話、確かに本家でも元々乗っかってたブロック上を通過するつもりでもたまに反射してしまう奴が混じってる事があったのでなるほどなぁと思った

  • @Mirtyjapon
    @Mirtyjapon 5 днів тому +4

    技術者へのリスペクトが高まる動画

  • @ponpoko_jump
    @ponpoko_jump 7 днів тому +20

    おしゃれテクニックをちゃんとおしゃれテクニックとして受け取れるのは勉強の賜物なんだろなぁ……(概要欄)

  • @saj8882
    @saj8882 5 днів тому +2

    ブロックの仕様がどうなってるのか、知ったところでどうだという話ではあったけど聞いてて面白かった

  • @dice_keydess2418
    @dice_keydess2418 6 днів тому +24

    けっこう古いスマホで遊んでるけど、アプリ自体も動作が重いと思ったことはほとんどないし、友情コンボの演出とかも普通に動作してるのすごいよなぁ〜

    • @Shochan.G
      @Shochan.G 6 днів тому +7

      ただ最近はOSの必須環境が厳しくなってiPhone6s、7はモンスト出来なくなって次の変更(恐らく来年)で8、Xも切られる。
      あと今は16:9より19.5:9など縦長スマホが主流だからSE2、SE3も同世代の11、13より早めに出来なくなるかも?
      懐かしの環境(小型スマホ)でモンストやりたいなら13miniが良いですね

    • @kuukyo_22
      @kuukyo_22 5 днів тому +2

      7できなくなるのマジか。2つくらいサブ垢買わんと……

    • @huun_a
      @huun_a 4 дні тому

      @@Shochan.Gめっちゃ嘘つくじゃん...
      最新の変更だと必須環境がiOS13.0以上なのでiOS15までサポートされてる6s、7はまだ使えますよ

  • @寿司太郎
    @寿司太郎 7 днів тому +14

    ついに本当のデバッグを始めてしまった・・・!

  • @yuki.9825
    @yuki.9825 7 днів тому +51

    なんで内部で反射するブロックと、しないブロックがあるんだろう、ってずっと思ってたからすげぇ腑に落ちた

    • @たーぼあーる-n9v
      @たーぼあーる-n9v 7 днів тому +12

      恐らくモンスト本体も同様なんだろうけど、この条件設定で挙動してるからアンチブロックだけ超アンチ化しないのかと思ってみたり

    • @Masshi-Channel
      @Masshi-Channel 7 днів тому +1

      ​@@たーぼあーる-n9v 最初に壁に触れたときに攻撃アップすればいいだけでは…

    • @オンライン微熱
      @オンライン微熱 6 днів тому +10

      @@Masshi-Channelただのウォールブーストやん

  • @せな-j7t
    @せな-j7t 6 днів тому +8

    プログラマーってすげぇよ

  • @ぽんかん-q9s
    @ぽんかん-q9s 3 дні тому +3

    ユーザ側がデバッグしてコードレビューしてるの普通に面白すぎる

  • @ゆう-u4x8s
    @ゆう-u4x8s 3 дні тому +1

    一緒にニヤニヤしてた。良い動画をありがとう

  • @edmer8599
    @edmer8599 4 дні тому +6

    エンジニアとかプログラマーってまじですげえな
    こんな訳わからんの書いてゲーム作るのヤバすぎ

    • @lain8247
      @lain8247 9 годин тому +1

      全部を見ると凄く感じますが、1つ1つ細かく見るとシンプルだったりもします。
      例えば、上から下に星が落下するコードを書く場合、一定時間毎にy座標をマイナスにすれば出来ますが、ランダム性を持たせて、速度は一律にせず、尚且つ、星に回転を加え、向きを変える。
      更に、複数の星を増やせば、画面上に沢山の星がランダムに落下して、それなりにインパクトのある画面が出来ると思いますが、コードは意外とシンプルになると思います。
      後は応用で、画面を暗くして、星の周りだけ黄色く光るようにするとか、光の円にランダム性を持たせるなど。
      ただ、プロはそういう素人の上を行く発想で処理を考えるので凄いですが。

  • @user-cat522
    @user-cat522 7 днів тому +13

    ブロックに埋まったとき反射したりしなかったりする理由がやっと分かった

  • @まおつー-s2u
    @まおつー-s2u 6 днів тому +10

    エンジニアとしてはやめて!見ないで!くらいしか言えんねw
    ほぼ同じ実装ならコピペだってしちゃうもん

  • @ゔぁゔぁん
    @ゔぁゔぁん 7 днів тому +9

    埋められてるブロックは当たり判定が一切ないって事なんやね

  • @ヨグソトス
    @ヨグソトス 5 днів тому +1

    今回は運営のありがたみがよくわかる動画でした

  • @墓石N
    @墓石N 7 днів тому +6

    こういう話もバンバンしてくれると助かる
    (バグ検証系も似たような話ではあるんだけど)

  • @tomktomk9253
    @tomktomk9253 6 днів тому +2

    最初のコードなんかクレカの情報をDBから引っ張ってこようとしてるやばそうなコードで草

  • @user-lg1jw2nz6j
    @user-lg1jw2nz6j 7 днів тому +10

    ソースコード流用はそりゃまあ工数削減の意味で当然ちゃ当然
    ソースを読んでないから知らんけど、d3とかで頑張ったのかなぁ。

  • @POSTMAN-UK
    @POSTMAN-UK 2 дні тому

    すばらしい動画だった!

  • @ささ-b7m
    @ささ-b7m 6 днів тому +1

    背景のシロイノに情報あるということは、例えばだけど本家の超究極ディアボロとドッピオでボス2の背景にいるグズグズになったチャリレクみたいなのは情報が入ってるということなのか

  • @抹茶リテラシー
    @抹茶リテラシー 7 днів тому +8

    リアルに消されたのかと思ったw

  • @gao-da-gao
    @gao-da-gao 6 днів тому +4

    ボールの動きが昔あった中華製のパチモンなんだよなw

  • @imoru
    @imoru 6 днів тому

    ブロックの仕様に関しては普通に勉強になった

  • @おいしさやばげ緋色の鳥よ

    流石動画が上がるたびに運営が舌打ちしてそうなチャンネル()

    • @main-chan-kp3
      @main-chan-kp3 3 дні тому +1

      バグのところ苦々しい顔してそう
      もし自分が書いたバグが大したものではないとはいえ公開されたらつれぇw

  • @血豆_24
    @血豆_24 6 днів тому +2

    マジでこの方、何者なんだ…😂

  • @torimoti
    @torimoti 3 дні тому +1

    バグ見つけられたの恥ずかしすぎて草

  • @ころ-l3s
    @ころ-l3s 3 дні тому +2

    デバックし始めるのは草

  • @Wanderer_wasted
    @Wanderer_wasted 5 днів тому +3

    ブロック1個ずつプログラムで書かれてんだ めんどくさいなぁ~すごいなほんと

  • @user24t3r7
    @user24t3r7 3 години тому +1

    SSRだったら読む意味がないけど
    まあ、作り的にCSRだよね

  • @metmen48
    @metmen48 6 днів тому

    これでまだ「中の人じゃありません」はいよいよ無理じゃないですかね

  • @someawe9152
    @someawe9152 6 днів тому

    ちょっとスキマが開いて2列並んでるブロックに乗ってる時にスキマ方向に向かって弾くと反射するのそういうことだったのか

  • @yoake.people
    @yoake.people 5 днів тому +1

    パソコン教室でホムペの作成でこれやらされて頭沸騰したわ

  • @Lance-Lancer-Lancelot
    @Lance-Lancer-Lancelot 3 дні тому

    ブロックの仕組み面白いな

  • @Axsdcgvbjjukmkiinbbhyun
    @Axsdcgvbjjukmkiinbbhyun 2 дні тому +1

    ブロックの処理なるほどなー。

  • @らすぱ
    @らすぱ 6 днів тому +1

    勉強になるわ

  • @semiosis_
    @semiosis_ 5 днів тому

    TBとかRTBとか面白いなって思った
    ブロック内にいるときに反射せず出るために必要なんやな

  • @しんのす-q8p
    @しんのす-q8p 6 днів тому

    特に今回はオチもなくというけど、まあまあ鋭いオチがあってわろた

  • @はまだ-z3t
    @はまだ-z3t 6 днів тому +2

    これ全部人が書いてんの?えぐ

  • @秋風-v9b
    @秋風-v9b 6 днів тому

    ビックリしましたわ。まさかやらかしたのかと思った

  • @しおん-h1g
    @しおん-h1g 6 днів тому

    すっげえ…

  • @user-mq4yv2rc8f
    @user-mq4yv2rc8f 14 годин тому

    すばらしい

  • @sukema1
    @sukema1 7 днів тому +2

    コードで目がチカチカするんじゃよ

  • @ぽんかん-q9s
    @ぽんかん-q9s 3 дні тому +1

    パーティクルを力技で実装しているのワロタ
    webでゲーム作ったことないからしらないんだけど、その手のライブラリないのか?

  • @八ッ橋-z5n
    @八ッ橋-z5n 6 днів тому +1

    ありがとうございます卒論にします

  • @まこ-g4b
    @まこ-g4b 6 днів тому +1

    バグというか処理に関しては本家の方をあまり解析されないようにわざとやっている可能性はないのでしょうか。

    • @momiji5154
      @momiji5154 6 днів тому +3

      本職じゃない人でも容易にバグの要因が分かるようならわざわざ変えとく必要はないと思う

  • @luckyjokerlaundry
    @luckyjokerlaundry 6 днів тому +1

    じゃがりこ何個買ったんだよ

  • @高橋和貴-y9r
    @高橋和貴-y9r 4 дні тому +1

    08:22 ブロックの座標とか値直打ちで保守性もクソも無いトンデモプログラムだなぁって思ったけど、ブラウザゲームだから容量的に削減する方向なのかな
    と思ったら串カツの記述残ってるからそういうわけでもないのかな

    • @TTT-bs1vi
      @TTT-bs1vi 4 дні тому +1

      工数かけられなかったのかもしれないですね
      あくまでオマケのミニゲームに時間かけるのも・・・って感じかと

    • @高橋和貴-y9r
      @高橋和貴-y9r 4 дні тому +1

      @TTT-bs1vi 納得です
      アプリの方はユーザーでステージを作れるくらいにはモジュール化出来てると思うので、そっちは最適化されてるんでしょう

  • @raisehanekogaii9257
    @raisehanekogaii9257 3 дні тому +1

    新人研修とかだったら面白い

  • @daicha0528
    @daicha0528 6 днів тому +1

    流石にタイトル変わってて草

  • @BerlkKein
    @BerlkKein 5 днів тому +2

    「仕事でプログラムしてる人は何か知らないけどすごいことしてるんだろうな」と思ってたけど、やってること単純で頑張っていっぱい書いてるだけなんだな

    • @BerlkKein
      @BerlkKein 5 днів тому +1

      ムスカの「読める....読めるぞぉ!」ってこんな気分なのか

  • @YouTube運営は無能運営
    @YouTube運営は無能運営 6 днів тому +2

    本家の方のソースコードみたら見てはいけないような未発表のコラボデータが入ってそう

    • @Firefly_ux
      @Firefly_ux 6 днів тому +8

      リーカーはそっから引っ張ってきてんだろうな(ソシャゲあるある)

  • @裕亮大橋
    @裕亮大橋 2 дні тому

    声出して笑った

  • @むそる-z6l
    @むそる-z6l 7 днів тому +2

    意外にぱっと見で何となく何が書いてあるかわかるもんなんだな

  • @お竜さん-m9s
    @お竜さん-m9s 7 днів тому +6

    8:09 いつもやってるやんけ…

  • @くろねこ_YT
    @くろねこ_YT 5 днів тому +1

    公式HPにあるのが一番古いのかな?

  • @もんすと
    @もんすと 4 дні тому

    本家モンストはarxanだからねえ 部分的にデバックとかしないと中見れない

  • @raku-uv3sf
    @raku-uv3sf 6 днів тому +1

    これと関係ないけど、Cでコメント行を削除するとなぜか動かなくなるみたいなことがあったな、、、

    • @相崎孝行
      @相崎孝行 6 днів тому +4

      行末に¥があるとか/**/の開始部分が余計にあったとか、要するにコメントだけを削除したつもりになっているだけで、実際にはコードが変わっているのだと思う。プリプロセッサの出力を比較すればそれを確認できます。

    • @電源-z8j
      @電源-z8j 4 дні тому +3

      それ文字コードの関係でコメント行末の文字が¥(5c)になってるのが原因かも(Shift-JISだと能(945c)とかがこれに当たる)
      コメント行末に適当な半角文字を入れるか、UTF-8使えば回避できるよ

    • @raku-uv3sf
      @raku-uv3sf 4 дні тому +1

      初心者すぎてよくわからないんですけど、5cとか945cって何ですか。。。。?

    • @TTT-bs1vi
      @TTT-bs1vi 4 дні тому +2

      @@raku-uv3sf 文字コードっていう、コンピュータ上で文字を認識するためのコードですね
      上のコメントで言うと「¥」という文字はコンピュータ上では「5c」というコードで扱ってます

    • @ゆう-u4x8s
      @ゆう-u4x8s 3 дні тому +1

      なんか聞いたことあるな。行末に¥(\)があるときに、次の行もコメント扱いになる仕様があるんだっけ。

  • @kenm9698
    @kenm9698 3 дні тому +1

    これC#?JAVA?

    • @tasukuclanel4072
      @tasukuclanel4072 День тому +2

      JavaScriptやで
      本家は何で書いてあるか分からんけど,動画のやつはブラウザ上で動いてるやつだからjsで書かれてる

  • @あひる祭-r4v
    @あひる祭-r4v 6 днів тому +1

    禁忌で獄

  • @KITKMG
    @KITKMG 7 днів тому +3

    へーゲームつくるって大変なんだなあ

    • @ezer5983
      @ezer5983 День тому

      今はunityとかも使えるよ

  • @まーお-y4e
    @まーお-y4e 6 днів тому +1

    さーっぱりわかりません
    (アラフォー)

  • @hattrickn
    @hattrickn 7 днів тому +1

    このネタはすき

  • @mio-goood
    @mio-goood 6 днів тому +2

    リアルデバッグすんのガチ草

  • @user-sd7rt2vy8d
    @user-sd7rt2vy8d День тому

    この会社結構適当なんだな

  • @まゆり-m1y
    @まゆり-m1y 7 днів тому

    合法であればなんでもする

  • @お゙ーっイグイグイグっっっイグイグ

    このプログラムをいじってスピードを100000kmに設定して遊んだりできないのかしら

    • @VeryAlus
      @VeryAlus 4 дні тому +1

      ブラウザゲーだから開発者ツールでコード修正すれば弄れるはず
      画面リロードとかしたらできなくなるけど

  • @m4t_m4t
    @m4t_m4t 5 днів тому

    バグあるのワロタ

  • @ゆうゆう-m7p
    @ゆうゆう-m7p 7 днів тому

    なるほど、分からん

  • @wertyu4219
    @wertyu4219 7 днів тому +2

    たまにブロックの中でブロック反射するクエストあったけど、あれは設定ミスによるバグやったんか..

    • @Masshi-Channel
      @Masshi-Channel 7 днів тому +6

      どこのことだ…?

    • @KorinkuRentorar
      @KorinkuRentorar 7 днів тому +8

      それは異なる2つの合体ブロック(仮称)の間で反射しているのでは?
      合体ブロックAの内部では反射せずすり抜けるけど、主さんの場合は集合ブロックAと集合ブロックBがあって、その間で反射したのかと
      分かりづらくてすみません

  • @zuruzurub
    @zuruzurub 5 днів тому

    これo3に食わせてみるか

  • @おでこ-t5f
    @おでこ-t5f 6 днів тому +1

    わっかんねーーーーー

  • @ctcyibtitjj47537
    @ctcyibtitjj47537 7 днів тому +1

    あげなおし?

    • @サクヤ-s9c
      @サクヤ-s9c 6 днів тому +2

      BGMの音量調節ミスで再upしたみたいです(概要欄より)

  • @lくちばし
    @lくちばし 7 днів тому

    うんちっちのソースコードはよ

  • @roger2925
    @roger2925 7 днів тому +5

    モンストJavaでプログラムされてんだな

  • @taro_tanaka147
    @taro_tanaka147 6 днів тому +1

    串カツコラボの大本はスシローコラボな気がする
    スシローの時はボスが出てたと思うから

  • @taro_tanaka147
    @taro_tanaka147 6 днів тому

    また例によってこの動画のおかげ(?)でバグ修正されたりするのかな