從零開始實現放置遊戲(一)
然而,隨著時代的變遷,出現了越來越多好用的工具、引擎。同時,當初的遊戲玩家基本上都已經從學生蛻變成了上班族。放置掛機類反而開始火了起來,這種沒事點兩下的遊戲,同樣能讓玩家深陷其中。作為一名業餘遊戲愛好者,開發一款放置類遊戲似乎並不像大型遊戲那樣遙不可及。
本專題,將以日誌的形式,講解如何從零開始,實現一款真實可用的放置遊戲。內容廣泛,涉及遊戲設計、數值策劃、伺服器及客戶端開發等眾多領域。由於筆者並沒有遊戲行業從業經驗,因此整個過程也是邊學習探索,邊實踐分享。專題將適用於眾多和我一樣的遊戲愛好者,同樣也歡迎專業的遊戲行業人士提出指導意見。
準備工作
開發工具:IntelliJ Idea
下載地址:http://www.jetbrains.com/idea
註冊工具:http://idea.lanyus.com/
JDK(1.8.0_161)
下載地址:https://idlestudio.ctfile.com/fs/14960372-382475272
資料庫:mysql(5.7.21)
下載地址:https://idlestudio.ctfile.com/fs/14960372-382479125
資料庫工具:navicat12
下載地址:https://idlestudio.ctfile.com/fs/14960372-382481390
註冊工具:https://idlestudio.ctfile.com/fs/14960372-382481392
版本控制工具:Git
下載地址:https://idlestudio.ctfile.com/fs/14960372-382475825
依賴管理工具:maven(3.6.1)
下載地址:https://idlestudio.ctfile.com/fs/14960372-382475873
快取資料庫:Redis(3.2.100)
下載地址:https://idlestudio.ctfile.com/fs/14960372-382479137
新手注意:
關於maven的安裝和使用,請戳:Idea下maven的配置和使用
關於lombok外掛的安裝和使用,請戳:Idea外掛lombok的安裝和使用
遊戲設計
想要做一款成功的遊戲,離不開優秀的策劃,設計,玩法,美術,等等等等。這其中需要學習的東西太多。然而多想無益,這些東西越學越多,只有先儘快做出成品,然後不斷迭代,才能更加深入了了解。因此,這裡我們直接參考已有的成功案例,並加入一些我們自己的理解,適當改良。
遊戲背景
為了方便學習,整個遊戲的世界觀,以魔獸世界為基礎背景。種族、職業、陣營、地圖、怪物、裝備、掉落等,我們都參考魔獸世界,遊戲取名IdleWOW。
因為是放置遊戲,因此離線掛機或線上自動戰鬥是主要的戰鬥玩法,戰鬥採用回合制,不需要玩家操作,點選戰鬥後,在後臺直接計算結果,並傳給客戶端播放。同時,為了簡化戰鬥,將會重新定義技能,移除技能消耗的魔法值、能量、怒氣等屬性,只保留生命值。此外,我們還可以對遊戲原來的設計進行一些靈性的改動,比如,“烹飪”技能,製造食物可以縮短兩次戰鬥之間的休息時間,"急救“技能,製造繃帶可以加快戰鬥播放速度,等等。
這裡我們把一些遊戲裡可能涉及的主要元素,通過腦圖展開,不再具體考慮,等到涉及某部分內容時,再一一展開。
背景交待的差不多了,下一章我們將開始搭建整個專案的框架,進而一步步實現整個遊戲的功能。
作者: 丶謙信
部落格地址:https://home.cnblogs.com/u/lyosaki88/
相關文章
- 從零開始實現放置遊戲(一):整體框架搭建遊戲框架
- 從零開始實現放置遊戲(六):Excel批量匯入遊戲Excel
- 從零開始實現放置遊戲(三):後臺管理系統搭建遊戲
- 從零開始實現放置遊戲(五):管理系統搭建之實現切面日誌遊戲
- 從零開始實現放置遊戲(八)——實現掛機戰鬥(6)程式碼重構遊戲
- 從零開始實現放置遊戲(四)——實現掛機戰鬥(2)實現後臺數值配置遊戲
- 從零開始實現放置遊戲(四)後臺數值配置的增刪查改遊戲
- 從零開始實現放置遊戲(六)——實現掛機戰鬥(4)匯入Excel數值配置遊戲Excel
- 從零開始實現放置遊戲(五)——實現掛機戰鬥(3)引入日誌功能並實現切面日誌遊戲
- 從零開始實現一個RPC框架(零)RPC框架
- 從零開始的Java RASP實現(一)Java
- 從零開始實現線上直播
- 從零開始實現一個RPC框架(一)RPC框架
- 從零開始實現一個RPC框架(五)RPC框架
- 從零開始實現一個RPC框架(四)RPC框架
- 從零開始實現一個RPC框架(三)RPC框架
- 從零開始實現一個RPC框架(二)RPC框架
- 從零開始用 proxy 實現 Mobx
- 從零開始實現一個MyBatis加解密外掛MyBatis解密
- 從零開始 實現一個自己的指令碼引擎指令碼
- 從零開始實現一個自己的指令碼引擎指令碼
- 從零開始實現一個分散式RPC框架分散式RPC框架
- 從零開始的Java RASP實現(二)Java
- 從零開始做一個SLG遊戲(二):用mesh實現簡單的地形遊戲
- 從零開始:用REACT寫一個格鬥遊戲(一)React遊戲
- 從零開始實現一個顏色選擇器(原生JavaScript實現)JavaScript
- 從零開始實現一個IDL+RPC框架RPC框架
- 從零開始實現React(一):JSX和虛擬DOMReactJS
- 從零開始實現一個React(四):非同步的setStateReact非同步
- 從零開始實現一個簡易的Java MVC框架JavaMVC框架
- 從零開始:用REACT寫一個格鬥遊戲(二)React遊戲
- [Flutter]從零開始實現一個巢狀滑動的PageView(一)Flutter巢狀View
- 從零開始實現一個簡易的Java MVC框架(七)–實現MVCJavaMVC框架
- 從零開始實現一個簡易的Java MVC框架(七)--實現MVCJavaMVC框架
- 從零開始實現一個簡易的Java MVC框架(四)--實現AOPJavaMVC框架
- 從零開始實現一個簡易的Java MVC框架(三)--實現IOCJavaMVC框架
- 從零開始實現資料庫自動化巡檢(一)資料庫
- 從零開始最小實現 react 伺服器渲染React伺服器