"

我個人接觸電腦是比較早的,在小學的時候,就已經開始接觸計算機編程了。也就是說,我經歷過DOS時代,16位Windows時代,再到後來出現了Windows 2000和Windows XP。這些經歷讓我明白了一點:計算機實在是太過於博大精深了。就計算機遊戲而言,我是玩過DOS版本DOOM的玩家,一直到現在的3A級別大作,我的遊戲之路就沒有斷過,所以,個人覺得,自己對遊戲還是有一點點發言權的。

從初中開始,我就在想,這些遊戲程序到底是如何編寫出來的?強大的好奇心,讓我去書店買了一本遊戲編程的書籍。我深深地記得,和書店老闆砍價好久,才以50塊錢的價格買了那本書。要知道,這50塊錢我攢了半年,是靠著每天用早餐錢省下1毛或者2毛慢慢積累起來的,給老闆付錢的時候,就是拿著一盒子1毛的硬幣去的。

"

我個人接觸電腦是比較早的,在小學的時候,就已經開始接觸計算機編程了。也就是說,我經歷過DOS時代,16位Windows時代,再到後來出現了Windows 2000和Windows XP。這些經歷讓我明白了一點:計算機實在是太過於博大精深了。就計算機遊戲而言,我是玩過DOS版本DOOM的玩家,一直到現在的3A級別大作,我的遊戲之路就沒有斷過,所以,個人覺得,自己對遊戲還是有一點點發言權的。

從初中開始,我就在想,這些遊戲程序到底是如何編寫出來的?強大的好奇心,讓我去書店買了一本遊戲編程的書籍。我深深地記得,和書店老闆砍價好久,才以50塊錢的價格買了那本書。要知道,這50塊錢我攢了半年,是靠著每天用早餐錢省下1毛或者2毛慢慢積累起來的,給老闆付錢的時候,就是拿著一盒子1毛的硬幣去的。

國產遊戲:不是不想做好,自主開發一款高質量遊戲,真的很難

書雖然買到了,但是和你猜想的差不多。一個初中水平的小孩兒,怎麼看得懂?除了第一章介紹的內容看明白了,剩下的內容就和天書一樣。現在再看這本書,就會發現,這本書寫得太爛了,完全就是代碼的堆砌,估計,寫書的人都不明白自己寫了什麼。再加上,大學時代購買的國內遊戲編程書籍,也是差不多的水準,讓我一度深深懷疑,我國的計算機水平真的這麼次嗎?

"

我個人接觸電腦是比較早的,在小學的時候,就已經開始接觸計算機編程了。也就是說,我經歷過DOS時代,16位Windows時代,再到後來出現了Windows 2000和Windows XP。這些經歷讓我明白了一點:計算機實在是太過於博大精深了。就計算機遊戲而言,我是玩過DOS版本DOOM的玩家,一直到現在的3A級別大作,我的遊戲之路就沒有斷過,所以,個人覺得,自己對遊戲還是有一點點發言權的。

從初中開始,我就在想,這些遊戲程序到底是如何編寫出來的?強大的好奇心,讓我去書店買了一本遊戲編程的書籍。我深深地記得,和書店老闆砍價好久,才以50塊錢的價格買了那本書。要知道,這50塊錢我攢了半年,是靠著每天用早餐錢省下1毛或者2毛慢慢積累起來的,給老闆付錢的時候,就是拿著一盒子1毛的硬幣去的。

國產遊戲:不是不想做好,自主開發一款高質量遊戲,真的很難

書雖然買到了,但是和你猜想的差不多。一個初中水平的小孩兒,怎麼看得懂?除了第一章介紹的內容看明白了,剩下的內容就和天書一樣。現在再看這本書,就會發現,這本書寫得太爛了,完全就是代碼的堆砌,估計,寫書的人都不明白自己寫了什麼。再加上,大學時代購買的國內遊戲編程書籍,也是差不多的水準,讓我一度深深懷疑,我國的計算機水平真的這麼次嗎?

國產遊戲:不是不想做好,自主開發一款高質量遊戲,真的很難

幾年前,我依舊是這麼想的,認為我國的遊戲編程水平,一直處於非常低的狀態,直到我看到了某個遊戲後,才改變了我的想法。這個讓我改變想法的遊戲,就是很多人一說起來就生氣的《王者榮耀》。先平復一下你們的心情,其實從遊戲編程的角度來看,王者榮耀的水平是非常可以的,它解決了很多遊戲方面的技術難題,真的公開的話,很多遊戲公司是可以受益的。所以,我認為,我國的遊戲編程水平已經有了比較大的提升了。很多人就會問了,既然遊戲編程水平提高了,那麼,為什麼我國還是做不出像3A那樣的高質量遊戲呢?什麼氪金啊、盜版啊、環境啊等等,其實都是比較次要的問題,真正阻礙我國做出高質量遊戲的,其實就是遊戲製作本身的超高難度。

所以,我就來談一談,自主研發一款高質量的遊戲,難度到底有多高。

一、遊戲是最複雜的電腦程序

這是我們首先要明白的一點:遊戲程序,是電腦程序中最複雜的,也是難度最高的。隨便對比一下。像Word這樣的商業軟件,基本上功能比較單一。Windows系統提供了很多編程接口(相當於系統給出一些接頭類的東西,其他程序員可以通過這個接頭來使用Windows提供的功能),程序員在寫Word這樣的程序時,就能大量使用,從而讓編程過程變得簡單。

"

我個人接觸電腦是比較早的,在小學的時候,就已經開始接觸計算機編程了。也就是說,我經歷過DOS時代,16位Windows時代,再到後來出現了Windows 2000和Windows XP。這些經歷讓我明白了一點:計算機實在是太過於博大精深了。就計算機遊戲而言,我是玩過DOS版本DOOM的玩家,一直到現在的3A級別大作,我的遊戲之路就沒有斷過,所以,個人覺得,自己對遊戲還是有一點點發言權的。

