概述
editor 整理加工文字信息的程式。它能幫助用戶方便地入、修改、編排格式,存儲各種數據、程式和文檔。著計算機套用的普及,各個領域的普通工作人員,如輯、作者、秘書和工程技術人員,均可能直接操作計機。他們需要輸入自己的數據和文字材料,進行編輯工。因此,編輯程式已成為辦公自動化軟體工具中使最廣的一種。 “編輯”一詞原是出版界的專用名詞,指對文字息整理加工,編成書刊的技術和職業。
主要內容
一種修改和產生文卷的程式。用戶利用此程式對存儲在計算機中的文卷進行增加、刪除、修改、剪貼等加工處理。增加是指在舊文卷中插入若干行記錄,或者在一行記錄里添加若干字元。例如,在FORTRAN源程式行中插入若干語句。刪除是指把舊文卷中的若干行記錄,或者記錄中的若干字元刪除。修改是把舊文卷中記錄內的若干字元改變為其他字元。剪貼是把一些文稿中的大片段落裁剪下來穿插到另一文稿中,以構成新的文稿。某些編輯程式還具有創建源檔案並輸入文卷記錄的功能。依據用戶環境的不同,編輯程式可以分為兩類。第一類是互動式編輯程式,用戶通過終端編輯命令把編輯指令提供給編輯程式。第二類是批處理式編輯程式,用戶使用編輯宏指令構造編輯文卷,通過編輯文卷把編輯指令提供給編輯程式。依據編輯文卷內容的不同,編輯程式也可以分為兩類。第一類是正文編輯程式,編輯文卷的內容是正文。正文泛指文稿、 程式、 結構化框圖等對象的字元和文字表示。第二類是圖形編輯程式,編輯文卷的內容是圖形信息。採用多視窗編輯技術後,編輯程式能夠把一個顯示螢幕劃分成若干不相交或相交的區域。例如,正文、框圖、命令、圖形等多種編輯狀態,可被分配在這些區域裡並發地操作。
另外還有一種強大的編輯控制項,它甚至可以使非技術
用戶能夠去創建並管理“設計”和“原始碼”模式中的內容。使用這個直觀的編輯器,用戶可以更換任意的文本框,或者對這個界面類似於微軟Word一樣的友好界面上的內容進行編輯。相關資訊
一、遊戲程式開發的工作主要包括哪些方面
遊戲開發中的程式開發主要由如下幾個方面組成:
1.圖形引擎
2.聲音引擎
3.物理引擎
4.遊戲引擎
5.人工智慧或遊戲邏輯
6.遊戲GUI界面(選單)
7.遊戲開發工具
8.支持區域網路對戰的網路引擎開發
9.支持網際網路對戰的網路引擎開發
下面逐一介紹每個部分:
1.圖形引擎主要包含遊戲中的場景(室內或室外)管理與渲染,角色的動作管理繪製,特效管理與渲染(粒子系統,自然模擬(如水紋,植物等模擬)),光照和材質處理,LOD(Level Object Detail)管理等,另外還有圖形數據轉換工具開發,這些工具主要用於把美工用DCC軟體(如3DS Max,Maya,Soft XSI,Soft Image3D等)軟體製作的模型和動作數據以及用Photo shop或painter等工具製作的貼圖,轉化成遊戲程式中用的資源檔案。
2.聲音引擎主要包含音效(Sound Effect簡稱SE),語音(VOICE),背景音樂(Background music簡稱BGM)的播放。SE是指那些在遊戲中頻繁播放,而且播放時間比較短,但要求能及時無延遲的播放,VOICE是指遊戲中的語音或人聲,這部分對聲音品質要求比較高,基本上用比較高的採樣率錄製和回放聲音,但和SE一樣要求能及時無延遲的播放,SE在有的時候因為記憶體容量的問題,在不影響效果的前提下,可能會降低採樣率,但VOICE由於降低採樣率對效果影響比較大,所以一般VOICE不採用降低採樣率的做法。BGM是指遊戲中一長段循環播放(也有不循環,只播放一次)的背景音樂,正是由於BGM的這種特性,一般遊戲的背景音樂是讀盤(光碟或硬碟)來播放。另外一些高級聲音特效,如EAX,數字影院系統(DTS5.1),數字杜比環繞等。
3.物理引擎主要包含遊戲世界中的物體之間、物體和場景之間發生碰撞後的力學模擬, 以及發生碰撞後的物體骨骼運動的力學模擬(比較著名的物理引擎有havok公司的game dynamics sdk,還有open source 的ODE—Open Dynamics Engine)。
4.遊戲引擎主要是把圖形引擎、聲音引擎、物理引擎整合起來,主要針對某個遊戲製作一個遊戲系統,其包含遊戲關卡編輯器,主要用途是可以可視化的對場景進行調整,光照效果和霧化等效果調整,事件設定,道具擺放,NPC設定,另外還有角色編輯器,主要用於編輯角色的屬性和檢查動作數據的正確性。一般日本遊戲公司的做法,他們會把關卡編輯器和角色編輯器直接做到遊戲中,所有的參數調整都在遊戲中通過調試選單來進行編輯,所以一般他們把這部分調試選單的功能做的很強大,同時在螢幕上實時的顯示一些重要的信息,這樣做的好處是關卡編輯器調整的效果直接就是遊戲的效果,但是對於程式的重用性來說可能不是很好,比如說要用到另外一個遊戲項目中就比較難,除非兩個遊戲類型相同,只要把場景和角色數據換一下,還有做下一代產品也沒有問題,只要根據式樣增加調試選單的功能就可以了。
5.人工智慧和遊戲邏輯開發,這部分日本和歐美的遊戲開發模式也有很大不同,在歐美遊戲公司中運用腳本語言開發很普遍,所以這部分程式開發主要是用腳本語言編寫,而且腳本程式和遊戲程式的耦合性很低,有單獨的編輯、編譯和調試環境,這樣比較利於遊戲程式和關卡設計開發分開,同時並行開發,所以一般他們都會有專門做關卡設計的程式設計師崗位。而日本遊戲公司腳本語言一般和遊戲的耦合性比較高,一般通過一些語言的宏功能和一些編譯器的特定功能來完成一個簡單的腳本系統,所以一般這些腳本程式只能在遊戲程式中進行調試,而不能在一個單獨的腳本編輯,編譯環境中進行開發。
6.遊戲GUI界面(選單),主要是指那些遊戲中用戶界面設計,有做的複雜,有簡單的,做的簡單就是2D GUI界面,做的複雜有3D GUI界面。
7.遊戲開發工具主要包含關卡編輯器,角色編輯器,資源打包管理,DCC軟體的外掛程式工具等開發。
8.支持區域網路對戰的網路引擎開發,主要解決區域網路網路發包和延遲處理,通訊同步的問題,有同步通訊和異步通訊兩種做法,異步通訊用於那些對運行幀速要求比較高的遊戲,同步通訊相對異步通訊來說效率相對低,但是同步通訊的編程模型相對異步通訊來得簡單一些。
9.支持網際網路對戰的網路引擎開發,目前大部分網遊都是C/S結構的,伺服器端軟體配置管理,伺服器程式的最最佳化,還有遊戲大廳、組隊、遊戲邏輯處理、道具管理、收費系統等。另外還有一些網路系統是C/S和P2P兩種結構混合的,如XBOX Live等。
二、遊戲公司中有哪些和程式設計師相關的崗位
程式設計師在遊戲公司中的崗位在日本遊戲公司和歐美的遊戲公司有些不同,日本遊戲公司中程式設計師的崗位主要有技術監督(Director),主程式設計師(Main Programmer),程式設計師(Programmer),在日本遊戲公司里負責遊戲項目開發的程式設計師,一般不會專門根據工作內容劃分程式設計師,除了獨立的系統研究室和聲音系統製作部門(這兩個部門是比較獨立的,往往同時給好幾個項目服務),負責每個遊戲項目開發的程式設計師,隨時都可能一人多職,比如說主程式設計師除了負責整個遊戲系統以外,可能還要負責圖形或聲音引擎開發等,程式設計師除了人工智慧以外還有選單製作等。這種情況在歐美的遊戲公司比較少見,他們分工的比較細,一般有圖形程式設計師,聲音程式設計師,人工智慧或遊戲關卡程式設計師,物理程式設計師,每個組中可能還會有一個Leader。
三、遊戲公司一般是如何招聘程式設計師的
這一點,日本公司和歐美公司也有些不同。日本公司一般喜歡從一些高校中招聘一些應屆優秀畢業生,一方面比招聘有經驗的人要來的成本低,另方面新人是一張白紙,容易培養,像SEGA、KONAMI等都是按這種原則招聘員工的,所以想進入日本遊戲公司,你要學好你的軟體課程。而歐美公司希望招聘進來,能馬上進入項目的開發中去,所以他們一般希望招聘有工作經驗的人,即使不是行業中,在相關行業中工作2、3年的也可以,所以想進入歐美遊戲公司你的工作經歷很重要。
四、想成為一名遊戲開發程式設計師應該具備哪些條件
我覺的一個遊戲軟體程式設計師,最起碼的要求是熟練掌握計算機本科專業所學的知識,主要包括C語言或C++語言,數據結構,編譯原理,算法等,另外線性代數、微積分、牛頓力學在圖形和物理引擎開發方面用途也很廣泛,如果要提高的話還有必要了解硬體相關的知識如計算機體系結構、彙編語言,這些對我們學習一個新的硬體平台、編寫最最佳化代碼、提高自己遊戲的競爭力都是非常有益的。另外,保持有恆心、不怕苦(比如說通宵加班)的心態,對遊戲的熱情也是非常重要的。對於那些想進入遊戲行業,但缺乏軟體開發知識的人,可以通過參加遊戲開發培訓來
五、學習遊戲編程有哪些好方法
現在有很多人,計算機本科畢業,學了很多軟體開發的知識,但是一旦要用到實際的項目開發時,感覺無從下手,這主要是在學校里運用知識的機會太少了。所以學習遊戲編程最好的方法是能實際參與到一個好的遊戲項目中和有豐富開發經驗的人一起開發遊戲,可能學到很多你從書本上學不到知識和技能。但有時候你一時還沒有機會參與到一個好項目中,沒有機會進入一家好的遊戲公司,但是你對遊戲開發有一腔熱情,很希望學習遊戲開發的技能,那你就應該去參加專門的遊戲開發培訓,因為遊戲開發培訓班中的老師都是一些有豐富開發經驗的老師,一般都有五年豐富的項目開發經驗,聽他們的課,實際上就是在和他一起分享這么多年的開發經驗,另外遊戲開發培訓課程中會專門設計一些項目和課題,它們本身就是可以直接運用遊戲開發中,這樣你可以不進入著名的遊戲公司,但可以學到這些公司中一些常用的開發技能。另外還有一種方法經濟實惠的方法,參加一些網上志願者的開源項目,這些項目從品質來說有好有壞,選擇一個好的項目非常重要,另外他們中間本身有許多是業內人士,本來你要進入他們公司,才能學習到他們的經驗,但是通過開源項目,你就有向他們學習的機會了,說不定哪一天,你就進入一家知名的遊戲公司了,不過目前開源的完整遊戲項目好的不多,到是在圖形引擎和物理引擎方面有一些很不錯的開源項目,但要加入進去的話,你的基礎一定要好啊,有些開源的團隊也不是隨便什麼人就能加入的。