[今次認真][多圖] 由零開始寫隻手機game出黎

301 回覆
182 Like 10 Dislike
2021-09-22 16:41:12
大家好!而加連登應該無乜人識我了。
小弟幾年前曾經手痕開過一個寫game既post,
入面就求求其其整咗啲野出黎玩咁樣,
個post: https://lihkg.com/thread/272954

但後尾因為個人太懶,做嘢有頭無尾,所以就棄左,
之後因為忙所以都無掂過寫game一排。
但而加去到而加又開始覺得無聊無野做,
所以小弟又返嚟dup game玩啦,
由於小弟而加寫program同埋design技巧都進步不少,
所以而加有信心可以整到啲以前無可能整到既野出黎,
嚟緊我會由零開始將成隻game整嘅過程放上黎,
想追post嘅人可以放心,今次唔會做到一半棄game了

首先緊係要講下用咩寫game先啦!
小弟用緊既係unity,一個好出名既game engine,有好多人都可能會見過佢個logo,

我地今次要整既係一隻簡單嘅2D RPG game!
隻game嘅玩法係好似fruit ninja+archero咁打怪升LV,
同時加埋合裝升技呢啲嘅RPG元素。
雖然聽落有啲複雜,但係只要將成個system拆開做唔同嘅部分,
再逐樣逐樣KO就冇問題,呢個亦都係software engineering入面divide-and-conquer嘅技巧。
事不宜遲,開始寫game啦!
2021-09-22 16:42:11
留名等玩
2021-09-22 16:45:03
因為呢隻係一隻RPG game,而RPG game最重要係乜?
答案緊係自己隻角同埋control啦!
上面講過,呢隻game嘅玩法有啲似fruit ninja,
其實就係講緊玩家可以用隻手指好似切西瓜咁不停斬怪,
所以為咗簡化下等小弟唔洗畫太多圖,我哋隻角就係好簡單嘅一粒光球,
示意圖:


雖然粒波99%時候都會俾隻手指遮住,但係咁樣睇落去都有啲太核突,
所以我會用Unity入面嘅particle system幫粒光球做少少裝飾,
Particle system嘅用處可以好大,如果有人想知嘅話可以再詳細啲講,
加完particle之後嘅完成圖:


可以見到除咗光點附近加咗少少effect之外,仲好似fruit ninja咁幫隻手指加咗條行過嘅軌跡。
2021-09-22 16:45:22
2021-09-22 16:46:32
開喺軟件台啦
2021-09-22 16:50:19
一樣姐
2021-09-22 16:56:42
整完隻角,下一步就係整怪物!
RPG game最常見嘅怪物係乜?冇錯就係史萊姆啦!
我哋而加就加隻史萊姆入隻game入面。
由於個背景黑媽媽好簡陋,我地就再畫多個背景入去啦!
2021-09-22 16:59:18
但係開始殺怪之前我哋仲有好多嘢要考慮,
首先最重要嘅嘢就係玩家同埋每隻怪嘅數值 (stat),
血量係第一唔洗講,其次就係攻擊力同埋防禦力。
如果再複雜啲話可以加埋閃避,命中同埋暴擊。
為咗令隻game豐富啲,我會再加埋唔同屬性元素嘅攻擊同埋抵抗入去。
此外,全game嘅攻擊系統有三種:分別係近攻,遠攻,同埋魔攻。

完成晒個數值系統之後,一隻怪嘅info大概係咁:
2021-09-22 16:59:23
2021-09-22 17:03:17
加埋玩家嘅數值之後,就可以開始打怪啦!

打死隻怪之後會跌錢,而畫面下面會顯示經驗值,HP同埋MP。
2021-09-22 17:04:14
lm
2021-09-22 17:12:05
之後就嚟到幫隻怪加攻擊嘅時候啦!
首先由最簡單嘅攻擊模式開始:
既然玩家可以控制光球去撞鳩隻怪,隻怪都一樣可以撞鳩返個玩家,
為咗方便睇清楚隻怪係咪攻擊緊,
每當隻怪進入攻擊模式果陣,顏色就會轉做紅色,同時會有警示icon提醒玩家,
如果玩家呢個時候俾佢掂到就會扣血。
示意圖:

藍色嘅傷害數字係隻怪扣緊血,橙色嘅就係自己扣緊血
2021-09-22 17:17:19
2021-09-22 17:23:00
留名學野,一直想知點由頭design一隻驚
2021-09-22 17:25:49
On9 game feel…
2021-09-22 17:35:27
為咗方便玩家打怪途中可以望望隻怪嘅數值,
同時又唔會乘機俾怪打死,
我哋可以加個時間停止嘅機制落隻game到,
簡單啲嚟講就係pause game,
只要玩家任何時候鬆手,成個battlefield就會時間停止,
玩家就可以click落隻怪到睇佢哋嘅stat,
之後再㩒返落個光球到繼續打怪。
2021-09-22 17:36:15
有咩地方想詳細知嘅話都可以教你
2021-09-22 17:36:35
係on9 game嚟
2021-09-22 17:42:59
講咗咁耐,基本上成個打怪嘅流程就已經做好咗。
但係如果成隻game得一隻怪就太on9啦,
所以我哋而加就要幫隻game加多啲唔同嘅怪。
所有嘅怪物其實都有類似嘅行為:打人,扣血,跌錢同埋加經。
唯一唔同嘅就係名,圖,攻擊方法之類。

我哋可以用Unity入面ScriptableObject呢樣嘢去儲存返所有唔同怪物嘅資料,
再由怪物嘅gameobject去攞呢啲資料,然後變成唔同嘅怪物。
詳細嘅過程太technical,如果有人想知就再講。
呢到就係所有史萊姆類型嘅普通怪物 (未計Boss)
2021-09-22 17:50:04
樓豬可唔可以整喪屍game
2021-09-22 17:50:34
強帖留名!
2021-09-22 17:50:48
整完怪物,再嚟就到game入面嘅物品同埋道具。
亦都係同樣用ScriptableObject去入晒所有item嘅data,
每隻怪都會有自己嘅專屬掉落材料,越高LV嘅怪跌嘅嘢就越值錢。
同時亦都會有共通嘅掉落材料俾玩家合裝或者合藥水。
2021-09-22 17:51:55
大家亦都可以睇下每樣item背後嘅資料structure係點:
2021-09-22 17:52:28
fps?
吹水台自選台熱 門最 新手機台時事台政事台World體育台娛樂台動漫台Apps台遊戲台影視台講故台健康台感情台家庭台潮流台美容台上班台財經台房屋台飲食台旅遊台學術台校園台汽車台音樂台創意台硬件台電器台攝影台玩具台寵物台軟件台活動台電訊台直播台站務台黑 洞