從初中開始,我就在想,這些遊戲程序到底是如何編寫出來的?強大的好奇心,讓我去書店買了一本遊戲編程的書籍。我深深地記得,和書店老闆砍價好久,才以50塊錢的價格買了那本書。要知道,這50塊錢我攢了半年,是靠著每天用早餐錢省下1毛或者2毛慢慢積累起來的,給老闆付錢的時候,就是拿著一盒子1毛的硬幣去的。

國產遊戲:不是不想做好,自主開發一款高質量遊戲,真的很難

書雖然買到了,但是和你猜想的差不多。一個初中水平的小孩兒,怎麼看得懂?除了第一章介紹的內容看明白了,剩下的內容就和天書一樣。現在再看這本書,就會發現,這本書寫得太爛了,完全就是代碼的堆砌,估計,寫書的人都不明白自己寫了什麼。再加上,大學時代購買的國內遊戲編程書籍,也是差不多的水準,讓我一度深深懷疑,我國的計算機水平真的這麼次嗎?

國產遊戲:不是不想做好,自主開發一款高質量遊戲,真的很難

幾年前,我依舊是這麼想的,認為我國的遊戲編程水平,一直處於非常低的狀態,直到我看到了某個遊戲後,才改變了我的想法。這個讓我改變想法的遊戲,就是很多人一說起來就生氣的《王者榮耀》。先平復一下你們的心情,其實從遊戲編程的角度來看,王者榮耀的水平是非常可以的,它解決了很多遊戲方面的技術難題,真的公開的話,很多遊戲公司是可以受益的。所以,我認為,我國的遊戲編程水平已經有了比較大的提升了。很多人就會問了,既然遊戲編程水平提高了,那麼,為什麼我國還是做不出像3A那樣的高質量遊戲呢?什麼氪金啊、盜版啊、環境啊等等,其實都是比較次要的問題,真正阻礙我國做出高質量遊戲的,其實就是遊戲製作本身的超高難度。

所以,我就來談一談,自主研發一款高質量的遊戲,難度到底有多高。

一、遊戲是最複雜的電腦程序

這是我們首先要明白的一點:遊戲程序,是電腦程序中最複雜的,也是難度最高的。隨便對比一下。像Word這樣的商業軟件,基本上功能比較單一。Windows系統提供了很多編程接口(相當於系統給出一些接頭類的東西,其他程序員可以通過這個接頭來使用Windows提供的功能),程序員在寫Word這樣的程序時,就能大量使用,從而讓編程過程變得簡單。

國產遊戲:不是不想做好,自主開發一款高質量遊戲,真的很難

再來看一個簡單的遊戲。比方說,某個程序員要寫一個類似超級瑪麗一樣的遊戲,那麼,他需要處理的東西就多了。為了畫面好看,程序員需要處理各種各樣的圖片素材;為了遊戲有聲音,程序員需要去處理錄音文件;為了遊戲有可玩性,程序員要去處理遊戲邏輯;為了遊戲能變得有趣,程序員甚至還需要懂得人工智能。當這些基礎的東西弄好之後,這個遊戲才能有個雛形。

二、遊戲程序對硬件真的是用到了極致

光看顯卡這個硬件,就能明白,遊戲對硬件的利用是真的很極致。可以說,最開始顯卡的出現,就是為了給遊戲程序用的。遊戲畫面想要更好,需要非常大量的計算,而這些計算,CPU已經負擔不過來了。其實,在十幾年前,獨立顯卡已經非常大了,在臺式主機箱裡,它都是一個龐然大物。

"

我個人接觸電腦是比較早的,在小學的時候,就已經開始接觸計算機編程了。也就是說,我經歷過DOS時代,16位Windows時代,再到後來出現了Windows 2000和Windows XP。這些經歷讓我明白了一點:計算機實在是太過於博大精深了。就計算機遊戲而言,我是玩過DOS版本DOOM的玩家,一直到現在的3A級別大作,我的遊戲之路就沒有斷過,所以,個人覺得,自己對遊戲還是有一點點發言權的。

從初中開始,我就在想,這些遊戲程序到底是如何編寫出來的?強大的好奇心,讓我去書店買了一本遊戲編程的書籍。我深深地記得,和書店老闆砍價好久,才以50塊錢的價格買了那本書。要知道,這50塊錢我攢了半年,是靠著每天用早餐錢省下1毛或者2毛慢慢積累起來的,給老闆付錢的時候,就是拿著一盒子1毛的硬幣去的。

國產遊戲:不是不想做好,自主開發一款高質量遊戲,真的很難

書雖然買到了,但是和你猜想的差不多。一個初中水平的小孩兒,怎麼看得懂?除了第一章介紹的內容看明白了,剩下的內容就和天書一樣。現在再看這本書,就會發現,這本書寫得太爛了,完全就是代碼的堆砌,估計,寫書的人都不明白自己寫了什麼。再加上,大學時代購買的國內遊戲編程書籍,也是差不多的水準,讓我一度深深懷疑,我國的計算機水平真的這麼次嗎?

國產遊戲:不是不想做好,自主開發一款高質量遊戲,真的很難

