如何自己編程游戲
⑴ 手機如何自己編程做游戲
如果你有興趣在android上設計一些游戲,那麼我這兒有一些對你有所幫助的東西,我是android Market上一個名為LightRacer的小賽車游戲的開發者,雖然在此之前我也曾開發過游戲,但這仍然是我的第一個android上的應用,在這個過程中我學到了很多在android上開發游戲的經驗,並且,我也很樂意將這一切與你分享。好了,讓我們開始吧,如果你之前做過游戲的開發,那麼轉移到android這樣的移動平台上並不是件難事,你要做的只是學習一下新的架構與API,如果你是一個新手,我這兒也為你准備了一個入門清單,它適用於任何類型的游戲開發,比如動作類、策略類、模擬類或者智力類。
開啟分步閱讀模式
操作方法
01
在這門課最後,你會完成一個可以運行在安卓機或者安卓平板上的游戲。你可以與你的家人朋友分享它,用你的新知識進一步改進你的游戲,或者完全自己創造一個游戲。
02
如果你有興趣在android上設計一些游戲,那麼我這兒有一些對你有所幫助的東西,我是android Market上一個名為LightRacer的小賽車游戲的開發者,雖然在此之前我也曾開發過游戲,但這仍然是我的第一個android上的應用,在這個過程中我學到了很多在android上開發游戲的經驗,並且,我也很樂意將這一切與你分享。好了,讓我們開始吧,如果你之前做過游戲的開發,那麼轉移到android這樣的移動平台上並不是件難事,你要做的只是學習一下新的架構與API,如果你是一個新手,我這兒也為你准備了一個入門清單,它適用於任何類型的游戲開發,比如動作類、策略類、模擬類或者智力類。
03
獲取SDK第一步當然是下載並安裝android的SDK[軟體開發套件],這套SDK主要包括有核心庫文件,一個模擬器,開發工具和一些示範的樣例文件。我強烈推薦你使用 Eclipse 和 android eclipse 擴展。如果你只是使用android,Eclipse IDE就已經足夠了,但如果這是你第一次開發Java應用,建議你還是下載完整的
04
學習應用架構就像迷人的內在美一樣,這是理解
android 應用架構的關鍵,如果你不學習它,你設計出來的游戲將是一種很難修復bug的產品。你需要了解應用程序、活動、Intents以及它們是如何互相聯系交互的,Google在這兒提供了良好的信息架構。真正重要的是,你要理解為什麼在你設計的游戲中需要不止一個的活動進程以及如何設計一個用戶體驗良好的游戲。這些都應當配合到應用的生命周期中。
05
學習應用的生命周期應用的生命周期是由AndroidOS操作系統進行管理的,你的活動進程都將做為系統命令進行創建,正確處理這些事件對一個應用程序來說是極為重要的,因為終端用戶不會知道什麼是正確的。最好在開始設計你的游戲之前搞明白這些,因為這有助於節省你的調試時間以及避免代價高昂的重新設計。
06
對大多數應用而言,默認設置即可開始工作,但對游戲而言,你可能需要調整單態實例的信號為打開。在默認情況下,Android會新建一個活動實例進程,因為它認為這是比較合適的,而游戲,你可能只希望有一個活動的實例進程,這有一點兒影響,它需要你了解一些系統狀態的管理,但對我來說,它解決了資源管理的問題,還是值得的。
07
主循環是否需要一個主循環是根據你寫的游戲類型而決定的,如果你寫的游戲沒有時間依賴性或者只是響應用戶的輸入而沒有其它的視覺變化,你可能並不需要一個主循環。如果你設計的是一個平面的動作游戲或者動畫游戲,計時游戲或者其實類型的自動游戲,你就應該認真考慮使用主循環。
⑵ 可以自己做游戲的編程軟體
1、游戲策劃製作常用的軟體是:office系列軟體、mindmanger、Unity3D。
2、游戲美術製作常用的軟體是:PS、AI、DW、FL、axureRP、HTML、CSS、Maya、3ds Max、Bodypaint、illusion、ZB。
3、游戲程序製作常用的軟體是:C++、WIN32、DirectX、Box2D、Unity3d、cocos2d-x。
4、游戲策劃製作相當於游戲的大腦,整個游戲世界都是由游戲策劃構造的,沒有游戲策劃製作就沒有這款游戲。
5、游戲美術製作相當於游戲的外貌,這款游戲是否夠炫目,夠奪人眼球,就要看游戲美術製作人員的功底了游戲程序製作相當於游戲的身體,承載游戲世界的所有,游戲是否能夠良好的運營運作,游戲程序製作承擔了很大的。
⑶ 如何讓自己學習游戲編程
我經常被問及:一個具有很少甚至沒有編程經驗的人要如何開始游戲製作。直到目前為止,我總是盡我所能一個一個解答。然而,問題的數量已經增長到了一個難以處理的水平,於是,我便決定把所有的建議匯總在一篇文章里作為參考提供給人們。
這篇文章主要面向那些想開發自己的游戲,但僅有一點點或沒有半點編程經驗的人們。實際上,我也假定讀者根本沒有任何的編程知識。我將把重點放在游戲開發的編程和設計方面,而不是藝術方面。我也不準備對游戲行業進行論述(因為這個話題的資料太多了),但是,我會帶你瀏覽一下在製作游戲之前需要做的一些事情。該說明的一點是,不要將我這里所介紹的方法當作唯一的或最好的學習游戲製作的路徑,但對於我和其他人來說,它是有效的。
1、選擇一門語言
第一件要做的事就是選擇一門語言。你有一大堆的選擇,包括 Basic、Pascal、C、C++、Java 等等,同樣也有一大堆關於哪門語言最適合初學者的爭論。欲了解各種語言的優缺點,請參閱 John Hattan 的絕妙文章《我該使用什麼語言》。
我這里建議使用 C 和 C++。有些人認為這些語言對於初學者來說太難了,但從我個人角度來說我是反對這個觀點的,因為我自己就是從 C++ 起步的。另外,C/C++ 是目前最廣泛應用的語言,因此,你能找到大量的資料和幫助。至於先學 C 還是先學 C++ 的問題不大,因為一旦你學習了其中一種,再學習另外一種就沒太大問題了。不過,如果你一開始就選擇 C++,請確信在學習面向對象編程之前,你已經了解並掌握了面向過程編程。(比如說,如果你在不使用類的前提下仍無法編好程序,先不要急於學習類)
如果你發現學習 C/C++ 是一件很困難的事,不要緊,回過頭選一門比較簡單的語言來學,比如 Basic 或 Pascal。不過我認為,如果你堅持下去,並找一些好的資料,學習 C/C++ 的問題不大。
你的下一個問題是:我如何學習 C/C++?我很高興你問這個問題。最好的方法是去聽課。有沒有老師幫助解答問題,對於你的發展影響巨大,而且編程作業將確保你確實掌握了所學的東西。
如果聽課不在你的考慮范圍內,下一個最好的辦法就是找一些好書。不要把注意力放在那些「大全」書上,因為你終究會買幾本。我建議你去一個本地書店,花點時間瀏覽一下介紹 C 和 C++ 的書,直到找到你能理解並能從中學到東西的一本。同時,你可能還想買幾本進階書或是一本參考書,但一旦你具有了這門語言的部分知識,你會對你需要什麼有更好主意。可以在網站BOOKS頻道中找到一些建議。
在此,我簡要的說明一下我見過的很多入門程序員,尤其是年輕人關心的事情:沒有錢買書或其他東西。首先,有許多資源是免費的,包括圖書館和 Macmillan Computer Publishing (他們的網站www.mcp.com 上有數百本編程的書)。其次,如果你想成為一名優秀的程序員,你不得不考慮在這上面的投資。利用各種手段(合法的 ;<)去弄點鈔票來。
網路上有大量的 C 和 C++ 的學習教程,但是我認為這些教程作為你學習書本的參考要比作為單獨的材料好得多。
2、選擇合適的編譯器
你寫的程序,或源碼是以文本文件存儲的,你甚至可以用記事本來寫 C/C++ 程序。但是,必須有樣東西能把這些源碼轉化成一個可執行文件。對於 C 和 C++ 來說,這樣東西就是一個編譯器。
現在有大量的編譯器存在,其中有許多是免費的。選擇一個合適的編譯器是非常重要的,而免費編譯器有個好處就是你能一個一個的試,看哪個你最喜歡。但是,免費編譯器經常是比商業編譯器功能少或缺少良好的技術支持。幸運的是,大多數商業編譯器都有與完整版功能相同,但價格便宜許多的介紹版或學習版,唯一的限制是,你不能發布使用該編譯器開發的程序(這點你肯定維持不久)。
基本上,你選擇什麼樣的編譯器取決於你能花多少錢、你將在什麼操作系統和平台上開發程序。如果你准備為 Windows 作貢獻,我強烈建議使用微軟的 Visual C++。它具有一個功能強大的開發環境,能讓你倍感輕松,再也沒有其他編譯器能比它更適合開發 Windows 軟體了。如果你是名學生,你可以以極低的價格獲得一份拷貝。如果你准備在 DOS 下開發程序,你最好使用免費的 DJGPP。
3、選擇一個目標平台
雖然你可能最終會為各種平台開發程序,你還是應該選擇其中之一進行學習。當你學習語言的時候,在沒進入圖象編程之前,你大概想使用一個非 GUI 的操作系統,比如 DOS 或 UNIX。這有助於你將注意力集中在語言學習上,從而避開一些高層的問題,如 Windows 編程。
不過,一旦你准備開始製作游戲,你就該考慮轉換你的
目標平台了。一下是幾個常用的平台:
Windows:如果你想在游戲行業里專職工作,或者你想讓一大群人玩你的游戲,那麼 Windows 是你的首選。你的目標客戶大多數使用 Windows,且這個情況不會很快改變。目前大量的 Windows 游戲使用一種你大概聽說過的名為 DirectX 的技術。DirectX 是一個允許你直接操作硬體的程序庫,你可以依靠它寫出高性能的游戲來。
DOS:DOS 曾經是游戲的主要平台,但這已是昨日黃花。雖然有些愛好者仍然在為 DOS 開發游戲,但是已經沒有商業游戲是為 DOS 開發的了,而且, DOS 正由於微軟停止對它的支持而走向衰敗。如果你剛開始做游戲,別選擇 DOS,如果你已經這樣做了,不要再停留了。注意:因為有很多游戲編程的書是為 DOS 寫的,學習這些書時可能會認為在 DOS 里開發游戲有理有據。但是,隨著 Windows 游戲編程書籍數量的增長,這種爭論變得越來越少,也越來越沒有意義。
Linux:Linux 是 UNIX 的一個變種,由於它具有穩定、便宜、反微軟情節等多個因素,它正變得越來越受歡迎。雖然目前的 Linux 用戶還比較少,但是隨著它的熱愛者和市場的潛在增長,它也成為了作為目標平台的可行選擇。
Macintosh:蘋果機擁有一群數量不多但非常忠誠的追隨者,幾乎每個我見過的蘋果機愛好者都有一個強烈渴望更多蘋果機游戲的願望。我沒有看過多少在蘋果機上開發游戲的資料,但我確信確實有,因此,這也是個合理的選擇。
家庭游戲機:游戲機(如 Playstation、N64、Dreamcast 等等)游戲市場非常巨大,前景可觀。然而,由於種種原因,開發非商業性的游戲機游戲在目前來說是不太可能的。你為游戲機開發的游戲大多都會被商業游戲公司買走。
4、充足電
是討論真正做游戲的時候了。雖然我所說的大部分內容適用於其他語言,為簡單起見,我將假定你選擇了 C/C++ 來進行 Windows 編程。
首先,在你考慮如何開始做游戲之前,你應該能很好的掌握 C 和 C++。你應該了解並精通指針、陣列、結構、函數,以及類等。做到了這一點,你就可以開始製作游戲了。
本文無法教授你關於製作游戲所該了解的一切。幸運的是,這也不是必要的。有很多關於這方面的書,網上也有數以百計的教程。GameDev.net 應該會有目前你所需要的一切。下面是我對你起步的一些建議:
學習一本或幾本書。對於 Windows 游戲的初學程序員,《Tricks of the Windows Game Programming Gurus 》是一本極好的Windows編程入門教程。在這個站點里擁有許多本站 Books section 里所列出的好書。閱讀這些書籍,運行所有的常式,反復研讀你不理解的章節。
使用網上教程補充書本的不足。網上教程除了闡明一些你閱讀的東西外,通常也會包含一些書本上沒有涉及的主題。
找專家進行咨詢。如果你無法從書上或教程中找到答案,到本站的留言版或聊天室來,這里有許多樂於提供幫助的人。
不要把上面幾點當成是個有序的過程,而應當看作是一個循環往復的並行過程。
僅僅是學習、思考是遠遠不夠的,你應當把你所學的東西付諸實踐。從一個簡單的游戲開始,逐步發展。你可以閱讀一下 Geoff Howland 的文章《How do I Make Games? A Path to Game Development》。
首先,為自己的工作制定一個計劃。不要急於加入一個團隊,因為那隻會減緩你的學習進程。當你囊中擁有數個游戲時,你將為一個團隊作出更大貢獻。
關於書本,有件事我要提醒一下:你需要閱讀除了游戲編程外的其他書籍。為了製作出你在商店貨價里看到的各種游戲,你將不得不鑽研那些比大多數游戲編程書籍所授內容更高深的話題。有些可能你能從教程中找到,但是,你還是有必要買幾本關於圖形、人工智慧、網路、物理等等方面的書。這是獲得計算機科學學位的必經之路,因為你將被要求學習一些你認為與游戲編程無關的課程,而實際上它們是相關的。
5、總結
這里有一些能產生巨大差別的技巧:
要只知道聚集知識,應用是關鍵。除非你使用了,否則你無法確實知道和理解這些東西。做一些小的測試程序來應用你所學的東西,並切實完成書上每個章節後的習題。
玩大量的游戲。你會因此找到靈感,從而幫助你製作更優秀的游戲。當然,這也是一種受歡迎的解除編程壓力的調劑方式。
幫助別人。在你幫助別人的過程中,你會學到更多東西。
完成你的作品。不要陷入這樣一種思想的圈套中:「我知道我可以完成這個游戲,但是我有個更好的主意,我要換做這個好的項目。」如果你能堅持有始有終,你會學到更多的東西,並且你有作品證明你不僅僅是空談。在你具有豐富的經驗之前,做得簡單一點,不要嘗試製作一個又大又復雜的游戲。
出發吧!你該動手製作 Quake 4 了。當然,可能不那麼容易,但至少你可以從這個方向出發,並且知道去哪裡查找更多的信息。經過多年的努力工作,你會成功的!
⑷ 如何在家自己編程游戲
想要自己編程做游戲的話:
1.首先要學習看數據的結構,不用學的很深入。在實踐中慢慢深化。
2.然後學下sdl,這個只要看著網上的教程就可以編一些簡單的程序,
3.之後堅持多練習編程,可以從小的游戲慢慢編寫。
⑸ 如何自己編程小游戲
使用類編程思路清晰,可讀性強,本例通過編寫貪吃蛇展示類的基本應用。最終效果如下:
網頁教學網:本文中全部的Fla源碼在文章最後全部打包供大家下載研究學習使用。
看不懂鏈接名等內容的,可以看我的另一個教程「 簡單射擊游戲教程 」,或許有所幫助。全部源文件如下:貪吃蛇—類編程.rar
第一步:「蛇」類初始化
新建fla文件,同目錄下新建as文件,取名Snake.as,類名必須和文件名相同。fla文件中新建蛇節點元件,鏈接名為node,第一幀和類中寫入相應代碼。
第一步:「蛇」類初始化.rar
第二步:蛇的移動
寫個move方法,在init方法中設置時間間隔。
第二步:蛇的移動.rar
第三步: 鍵盤改變移動方向
寫個changeDirection方法,在主場景第一幀用鍵盤事件調用該方法,控制蛇的方向。
第三步:鍵盤改變移動方向.rar
第四步:增加節點
寫個addNode方法,新節點產生在蛇尾即nodes[length - 1]的位置上,暫時加個按鈕調用addNode方法,觀察結果。
第四步:增加節點.rar
第五步:碰撞判斷
修改move方法,假如頭節點與蛇身其他部位重合,clearInterval刪除move的定時調用。同時changeDirection也要加多個判斷,不能讓頭節點和第二節點重合,加多這個判斷是為了防止一個Bug的產生,一些貪吃蛇程序並沒有注意到這點。這個Bug產生原因如下:
假設蛇向右移動,是不能進行向左改變方向,但由於move方法是定時調用的,比如每300毫秒一次,所以在這300毫秒內可能進行了多次快速按鍵。第一次按向下,蛇的xDirection和yDirection改變為向下,但move的執行時間沒到,又緊接著按左,因為蛇方向在數據上已經改變,所以捕捉不到不能向左的判斷,快速按鍵造成蛇反向移動的Bug就產生了,加個上述判斷就好了。
第五步:碰撞判斷.rar
第六步:食物類編寫
新建Food類,注意用extends繼承MovieClip,這樣元件才能鏈接它,在主場景中新建食物元件,鏈接Food類,實例名為food,拖入場景。在Food中寫入appear和disappear方法,做兩個臨時按鍵調用它們觀察效果。
第六步:食物類編寫.rar
最終完成:吃食物
Food中定時調用appear,並通過setSnake引入Snake實例snake,判斷蛇身坐標不讓新食物與之重合。Snake中通過setFood引入Food實例food,判斷是否吃到食物,做出相應處理,如食物消失,增加蛇節點,改變setSnake。場景第一幀也要setSnake引入蛇頭。
以後還要增加新功能,如阻礙物設置等,都可以通過改變as文件完成。雖然類編程比直接控制影片較為繁瑣,但由於使用了面向對象,以後再對程序進行完善時都可依照對象行為思考,每個方法就是對象的每個行為,什麼行為需要改變就找對應的方法修改,思路清晰。
⑹ 學習編程能自己編游戲程序嗎
可以的,而且如果是在達內學習的話,在學習的過程中就會有實際的編程開發項目的演練,完全能夠實現游戲程序的開發。
⑺ 怎麼用編程開發個游戲
第一就是游戲邏輯,也就是與平台無關的游戲邏輯的開發。
第二部分是游戲引擎,大部分會用到一些引擎的工作流、一些各種系統封裝好的高層的API。
但是小游戲有一個重要的一個限制是禁止動態執行代碼,開發者必須先提交審核,在審核通過後才可以上架給普通用戶。另外,小游戲包括引擎的代碼量比較大,所以限制大小比小程序要大,首包限制大小為4M。
⑻ 我想自己游戲編程!
不用很難。你要學可以找gamemaker吧置頂帖的f老師,有聯系方式~
⑼ 游戲編程如何入門
游戲編程是一項比較復雜的事情,但對於愛好者來說可深可淺的入行。
學習游戲編程關鍵是掌握一款游戲引擎的用法,或者自己從編寫小游戲開始學習。但無論如何都會涉及到3D和硬體加速渲染,這部分比較復雜若是PC游戲可以學學DirectX SDK。
像你朋友如果底子不深又急於想寫出來能在電視游戲上運行的游戲,可以學習微軟的Microsoft XNA游戲開發框架,它基本上已經把底層東西都封裝起來了能夠方便的用它提供的類來實現圖像顯示、聲音、網路、控制。應該已經是電視游戲最容易入門的捷徑了。另外XNA的編程語言主要是C#,這與C語法是一樣的,關鍵是學習XNA。
這個網址 http://bbs.gameres.com/showforum.asp?forumid=67 是一個XNA中文技術論壇,你朋友可以到這個論壇找到不少相關學習資料和知識。
⑽ 如何自己編程做游戲
自己學編程做游戲需要學習、了解以下幾樣東西:
1、知道自己想做什麼類型的游戲,手游、主機、PC,明確後選擇游戲引擎。
什麼是編程:
編程是編定程序的中文簡稱,就是讓計算機代碼解決某個問題,對某個計算體系規定一定的運算方式,使計算體系按照該計算方式運行,並最終得到相應結果的過程。
為了使計算機能夠理解人的意圖,人類就必須將需解決的問題的思路、方法和手段通過計算機能夠理解的形式告訴計算機,使得計算機能夠根據人的指令一步一步去工作,完成某種特定的任務。這種人和計算體系之間交流的過程就是編程。
編程:設計具備邏輯流動作用的一種「可控體系」【註:編程不一定是針對計算機程序而言的,針對具備邏輯計算力的體系,都可以算編程。】