c語言小游戲編程,如何學會游戲開發和策劃?
首先,你必須清楚地知道游戲策劃的工作涵蓋了多少內容。打個比方,假設你現在是在玩一款名為游戲策劃的游戲,首先你必須找到你的技能樹,并且看清楚,這課樹的枝椏分向了哪幾個方向,進一步確定你的額技能點到底應該怎么點(我本人做過文案策劃和系統策劃,所以這兩方面講的相對清楚一些)。
1.文案策劃(RPG類游戲均需要的專業性人才)
簡介:只要是RPG類的游戲,不管是mmo還是卡牌,只要這個游戲擁有劇情,它都需要至少一個文案策劃。這一類策劃負責游戲的劇情設計,角色設計、世界觀設計、對白撰寫、文本撰寫、道具描述撰寫、裝備描述撰寫、活動包裝等等等等。簡而言之,就是游戲之中所有與文字及ip相關的事宜,都是由文案策劃負責。
必備技能:
(1)文字表達能力
最起碼要做到邏輯清楚,表達準確。
進階階段就是要語言優美,文筆流暢。
再遞進的階段就是博覽群書,言之有物,不管是引經據典,還是自寫詩詞樣樣精通。燭龍在招收文案策劃的時候一般都會加上一句,中文系畢業最佳。
(2)設計能力
最基礎地是要能夠設計出一個體量較小的完整故事,也就相當于是網絡游戲里的支線任務水平。這其中包含了角色性格設計、情節邏輯設計及最基礎的部分玩法設計。支線任務這種程度,不可能有專門的玩法組來配合,只能依靠自己。
進階階段是要能夠獨立設計出至少100環的主線任務故事。在這一階段,必須要做到設計出的人物不能走形,任務邏輯清楚有趣。但其實它本質上還是人物設計,并沒有想象的那么困難。
再遞進的階段就是ip、世界觀設計。牽扯到游戲歷史、背景,包括游戲世界到底是怎么出現的,是如何一步一步衍化成如今這個面貌,涉及到多少勢力、種族,這些勢力、種族之間的關系如何,每個勢力、種族經歷過什么樣的歷史,有哪些英雄人物等等等等。
(3)看圖說話能力
簡而言之就是包裝,不是所有游戲都能做到文案先行的,很多時候都是其他策劃做好了裝備、道具交給文案策劃包裝,也就是這東西到底叫什么,為什么叫這個。他們會提供的只有這個裝備or道具到底是干什么使的,以及它到底長個啥樣子。也就沒有啥進階能力,反正你只要包得足夠靠譜就ok。
2.系統策劃(是個游戲就需要的專業性人才)
簡介:要了解這個工種,首先要知道什么是游戲系統。用比較學術的說法就是,具有某種功能性的整體,即為系統。用比較玄學的說法就是,你在游戲過程中,能通過感觀體驗到的所有內容都屬于系統。做任務,有任務系統,打副本,有戰斗系統,就算脫離了rpg游戲的殼子,玩兒個王者農藥,你以為就沒有系統了?那個蛋疼的符文,也是系統。不客氣的講,一個合格的系統策劃,構建了游戲的底層邏輯。
在說到必備技能之前,首先必須看清楚一個系統都由哪些部分構成,請看下圖。
這四大塊共同構成了系統。一個完整的系統體驗是什么樣的?以windows窗口來舉例。首先,用戶先點擊窗口右上角的小紅叉,這之后程序后臺在用戶看不見的地方進行代碼運算,最終得出關閉窗口的指令,并切實地在用戶屏幕之上體現出來。這,就算是一個完整的系統操作體驗。接下來我們將以上區塊按部就班地一個個來分析一下。
ui界面,即用戶界面,在游戲當中就是玩家所有可以被操作覆蓋的地方。這項工作并不需要完全由系統策劃負責,畢竟不是所有的系統策劃都擁有一雙美工的手。但我們必須要為之后負責此區塊的人提供思路。例如,當玩家點擊某個按鈕時,是否需要彈出一個新的窗口,彈出的這個新窗口需要顯示什么。或者,當玩家點擊商城中的購買按鈕時,是否需要彈出二次確認框,給玩家第二次的反應機會,避免誤觸操作。這都是系統策劃必須考慮的問題。當然,如果你遇到一些過度負責的美工那更痛苦,他or她極有可能會讓你提供靈感圖,那么你還需要用到viso或ps手動給他拼一個。
底層邏輯,即這個系統到底干什么使的。這個問題看似簡單,但其實……
舉個陰陽師最簡單的簽到系統例子。簽到系統到底干什么使的?這還不簡單?不就簽到使的嗎!但是作為一個合格的系統策劃,想問題絕不能這么片面。首先明確一點,什么是簽到?就是玩家每次登陸游戲時,點擊界面某個位置,即將作為簽到的變量加一。同時每次的疊加,會給玩家發放一些獎勵。獎勵是否隨機?這需要系統策劃考慮清楚。當作為簽到的變量累積到一定數值時,是否要再給玩家一份獎勵?這需要系統策劃考慮清楚。這個變量數值是否一直記在游戲服務端上?需不需要定期重置以減輕服務器的計算讀取壓力?這也需要系統策劃考慮清楚。等到問題都考慮清楚了,再把他們整理成程序一眼就能看明白的流程圖,大致如下:
代碼構成,別害怕,一個成熟的游戲工作室一般情況下并不會讓一個系統策劃自己擼胳膊挽袖子親自上前線碼代碼。但你應該清楚你的系統從程序方面如何實現,因為程序隨時有可能在稀奇古怪的地方卡殼,并需要系統策劃給出專業性建議。程序邏輯和運用程序語言畢竟是兩回事,只要思路夠清晰,應付程序暴風驟雨般的提問也是可以應對自如的。
維護管理,自己提的需求,跪著也要自己去維護。這是身為一個策劃的職業操守,尤其是系統策劃。有的是上線的系統被玩家噴得跟坨翔一樣,于是只能回爐重造的。
3.數值策劃(所有網游、RPG類單機,只要不是純玩法類游戲都需要的專業性技術人才)
簡介:是我個人認為的,游戲策劃里最枯燥的一個工種,又累又枯燥。當年我所在的組里,數值組的大佬永遠奮戰在第一線不說,一到版本日,鐵定加班的就是他們了。主要負責游戲投放概率的計算,陰陽師里就是ssr掉落的概率,王者農藥里就是開箱子開出英雄來的概率。還有在mmo里,玩家下副本用不同的裝備要打多長時間,都是數值大佬說了算。每次升級要攢多久,也要看數值大佬的計算結果。總而言之,就是通過復雜的計算,成功保證游戲的營收與玩家的收獲絕對公正,但絕不成正比。
必備技能:概率論、高斯函數、微積分學的不好還是不要考慮這個工種了。
4.戰斗策劃(有技能的游戲都需要的專業性技術人才)
簡介:主要負責游戲中所有與戰斗相關方面的設計,包括怪物ai編寫,怪物技能設計,玩家角色技能設計,簡言之就是在游戲中戰斗發生以后,除了雙方打對方一下扣多少血,用多少藍是屬于數值策劃的范疇以外,感受到的所有東西,都是戰斗策劃搞定的。所以如果農藥某個角色玩兒的不爽,盡情去罵戰斗策劃吧。
戰斗策劃有時也細分成兩種,一種叫技能策劃,一種叫怪物策劃。前者專門負責技能的設計,需要遍玩天下各路游戲,達到胸中自有技能的境界。而且在設計時必須考慮到技能平衡,完全依賴數值策劃后期靠數值找平,那基本找不平。怪物策劃主要負責怪物行為邏輯設計,簡單來說,怪物行為主要有兩種可能,一種是think,一種是ai。think由程序寫死,怪物策劃只需修改一些數值即可,一般針對一些比較傻的怪物,看到你撲過來就是揍,看不到你就原地站著不動,這就是think。ai控制則相較而言復雜得多,要考慮怪物什么時候撲過來,撲過來用什么技能,撲過來的時候要不要跟你說句話,簡單說,ai控制著所有think無法完成的行動。
必備技能:
(1)起碼要熟悉主流游戲的所有技能、技能成長,能夠設計出足夠合理的技能,并能夠勝任不同個體間的技能平衡。
(2)邏輯思維清楚,能弄明白如何編寫怪物ai。
5.關卡策劃(擁有副本的mmo游戲需要的人才)
簡介:現在市面所見的所有pc端的mmorpg游戲,不管是魔獸、劍網三、最終幻想15、天涯明月刀還是天諭都有副本系統。此系統作為mmo游戲的主要玩法,幾乎決定了一款mmo的勝敗。而決定了這個游戲好不好玩的,除了有些玩家特別講求的打擊感外,還有一個因素,就是各個關卡做得是否獨到、有趣。這就需要關卡策劃來出謀劃策了(有的游戲會用其他策劃來兼職這一工種)。
作為關卡策劃,要對自己游戲的戰斗系統非常了解,要能設計出具備可行性的關卡結構,即負責副本ai的編寫。副本ai控制什么時候放出什么樣的怪物,該怪物死亡會對副本產生什么樣的影響,如果需要出現阻擋玩家進入下一關卡的空氣墻,則該空氣墻在玩家做了什么操作之后會被消除。這些都需要關卡策劃考慮。
必備技能:
(1)起碼要熟悉主流mmo的副本關卡,并能夠設計出足夠合理的副本。
(2)邏輯思維清楚,能夠完美地統和副本系統及戰斗系統。
(3)具備創新性,起碼知道怎樣才能做出現在市面上沒有的副本關卡來,不然怎么吸引玩家留存?
想做游戲開發?
今天剛剛看了一個關于生命游戲的小教程,試著去做了一下還蠻有趣。教得非常淺顯易懂。
如果是初學者第一次聽到“生命游戲”這個名詞,肯定會覺得是一款高霸上的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的教程。我在這里就簡單介紹一下啦:)
能做什么項目?
謝邀,區塊鏈底層技術研發工程師一枚,攜滿腔熱情來怒答一發。
c語言是個好東西,編程語言中的戰斗機,上至應用系統,下至操作系統,都可以來用c語言操作一發,可謂是用途之多,下面我就列舉以下:
嵌入式軟件項目大名鼎鼎的linux就是c語言實現的,而且時至今日,linus也是到處反對c++,認為c是最好的語言。linux可能80%都是c語言實現的,剩下的20%可能是一些腳本和匯編語言實現的。c語言比較高效,也適合和設備打交道,所以要開發個什么驅動啊,寫個什么底層網絡庫啊,c是比較適合的。
所以學了c語言,首先可以做做嵌入式相關的項目。
通訊及服務端項目在要求安全性和性能的領域,c語言往往是第一的選擇,而實時通信和服務端處理則是這樣的領域。我們能在網絡上看到很多招聘中后臺選擇一些跟高級語言的,但是也有后臺選擇c/c++的,尤其是一些性能要求高的場景的項目。
所以學了c,可以試著做做網絡相關,后臺相關的項目。
總結c語言是最經典的語言,也是每個程序員必須掌握的語言,學好c語言,能對你的技術有更好的幫助,學好c語言,也是每個程序員要成為高手的必備條件。
關注令狐一沖,關注區塊鏈技術和行業動態喜歡打游戲可以學游戲開發嗎?
首先反問你幾個問題,喜歡坐飛機那可以學習制造飛機嗎?喜歡吃蛋你可以自己生蛋嗎?喜歡交響曲你可以自己演奏嗎?假如你想學習任何東西其實都可以去做,但你的標題的意思把自己愛好當做發展來去努力,所以我需要針對你所理解的來做出回答,如果你能滿足以下條件你其實挺適合,而不僅僅是喜歡!
1.比例不一樣:游戲玩家和游戲制作者比例應該在10000:1的比例以上,假如玩游戲都適合恐怕有幾億玩家都適合做游戲,請問誰不可以學習游戲,跟喜歡有關系嗎!
2.邏輯不一樣:制作游戲需要復雜編程,我不懂這個,但是我知道植入一個按鈕都需要把整個補丁修改。而玩游戲只是幾個按鍵,上下左右攻擊跳躍確定鍵即可。
3.難度不一樣:制作游戲需要理論知識,需要幾年課程,需要模擬實操。而玩游戲只需要看簡介即可掌握游戲規則。
4.愛好不一樣:游戲不是愛好,也不用學習,偶爾消遣可以,沉迷只會傷身。制作游戲可以是愛好,出來可以賺錢,可以讓自己有成就感,游戲是個好產業。
5.人數不一樣:制作游戲需要一個團隊還需要后臺人員維護,大型游戲動則上百人。而玩游戲自己一個人即可。
6.成本不一樣:制作游戲需要很多設備,軟件,人力和時間成本還需要銷售渠道。玩游戲只需要電量+流量。
7.時間不一樣:不算學習時間,游戲制作時間就需要大量時間,還沒算源源不斷維護時間。就比如手游英雄聯meng制作多年不知道還要多少年才能上市。玩游戲就只是需要下載時間和當下享受時間。
8.年齡不一樣:制作游戲我看普遍都是剛畢業高材生為主的,玩游戲3.4歲小孩和七老八十的人在玩。難道他們也能去制作游戲嘛?
好了一口氣讓我說那么多,如果你有興趣愛好對于你學習是有幫助的,它可以增加你學習的動力,但是除了愛好以外你還得認清別的方面,你能承受所有再做決定不遲,別滿腔熱血進去因為各種困難和不合適后半途而廢。最后問句大家,我喜歡下面游戲女主角,那我可以去追求她嗎?[捂臉]
入門C語言要花多少時間?
多練習,多思考,多總結,這樣比較容易上手一些,多去看別人是怎么實現的,然后在根據自己的思路去實現,或者自己先實現,再去對照別人的,看還有無優化的地方,這樣進步會更快;
看視頻的效果比看書更好一些,自己不懂的地方別人幾句話就講明白了,從功能分析,到寫代碼,實現,調試都是動態進行的,效率會更高,在視覺體驗上也會更高;
以前學C語言的時候,看的是 如鵬網 的視頻教程——《C語言也能干大事》系列,挺不錯的,比較經典,通過開發超級瑪麗,飛機大戰,吃金幣等經典小游戲來講解C語言的知識點,特別的有意思,沒想到C語言還可以這么學,具體的可以到如鵬網官網上去了解一下,口碑不錯,基本上都是慕名而去的;