幾年前,我依舊是這麼想的,認為我國的遊戲編程水平,一直處於非常低的狀態,直到我看到了某個遊戲後,才改變了我的想法。這個讓我改變想法的遊戲,就是很多人一說起來就生氣的《王者榮耀》。先平復一下你們的心情,其實從遊戲編程的角度來看,王者榮耀的水平是非常可以的,它解決了很多遊戲方面的技術難題,真的公開的話,很多遊戲公司是可以受益的。所以,我認為,我國的遊戲編程水平已經有了比較大的提升了。很多人就會問了,既然遊戲編程水平提高了,那麼,為什麼我國還是做不出像3A那樣的高質量遊戲呢?什麼氪金啊、盜版啊、環境啊等等,其實都是比較次要的問題,真正阻礙我國做出高質量遊戲的,其實就是遊戲製作本身的超高難度。

所以,我就來談一談,自主研發一款高質量的遊戲,難度到底有多高。

一、遊戲是最複雜的電腦程序

這是我們首先要明白的一點:遊戲程序,是電腦程序中最複雜的,也是難度最高的。隨便對比一下。像Word這樣的商業軟件,基本上功能比較單一。Windows系統提供了很多編程接口(相當於系統給出一些接頭類的東西,其他程序員可以通過這個接頭來使用Windows提供的功能),程序員在寫Word這樣的程序時,就能大量使用,從而讓編程過程變得簡單。

國產遊戲:不是不想做好,自主開發一款高質量遊戲,真的很難

再來看一個簡單的遊戲。比方說,某個程序員要寫一個類似超級瑪麗一樣的遊戲,那麼,他需要處理的東西就多了。為了畫面好看,程序員需要處理各種各樣的圖片素材;為了遊戲有聲音,程序員需要去處理錄音文件;為了遊戲有可玩性,程序員要去處理遊戲邏輯;為了遊戲能變得有趣,程序員甚至還需要懂得人工智能。當這些基礎的東西弄好之後,這個遊戲才能有個雛形。

二、遊戲程序對硬件真的是用到了極致

光看顯卡這個硬件,就能明白,遊戲對硬件的利用是真的很極致。可以說,最開始顯卡的出現,就是為了給遊戲程序用的。遊戲畫面想要更好,需要非常大量的計算,而這些計算,CPU已經負擔不過來了。其實,在十幾年前,獨立顯卡已經非常大了,在臺式主機箱裡,它都是一個龐然大物。

國產遊戲:不是不想做好,自主開發一款高質量遊戲,真的很難

為什麼呢?因為,顯卡內置了GPU,它要計算大量的內容,以減輕CPU的壓力,所以,不得不設計一個很大的散熱裝置。一般用電腦的時候,它並不是很燙,但是,當你玩一個大型遊戲的時候,它就非常燙了,不僅僅是CPU的熱量,顯卡也提供了很多熱量。

三、遊戲引擎是研發的最大障礙

為什麼要有遊戲引擎呢?就是因為,遊戲編程太複雜了。遊戲要處理顯卡、聲卡以及各種各樣的輸入設備,還有各種各樣的大型建模,工作種類實在是太多了。而且,程序員們發現,遊戲需要處理的硬件以及各種各樣的素材,方法都是通用的,那為何不把這些東西弄成一個工具呢?這就是遊戲引擎的雛形了。

"

我個人接觸電腦是比較早的,在小學的時候,就已經開始接觸計算機編程了。也就是說,我經歷過DOS時代,16位Windows時代,再到後來出現了Windows 2000和Windows XP。這些經歷讓我明白了一點:計算機實在是太過於博大精深了。就計算機遊戲而言,我是玩過DOS版本DOOM的玩家,一直到現在的3A級別大作,我的遊戲之路就沒有斷過,所以,個人覺得,自己對遊戲還是有一點點發言權的。

從初中開始,我就在想,這些遊戲程序到底是如何編寫出來的?強大的好奇心,讓我去書店買了一本遊戲編程的書籍。我深深地記得,和書店老闆砍價好久,才以50塊錢的價格買了那本書。要知道,這50塊錢我攢了半年,是靠著每天用早餐錢省下1毛或者2毛慢慢積累起來的,給老闆付錢的時候,就是拿著一盒子1毛的硬幣去的。

國產遊戲:不是不想做好,自主開發一款高質量遊戲,真的很難

書雖然買到了,但是和你猜想的差不多。一個初中水平的小孩兒,怎麼看得懂?除了第一章介紹的內容看明白了,剩下的內容就和天書一樣。現在再看這本書,就會發現,這本書寫得太爛了,完全就是代碼的堆砌,估計,寫書的人都不明白自己寫了什麼。再加上,大學時代購買的國內遊戲編程書籍,也是差不多的水準,讓我一度深深懷疑,我國的計算機水平真的這麼次嗎?

國產遊戲:不是不想做好,自主開發一款高質量遊戲,真的很難

幾年前,我依舊是這麼想的,認為我國的遊戲編程水平,一直處於非常低的狀態,直到我看到了某個遊戲後,才改變了我的想法。這個讓我改變想法的遊戲,就是很多人一說起來就生氣的《王者榮耀》。先平復一下你們的心情,其實從遊戲編程的角度來看,王者榮耀的水平是非常可以的,它解決了很多遊戲方面的技術難題,真的公開的話,很多遊戲公司是可以受益的。所以,我認為,我國的遊戲編程水平已經有了比較大的提升了。很多人就會問了,既然遊戲編程水平提高了,那麼,為什麼我國還是做不出像3A那樣的高質量遊戲呢?什麼氪金啊、盜版啊、環境啊等等,其實都是比較次要的問題,真正阻礙我國做出高質量遊戲的,其實就是遊戲製作本身的超高難度。

所以,我就來談一談,自主研發一款高質量的遊戲,難度到底有多高。

一、遊戲是最複雜的電腦程序

這是我們首先要明白的一點:遊戲程序,是電腦程序中最複雜的,也是難度最高的。隨便對比一下。像Word這樣的商業軟件,基本上功能比較單一。Windows系統提供了很多編程接口(相當於系統給出一些接頭類的東西,其他程序員可以通過這個接頭來使用Windows提供的功能),程序員在寫Word這樣的程序時,就能大量使用,從而讓編程過程變得簡單。

國產遊戲:不是不想做好,自主開發一款高質量遊戲,真的很難

再來看一個簡單的遊戲。比方說,某個程序員要寫一個類似超級瑪麗一樣的遊戲,那麼,他需要處理的東西就多了。為了畫面好看,程序員需要處理各種各樣的圖片素材;為了遊戲有聲音,程序員需要去處理錄音文件;為了遊戲有可玩性,程序員要去處理遊戲邏輯;為了遊戲能變得有趣,程序員甚至還需要懂得人工智能。當這些基礎的東西弄好之後,這個遊戲才能有個雛形。

二、遊戲程序對硬件真的是用到了極致

光看顯卡這個硬件,就能明白,遊戲對硬件的利用是真的很極致。可以說,最開始顯卡的出現,就是為了給遊戲程序用的。遊戲畫面想要更好,需要非常大量的計算,而這些計算,CPU已經負擔不過來了。其實,在十幾年前,獨立顯卡已經非常大了,在臺式主機箱裡,它都是一個龐然大物。

國產遊戲:不是不想做好,自主開發一款高質量遊戲,真的很難

為什麼呢?因為,顯卡內置了GPU,它要計算大量的內容,以減輕CPU的壓力,所以,不得不設計一個很大的散熱裝置。一般用電腦的時候,它並不是很燙,但是,當你玩一個大型遊戲的時候,它就非常燙了,不僅僅是CPU的熱量,顯卡也提供了很多熱量。

三、遊戲引擎是研發的最大障礙

為什麼要有遊戲引擎呢?就是因為,遊戲編程太複雜了。遊戲要處理顯卡、聲卡以及各種各樣的輸入設備,還有各種各樣的大型建模,工作種類實在是太多了。而且,程序員們發現,遊戲需要處理的硬件以及各種各樣的素材,方法都是通用的,那為何不把這些東西弄成一個工具呢?這就是遊戲引擎的雛形了。

國產遊戲:不是不想做好,自主開發一款高質量遊戲,真的很難

現在開發遊戲,基本上分兩步:先有了遊戲引擎,然後就是遊戲創作。遊戲引擎負責處理遊戲編程中最麻煩、最繁瑣的東西,比如,和顯卡打交道。遊戲創作就簡單多了,有了遊戲引擎,你的很多天馬行空的想法,就可以實現了。我們要自主研發遊戲,那麼,總不能老是用外國的遊戲引擎吧?還是得自己開發一個。說起來容易,真的去做,估計連比較簡單的聲卡處理,都能難倒一大片的專家。所以,開發遊戲引擎,真的是一大障礙。

四、複雜的建模,是優化難點

除了遊戲引擎外,遊戲中的各種建模,也是一個痛點。遊戲想要有高質量,視覺上一定要過得去,一個連畫面都粗製濫造的遊戲,是稱不上高質量遊戲的。說一句大家容易理解的話:假設一個高質量遊戲總共使用了顯卡100%的GPU(很大型的遊戲了),那麼,這個遊戲中所

"

我個人接觸電腦是比較早的,在小學的時候,就已經開始接觸計算機編程了。也就是說,我經歷過DOS時代,16位Windows時代,再到後來出現了Windows 2000和Windows XP。這些經歷讓我明白了一點:計算機實在是太過於博大精深了。就計算機遊戲而言,我是玩過DOS版本DOOM的玩家,一直到現在的3A級別大作,我的遊戲之路就沒有斷過,所以,個人覺得,自己對遊戲還是有一點點發言權的。

從初中開始,我就在想,這些遊戲程序到底是如何編寫出來的?強大的好奇心,讓我去書店買了一本遊戲編程的書籍。我深深地記得,和書店老闆砍價好久,才以50塊錢的價格買了那本書。要知道,這50塊錢我攢了半年,是靠著每天用早餐錢省下1毛或者2毛慢慢積累起來的,給老闆付錢的時候,就是拿著一盒子1毛的硬幣去的。

國產遊戲:不是不想做好,自主開發一款高質量遊戲,真的很難

書雖然買到了,但是和你猜想的差不多。一個初中水平的小孩兒,怎麼看得懂?除了第一章介紹的內容看明白了,剩下的內容就和天書一樣。現在再看這本書,就會發現,這本書寫得太爛了,完全就是代碼的堆砌,估計,寫書的人都不明白自己寫了什麼。再加上,大學時代購買的國內遊戲編程書籍,也是差不多的水準,讓我一度深深懷疑,我國的計算機水平真的這麼次嗎?

國產遊戲:不是不想做好,自主開發一款高質量遊戲,真的很難

幾年前,我依舊是這麼想的,認為我國的遊戲編程水平,一直處於非常低的狀態,直到我看到了某個遊戲後,才改變了我的想法。這個讓我改變想法的遊戲,就是很多人一說起來就生氣的《王者榮耀》。先平復一下你們的心情,其實從遊戲編程的角度來看,王者榮耀的水平是非常可以的,它解決了很多遊戲方面的技術難題,真的公開的話,很多遊戲公司是可以受益的。所以,我認為,我國的遊戲編程水平已經有了比較大的提升了。很多人就會問了,既然遊戲編程水平提高了,那麼,為什麼我國還是做不出像3A那樣的高質量遊戲呢?什麼氪金啊、盜版啊、環境啊等等,其實都是比較次要的問題,真正阻礙我國做出高質量遊戲的,其實就是遊戲製作本身的超高難度。

所以,我就來談一談,自主研發一款高質量的遊戲,難度到底有多高。

一、遊戲是最複雜的電腦程序

