游戲引擎開發與應用最佳 實踐 【引擎開發篇】 之一 :目錄、引擎模塊划分


 

《開心錘子》是一款以探索箱子護送角色到達目標點為核心的游戲,結合通過數字判斷箱子中是否存在危機。加入探索、收集、競技、玩家成長元素,並延伸出多種游戲模式。以休閑益智娛樂為軸心,卡通Q版風格為背景,集成角色扮演、數字邏輯、關卡設計、多種多樣的玩法、寵物系統、成就系統,包裹系統評分系統等多種元素。在這里可以體味數字解密,隨機事件發生的氣氛,挑戰才智,構建出讓自己進入卡通世界里解密的一款休閑游戲。 iOS下載地址: https://itunes.apple.com/cn/app/kai-xin-chui-zi/id1091140275?l=en&mt=8 下載就送紅包

 

另提供網絡遠程語音視屏的技術培訓,包括: .net 、cocos2d、xna 、sqlsever、C++編程與技巧 、IOS游戲開發、ANDROID游戲開發相關的技術培訓 300 元一個月,周一至周五 每天晚上8:30~9:30 詳情請聯系QQ:371741579 email:czjone@126.com 架構師技術培訓群: 57230994

 

本系列文章用於總結對游戲開發的應用與理解,在總結的過程中會融入當信最流行的移動終端的開發

  (以下內容摘自己2012工作總結部分內容

      經過了一個比較失敗的項目(捕魚項目),成功了一個項目(跑燈,最少所有功能開發完成了,就差生產成產品經過市場的檢驗了)這兩個項目對個人的成長還算是比較有幫助的。

  首先分析一下第一個項目為何會失敗:第一,是個人的管理能力久缺的,一下子就要面對不同性格的人,再加上自己有一些個性,心中想的是。要是你幾爺子不給力,我自己也不給力,到最后交不出工作。那黑鍋就只能我去背了。那只好我自己多做點了,把你們做不好的事也給一起做了。

     第二,自己的定力不夠,心中想着。只要是出自我之手。就一定是精品,所以,對所做的項目在開發階段就去做了過多有優化,到最后只能完成一部分功能的開發,還有一塊大頭沒有足夠的人力物力去支撐開發。

  第三,沒有合理的利用團隊成員的潛力,過於仁慈,面對對項目不熱心的同志,不能及時的糾正團隊成員的扭曲心理,造成團隊惡化下去,到最后能在項目中發揮作用的人力漸漸減少。

  第四,沒有正確的評估成員的流失影響力以及成員的能力!沒能把功能時間計划強制執行下去。都以為時間還多,已經很緊了!

  綜上所述:項目的失敗,絕對不是我技術的問題,而是我管理能力的問題。需要牢牢把握游戲的可控性,協調好成員間的工作,不能讓人力資源浪費(這是很大的一個考驗)

  還有一個成功的跑燈項目:這個項目的成功。有一大部分還得取決於老板的認可,才能把我的一些不算先進的思想融入進去。這個項目也算是對我這兩年來的技術沉淀的一個總結,對這個些經驗的東西沒什么好分享的。都是仁者見仁。智者見智的東西。做過架構的人都知道~沒有什么可比性,沒有更好,只有更合適,只有經過對行業的深入理解后才有能做出更適合的架構來....就是對知識點的一個提煉。

  下面我會把一些游戲開發的一些經驗,與在游戲開發中遇到的問題做一個總結,讓游戲開發不再神秘。

    【引擎開發篇】

    1、引擎產生的背景

    2、引擎模塊划分

    3、引擎實現(一)模塊划分

    4、引擎實現(二)模塊功能描述與設計抽象思想

    5、引擎模塊  (三)  模塊的實現

    5、引擎應用到項目中

    6、測試項目的同時改進引擎

    7、工具

    8、技術總結

    9、總結

    【cocos2d篇

    【u3d開發篇】

    【服務器篇】

    【項目管理篇】

 項目a 分析

   項目a 分析:在使用上比較直觀,但是結構設計上不是很合理(比如引擎),容易造成了邏輯的混亂,新模塊的添加比較吃力(或者對某些功能模塊的不集中,很難比較方便的共享,管理模塊,對共同表現的業務邏輯共用率不高),並且要示對通信的狀態和數據處理約定還得比較熟悉的情況下才能更好的增加新功能。資源管理還有很大的提升空間。通信模塊做得比較復雜,修改任何一個位置的數據都很容易造成游戲不能正常的調試下去,給調試帶來了很大的難度。同時也影響開發速度。

    項目b分析:模塊設計思路比較清晰。對使用者的要求不會太高,過多的去關注細節,只要能用就行了。甚至不會xna的人也可以使用,方便的同時也在使用上帶來了風險。讓不熟悉結構的人容易對容器濫用。不熟悉的同學使用,會帶來惡劣的結果,或者不理解設計者的思路的時候隨意增加邏輯,隨着邏輯的增加更難控制游戲的穩定。

另提供網絡遠程語音視屏的技術培訓,包括: .net 、cocos2d、xna 、sqlsever、C++編程與技巧 、IOS游戲開發、ANDROID游戲開發相關的技術培訓 300 元一個月,周一至周五 每天晚上8:30~9:30 詳情請聯系QQ:371741579 email:czjone@126.com 架構師技術培訓群: 57230994

  解決方法:

  a) 模塊划分,對不同的游戲進行相應的抽象

  b) 模塊封裝,方便裝載器在不同的應用中裝載不同的游戲

  c)  框架和數據的完全分開(實施起來比較難,需要一群人的毅力才能完成,可以不考慮)

  實現目標: 

  1. 復雜的動畫,能在flash中完的就是flash中完成
  2. 能用圖完成的就用圖完成
  3. 目前的動畫處理不能滿足有的游戲的需求。需要升級游戲庫,在動畫擴展管理 模塊加載相應的模塊設計就可以了,但是必須滿足我們設計約定的接口
  4. 只要是在flash中能做出來的動畫,在他們出了設計之后。相就的動畫在半小時內就能准確無誤加入到游戲中並運行起來,做到了可視化的編輯並能和我們的游戲兼容,

    風隊評估

  時間上的風險:因為引入了一些新的概念,只能做到最低的降低風險,保證程序的穩定性,但不能排除一定能在非常短的時候能一下子穩定,和使用plantworld做新的游戲的風險是同等的。

      冒險理由:模塊相對比較獨立。能很容易的移植到其它的地方,能很快的做到和美術工具(flash)的兼容默契,並形成一個比較直觀的開發接口標准,並且培訓簡單,只要有編程基礎的童鞋都能容易的上手,就是有一個flash的學習成本,不一定是人人都願意。

  實施原則

