Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
要:兄弟連專注IT教育十年,開設了PHP培訓、UI設計培訓、H5培訓、云計算培訓、Android培訓、Java EE+大數據培訓6門學科。
要說互聯網發展迅猛的今天,什么行業最掙錢,當然是貼近互聯網的產業,IT行業備受大家關注,一個初入職場對自己未來不抱希望的人,未來一片迷茫,選擇兄弟連H5培訓,月薪過萬。H5這么火嗎?H5的火爆讓不少開發商發現了機遇,H5開發人才也遭受瘋搶,但傳統前端人才很難駕馭移動端,因此,H5開發人才出現嚴重緊缺狀態。
據統計,我國對于H5開發人員的缺口將達到20萬左右,并且每天還在不斷的增加。人才少,崗位稀缺,薪資自然高,H5的從業人員月薪平均在10000元以上,而且根據工作年限的增加,經驗的積累,薪資呈飆升趨勢,目前,北京、上海、廣州、深圳、杭州等地H5開發人員的薪資待遇更是高的離譜。
H5開發人才的巨大缺口掀起一股培訓熱潮,很多人選擇兄弟連H5培訓,通過培訓作為進入H5開發行業的捷徑,對于有一定開發經驗的人來說,參加H5培訓可以在技術上達到精益求精的效果,學習當下比較高級的開發框架,與前沿的開發技術接軌,也可以讓自己的開發技術達到一個新的高度。而對于沒有任何經驗的“零基礎”學員來說,自學H5開發相對來說沒有那么容易。所以選擇一家在課程設置、師資力量都很好的兄弟連H5培訓機構很重要,能夠更快地掌握前沿的開發技術,學習的效果將會事半功倍。
如果你是零基礎,迫切想學會H5,或者你對H5懂一點點,不知道什么樣的課程適合你,那么兄弟連H5培訓課程給你最好的指導建議:從初級到高級,從基本到復雜,這是一個循序漸進的過程,每個過程該注意什么,兄弟連H5培訓老師會把一切知識和盤托出。你需要做的,就是認真學習,勤做筆記,徹頭徹尾的讓自己也成為H5開發大軍的一部分。
strolid是一款采用諸多web新技術的HTML5游戲。游戲的作者treeform分別使用webGL、WebSocket、AudioContext和作者自制的響應式HTML框架來渲染圖形、創建網絡連接、播放音頻和設計UI。另外,他還使用了Electron來將游戲打包成Windows和Mac的桌面應用程序。筆者這次給大家分享一下Istrolid作者的游戲開發心得。
2D WebGL
在使用openGL和WebGL引擎時,開發者通常會創建多個網格和紋理對象。但是Istrolid的作者卻有著自己獨特的建構方法。他通過一個網格和紋理對象來繪畫所有的游戲內容。游戲中的飛船有非常簡單的多邊形構成,有的甚至是由若干個三角形構成的。因此作者認為沒有必為每一個要繪制的物體都新建一個網格對象。
取而代之的是創建一個動態的網格并在每一幀畫面中通過代碼來調整這個網格。這樣會大大加快繪制的速度。這種方法和通常被開發者們棄用的openGL的immediate模式比較類似。同時,作者不推薦使用 3D ModelView的矩陣。在編寫Istrolid時,他僅僅將一個視點的矩形傳遞給了著色器。因此這款游戲是完全基于2D引擎的。
圖1 游戲中的飛船均由簡單的多邊形構成
紋理對象也很簡單,而且和網格對象一樣是動態的。在一個區域或者地形上繪制圖片時,游戲程序會加載這個紋理對象并將它放到一個實時打包的紋理地圖集中。之后程序會根據新的UI坐標系來創建網格對象。
圖2 2048px*2048px的地圖集
作者對著色器的操作也很簡單。他將所有的顏色都轉換到了HSV顏色空間中以便于進行顏色的調整。
圖3 HSV顏色空間
Coffee Script
JavaScript快得難以置信。作者原本利用Panda3d和Python來編寫卻發現Python并不能滿足他對速度的需求。他認為不斷發展壯大的JavaScript在滿足他對速度的追求的同時還能實現更多的功能。他使用CoffeeScript來編寫整個游戲并非常喜愛它的縮進排版和箭頭標識符。特別令他印象深刻的一點是箭頭標識符可以非常快速的創建內聯函數。
他利用自己三年前編寫的基于HTML的編輯器在服務器上編寫代碼。這樣的好處是他可以通過訪問編輯器的URL來在任意一臺電腦上開始他的開發工作。他用過Windows、Mac和ChromeOS并非常支持ChromeOS的云理念。
圖4 作者自制的基于網絡的編輯器
WebSocket和服務器
作者利用CoffeeScript來編寫服務器端程序并用Node.js來運行。他希望這款游戲能夠同時支持單人模式和多人模式。當玩家進行單人模式游戲時會開啟一個本地服務器。程序通過一個偽WebSocket來連接到本地服務器。這樣的好處是可以在一個真實的網絡環境中來測試代碼,從而簡化調試的過程。所有的調試和單步調試都在一個進程中完成。另外,他還可以在這個偽WebSocket中設置網絡延時和抖動來模擬復雜的網絡環境。
在開發即時戰略類游戲時,開發者通常會選擇鎖步(Lock Step)方法。但是Istrolid得作者并沒有這么做。他認為鎖步已經過時,不易于編寫(尤其是用JavaScript編寫時)。而且在這個個人電腦普遍擁有高帶寬的時代,鎖步的優勢已不再明顯。他采用delta編碼方式,并僅將變動的數據從服務器傳給每個玩家的服務器上。
圖5 Istrolid的網絡結構
AudioContext
瀏覽器的音頻播放能力已經改善許多。作者通過過程生成技術來創建背景音樂,并創建一個隨著游戲的進行動態響應的鼓。當一個單位被集中或者爆炸時他會提高這個鼓的音量。他將每一個武器開火時的聲音的音量設定成一個隨機數以保證每一個武器的聲音都有差別,盡管這個差別很細微。除非要開發一個音樂游戲否則作者不推薦在這方面花太多時間。
HTML UI
如果游戲中的UI非常多的話,那么完全靠自己用代碼來實現就會非常困難。這時就需要一些些復雜的UI框架來進行輔助。對于HTML5游戲來說,無需使用復雜的工具包即可實現復雜的UI效果。作者還利用HTML5的特性自己設計了一個響應式框架從而簡化UI的編寫過程。
Electorn “Shell”
如今將HTML5游戲編譯成適合于Windows、Mac或Linux的桌面應用程序非常容易。Istrolid的作者非常推薦那些因為插件拓展、瀏覽器過時或者驅動故障等問題頭疼的開發者嘗試一下Electron。同時這也為把你的游戲發布到類似Steam這樣需要提供可下載文件的游戲平臺創造了可能。
圖6 Electron
點擊閱讀原文,查看原文章~
*請認真填寫需求信息,我們會在24小時內與您取得聯系。