這是我們首先要明白的一點:遊戲程序,是電腦程序中最複雜的,也是難度最高的。隨便對比一下。像Word這樣的商業軟件,基本上功能比較單一。Windows系統提供了很多編程接口(相當於系統給出一些接頭類的東西,其他程序員可以通過這個接頭來使用Windows提供的功能),程序員在寫Word這樣的程序時,就能大量使用,從而讓編程過程變得簡單。

國產遊戲:不是不想做好,自主開發一款高質量遊戲,真的很難

再來看一個簡單的遊戲。比方說,某個程序員要寫一個類似超級瑪麗一樣的遊戲,那麼,他需要處理的東西就多了。為了畫面好看,程序員需要處理各種各樣的圖片素材;為了遊戲有聲音,程序員需要去處理錄音文件;為了遊戲有可玩性,程序員要去處理遊戲邏輯;為了遊戲能變得有趣,程序員甚至還需要懂得人工智能。當這些基礎的東西弄好之後,這個遊戲才能有個雛形。

二、遊戲程序對硬件真的是用到了極致

光看顯卡這個硬件,就能明白,遊戲對硬件的利用是真的很極致。可以說,最開始顯卡的出現,就是為了給遊戲程序用的。遊戲畫面想要更好,需要非常大量的計算,而這些計算,CPU已經負擔不過來了。其實,在十幾年前,獨立顯卡已經非常大了,在臺式主機箱裡,它都是一個龐然大物。

國產遊戲:不是不想做好,自主開發一款高質量遊戲,真的很難

為什麼呢?因為,顯卡內置了GPU,它要計算大量的內容,以減輕CPU的壓力,所以,不得不設計一個很大的散熱裝置。一般用電腦的時候,它並不是很燙,但是,當你玩一個大型遊戲的時候,它就非常燙了,不僅僅是CPU的熱量,顯卡也提供了很多熱量。

三、遊戲引擎是研發的最大障礙

為什麼要有遊戲引擎呢?就是因為,遊戲編程太複雜了。遊戲要處理顯卡、聲卡以及各種各樣的輸入設備,還有各種各樣的大型建模,工作種類實在是太多了。而且,程序員們發現,遊戲需要處理的硬件以及各種各樣的素材,方法都是通用的,那為何不把這些東西弄成一個工具呢?這就是遊戲引擎的雛形了。

國產遊戲:不是不想做好,自主開發一款高質量遊戲,真的很難

現在開發遊戲,基本上分兩步:先有了遊戲引擎,然後就是遊戲創作。遊戲引擎負責處理遊戲編程中最麻煩、最繁瑣的東西,比如,和顯卡打交道。遊戲創作就簡單多了,有了遊戲引擎,你的很多天馬行空的想法,就可以實現了。我們要自主研發遊戲,那麼,總不能老是用外國的遊戲引擎吧?還是得自己開發一個。說起來容易,真的去做,估計連比較簡單的聲卡處理,都能難倒一大片的專家。所以,開發遊戲引擎,真的是一大障礙。

四、複雜的建模,是優化難點

除了遊戲引擎外,遊戲中的各種建模,也是一個痛點。遊戲想要有高質量,視覺上一定要過得去,一個連畫面都粗製濫造的遊戲,是稱不上高質量遊戲的。說一句大家容易理解的話:假設一個高質量遊戲總共使用了顯卡100%的GPU(很大型的遊戲了),那麼,這個遊戲中所

國產遊戲:不是不想做好,自主開發一款高質量遊戲,真的很難

能這一個模型的數據量,就達到了幾十萬。一個遊戲,複雜的模型非常多,真的像這樣原封不動地轉化數據,那最後的計算量就太大了。電影最小的幀數是24幀,電腦遊戲由於要求高,最低要30幀才會比較流暢。就按30幀算,這個大型遊戲,不經過優化,每秒鐘要處理上億的數據量!你說,現在有什麼電腦能吃得消?所以,遊戲優化必不可少。

那麼,如何進行優化?就是用近似算法,將複雜的模型簡單化,以達到減少整體數據量的目的。這就和壓縮算法差不多,好的壓縮算法,永遠在人家的祕密口袋裡,你想得到源代碼,根本不可能;如果只用他們的付費編程接口,那就不再是自有物體的建模,可能佔據了50%的GPU,剩下的50%,是給場景加特效用的,還有將遊戲場景變換成二維畫面顯示出來的工作。

一個物體的建模為什麼那麼消耗計算力?這個要從建模的本質上說。比方說某個遊戲中有很精細的人物模型,這個人物模型想要放置在遊戲場景中,需要三步。第一步,由專業的美工用計算機畫出這個模型,越精細越好。第二步,將這個模型轉化成遊戲程序能讀懂的數據。第三步,由遊戲程序藉助顯卡的能力,將模型數據繪製出來。

"

我個人接觸電腦是比較早的,在小學的時候,就已經開始接觸計算機編程了。也就是說,我經歷過DOS時代,16位Windows時代,再到後來出現了Windows 2000和Windows XP。這些經歷讓我明白了一點:計算機實在是太過於博大精深了。就計算機遊戲而言,我是玩過DOS版本DOOM的玩家,一直到現在的3A級別大作,我的遊戲之路就沒有斷過,所以,個人覺得,自己對遊戲還是有一點點發言權的。

從初中開始,我就在想,這些遊戲程序到底是如何編寫出來的?強大的好奇心,讓我去書店買了一本遊戲編程的書籍。我深深地記得,和書店老闆砍價好久,才以50塊錢的價格買了那本書。要知道,這50塊錢我攢了半年,是靠著每天用早餐錢省下1毛或者2毛慢慢積累起來的,給老闆付錢的時候,就是拿著一盒子1毛的硬幣去的。

國產遊戲:不是不想做好,自主開發一款高質量遊戲,真的很難

書雖然買到了,但是和你猜想的差不多。一個初中水平的小孩兒,怎麼看得懂?除了第一章介紹的內容看明白了,剩下的內容就和天書一樣。現在再看這本書,就會發現,這本書寫得太爛了,完全就是代碼的堆砌,估計,寫書的人都不明白自己寫了什麼。再加上,大學時代購買的國內遊戲編程書籍,也是差不多的水準,讓我一度深深懷疑,我國的計算機水平真的這麼次嗎?

國產遊戲:不是不想做好,自主開發一款高質量遊戲,真的很難

幾年前,我依舊是這麼想的,認為我國的遊戲編程水平,一直處於非常低的狀態,直到我看到了某個遊戲後,才改變了我的想法。這個讓我改變想法的遊戲,就是很多人一說起來就生氣的《王者榮耀》。先平復一下你們的心情,其實從遊戲編程的角度來看,王者榮耀的水平是非常可以的,它解決了很多遊戲方面的技術難題,真的公開的話,很多遊戲公司是可以受益的。所以,我認為,我國的遊戲編程水平已經有了比較大的提升了。很多人就會問了,既然遊戲編程水平提高了,那麼,為什麼我國還是做不出像3A那樣的高質量遊戲呢?什麼氪金啊、盜版啊、環境啊等等,其實都是比較次要的問題,真正阻礙我國做出高質量遊戲的,其實就是遊戲製作本身的超高難度。

所以,我就來談一談,自主研發一款高質量的遊戲,難度到底有多高。

一、遊戲是最複雜的電腦程序

這是我們首先要明白的一點:遊戲程序,是電腦程序中最複雜的,也是難度最高的。隨便對比一下。像Word這樣的商業軟件,基本上功能比較單一。Windows系統提供了很多編程接口(相當於系統給出一些接頭類的東西,其他程序員可以通過這個接頭來使用Windows提供的功能),程序員在寫Word這樣的程序時,就能大量使用,從而讓編程過程變得簡單。

國產遊戲:不是不想做好,自主開發一款高質量遊戲,真的很難

再來看一個簡單的遊戲。比方說,某個程序員要寫一個類似超級瑪麗一樣的遊戲,那麼,他需要處理的東西就多了。為了畫面好看,程序員需要處理各種各樣的圖片素材;為了遊戲有聲音,程序員需要去處理錄音文件;為了遊戲有可玩性,程序員要去處理遊戲邏輯;為了遊戲能變得有趣,程序員甚至還需要懂得人工智能。當這些基礎的東西弄好之後,這個遊戲才能有個雛形。

二、遊戲程序對硬件真的是用到了極致

光看顯卡這個硬件,就能明白,遊戲對硬件的利用是真的很極致。可以說,最開始顯卡的出現,就是為了給遊戲程序用的。遊戲畫面想要更好,需要非常大量的計算,而這些計算,CPU已經負擔不過來了。其實,在十幾年前,獨立顯卡已經非常大了,在臺式主機箱裡,它都是一個龐然大物。

國產遊戲:不是不想做好,自主開發一款高質量遊戲,真的很難

為什麼呢?因為,顯卡內置了GPU,它要計算大量的內容,以減輕CPU的壓力,所以,不得不設計一個很大的散熱裝置。一般用電腦的時候,它並不是很燙,但是,當你玩一個大型遊戲的時候,它就非常燙了,不僅僅是CPU的熱量,顯卡也提供了很多熱量。

三、遊戲引擎是研發的最大障礙

為什麼要有遊戲引擎呢?就是因為,遊戲編程太複雜了。遊戲要處理顯卡、聲卡以及各種各樣的輸入設備,還有各種各樣的大型建模,工作種類實在是太多了。而且,程序員們發現,遊戲需要處理的硬件以及各種各樣的素材,方法都是通用的,那為何不把這些東西弄成一個工具呢?這就是遊戲引擎的雛形了。

國產遊戲:不是不想做好,自主開發一款高質量遊戲,真的很難

現在開發遊戲,基本上分兩步:先有了遊戲引擎,然後就是遊戲創作。遊戲引擎負責處理遊戲編程中最麻煩、最繁瑣的東西,比如,和顯卡打交道。遊戲創作就簡單多了,有了遊戲引擎,你的很多天馬行空的想法,就可以實現了。我們要自主研發遊戲,那麼,總不能老是用外國的遊戲引擎吧?還是得自己開發一個。說起來容易,真的去做,估計連比較簡單的聲卡處理,都能難倒一大片的專家。所以,開發遊戲引擎,真的是一大障礙。

四、複雜的建模,是優化難點

除了遊戲引擎外,遊戲中的各種建模,也是一個痛點。遊戲想要有高質量,視覺上一定要過得去,一個連畫面都粗製濫造的遊戲,是稱不上高質量遊戲的。說一句大家容易理解的話:假設一個高質量遊戲總共使用了顯卡100%的GPU(很大型的遊戲了),那麼,這個遊戲中所

國產遊戲:不是不想做好,自主開發一款高質量遊戲,真的很難

能這一個模型的數據量,就達到了幾十萬。一個遊戲,複雜的模型非常多,真的像這樣原封不動地轉化數據,那最後的計算量就太大了。電影最小的幀數是24幀,電腦遊戲由於要求高,最低要30幀才會比較流暢。就按30幀算,這個大型遊戲,不經過優化,每秒鐘要處理上億的數據量!你說,現在有什麼電腦能吃得消?所以,遊戲優化必不可少。

