創作內容

3 GP

call to DLIB2_Start(20110722);

作者:{Devil}│2011-07-22 18:07:25│巴幣:6│人氣:544
給2020年的我:

今天是2011年7月22日, 一個值得我記住的日子
因為就在今天, 我決定開始DLIB2的開發
也許9年後的你, 看著這篇文章的內容會清楚的感到
此時自己的稚嫩與無知, 但是在這個當下
2011年的我, 我決定開始開發DLIB2.

上一顆引擎DLIB我基於DirectX 9.0c進行開發
以VC2008為IDE進行製作, Base在MFC的基礎程式框架上

這次的版本我希望能Base在最單純的視窗創建API之上
也就是說, 這個版本完成後, 我希望能夠透過更換最初的
視窗產生函式內容來做到平台轉移, 經過了兩年的業界工作磨練
我想, 我有足夠的實力完成這樣的程式了.

由於期望能做到多個平台都能正確運作
所以在架構的規劃設計上必須分得相當仔細且清楚
DirectX 9.0c我想還是必須支援的, 這世界變化的腳步有些慢
9.0c依然是主流的3D API, 總不能讓願意花時間
使用我的引擎開發遊戲的設計師, 在初步研究後只能得到一片錯愕
這顆爛引擎居然不支援DirectX 9.0c???這設計人腦子一定有洞...

再來是引擎內容必須完全徹底的支援Unicode, 這次絕不容許退步
這是DLIB一代引擎的一大罩門, 只支援繁體中文&英文使用者?
這在開什麼玩笑, DLIB2絕不再犯這個錯誤, Unicode, 再麻煩都必須被征服.

接著是製作的規劃, 相同的功能大致上必須被製作為四種不同的版本
一. DX 9.0c, for 廣大的老舊硬體使用者
二. DX 10, for 作者我要練習, 且這個版本應該可以兼容於DX11版本
三. DX 11, 這是學習的一大重點, 我希望DLIB2能夠成為極少數完整支援DX11的繁體中文語系國家引擎, 這樣也許能讓我在台灣等繁體中文語系使用國家混碗飯吃, 不用遠渡重洋再重新適應環境
四. OpenGL, 這個API我的熟悉程度還不夠, 不足以進行規劃, 暫定這部分將仔細的以OpenGL本身的版本號碼劃分開來, 目標為4.0的徹底支援

接著是開發語言的選擇, 老實說, C語言我並不是不喜歡
只是愈是使用C語言, 愈是發現這個語言在管理上少了OOP觀念的缺點
所以C++將是我的不二選擇, 除非有公司願意支付大量的$$
請我開發C版本, 否則我不想做這部分的開發, 雖然我應該是能做得出來的.

接著是Shader的支援, 在編寫這份日記的當下的我
對Shader的了解並不夠深刻, 並不夠透徹, 基本還是個Shader門外漢
所以這部分也是這顆引擎的一大重點, 這部分若無法完善
則引擎將不予發布, 這點與Unicode一樣, 再困難都必須被征服,
最基本的目標是對Shader Mode 2.0的徹底支援.

接著是屬於我自己的模型格式, 對, 一個徹底屬於我的模型格式
前期運作時, 程式可以以.x進行基礎建構, 但這只能是在初期的建構
在引擎完工後, 必須著手設計屬於自己的模型檔案, 以及製作MAX pluging
如此便可以對世界發布DLIB2.0

對於UI的部分來說, 雖然我能有機會參與世界少數幾家開發3DUI的廠商合作案
且能有幸擔任主工程師, 但我還是認為, UI是2D的好, 所以這部分將以Sprite的觀念
進行為數不超過20種的常見2D UI開發, 這是顆遊戲引擎, 所以太過專業的UI設計
將不會在此實踐, 這部分的功能, 如無意外, 我認為應該是徹底將LUA或者
其他合適的Script語言徹底Porting進入我的引擎內, 並使用LUA進行UI的開發撰寫

在網路Server的部分, 我認為史巴克的設計理念是好的, 所以我打算以史巴克的Server
設計方式進行設計, 但這裡應該被改進為, 邏輯程式碼能夠用LUA之類的Script語言撰寫

資料庫的部分以My SQL為基準進行SQL Server部分的開發, 大致上的製作方式
與史巴克的方式雷同即可

影像檔的播放部分, 原則上應該只要支援一兩個常見格式即可, 我是在做遊戲引擎, 不是做影音引擎, 但這部分必須要能試著做到可擴充性, 也就是要試著支援外來的decoder

聲音的部分, 目前還無法很徹底明白George所說的業界聲音檔製作方式
若製作到這個部分仍無比較明確的idea, 則比照DLIB1的方式進行開發

接著設法找到美術模型提供者, 設計購買一整套完整的模型材料
使用材料進行FPS RPG遊戲的開發, 主要目的為引擎功能的徹底發揮Demo
過程中, 原則上必須至少製做兩個編輯器, 一用以編輯場景模型
一用以編輯人物模型

在整體遊戲引擎的開發觀念上, 也許目前的觀念不算先進
但暫定以類似以下的方式進行設計

DLIB_Scene g_scene[N];
DLIB_Character g_character[N];

讓畫面能同時交叉顯示數個場景模型, 並能各自啟動對應的碰撞偵測策略
各角色包含了PC以及NPC的差異分別, 統一使用character繼承改寫後建構

恩...未完待續

20110722, 太無聊, 寫於合肥聯發科技會議室
引用網址:https://home.gamer.com.tw/TrackBack.php?sn=1370094
All rights reserved. 版權所有,保留一切權利

相關創作

留言共 0 篇留言

此作品限屋主留言!

前一篇:【心得】無盡的任務-諾瑞...

追蹤私訊切換新版閱覽

作品資料夾

hyzgdivina喜歡虹咲的LLer
我的小屋裡有很多又香又甜的Hoenn繪師虹咲漫畫翻譯喔!歡迎LoveLiver來我的小屋裡坐坐~看更多我要大聲說昨天23:17


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】