顯示廣告
隱藏 ✕
※ 本文轉寄自 ptt.cc 更新時間: 2025-12-21 17:24:12
看板 LoL
作者 rainnawind (正太學研究者雨颯)
標題 [閒聊] 拳頭工程師分享梅爾反彈是怎麼做出來的
時間 Sat Dec 20 23:00:16 2025


【身為拳頭公司程式設計師,我是如何實現梅爾的反彈的? -嗶哩嗶哩】
 https://b23.tv/kZvbXd5

Up主是Riot現役程式工程師(注意!不是設計師)
也是梅爾技能的技術開發者

分享了他是怎麼實現設計師要求的技能反彈這效果的開發過程

。本來柔伊的技能組就想做反彈,但當時技術無法實現

。初版梅爾的反彈技能更接近賽垃圾的偷大,儲存和施放是分開的
  但是被設計師嫌這個版本無法做到瞬間即時反饋的效果,所以又重弄

。梅爾的核心技術是從犽宿風牆的飛設物檢測魔改出來的
。但一開始純粹統一往一個英雄方向反彈
  會讓艾希W這種多個指向物全部射回她身上

  所以工程師怎麼解決呢?

  把 他 們 都 當 成 例 外 分 開 重 寫

  幾十個技能效果全部當特例
  respect

。然後後面又為了實測中發現梅爾的反彈會讓玩家混淆
  搞了一個實時渲染功能,讓所有彈回去的技能變成金色

  本來開發端甚至沒有實時渲染這項技術功能
  還找人家軟體公司合作最後才完成



懶人包:設計師得給碼農磕頭的科技業鬼故事系列

--
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.216.188.182 (臺灣)
※ 作者: rainnawind 2025-12-20 23:00:16
※ 文章代碼(AID): #1fHhe2-5 (LoL)
※ 文章網址: https://www.ptt.cc/bbs/LoL/M.1766242818.A.F85.html
asd860079   : 屎山代碼就是這樣累積出來的 ==1F 12/20 23:05
qwe04687    : 這什麼鬼故事2F 12/20 23:05
tom501062003: RD:垃圾PM開三小spec3F 12/20 23:06
cornsoup    : 果然原型是風牆==4F 12/20 23:06
link5566    : 印度人跟中國人完全沒有創造力 只會魔改5F 12/20 23:06
asd860079   : 真的不要靠北工程師寫的爛 提這鬼需求的設計師沒被6F 12/20 23:06
asd860079   : 打死就不錯了
jeff666     : 不愧是拳頭公司wwww8F 12/20 23:07
EQQD        : 屎山程式碼就是這樣來的9F 12/20 23:07
qd6590      : 看到都是特例 頭超痛==10F 12/20 23:08
dos01       : 系統會越來越肥就是這些東西搞出來的11F 12/20 23:13
chan184966  : 我記得夜曲關燈是弄一個超大小兵擋螢幕==12F 12/20 23:17
rainnawind  : 那個同一個程式師已經闢謠了13F 12/20 23:18
a10304025   : 垃圾PM 你行你上14F 12/20 23:23
diefish5566 : 全部當成例外 靠北15F 12/20 23:24
a10304025   : 這樣代表每一次出新角色 梅爾也要重新更新16F 12/20 23:25
frostdumplng: 靠北17F 12/20 23:26
fff417      : 看完只感嘆果然是老遊戲了18F 12/20 23:27
jeff235711  :19F 12/20 23:27
sd2567      : 屎山代碼20F 12/20 23:28
Peurintesa  : 哇操勒 那不就一個一個刻出來的 都是血淚21F 12/20 23:30
PeterHu0827 : 真的是垃圾PM22F 12/20 23:32
duece0927   : 我的天…..23F 12/20 23:32
YOnew       : 以後這邊出bug就一個一個改 讚喔24F 12/20 23:32
NoPush      : 夜曲之前有確定的是Q的那團黑是一堆小兵,黑影消失25F 12/20 23:33
NoPush      : 等於小兵死掉,造成在遇到特朗德時就產生會讓
NoPush      : 特朗德瘋狂回血
jeff235711  : 「我們覺得很酷」 「酷你老媽xxx」28F 12/20 23:33
Lattecafem  : 用刻的 無敵了 維護的真的改到死29F 12/20 23:34
minin40     : https://b23.tv/DOrKrX730F 12/20 23:36
minin40     : 羽毛:工程師最討厭的三個英雄 維爾戈賽勒斯梅爾
OPkid       : 拉基PM32F 12/20 23:37
rhox        : 設計師:我覺得這樣會很好玩,你做看看33F 12/20 23:39
※ 編輯: rainnawind (36.230.39.201 臺灣), 12/20/2025 23:42:58
Cliff0190   : 竟然是全部技能一個一個重寫…?34F 12/20 23:44
rainnawind  : 這樣好像有語病 不是"所有"都當特例重寫35F 12/20 23:45
rainnawind  : 他指得是艾希W like的那種多重投射物的技能
rainnawind  : 比如泡麵頭W 原本按邏輯都會從發散 反彈時變成集中
rainnawind  : 這樣就太鬼了 所以"這類"技能才全部被拆開來重寫
engelba     : 其實這樣才好寫 疊床架屋 反正壞也是壞梅爾= =39F 12/20 23:52
g5637128    : 太苦了工程師40F 12/20 23:53
kiolp       : 原始程式代碼太古老了 只好一項一項加進去41F 12/20 23:57
target8917  : 跟軟體的架構有關阿 沒遇過這類問題的都覺得很好解42F 12/21 00:02
kevin50263  : 這種堆積出來的屎山代碼 只要寫出來的人離職了 後面43F 12/21 00:06
kevin50263  : 接替的人都會很痛苦
alpho       : 光看敘述就覺得屎山代碼 ...45F 12/21 00:07
jeff666     : 好寫是好寫阿  可是後面維護跟修改的話很痛苦46F 12/21 00:08
frank123ya  : 牛逼 一個一個刻47F 12/21 00:09
cp11225637a : 本來沒有實時渲染的話,那就都是先烘培好的內48F 12/21 00:11
lzyamos99032: 工程師鬼故事49F 12/21 00:13
c871111116  : 笑死 拉10坨屎還能吹50F 12/21 00:21
c871111116  : 這狗屎還能commit難怪整天產出垃圾
PetrVanis   : 本來就只能這樣寫 程式又不是天馬行空就可以套用可52F 12/21 00:25
PetrVanis   : 以跑又可以兼顧平衡
jeff666     : 都那麼大公司又不是路邊小公司 寫之前好好規劃下吧54F 12/21 00:26
negotiates  : 設計師真的應該學寫程式 我每次聽到莫名其妙要求都55F 12/21 00:26
negotiates  : 會覺得很幹
c871111116  : 這東西都能給過代表從上面就是個智障57F 12/21 00:28
WindSpread  : 你要往前改 抽積木可能垮一堆 只好不停蓋違建了58F 12/21 00:35
kevin50263  : 以後出新英雄的邏輯就是 先看技能能不能符合梅爾的59F 12/21 00:40
kevin50263  : 反彈程式 不行就在寫多一條程式碼 繼續疊床架屋
hasroten    : 還以為有甚麼神技 原來是屎山代碼61F 12/21 00:47
samhou6     : 以後有其他交互導致BUG就好玩囉62F 12/21 00:49
winken2004  : ...63F 12/21 00:51
pimachu     : 暴力解永遠是你最後的手段64F 12/21 01:02
slackychase : 樓上那個小兵的那被設計師證實是假的了 有空可以去65F 12/21 01:11
slackychase : 看那個訪問
pulululu    : 都是例外 乖乖重寫67F 12/21 01:12
loltrg42972 : 基本上跟小兵有關的謠言都是假的68F 12/21 01:12
relax1000   : 上面當然給過.會覺得上面不給過絕對沒待過科技業69F 12/21 01:14
sawalee0811 : 這聽起來就是隨便一搞就會出Bug欸70F 12/21 01:19
s111228s    : 你是要寫出超幹爆屌的代碼然後超時還是寫一坨屎但71F 12/21 01:21
s111228s    : 準時,選前者的肯定是好研究者,選後者的肯定是好
s111228s    : 員工
ice0719033  : 好可怕的程式碼74F 12/21 01:24
LeoYuri     : 蠻屌的 哈哈哈哈 不亞於一個個判斷1-1000的質數75F 12/21 01:25
Yuebaitw    : 垃圾PM 我工作量又增加了76F 12/21 01:26
ntr203      : 見證屎山代碼的出生77F 12/21 01:31
kelvin0004  : 工程師: 拉基spec 拉基引擎78F 12/21 01:44
ppmaker     : 幹破角79F 12/21 02:00
kanzerbee   : 挖靠 只能說是愛啊w80F 12/21 02:02
jay920314   : 幹笑死 史山底層+181F 12/21 02:04
wang20010522: 給工程師一個respect82F 12/21 02:07
Csongs      : 辛苦工程師了,代表每出一個英雄就要特例83F 12/21 02:46
sun10814    : 做不出來 土法煉鋼84F 12/21 02:49
NTUCS       : 爛code85F 12/21 03:13
HJC6666     : 設計師的美好幻想都要工程師絞盡腦汁86F 12/21 03:19
Galbygene   : 太苦了RD87F 12/21 03:20
jkok103427  : 嗯,好寫,然後以後的角色要必須跟梅爾交互,又要88F 12/21 04:16
jkok103427  : 全部一個一個寫,哈哈 好寫
pearnidca   : 硬A90F 12/21 04:18
alisha2224  : 那這樣加個新英雄就要測一遍哇喔91F 12/21 04:43
aw7square   : 只能說來拳頭工作真的是對遊戲很有熱誠很有愛心錢92F 12/21 04:45
aw7square   : 跟大廠畢業不是很多 這老哥CMU本科畢業還來搞這種
aw7square   : 屎山
aw7square   : 跟大廠比也*
BoatLord    : 將來必出BUG XDDD96F 12/21 05:34
horse2819   : 滿滿特例 多了多少代碼97F 12/21 06:39
coladog529  : 能跑的代碼就是好代碼98F 12/21 07:34
[圖]
pan568655   : 垃圾PM100F 12/21 08:20
icelocker   : 一個個既能單獨寫喔 靠北 等於以後有新英雄出來的話101F 12/21 08:21
icelocker   : 梅爾也得跟著動刀耶 可以預期以後會BUG滿天飛了
p2p8ppp     : .....103F 12/21 08:36
tim9527     : 堆疊屎山 然後繼續領高薪  笨色PM==104F 12/21 08:38
wolver      : 屎的代碼 完全不意外105F 12/21 08:44
howdo1793   : 是自以為很了不起想炫技其實是在暴露自己短絀嗎=  =106F 12/21 08:52
f40075566   : 可憐垃圾公司107F 12/21 09:10
qk3380888   : 為了這招感覺用超多記憶體108F 12/21 09:15
qk3380888   : 要存施術者的數值 方向 然後還要加金色
james3510   : 能這樣硬拼有的沒的還能保證低配備能跑110F 12/21 09:46
james3510   : 其實底子還算不差?
jay228      : 跑固定的程序硬體負擔不大112F 12/21 09:58
jay228      : 記憶體也應該只用存場上的英雄技能就好
jay228      : 反正過幾年等AI進步 到時候讓AI重寫二代就行
jay228      : 170個英雄的技能組 靠人去寫怎麼寫都會有BUG的
jay228      : 新英雄也不一定會有多重彈道 LOL也不一定剩幾年
jay228      : 只要能運行的方法就是好方法
Rosor       : 這串一定一堆人沒寫過程式...118F 12/21 10:10
Tenging     : 重寫有重寫的好處119F 12/21 10:17
Tenging     : 這才是人比ai值錢的地方
geniusw     : 底層code很爛121F 12/21 10:20
fakejoker   : 程式碼這樣寫...真的是鬼故事122F 12/21 10:28
saviora     : 寫之前要怎麼好好規劃? 前面已經堆疊這麼多123F 12/21 10:30
saviora     : 後面的人只能見招拆招了
saviora     : 剛建這專案時也沒想過這個遊戲能夠活下來吧
nigatsuki   : 難怪代碼會山積….126F 12/21 10:48
weliche     : 你用現在的眼光看當然覺得屎山代碼 你覺得當初開發127F 12/21 10:56
weliche     : 的那幾個會想的到後來要出這幾種機制的英雄 ?
dahIia      : 屎山代碼又更屎山了129F 12/21 10:57
JustBecauseU: 屎山代碼上面堆屎的真實案例130F 12/21 11:05
chuegou     : 所以以後新英雄都要再新增例外 科科科131F 12/21 11:36
rb19yyds    : 靠AI重寫喔 我連叫AI讀之前的測試和production cod132F 12/21 11:37
rb19yyds    : e來產生新的測試 他都能寫出一陀大便了
rb19yyds    : 別神話AI了
coolmayday  : 每做一支新英雄就得確認賽勒斯維爾戈梅爾這三隻的135F 12/21 11:42
coolmayday  : 互動 我是工程師肯定問候設計師全家 鍵盤甩他臉上
rb19yyds    : 畢竟一開始就沒想過會有這種需求 後面要趕上開發進137F 12/21 11:47
rb19yyds    : 度 一定只能疊床架屋
louisnight  : 腦殘coding139F 12/21 11:48
DotSea      : 一路switch case 到底 夭壽140F 12/21 12:11
y35246357468: 這就是狗屎code可以存在15年的由來141F 12/21 12:22
CPULE       : 不是 你這樣手刻 那新增腳色不就要全這樣做142F 12/21 12:25
roncarrot   : 厲害,原來是屎山代碼堆出來的角色143F 12/21 12:32
JaccWu      : 有新例外就再刻代碼144F 12/21 12:40
saviora     : 下次有設計師再敢設計這種大量互動英雄就直接尻過去145F 12/21 12:41
Hsinxyzzyx  : 終極屎山代碼 每次更新都有可能出包146F 12/21 12:52
Bachi87     : 設計師都這樣出一張嘴 要求一堆嗎?太狗幹了吧147F 12/21 12:54
QoGIVoQ     : PM是用什麼心情把這些狗屎寄信給RD的148F 12/21 13:01
brian455461 : switch無敵149F 12/21 13:14
rinppi      : 現實是很多時候真的只能這樣疊出來XD150F 12/21 13:17
jhforever   : 漂亮 這種code 一律ctr+a  del處理151F 12/21 13:19
DoraPtt     : 可以理解..152F 12/21 14:01
st2k8       : 好笑歸好笑要預留未來的擴展空間本來就是很麻煩的153F 12/21 14:02
st2k8       : 你什麼都想到好永遠都寫不完
st2k8       : 更不用說設計師還可以搞出花樣什麼是根本想不到
weliche     : 所以才需要那種同時會設計又同時會程式的 那個縮寫156F 12/21 14:17
weliche     : 我忘記了
heybro      : IT鬼故事158F 12/21 14:22
st2k8       : 工程師每年的生日願望都要留一個希望設計師還沒玩159F 12/21 14:24
st2k8       : 過dota2的meepo
tim201227   : 好的設計本來就不一定要考慮怎麼實現 實現就工程師161F 12/21 14:25
tim201227   : 的事 考慮實現難易度才是本末倒置
weliche     : 你完全說反= = 好的設計就是要考慮怎麼實現163F 12/21 14:27
weliche     : 不考慮怎麼實現跟老闆話唬爛差在哪
icd8ppl     : 怎麼會有人覺得有更好的方案啊165F 12/21 14:30
weliche     : 完全不考慮怎麼實現叫不負責任166F 12/21 14:30
icd8ppl     : 有沒有寫過程式啦,你找一百個工程師,會有一百零167F 12/21 14:31
icd8ppl     : 一個用跟他同樣的做法
st2k8       : 反正最後都是要溝通的,玩笑放一邊當初需要多少功169F 12/21 14:32
st2k8       : 能就寫多少是很正常的,為了活過十幾年增加內容到
st2k8       : 需要暴力魔改也是很正常的
weliche     : 新入職的只能在後面跟著疊阿 不然怎麼辦172F 12/21 14:32
tim201227   : PM開規格 RD負責做出來 做不出來再回頭討論173F 12/21 14:32
tim201227   : 但設計師本質就是設計角色 頂多說有考慮實現會更好
weliche     : 你都說有考慮會更好了 那怎麼會不用考慮175F 12/21 14:36
st2k8       : 什麼架構要多乾淨擴展性要多好都是理論,而且這理176F 12/21 14:38
st2k8       : 論還是沒有真正共識的
weliche     : 畫個飛碟叫工程師造出來 你覺得現實嗎178F 12/21 14:38
weliche     : 甚至設計角色要考慮更多 數值、入手難易 更多方方面
weliche     : 面 怎可能光靠想像力天馬行空隨便設計
coolmayday  : 所以PM就是開一堆沒經過腦袋的規格才這麼人人喊打181F 12/21 14:41
st2k8       : 我覺得你有點滑太遠了,他說的大概就賽垃圾維爾戈182F 12/21 14:43
st2k8       : 這種程度的吧
st2k8       : 做不到還是會被打槍或妥協但不影響你提出來討論
philip81501 : 簡單說就是像卡比變身 多幾個人就多幾個變身185F 12/21 14:45
coolmayday  : 出去隨便跟客戶畫餅 然後就把承諾的規格丟給RD 要R186F 12/21 14:45
coolmayday  : D想辦法生出來 沒生出來不干我PM的事 生出來肯定是
coolmayday  : 把案子接回來的我大PM最大功臣 沒錯 就是一堆這種
coolmayday  : 低能PM
tim201227   : 這又不是接案子 而且我明明有說不行再討論…190F 12/21 14:47
tim201227   : 預設兩端都溝通不良 那當然只有工程師自己當設計師
firingmoon  : 靠北這個用skill[a,b]就能解決的事情192F 12/21 14:57
pilor       : RD:拉基PM193F 12/21 15:27
BusterPosey : 還好吧 能正常運行的就不要改 你想全部打掉弄個簡潔194F 12/21 15:28
BusterPosey : 的一定會觸發一堆BUG 進入DEBUG地獄
zyic        : 跟史一坨的代碼196F 12/21 16:20
Foreveryears: 宇智波反彈197F 12/21 16:25
q123038468  : 反彈真的是弱智技能 真的應該把這設計師開除198F 12/21 16:28
CannonLake  : 能跑就沒問題 遇到新屎怎麼辦 寫一百種衛生紙解決阿199F 12/21 16:45
hololive45P : 這也太屎了==200F 12/21 17:00
mathrew     : 屎山程式碼,辛苦後面的新人了201F 12/21 17:09
poui0567    : ...一坨202F 12/21 17:10
ElderShock  : 一堆特例就是屎山代碼的原因203F 12/21 17:18

--
※ 看板: LoL 文章推薦值: 0 目前人氣: 0 累積人氣: 106 
作者 rainnawind 的最新發文:
點此顯示更多發文記錄
分享網址: 複製 已複製
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