那麼,如何進行優化?就是用近似算法,將複雜的模型簡單化,以達到減少整體數據量的目的。這就和壓縮算法差不多,好的壓縮算法,永遠在人家的祕密口袋裡,你想得到源代碼,根本不可能;如果只用他們的付費編程接口,那就不再是自有物體的建模,可能佔據了50%的GPU,剩下的50%,是給場景加特效用的,還有將遊戲場景變換成二維畫面顯示出來的工作。

一個物體的建模為什麼那麼消耗計算力?這個要從建模的本質上說。比方說某個遊戲中有很精細的人物模型,這個人物模型想要放置在遊戲場景中,需要三步。第一步,由專業的美工用計算機畫出這個模型,越精細越好。第二步,將這個模型轉化成遊戲程序能讀懂的數據。第三步,由遊戲程序藉助顯卡的能力,將模型數據繪製出來。

國產遊戲:不是不想做好,自主開發一款高質量遊戲,真的很難

看明白了嗎?關鍵是第二步的數據轉化。如果原封不動,把最精細的模型轉化成數據,可主研發了。

除了人為模型的優化,剩下的特效內容,依舊非常燒腦。比方說,場景中陰影的計算、光照的計算、畫面同步的計算、線條平滑的計算(專業名詞叫抗鋸齒)、不同天氣的計算等等。雖然說,微軟公司的DirectX提供了基本的功能,但是,想要逼真的效果,就需要遊戲團隊額外單獨進行編碼。就算我們能夠研發出這些特效內容,優化同樣是一個問題。一個逼真的下雨模擬,代碼可能就達到上萬行,在原本就緊張的電腦資源面前,你不優化,遊戲還怎麼運行?

所以,即使我們能做出遊戲,後期的優化,也能要了遊戲團隊的命。

"

我個人接觸電腦是比較早的,在小學的時候,就已經開始接觸計算機編程了。也就是說,我經歷過DOS時代,16位Windows時代,再到後來出現了Windows 2000和Windows XP。這些經歷讓我明白了一點:計算機實在是太過於博大精深了。就計算機遊戲而言,我是玩過DOS版本DOOM的玩家,一直到現在的3A級別大作,我的遊戲之路就沒有斷過,所以,個人覺得,自己對遊戲還是有一點點發言權的。

從初中開始,我就在想,這些遊戲程序到底是如何編寫出來的?強大的好奇心,讓我去書店買了一本遊戲編程的書籍。我深深地記得,和書店老闆砍價好久,才以50塊錢的價格買了那本書。要知道,這50塊錢我攢了半年,是靠著每天用早餐錢省下1毛或者2毛慢慢積累起來的,給老闆付錢的時候,就是拿著一盒子1毛的硬幣去的。

國產遊戲:不是不想做好,自主開發一款高質量遊戲,真的很難

書雖然買到了,但是和你猜想的差不多。一個初中水平的小孩兒,怎麼看得懂?除了第一章介紹的內容看明白了,剩下的內容就和天書一樣。現在再看這本書,就會發現,這本書寫得太爛了,完全就是代碼的堆砌,估計,寫書的人都不明白自己寫了什麼。再加上,大學時代購買的國內遊戲編程書籍,也是差不多的水準,讓我一度深深懷疑,我國的計算機水平真的這麼次嗎?

國產遊戲:不是不想做好,自主開發一款高質量遊戲,真的很難

幾年前,我依舊是這麼想的,認為我國的遊戲編程水平,一直處於非常低的狀態,直到我看到了某個遊戲後,才改變了我的想法。這個讓我改變想法的遊戲,就是很多人一說起來就生氣的《王者榮耀》。先平復一下你們的心情,其實從遊戲編程的角度來看,王者榮耀的水平是非常可以的,它解決了很多遊戲方面的技術難題,真的公開的話,很多遊戲公司是可以受益的。所以,我認為,我國的遊戲編程水平已經有了比較大的提升了。很多人就會問了,既然遊戲編程水平提高了,那麼,為什麼我國還是做不出像3A那樣的高質量遊戲呢?什麼氪金啊、盜版啊、環境啊等等,其實都是比較次要的問題,真正阻礙我國做出高質量遊戲的,其實就是遊戲製作本身的超高難度。

所以,我就來談一談,自主研發一款高質量的遊戲,難度到底有多高。

一、遊戲是最複雜的電腦程序

這是我們首先要明白的一點:遊戲程序,是電腦程序中最複雜的,也是難度最高的。隨便對比一下。像Word這樣的商業軟件,基本上功能比較單一。Windows系統提供了很多編程接口(相當於系統給出一些接頭類的東西,其他程序員可以通過這個接頭來使用Windows提供的功能),程序員在寫Word這樣的程序時,就能大量使用,從而讓編程過程變得簡單。

國產遊戲:不是不想做好,自主開發一款高質量遊戲,真的很難

再來看一個簡單的遊戲。比方說,某個程序員要寫一個類似超級瑪麗一樣的遊戲,那麼,他需要處理的東西就多了。為了畫面好看,程序員需要處理各種各樣的圖片素材;為了遊戲有聲音,程序員需要去處理錄音文件;為了遊戲有可玩性,程序員要去處理遊戲邏輯;為了遊戲能變得有趣,程序員甚至還需要懂得人工智能。當這些基礎的東西弄好之後,這個遊戲才能有個雛形。

二、遊戲程序對硬件真的是用到了極致

光看顯卡這個硬件,就能明白,遊戲對硬件的利用是真的很極致。可以說,最開始顯卡的出現,就是為了給遊戲程序用的。遊戲畫面想要更好,需要非常大量的計算,而這些計算,CPU已經負擔不過來了。其實,在十幾年前,獨立顯卡已經非常大了,在臺式主機箱裡,它都是一個龐然大物。

國產遊戲:不是不想做好,自主開發一款高質量遊戲,真的很難