嚴格的按照設計概要做,對於寫核心部分的人員要求比較高。一定要細心,嚴格的驗證第一個算法的正確性和可行性。把固定的模塊固定死,不能隨意的增加設計概要之外的東西。至少得在可行性分析之后才能加上擴展升級!要嚴格的控制美術使用動畫工具的方式方法。

      缺點

 周期長,要要求一些美術工具,對美術的設計方式有限制(美術不一定能適應過來),對團隊成員有一定的沖擊力。

  2、引擎模塊划分

  游戲流程概述  

  在游戲啟動時,先是進行開機加載,再到游戲待機狀態,如果新一輪的游戲開始,就會收到新游戲開始的相關信息,進入倒計時,完成倒計時后。后等待硬件發送結果,如果在一定的時間內還沒有收到硬件發送結果,就可以認為是硬件出現了故障,游戲就會DOWN機,並給出相應的錯誤提示。如果在規定的時間內收到相應的結果,就會跑結果,進到展示結果完成回到待機畫面。在游戲的各個階段都有可能會出現不能正常運行的狀態,會用相應的提示來告訴用戶,系統出來了什么樣的故障。

  游戲流程圖

 

框架分層

核心算法庫

設計說明

通用函數更集中一些。在修改的時候不會到處理去找。避免一個函數在不同的地方多次出現。

IEncryption:加密解密接口。

DES :DES加密算法的實現,對接口的一個直接的實現

ILog:日志接口

textLog:記事本方式的日志

Serializtion:序列化相關

MilException:指定類型的異常封裝

logHandler:異常處理委托

DispserHandler:資源釋放委托

ICache:緩存抽象

Cache:緩存實現

LogPersitenceModel:日志持久化模式

SerializationModel:序列化模式

ISerialization:序列化接口抽象

BinarySerializable:二進制序列化

XmlSerializable: xml序列化

StringExtentions:字符處理擴展

LogFactory:日志構造工廠

logHandler:消息處理委托

FileHelper:文件處理擴展

Argument:參數檢查器

Cacheelement:實際緩存的對象

IEnumberExtention:迭代器擴展

Check:檢查器集合

Data:數據檢查器

Assembly:程序集處理擴展

Excetesink:程序執行器

未完 待續 ....

本文為原創,博客園為唯一官方博客,轉載請說明出處....

若有問題請發 郵箱 czjone@126.com 或者加qq:371741579

 

另提供網絡遠程語音視屏的技術培訓,包括: .net 、cocos2d、xna 、sqlsever、C++編程與技巧 、IOS游戲開發、ANDROID游戲開發相關的技術培訓 300 元一個月,周一至周五 每天晚上8:30~9:30 詳情請聯系QQ:371741579 email:czjone@126.com 架構師技術培訓群: 57230994


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM