
一、彈球游戲(VC++MFC)
可以通過(guò)菜單控制游戲的開(kāi)始和結(jié)束。
2、每撞擊磚塊一次,該磚塊即消失,并得到100分。
3、難度設(shè)置為改變小球的運(yùn)動(dòng)速度。難度分為1(初級(jí))、2(中級(jí))、3(高級(jí))。游戲共5關(guān),5關(guān)通關(guān)后自動(dòng)升級(jí)到高一級(jí)別繼續(xù)開(kāi)始。
4、Lives代表生命值,系統(tǒng)初始提供三個(gè)小球。小球每穿過(guò)托盤一次,即失去小球一只。當(dāng)生命值為零,游戲自動(dòng)結(jié)束一局。可選擇繼續(xù)還是結(jié)束游戲,當(dāng)選擇繼續(xù),所有參數(shù)恢復(fù)初始值。
5、所有磚塊被撞擊消失,也自動(dòng)結(jié)束當(dāng)前局,并自動(dòng)開(kāi)始下一局,磚塊恢復(fù)初始繼續(xù)游戲。
6、初始彈球在彈板上,空格鍵控制發(fā)球。請(qǐng)發(fā)到495937715@qq.COM謝謝了啊
二、用MFC進(jìn)行游戲編程應(yīng)該看什么方面的書(shū)
第一階段,C++的精通。推薦《C++ Primer》。
第二階段,熟悉windows下的編程。推薦看《windows程序設(shè)計(jì)》。
第三階段,Visual C++的學(xué)習(xí)。推薦的書(shū)目有孫鑫老師的《vc++深入詳解》和孫鑫老師的vc視頻教程。以及侯俊杰老師的《MFC深入詳解》,與時(shí)俱進(jìn)的有尹成老師的《Visual C++2010開(kāi)發(fā)權(quán)威指南》,但這本書(shū)推薦有一定的Visual C++基礎(chǔ)之后再看。
第四階段,開(kāi)始學(xué)習(xí)專門介紹游戲開(kāi)發(fā)的教程(有DirectX和OpenGL兩條路可選,這里我們選擇DirectX,DirectX在國(guó)內(nèi)為主流),推薦書(shū)籍為《DirectX 9.0 3D游戲開(kāi)發(fā)編程基礎(chǔ)》(封面為一個(gè)紅龍的),《Windows游戲編程大師技巧》,《Direct3D游戲開(kāi)發(fā)技術(shù)詳解》等等,當(dāng)然這類教程就比較多了。新出的有很多,DirectX相關(guān)的層出不窮,也可以選擇剛發(fā)行不久的新書(shū),畢竟上面講的知識(shí)比較前沿,現(xiàn)在技術(shù)革新速度很快,初學(xué)時(shí)就學(xué)習(xí)最新的技術(shù),可以讓你少走彎路
三、關(guān)于開(kāi)發(fā)單機(jī)游戲要求的職業(yè)
你好!以下為答案~(關(guān)于職業(yè)嘛本人覺(jué)得主要是對(duì)BC和C語(yǔ)言資深的人士...)
一、游戲程序開(kāi)發(fā)的工作主要包括哪些方面
游戲開(kāi)發(fā)中的程序開(kāi)發(fā)主要由如下幾個(gè)方面組成:
1.圖形引擎
2.聲音引擎
3.物理引擎
4.游戲引擎
5.人工智能或游戲邏輯
6.游戲GUI界面(菜單)
7.游戲開(kāi)發(fā)工具
8.支持局域網(wǎng)對(duì)戰(zhàn)的網(wǎng)絡(luò)引擎開(kāi)發(fā)
9.支持互聯(lián)網(wǎng)對(duì)戰(zhàn)的網(wǎng)絡(luò)引擎開(kāi)發(fā)
下面逐一介紹每個(gè)部分:
1.圖形引擎主要包含游戲中的場(chǎng)景(室內(nèi)或室外)管理與渲染,角色的動(dòng)作管理繪制,特效管理與渲染(粒子系統(tǒng),自然模擬(如水紋,植物等模擬)),光照和材質(zhì)處理,LOD(Level Object Detail)管理等,另外還有圖形數(shù)據(jù)轉(zhuǎn)換工具開(kāi)發(fā),這些工具主要用于把美工用DCC軟件(如3DS Max,Maya,Soft XSI,Soft Image3D等)軟件制作的模型和動(dòng)作數(shù)據(jù)以及用Photo shop或painter等工具制作的貼圖,轉(zhuǎn)化成游戲程序中用的資源文件。
2.聲音引擎主要包含音效(Sound Effect簡(jiǎn)稱SE),語(yǔ)音(VOICE),背景音樂(lè)(Background music簡(jiǎn)稱BGM)的播放。SE是指那些在游戲中頻繁播放,而且播放時(shí)間比較短,但要求能及時(shí)無(wú)延遲的播放,VOICE是指游戲中的語(yǔ)音或人聲,這部分對(duì)聲音品質(zhì)要求比較高,基本上用比較高的采樣率錄制和回放聲音,但和SE一樣要求能及時(shí)無(wú)延遲的播放,SE在有的時(shí)候因?yàn)閮?nèi)存容量的問(wèn)題,在不影響效果的前提下,可能會(huì)降低采樣率,但VOICE由于降低采樣率對(duì)效果影響比較大,所以一般VOICE不采用降低采樣率的做法。BGM是指游戲中一長(zhǎng)段循環(huán)播放(也有不循環(huán),只播放一次)的背景音樂(lè),正是由于BGM的這種特性,一般游戲的背景音樂(lè)是讀盤(光盤或硬盤)來(lái)播放。另外一些高級(jí)聲音特效,如EAX,數(shù)字影院系統(tǒng)(DTS5.1),數(shù)字杜比環(huán)繞等。
3.物理引擎主要包含游戲世界中的物體之間、物體和場(chǎng)景之間發(fā)生碰撞后的力學(xué)模擬,以及發(fā)生碰撞后的物體骨骼運(yùn)動(dòng)的力學(xué)模擬(比較著名的物理引擎有havok公司的game dynamics sdk,還有open source的ODE—Open Dynamics Engine)。
4.游戲引擎主要是把圖形引擎、聲音引擎、物理引擎整合起來(lái),主要針對(duì)某個(gè)游戲制作一個(gè)游戲系統(tǒng),其包含游戲關(guān)卡編輯器,主要用途是可以可視化的對(duì)場(chǎng)景進(jìn)行調(diào)整,光照效果和霧化等效果調(diào)整,事件設(shè)置,道具擺放,NPC設(shè)置,另外還有角色編輯器,主要用于編輯角色的屬性和檢查動(dòng)作數(shù)據(jù)的正確性。一般日本游戲公司的做法,他們會(huì)把關(guān)卡編輯器和角色編輯器直接做到游戲中,所有的參數(shù)調(diào)整都在游戲中通過(guò)調(diào)試菜單來(lái)進(jìn)行編輯,所以一般他們把這部分調(diào)試菜單的功能做的很強(qiáng)大,同時(shí)在屏幕上實(shí)時(shí)的顯示一些重要的信息,這樣做的好處是關(guān)卡編輯器調(diào)整的效果直接就是游戲的效果,但是對(duì)于程序的重用性來(lái)說(shuō)可能不是很好,比如說(shuō)要用到另外一個(gè)游戲項(xiàng)目中就比較難,除非兩個(gè)游戲類型相同,只要把場(chǎng)景和角色數(shù)據(jù)換一下,還有做下一代產(chǎn)品也沒(méi)有問(wèn)題,只要根據(jù)式樣增加調(diào)試菜單的功能就可以了。
5.人工智能和游戲邏輯開(kāi)發(fā),這部分日本和歐美的游戲開(kāi)發(fā)模式也有很大不同,在歐美游戲公司中運(yùn)用腳本語(yǔ)言開(kāi)發(fā)很普遍,所以這部分程序開(kāi)發(fā)主要是用腳本語(yǔ)言編寫(xiě),而且腳本程序和游戲程序的耦合性很低,有單獨(dú)的編輯、編譯和調(diào)試環(huán)境,這樣比較利于游戲程序和關(guān)卡設(shè)計(jì)開(kāi)發(fā)分開(kāi),同時(shí)并行開(kāi)發(fā),所以一般他們都會(huì)有專門做關(guān)卡設(shè)計(jì)的程序員崗位。而日本游戲公司腳本語(yǔ)言一般和游戲的耦合性比較高,一般通過(guò)一些語(yǔ)言的宏功能和一些編譯器的特定功能來(lái)完成一個(gè)簡(jiǎn)單的腳本系統(tǒng),所以一般這些腳本程序只能在游戲程序中進(jìn)行調(diào)試,而不能在一個(gè)單獨(dú)的腳本編輯,編譯環(huán)境中進(jìn)行開(kāi)發(fā)。
6.游戲GUI界面(菜單),主要是指那些游戲中用戶界面設(shè)計(jì),有做的復(fù)雜,有簡(jiǎn)單的,做的簡(jiǎn)單就是2D GUI界面,做的復(fù)雜有3D GUI界面。
7.游戲開(kāi)發(fā)工具主要包含關(guān)卡編輯器,角色編輯器,資源打包管理,DCC軟件的插件工具等開(kāi)發(fā)。
8.支持局域網(wǎng)對(duì)戰(zhàn)的網(wǎng)絡(luò)引擎開(kāi)發(fā),主要解決局域網(wǎng)網(wǎng)絡(luò)發(fā)包和延遲處理,通訊同步的問(wèn)題,有同步通訊和異步通訊兩種做法,異步通訊用于那些對(duì)運(yùn)行幀速要求比較高的游戲,同步通訊相對(duì)異步通訊來(lái)說(shuō)效率相對(duì)低,但是同步通訊的編程模型相對(duì)異步通訊來(lái)得簡(jiǎn)單一些。
9.支持互聯(lián)網(wǎng)對(duì)戰(zhàn)的網(wǎng)絡(luò)引擎開(kāi)發(fā),目前大部分網(wǎng)游都是C/S結(jié)構(gòu)的,服務(wù)器端軟件配置管理,服務(wù)器程序的最優(yōu)化,還有游戲大廳、組隊(duì)、游戲邏輯處理、道具管理、收費(fèi)系統(tǒng)等。另外還有一些網(wǎng)絡(luò)系統(tǒng)是C/S和P2P兩種結(jié)構(gòu)混合的,如XBOX Live等。
二、游戲公司中有哪些和程序員相關(guān)的崗位
程序員在游戲公司中的崗位在日本游戲公司和歐美的游戲公司有些不同,日本游戲公司中程序員的崗位主要有技術(shù)監(jiān)督(Director),主程序員(Main Programmer),程序員(Programmer),在日本游戲公司里負(fù)責(zé)游戲項(xiàng)目開(kāi)發(fā)的程序員,一般不會(huì)專門根據(jù)工作內(nèi)容劃分程序員,除了獨(dú)立的系統(tǒng)研究室和聲音系統(tǒng)制作部門(這兩個(gè)部門是比較獨(dú)立的,往往同時(shí)給好幾個(gè)項(xiàng)目服務(wù)),負(fù)責(zé)每個(gè)游戲項(xiàng)目開(kāi)發(fā)的程序員,隨時(shí)都可能一人多職,比如說(shuō)主程序員除了負(fù)責(zé)整個(gè)游戲系統(tǒng)以外,可能還要負(fù)責(zé)圖形或聲音引擎開(kāi)發(fā)等,程序員除了人工智能以外還有菜單制作等。這種情況在歐美的游戲公司比較少見(jiàn),他們分工的比較細(xì),一般有圖形程序員,聲音程序員,人工智能或游戲關(guān)卡程序員,物理程序員,每個(gè)組中可能還會(huì)有一個(gè)Leader。
三、游戲公司一般是如何招聘程序員的
這一點(diǎn),日本公司和歐美公司也有些不同。日本公司一般喜歡從一些高校中招聘一些應(yīng)屆優(yōu)秀畢業(yè)生,一方面比招聘有經(jīng)驗(yàn)的人要來(lái)的成本低,另方面新人是一張白紙,容易培養(yǎng),像SEGA、KONAMI等都是按這種原則招聘員工的,所以想進(jìn)入日本游戲公司,你要學(xué)好你的軟件課程。而歐美公司希望招聘進(jìn)來(lái),能馬上進(jìn)入項(xiàng)目的開(kāi)發(fā)中去,所以他們一般希望招聘有工作經(jīng)驗(yàn)的人,即使不是行業(yè)中,在相關(guān)行業(yè)中工作2、3年的也可以,所以想進(jìn)入歐美游戲公司你的工作經(jīng)歷很重要。
四、想成為一名游戲開(kāi)發(fā)程序員應(yīng)該具備哪些條件
我覺(jué)的一個(gè)游戲軟件程序員,最起碼的要求是熟練掌握計(jì)算機(jī)本科專業(yè)所學(xué)的知識(shí),主要包括C語(yǔ)言或C++語(yǔ)言,數(shù)據(jù)結(jié)構(gòu),編譯原理,算法等,另外線性代數(shù)、微積分、牛頓力學(xué)在圖形和物理引擎開(kāi)發(fā)方面用途也很廣泛,如果要提高的話還有必要了解硬件相關(guān)的知識(shí)如計(jì)算機(jī)體系結(jié)構(gòu)、匯編語(yǔ)言,這些對(duì)我們學(xué)習(xí)一個(gè)新的硬件平臺(tái)、編寫(xiě)最優(yōu)化代碼、提高自己游戲的競(jìng)爭(zhēng)力都是非常有益的。保持有恒心、不怕苦(比如說(shuō)通宵加班)的心態(tài),對(duì)游戲的熱情也是非常重要的。對(duì)于那些想進(jìn)入游戲行業(yè),但缺乏軟件開(kāi)發(fā)知識(shí)的人,可以通過(guò)參加游戲開(kāi)發(fā)培訓(xùn)來(lái)
五、學(xué)習(xí)游戲編程有哪些好方法
現(xiàn)在有很多人,計(jì)算機(jī)本科畢業(yè),學(xué)了很多軟件開(kāi)發(fā)的知識(shí),但是一旦要用到實(shí)際的項(xiàng)目開(kāi)發(fā)時(shí),感覺(jué)無(wú)從下手,這主要是在學(xué)校里運(yùn)用知識(shí)的機(jī)會(huì)太少了。所以學(xué)習(xí)游戲編程最好的方法是能實(shí)際參與到一個(gè)好的游戲項(xiàng)目中和有豐富開(kāi)發(fā)經(jīng)驗(yàn)的人一起開(kāi)發(fā)游戲,可能學(xué)到很多你從書(shū)本上學(xué)不到知識(shí)和技能。但有時(shí)候你一時(shí)還沒(méi)有機(jī)會(huì)參與到一個(gè)好項(xiàng)目中,沒(méi)有機(jī)會(huì)進(jìn)入一家好的游戲公司,但是你對(duì)游戲開(kāi)發(fā)有一腔熱情,很希望學(xué)習(xí)游戲開(kāi)發(fā)的技能,那你就應(yīng)該去參加專門的游戲開(kāi)發(fā)培訓(xùn),因?yàn)橛螒蜷_(kāi)發(fā)培訓(xùn)班中的老師都是一些有豐富開(kāi)發(fā)經(jīng)驗(yàn)的老師,一般都有五年豐富的項(xiàng)目開(kāi)發(fā)經(jīng)驗(yàn),聽(tīng)他們的課,實(shí)際上就是在和他一起分享這么多年的開(kāi)發(fā)經(jīng)驗(yàn),另外游戲開(kāi)發(fā)培訓(xùn)課程中會(huì)專門設(shè)計(jì)一些項(xiàng)目和課題,它們本身就是可以直接運(yùn)用游戲開(kāi)發(fā)中,這樣你可以不進(jìn)入著名的游戲公司,但可以學(xué)到這些公司中一些常用的開(kāi)發(fā)技能。另外還有一種方法經(jīng)濟(jì)實(shí)惠的方法,參加一些網(wǎng)上志愿者的開(kāi)源項(xiàng)目,這些項(xiàng)目從品質(zhì)來(lái)說(shuō)有好有壞,選擇一個(gè)好的項(xiàng)目非常重要,另外他們中間本身有許多是業(yè)內(nèi)人士,本來(lái)你要進(jìn)入他們公司,才能學(xué)習(xí)到他們的經(jīng)驗(yàn),但是通過(guò)開(kāi)源項(xiàng)目,你就有向他們學(xué)習(xí)的機(jī)會(huì)了,說(shuō)不定哪一天,你就進(jìn)入一家知名的游戲公司了,不過(guò)目前開(kāi)源的完整游戲項(xiàng)目好的不多,到是在圖形引擎和物理引擎方面有一些很不錯(cuò)的開(kāi)源項(xiàng)目,但要加入進(jìn)去的話,你的基礎(chǔ)一定要好啊,有些開(kāi)源的團(tuán)隊(duì)也不是隨便什么人就能加入的。
1,將rpg(role playing game)融入所有游戲。。。
一款可以令人廢寢忘食的游戲首先必須具有“代入感”,而有代入感的游戲首先必須是rpg。。。任何一種游戲,只要是有生物存在的,都可以將rpg融入。。。這對(duì)游戲公司是一本萬(wàn)利,不用的才是白癡。。。宏觀性的戰(zhàn)略游戲可以用“英雄”的概念成為變性的rpg。。。某種意義說(shuō),一款戰(zhàn)略游戲?qū)τ⑿鄣牟僮鞣N類越多它的人氣往往越高。。。比如英雄的成長(zhǎng),個(gè)性,生活甚至是婚姻家族等等,有些元素你加在里面可能只需要幾個(gè)字節(jié)的空間,卻可以將一個(gè)英雄帶活,繼而帶活整個(gè)游戲。。。
相反,將英雄的造型造的很丑也同樣會(huì)帶爛整個(gè)游戲,歐美游戲經(jīng)常會(huì)犯這樣愚蠢的錯(cuò)誤,原因就是他們忽略了——
——2,游戲不需要多余的真實(shí)性。。。
對(duì)于游戲來(lái)說(shuō),游戲性的重要性是真實(shí)性的無(wú)數(shù)倍,而二者在很多時(shí)候是不可兼得的,因?yàn)檎鎸?shí)性往往增加了游戲的繁瑣和重復(fù)(生活嘛,永遠(yuǎn)都是繁瑣而重復(fù)的)。。。而繁瑣和重復(fù)就會(huì)降低游戲性。。。二者的沖突下,必須舍棄沒(méi)用的真實(shí)性而取后者。。。除非你想創(chuàng)作一款以擬真為唯一目標(biāo)的游戲(如微軟模擬飛行)。。。
當(dāng)然很多時(shí)候,魚(yú)與熊掌可以兼得,比如真實(shí)的音效或模型。。。會(huì)使真實(shí)性與游戲性同時(shí)暴增。。。
3,微操與委任的兼容并包。。。
不能微操的游戲都不是好游戲。。。微操不是即時(shí)戰(zhàn)略或arpg的專利,任何種類的游戲都允許微操,甚至包括戰(zhàn)棋類,或回合類。。。微操給玩家的快感就是通過(guò)技術(shù)的訓(xùn)練達(dá)到完成操作的最快速度。。。
微操存在的前提是快捷操作的存在。。。比如無(wú)所不在的快捷鍵自定義,或游戲中任何形式的“隨意門”。。。
沒(méi)有委任的游戲也不是好游戲,因?yàn)槟阒辽僖o玩家偷懶的自由。。。尤其是戰(zhàn)略游戲的大后期,將委任的功能強(qiáng)化多樣化是不讓玩家“事必躬親”導(dǎo)致“疲勞勝過(guò)快感”的唯一法門。。。
不過(guò)委任有個(gè)最關(guān)鍵的問(wèn)題是——一定不能比玩家親自操作獲得的效果還好,效果差不多都不行。。。這種創(chuàng)作失誤看似愚蠢,不過(guò)可惜這就是很多游戲廠家的智商水平段。。。比如中世紀(jì)2的攻城戰(zhàn)。。。
4,多樣性與變化性。。。
英雄無(wú)敵之類最大的亮點(diǎn)就是可以操作海量多種的怪物,
而翡翠帝國(guó)最大的亮點(diǎn)就是多種招式的切換。。。
多樣性和變化性是游戲生命半衰期的決定性指標(biāo)。。。
增加多樣性和變化性的方法有兩種,一種就是使游戲本身的內(nèi)容多樣而富于變化,這顯然會(huì)增加大量的游戲制作量。。。
另一種是增加隨機(jī)的效果,比如很多戰(zhàn)略游戲中的隨機(jī)地形戰(zhàn)略效果;還有記得以前某款國(guó)產(chǎn)的三國(guó)戰(zhàn)棋游戲的計(jì)謀是現(xiàn)場(chǎng)“悟”出來(lái)的,隨機(jī)性極強(qiáng)。。。增加隨機(jī)性的好處是可以通過(guò)增加非常少的制作量達(dá)到幾乎無(wú)限的多樣性和變化性。。。不過(guò)缺點(diǎn)是可能會(huì)使游戲充斥了點(diǎn)“投機(jī)”的成分。。。
不過(guò)多樣性和變化性的增加的一個(gè)最嚴(yán)重的問(wèn)題是ai的同比降低。。。比如三國(guó)志10是三國(guó)志系列中打仗多樣性最強(qiáng)的一代,同時(shí)也就是成了ai最屎的一代。。。
這樣的游戲,如果你不想讓ai變得非常得屎,最簡(jiǎn)單的方法就是在ai中加入隨機(jī)函數(shù),讓電腦的行動(dòng)不可預(yù)測(cè)。。。
不過(guò)對(duì)于有些多樣性和變化性強(qiáng)的游戲,只要你用心,也可以造出非常強(qiáng)悍的ai。。。比如很多中國(guó)象棋軟件中的ai就是bt級(jí)的。。。不過(guò)前提是你要把所有玩家的應(yīng)招全都考慮進(jìn)去,這就需要長(zhǎng)時(shí)間的試玩隨訪并隨時(shí)調(diào)整你的ai。。。
現(xiàn)如今幾乎所有的單機(jī)游戲(除了某些格斗游戲)難度都是通過(guò)調(diào)整電腦的資源等硬性指標(biāo)來(lái)實(shí)現(xiàn),而很少有通過(guò)調(diào)正ai高低來(lái)實(shí)現(xiàn)的,這幾乎是整個(gè)單機(jī)游戲界的悲哀。。。
5,快節(jié)奏和簡(jiǎn)介的操作。。。
變速齒輪只會(huì)存在于本身的節(jié)奏極慢的游戲中,慢節(jié)奏的游戲有時(shí)就是一種煎熬。。。比如鋼鐵雄心系列就是這樣。。。玩穿了這款游戲的人才如果有朝一日出了家,男的做方丈,女的做師太,絕無(wú)懸念。。。
快節(jié)奏的簡(jiǎn)單定義就是讓玩家每一刻都有事干,在更短時(shí)間內(nèi)體悟更多的東西。。。當(dāng)然這顯然會(huì)縮短整體的游戲時(shí)間,只能通過(guò)“提高多樣性和變化性”來(lái)彌補(bǔ)。。。
另外很多游戲廠家為了在游戲中加入美學(xué)的元素而拖慢了整體的游戲反應(yīng)速度,比如波斯王子4的主選單界面就是個(gè)典型的例子——你在主選單中點(diǎn)一個(gè)鍵,電腦要先折騰一會(huì)才回出子選單。。。第一次看得很爽,第二次就麻木,第三次就開(kāi)抵觸。。。玩久了就又是一種煎熬。。。能通過(guò)點(diǎn)一個(gè)鍵的操作就不要讓玩家點(diǎn)兩個(gè)鍵,能點(diǎn)兩個(gè)鍵就不要去點(diǎn)三個(gè)鍵,這是游戲操作中的基本制作思路。。。
。。。。
以上這五條其實(shí)是很多單機(jī)資深玩家心中默認(rèn)的好游戲原則。。。但縱覽目前的單機(jī)游戲界能包全這5條的卻一個(gè)都沒(méi)有。。。
游戲制作人員如果不能同時(shí)成為一個(gè)發(fā)燒級(jí)的玩家,即使引擎再?gòu)?qiáng)大,圖像,聲效再nb,做出的東西也一樣是垃圾。。。這點(diǎn)來(lái)看,日本的創(chuàng)意派要比歐美的引擎派強(qiáng)不知多少倍。。。
放眼一觀這年頭歐美的垃圾游戲,60%都是來(lái)自當(dāng)紅電影劇情改編。。。不但占了無(wú)限的銅臭味,就連劇情都懶得原創(chuàng),這樣的糟粕,玩家的感情和金錢投資簡(jiǎn)直與募捐無(wú)異。。。











