小型游戲編程,計算機動漫與游戲制作?
互聯網+時代下,動漫的進階之路
技術的發展日新月異,不僅改變了我們的生活和工作方式,也為我們提供了更多選擇,時代在發展、社會的包容性更高,人人都可以憑借一技之長實現人生理想 ,回想十年前,人們怎么看待喜歡游戲、動漫的人,他們用“沉溺”“不務正業”來形容這群人,而如今喜歡游戲的可以去打電競,喜愛動漫的可以從事動漫制作, “國漫崛起”、“電競少年”、“二次元”,如今人們對他們的形容更中性和客觀,甚至更多了一份發展的期待,是時代和互聯網的發展,讓動漫和游戲擁有了巨大的產業價值,而掌握這項技能的人也擁有了不可被輕視的輸出價值,得到社會認可。
(四川新華動漫實訓基地)
隨著信息技術的不斷發展,網絡技術和資源在人們的日常生活和生產工作中不僅被用于幫助人們解決問題,還逐漸成為人們新的娛樂放松方式。在“互聯網+”時代的大背景下,動漫產業開始迅速發展起來。美國有迪士尼,日本有宮崎駿,欣喜的是中國近年來也有了自己的代表作《哪吒》《大鬧天宮》等, “國漫崛起”一詞不斷被提及,但這其實只是中國動漫產業發展的一個側面,動漫已經滲透進各行各業,除了影視、出版業,動漫與游戲掛靠最緊,動漫游戲產業發展勢如破竹。據艾瑞數據顯示,2018年中國動漫產業總產值已經突破1700億,而且這一數值還在增長,在2019年,動漫產業總產值超過1900億,2020年有望向2000億總產值沖擊。隨著以互聯網為代表的高新科技迅速發展,動漫產業正處于突破性增長階段。
而隨著動漫的發展,逐漸形成了一種網絡形式的新文化產業。人們在觀看動漫和使用網絡游戲進行娛樂的同時,自身思維方式和生活方式也會因此發生變化。所以,在“互聯網+”時代,重視動漫產業的發展,注重動漫方向專業人才培養對于推動動漫產業的良性發展有非常重要的作用。
數學不好可以去學編程嗎?
作為一個愛好數學恰好又是職業編程的人,看到這個題目不禁想談談個人看法。從業這么多年,說實話編程根數學關系不大但又密不可分。我的觀點是:數學不好可以去學編程,但數學程度影響技術精進。從我身邊及工作中遇到的一些問題總結說明下,大家也許就更明了了。
不是所有編程的都需要數學好計算機編程真不是什么輕松職業,可能工資相對于其他行業略為高一些,隨著互聯網的發展,最近幾年計算機培訓機構也比較火熱,大多數人都是沖著工資去的。培訓方向也是比較明確的。除了人工智能這方面需要較高的數學邏輯,一般的編程都不需要多好的數學。我了解的幾個從培訓機構出來從事編程的人數學都不是多好,這不影響他們找工作。
數學好利于技術精進記得上學時不少人都說,學數學沒有用,感覺生活中運用不到。當時我也有這種想法,但是隨著時間的流逝,我不贊成這種看法。很多時候不是學的數學沒用:一是你運用了數學但是沒有發覺,因為數學已經融入到生活中了。舉個簡單的例子,你手上有10塊錢,買了2元錢的東西,人家找你8元,這幾乎是條件反射。你沒有覺得數學對你生活有影響,但它確實是在生活中以多種形式存在。二是你自己沒有發揮它的作用。就舉個工作中的實事吧。一個新的需求產生,同樣的編程,你編出的代碼跑一遍得花10秒,我運用數學邏輯編出的跑一遍花了4秒,雖是幾秒之差,但是確實提高了產品性能和體驗度,這就是差別。
回到題主這個問題,我認為數學不好可以學編程,個人建議題主根據自己的數學水平選擇合適的方向發展,報培訓班時先咨詢下。入行后可結合數學再精進技術,任何一個方向,你能做好做精就能有好工資。
我是風中的大石頭,一個從小癡迷數學的工程師,如果你也喜歡數學,歡迎關注一起交流。
游戲一般用什么編程語言開發?
游戲本身會運行在不同的平臺,而平臺也影響了使用的語言。平臺主要有2大類,PC(也就是常用的電腦)和手機。它們上面都可以使用網頁來運行游戲,所以額外我們把網頁瀏覽器上面跑的叫WEB端。針對上面的3種平臺類型。我們來聊一聊這些平臺上常見的游戲是用什么開發的。
PC端。大部分的游戲是C/C++開發的。這主要是因為我們使用的操作系統如window,mac的底層都是c。使用C/C++可以極大的發揮性能上面的優勢。比如下面這個NBA2K18就是用C/C++為主開發的。
手機端。手機端的游戲我們稱為手游。手機上面的操作系統主要是ios與android,也就是蘋果和安卓系統。在之前,android上面的游戲以java開發居多。這是因為android系統本身就是以java開發為主。ios上面的游戲以object c開發居多,這也是因為系統本身的緣故。最近ios又出來swift語言。但是隨著技術的發展,程序員們發現一款游戲要部署到各個平臺的成本太高了。所以現在主流的技術是使用跨平臺的游戲引擎開發,然后發布到不同的平臺。所以,語言的選擇從對平臺的依賴變成了對游戲引擎的依賴。那我們就要看看主流的游戲引擎有哪些?主流的游戲引擎有:unity,cocos,unreal等。unity采用的是C#語言為主。cocos下面以C++、lua、js等開發語言。unreal主要是以C++為主。從上面這些中你會發現語言有很多,使用的也很多。在商業項目以及目前主流技術中,大部分高水準的游戲是以C++結合lua來開發的。C++負責處理高性能的部分,lua處理邏輯部分來加快開發速度。即使是使用unity引擎,大部分產商也會選擇C#結合lua的方式來開發。C#負責核心部分,lua處理邏輯部分。
再聊一下WEB端。WEB端以前是以flash為主,常見的就是4399的很多小游戲,都是flash為主。WEB端主要是一個html與js的解釋器。目前WEB開發國內主要是3大引擎:白鷺、laya以及cocos-js。它們的主要開發語言為typescript,這主要是因為typescript可以提供非常快的開發速度(就像lua一樣),同時它還具備提前暴露問題的能力。
實際上上面的部分主要聊的是游戲客戶端。在游戲領域,實際上分為服務端和客戶端。客戶端指對外玩家可以見到的畫面表現等。服務端是運行在產商自己的服務器上的,支持玩家之間互相可見,同步,聊天等各種邏輯。對于服務端的語言,目前有C++結合lua以及C#、java、php等。這幾種都很常用,主流的大的游戲依然是C++為主。中小型的游戲各種都會用到。php常用于對網絡需求很低的游戲的做簡單的數據處理。
上面的主要是一些理論,下面我們來實戰幾個問題,一會我們再來總結。
1. 王者榮耀是用什么開發的?王者榮耀使用的是unity引擎,而這種全民級別的游戲是非常注重性能的。所以它采用的是C++結合C#。核心用C++,邏輯用C#。為什么不是我們前面說的C#結合lua呢?因為騰訊有這個技術實力,所以他們整體使用了更有性能優勢的語言開發。
2. 微信里面的小游戲是用什么開發的?小游戲本質上是個WEB的執行環境。所以它上面的很多游戲都是typescript或者js開發的。之所以typescript還沒有普及,是因為它的社區不夠活躍。
3.怎么猜測一款游戲是什么語言開發的?先上網搜索它的開發引擎,如果搜索到了就看看它對性能是否要求高,來推導它的使用語言。如果搜索不到,那很可能是自研引擎。自研引擎大部分都是C++實現的。
最后總結下。目前大部分國內的游戲以C++/C#結合lua實現為主,隨著小游戲的開始,催生出一些js/typescript開發的游戲。為什么是以C++結合lua會是實現為主呢,是因為現在網游最賺錢。一款游戲月流水過千萬甚至過億催生了這個產業。這個產業注重2點:性能穩定,所以是C++。可以各種修改,各種支出活動,所以是lua。C++性能非常高,騰訊內部大部分代碼其實都是C++的。lua是門腳本語言,招人門檻很低,也容易學習。所以,很多語言實際上是因為大環境的影響而被選中的。另外一方面,服務器也可以采用C++結合lua開發,這樣的話就形成了雙端(服務端和客戶端)都使用相同語言的高速開發模式。
我猜想題主是想選擇一種語言學習。首先題主要看下自己未來的方向。是想做大項目還是做小項目。如果是希望做大項目,目前無疑推薦的是C++和lua。如果是小游戲之類的,推薦的是typescript。未來的一個趨勢我大膽預測可能是C++結合typescript。我了解到的一些技術大牛已經開始這樣實踐了。推薦的lua語言開發書籍如下:
推薦的C++書籍如下:
typescript暫時沒有合適的書籍供閱讀,主要以typescript的官方文檔為主。
小游戲類的開發書籍推薦如下:
大的游戲實際上需要大量的學習和知識積累。遠遠不是幾本書能完全吃透的。這邊還是推薦一本unity3的引擎的書來提高下入門的興趣:
特別提醒下:基于目前互聯網的發展速度,讀書已經不是最快的獲取知識的途徑了。所以推薦的是優先以互聯網的內容來學習,找個引擎玩一玩。像玩玩具一樣的學習編程是最快樂的。之后再努力進入一線的研發團隊歷練,這樣成長最快。紙質的書籍落后于實際的技術3-5年以上。
作者背景:前迅雷員工/前游戲公司雙端主程
在steam上有哪些像素類RPG游戲劇情非常不錯的?
謝邀,冷門的楓叔來答吧,一般喜歡像素RPG的都是女性玩家,這里推薦幾款steam上比較口碑好的像素產品。至于像MC那種開放世界的,估計女孩子喜歡無腦模式的話,也不太會玩的進去,所以這里就不提《我的世界》了,就舉一些純粹像素風的游戲給大家。
《Forager》(浮島物語)浮島物語這款游戲是建立在2D基礎上的開發世界產品,一開始提供玩家的就是一個工具,你需要通過自己的努力去創造更多的內容,采集元素是這類游戲的主題,并且還加入了地牢概念,可以闖關。整體來說它的像素風沒有想象的那么強烈,甚至可以說有些復古而已。自帶中文的清新界面,讓女性女玩玩起來輕松又愜意,只是暫時沒有開放多人聯機,整體好評率88%,在小成本游戲中難能可貴。
《The Binding of Isaac: Rebirth》(以撒的結合:重生)聽名字可能會覺得陌生,實際老玩家對其有一定認知。這款作品在steam上好評率高達95%,屬于難度傾向比較大的類Rogue產品。steam上的這款叫重生的游戲,是以前《以撒的結合》重制版,當然你只看畫面覺得也沒進步到哪里去,但是吸引玩家的是這款游戲的內容。很多人玩幾百小時都不過癮,調侃“毀青春”系列。這是一款動作類的角色扮演游戲,全部手繪像素風,采用高拋光視覺效果展現游戲比較昏暗的感覺,配樂和音效做的十分到位,重制版內容比前作多,難度有所降低。整體游戲通關流程就需要400小時,女孩子可以拿來玩很久的哦,關鍵是價格便宜,打折時就不到20元。
《Stardew Valley》(星露谷物語)星露谷物語幾乎是每一位女孩子問推薦游戲時,都必答的一款產品,更何況喜歡像素風的朋友,自然會對它愛不釋手。故事講述你所扮演的角色,繼承爺爺的工坊并開始建造經營自己農場的故事。整個游戲的開發度很高,可以制造,建設,種植養殖的內容十分豐富,加上后來支持聯機,體驗翻倍。整體來說這款像素風做的十分細膩,色彩對比度很強烈,畢竟是主機移植來的作品,在同類產品中屬上乘之作。
《Terraria》(泰拉瑞亞)泰拉瑞亞是一款比較特別的游戲,它不僅擁有工坊類產品的全套功能,關鍵是采用了橫版的表現形式,這在同類中比較少見。你可以把它看作是一款關卡類作品,但豐富的建造和戰斗、挖掘、探索功能,讓游戲的冒險變得更加有趣。玩家對這款游戲的評價是“萬年不更,長期霸榜”,高達95%的好評可見這款產品完成度很高。
好了,篇幅原因楓叔就先推薦大家四款游戲。同類型的大家也可以在steam上搜索下以下幾個名字。《Enter the Gungeon》、《Graveyard Keeper》、《Streets of Rogue》、《Rakuen》等。尤其是最后說的這個《Rakuen》,楓叔沒深入玩過,但是畫風女孩子肯定喜歡。有玩過的可以給補充下,分享幾個圖大家過過眼。
想做游戲開發?
今天剛剛看了一個關于生命游戲的小教程,試著去做了一下還蠻有趣。教得非常淺顯易懂。
如果是初學者第一次聽到“生命游戲”這個名詞,肯定會覺得是一款高霸上的RPG網游,或者是一部精彩酷炫的好萊塢電影。其實,我們今天要說的“生命游戲”,只不過是計算科學中一個最基礎最簡單的概念。本篇文章編教你如何用swift語言和游戲編輯工具SpriteBuilder制作一款屬于自己的生命游戲。如果你還不知道什么是“生命游戲”,可以登錄Wikipedia查看關于它的詳細解釋。幾乎所有的程序員在自己的coding生涯中都會或多或少接觸到它。
生命游戲是一個自主運行的小程序。程序初期有一個網格,網上的每一個小格子有兩個狀態,“活”或者“死”。如果與某個格子相鄰的八個格子中有少于兩個活著的格子,則這個格子會因為寂寞而死去。而如果有超過三個活著的鄰居,它又會因為過于擁擠而死去。如果一個活著的格子正好有兩個或者三個格子,它還會繼續存活。如果一個死去的格子有兩個存活的鄰居,它會活過來。
首先,我們要先從SpriteBuilder講起:
要設計自己的生命游戲,我們先從一款叫SpriteBuilder的游戲編輯軟件開始。當我們完成的時候,游戲將會像這個樣子:
登錄Mac App Store 下載最新版本的SpriteBuilder。
SpriteBuilder是一款為Cocos2d游戲設計的類似于Xcode Storyboard的工具平臺。是一個可以讓你迅速編輯游戲的可視化工具。比起用代碼來設計游戲界面來,這種新型的交互工具可以讓用戶直接拖拽現成的元素到游戲界面來完成UI的設計,非常便捷。
除此之外,在SpriteBuilder上你還可以方便地制作動畫,音頻效果。這些特效我們將在文章的最后做詳細介紹。
開始SpriteBuilder后我們會新建一個SpriteBuilder項目,之后還會建立很多接口文件(.ccb文件,以SpriteBuilder的前身CocosBuilder命名)。SpriteBuilder對swift等語言有很好的兼容性,這意味著用戶可以同時用SpriteBuilder的編輯器和純代碼進行游戲設計。
一般使用SpriteBuilder的流程如下:
建立新的SpriteBuilder項目。導入圖片素材。為不同場景設計不同的.ccb文件。編寫代碼。完成并發布你的項目,這時候系統將會自動更新與之相聯系的Xcode項目。用Xcode運行項目。當你運行程序的時候,Xcode中的CCBReader將會讀取所有的ccb文件并且根據這些文件創建游戲場景。下圖展示了SpriteBuilder如何和Xcode協同工作:
接下來,我們來看看SpriteBuilder界面長啥樣:
在我們開始設計游戲之前看一眼SpriteBuilder到底長啥樣。我們把它的界面分成4大部分:
Resource/Component Brows
er: 在這個區域你可以看見自己創建或者導入的文件信息,同
時還可以選擇按鈕節點并將其拖拽到場景中。
Stage: 這個區域會現實現在的情景,并且布局你的界面。
Timeline:用于用SpriteBuilder制作動畫。
Detail View: 每當你選中一個元素的時候,這個區域會顯示此元素的基本信息,并可以在此區域進行編輯。比如坐標、文本內容和其他物理屬性。
其中,在 resource/component browser 標題欄中左邊第一個是File View。它會列出所有的ccb文件和導入資源。
在這個視圖中你可以加入自己的資源,并對整個項目的文件結構作出調整。
第三個是Node Library:
點擊便會顯示所有現有的游戲元素素材。
在Detail View中的第一個圖標是 Inspector. 如果你已經選擇了一個控件的話便可以通過此區域來編輯它的基本信息。
第二個是code connections。 可以在這里設置相關代碼:
下圖紅色箭頭所指的地方便是發布按鈕。用次按鈕你可以更新你的項目。
接下來是界面設計和編寫代碼,具體如果有興趣的可以看看手把手教你用Spritebuilder制作簡單的生命游戲app的教程。我在這里就簡單介紹一下啦:)
以上就是關于小型游戲編程和計算機動漫與游戲制作的相關問題解答,希望對你有所幫助。