為什麼呢?因為,顯卡內置了GPU,它要計算大量的內容,以減輕CPU的壓力,所以,不得不設計一個很大的散熱裝置。一般用電腦的時候,它並不是很燙,但是,當你玩一個大型遊戲的時候,它就非常燙了,不僅僅是CPU的熱量,顯卡也提供了很多熱量。

三、遊戲引擎是研發的最大障礙

為什麼要有遊戲引擎呢?就是因為,遊戲編程太複雜了。遊戲要處理顯卡、聲卡以及各種各樣的輸入設備,還有各種各樣的大型建模,工作種類實在是太多了。而且,程序員們發現,遊戲需要處理的硬件以及各種各樣的素材,方法都是通用的,那為何不把這些東西弄成一個工具呢?這就是遊戲引擎的雛形了。

國產遊戲:不是不想做好,自主開發一款高質量遊戲,真的很難

現在開發遊戲,基本上分兩步:先有了遊戲引擎,然後就是遊戲創作。遊戲引擎負責處理遊戲編程中最麻煩、最繁瑣的東西,比如,和顯卡打交道。遊戲創作就簡單多了,有了遊戲引擎,你的很多天馬行空的想法,就可以實現了。我們要自主研發遊戲,那麼,總不能老是用外國的遊戲引擎吧?還是得自己開發一個。說起來容易,真的去做,估計連比較簡單的聲卡處理,都能難倒一大片的專家。所以,開發遊戲引擎,真的是一大障礙。

四、複雜的建模,是優化難點

除了遊戲引擎外,遊戲中的各種建模,也是一個痛點。遊戲想要有高質量,視覺上一定要過得去,一個連畫面都粗製濫造的遊戲,是稱不上高質量遊戲的。說一句大家容易理解的話:假設一個高質量遊戲總共使用了顯卡100%的GPU(很大型的遊戲了),那麼,這個遊戲中所

國產遊戲:不是不想做好,自主開發一款高質量遊戲,真的很難

能這一個模型的數據量,就達到了幾十萬。一個遊戲,複雜的模型非常多,真的像這樣原封不動地轉化數據,那最後的計算量就太大了。電影最小的幀數是24幀,電腦遊戲由於要求高,最低要30幀才會比較流暢。就按30幀算,這個大型遊戲,不經過優化,每秒鐘要處理上億的數據量!你說,現在有什麼電腦能吃得消?所以,遊戲優化必不可少。

那麼,如何進行優化?就是用近似算法,將複雜的模型簡單化,以達到減少整體數據量的目的。這就和壓縮算法差不多,好的壓縮算法,永遠在人家的祕密口袋裡,你想得到源代碼,根本不可能;如果只用他們的付費編程接口,那就不再是自有物體的建模,可能佔據了50%的GPU,剩下的50%,是給場景加特效用的,還有將遊戲場景變換成二維畫面顯示出來的工作。

一個物體的建模為什麼那麼消耗計算力?這個要從建模的本質上說。比方說某個遊戲中有很精細的人物模型,這個人物模型想要放置在遊戲場景中,需要三步。第一步,由專業的美工用計算機畫出這個模型,越精細越好。第二步,將這個模型轉化成遊戲程序能讀懂的數據。第三步,由遊戲程序藉助顯卡的能力,將模型數據繪製出來。

國產遊戲:不是不想做好,自主開發一款高質量遊戲,真的很難

看明白了嗎?關鍵是第二步的數據轉化。如果原封不動,把最精細的模型轉化成數據,可主研發了。

除了人為模型的優化,剩下的特效內容,依舊非常燒腦。比方說,場景中陰影的計算、光照的計算、畫面同步的計算、線條平滑的計算(專業名詞叫抗鋸齒)、不同天氣的計算等等。雖然說,微軟公司的DirectX提供了基本的功能,但是,想要逼真的效果,就需要遊戲團隊額外單獨進行編碼。就算我們能夠研發出這些特效內容,優化同樣是一個問題。一個逼真的下雨模擬,代碼可能就達到上萬行,在原本就緊張的電腦資源面前,你不優化,遊戲還怎麼運行?

所以,即使我們能做出遊戲,後期的優化,也能要了遊戲團隊的命。

國產遊戲:不是不想做好,自主開發一款高質量遊戲,真的很難

最後總結一下,一個高質量遊戲的完全自主開發過程。

  • (一)遊戲團隊大開腦洞,進行天馬行空的構思,最好把遊戲的世界觀給構建出來;
  • (二)留下思維活躍的成員繼續構思遊戲,剩下的全部人員,進行遊戲引擎的攻克;
  • (三)在攻克遊戲引擎的同時,美工組成員,開始負責所有的圖片、界面、模型的製作,質量越高越好,細節越完美越好;
  • (四)除此之外,最好為遊戲創建原聲,可以請人來作曲,請人來作詞,最後請人來演唱;
  • (五)如果可能的話,將遊戲中需要的人物配音、動物配音、物體配音全部配齊;
  • (六)如果一切順利,遊戲引擎開發了出來,就可以大刀闊斧地把遊戲給“拼湊”出來了;
  • (七)遊戲初稿完成後,可以找大型計算機(用於科研的超高性能計算機)測試遊戲,並進行初步修改;
  • (八)找出所有影響遊戲運行效率的細節,逐一攻破,最理想的優化結果是:市面上流行的家用計算機的運行效果,和科研用的高性能計算機的運行效果相差無幾;
  • (九)經過比較長的一段時間測試,找出儘可能多的遊戲BUG,並逐一修復;
  • (十)遊戲大功告成,自主研發遊戲終於問世!

所以說,我國的高質量3A遊戲之路,任重而道遠。

"

相關推薦

推薦中...