前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇新編西游記范文,相信會為您的寫作帶來幫助,發現更多的寫作思路和靈感。
瞧,唐僧要去參加2008年的奧運會。這不,唐僧開著自己心愛的法拉利,腰里別著一部手機,多氣派呀!看他的徒弟孫悟空,正在聽mp3呢!看那個肥頭大耳的豬八戒,正在悠閑的看報紙呢!那個沙悟靜,正在拿著望遠鏡看風景呢。說著說著,來到了北京。
師徒三人一看,廣場上人山人海的,原來都是來參加贏取奧運門票的。
比賽開始了,第一局是障礙賽跑,因為師徒四人不能根據實際派出人選,就讓豬八戒參加比賽,因為豬八戒身子胖,比賽剛開始,跑了一陣就累得氣喘吁吁。尤其是蹦火圈的時候,豬八戒笨拙的一蹦,火圈沒蹦過去,衣服反而被燒著了,幸好有急救人員,要不然,豬八戒非變成一只烤豬。第一場,唐僧就失敗了。
一天,觀音從天而降。不知好歹的孫猴子不耐煩地朝她大吼:“喂,這五百年來你每天光顧這里,知不知道我很煩你啊!”
觀音看了看手表,不慌不忙地說:“我今天是特意來告訴你好消息的!”
“如果不是判我無罪,一切免談!” 孫猴子得意地說:“現在還有很多動物來找我做形象代言人呢,俺至少要賺點小錢花花呀!要不是為了給如來一點面子,我早就變作一只蒼蠅飛走啦!”
“那你今天怎么不去上班?”觀音問。
“笨,今天是雙休日,understand?”孫猴子回答。
忽然,觀音纖手一伸,揪下了猴子的三十根毫毛。孫猴子驚叫一聲:“你干嗎搶我的錢?”“這不是搶,你說像我這樣的人還缺錢嗎?我給你找了個伙伴。啊,他來了!我先閃!”
“喂,你說清楚啊!”孫猴子氣急敗壞說道。
話音剛落,一個光頭和尚東張西望地朝五指山走來。“這里應該就是觀音大媽說的地方了!”他喃喃自語。“喂,你沒長眼睛啊!”“對不起,我沒注意到你這只大烏龜!”“大烏龜?!”“是啊,我還從沒見過像你這樣的猴臉大烏龜!”
孫猴子聽后當場氣暈過去,醒來連忙遞上一張名片,自我吹噓說:“我是時下當紅明星--孫猴子!”
“原來你就是孫猴子呀!”他驚訝地叫著,“不會騙我吧!”
“我沒騙你!快把山頂上那張‘好好悔過,日日進步’的封條摘下來,作為報答,我請你吃香噴噴的麥當勞!”“那你可不能反悔啊!” 光頭和尚邊流口水邊揭下了封條。
關鍵詞:編程型游戲;通信模型;服務器程序;網絡同步
Communication Model and Technology Relating to Programming Games
JIANG Geng-hao
(Education Department of Hanshan Normal University, Chaozhou 521041, China)
Abstract: Single-tiered Programming Games do not support multi players' online games since it's application range is limited. This paper describes the Communication Model,including its software, control flows and network synchronization technology based on the network.
Key words: programming games; communication model; server application; network synchronization
編程型游戲(Programming Game)是一類具有教學、科研功能的計算機游戲,既可用于計算機程序設計課程教學,也可用于人工智能領域研究。編程型游戲通常以“競技仿真引擎”的形式出現,與其它游戲的主要區別在于其游戲方式:游戲者編寫程序控制自己的游戲角色,將其放至競技場與其它游戲角色進行競技;在游戲過程中,游戲角色的行為不是由鍵盤、鼠標或游戲操縱桿等輸入設備進行控制,而是由游戲者事先為其設計的程序自動進行控制,面對隨機出現的情況作出合理判斷并采取相應的反應動作。出于仿真的需要,編程型游戲中每個游戲角色都擁有一個獨立的線程,稱為角色線程。為了使各個角色線程能夠公平獲得處理器時間,由游戲引擎的“競技調度線程”依次對它們進行機會均等的調度。
目前,典型的編程型游戲(如robocode、AI-TANK、AI-RCJ等)都是單機版的,不支持多人在線游戲,其應用范圍受到限制。在借鑒相關研究成果基礎上,研究支持多人在線游戲的網絡版編程型游戲的通信模型和相關技術。
1 網絡版編程型游戲的通信模型
網絡版編程型游戲屬于多人游戲(multi-player game),可以同時讓多個游戲者通過網絡參與游戲,游戲者在各自的計算機上運行游戲軟件并控制著各自的游戲角色。在游戲過程中,游戲狀態將通過網絡傳輸進行同步更新。由于網絡傳輸會出現一定程度的延遲,所以可能會影響游戲運行的流暢性。為盡量消除“網絡延遲”所帶來的影響,游戲引擎必須采用合適的通信模型。典型的通信模型包括“端對端”模型和“客戶端/服務器”模型。
1.1 “端對端(P2P)”模型
P2P模型是一種比較簡單的通信模型,具有網狀的邏輯結構,如圖1所示。因為多人游戲必須保證同一時刻所有游戲者的游戲狀態是一致的,所以通常會在內部維護統一的游戲狀態數據庫。在P2P模型中,每個游戲者的計算機上保存一份游戲狀態數據庫的完整副本,并各自獨立地處理著游戲的全部邏輯。當某個游戲者的游戲狀態發生變動時,修改的數據會發送給其他游戲者以便及時更新他們的數據庫。如果有N個游戲者同時參與游戲,那么一個游戲者的一次變動必須發送給其他(N-1)個游戲者。如果所有的游戲者都發生變動,那么將有N×(N-1)條消息需要傳輸,當人數增加時,由網絡傳輸引起的延遲時間將呈二次方的比例增長。
1.2 “客戶端/服務器(C/S)”模型
C/S模型具有星形的邏輯結構,如圖2所示。C/S模型中,服務器扮演了仲裁人的角色,統一處理所有客戶端共享的游戲邏輯,收集所有的游戲狀態信息并集中存儲在一個游戲狀態數據庫中。每個客戶端保持一份游戲狀態數據庫的子集,并且只處理與自身相關的部分游戲邏輯。游戲過程中,客戶端只與服務器進行信息的發送和接收。如果游戲狀態發生變動,那么服務器只須發送N條消息即可完成更新。與P2P模型不同的是,C/S模型必須額外在服務器上運行一個服務器程序。
1.3 通信模型的選擇
兩種通信模型各有優缺點,P2P模型無需額外運行服務器程序,但需要進行較為頻繁的網絡連接和信息發送。C/S模型集中管理游戲邏輯和狀態,在管理多個游戲者的游戲會話方面具有優勢,但需要額外運行服務器程序,增加了游戲引擎的復雜度。
編程型游戲與其它游戲的最大差別在于游戲過程中游戲者不能通過鍵盤、鼠標或游戲操縱桿等輸入設備來控制游戲角色。游戲運行時不再與游戲者進行實時的交互,而是循環進行“執行游戲的一幀渲染游戲的一幀游戲者觀看游戲的一幀”直至游戲結束的過程。由于各個游戲角色由程序自動控制,狀態變化通常很快,如果采用P2P模型,不僅要發送各個游戲角色的狀態變化消息,還要發送處理結果等消息,這將會導致大量的消息發送,容易受到“網絡延遲”的影響;如果采用C/S模型,網絡通信量將大為減少,受“網絡延遲”的影響不明顯。另外,C/S模型還可以充分利用兩端硬件環境的優勢,將計算任務合理分配到客戶端和服務器完成。因此,可以采用C/S模型來管理網絡版編程型游戲的網絡通信。
2 網絡版編程型游戲的軟件組成
游戲軟件由客戶端程序和服務器程序兩部分組成,如圖3所示。客戶端程序包括游戲者管理模塊、競技監視模塊和代碼編輯模塊。其中,游戲者管理模塊主要負責為游戲者參加游戲、設置仿真參數(如:控制聲音效果、視覺效果等)、控制游戲角色等提供用戶界面。競技監視模塊負責對競技進行仿真,并在屏幕顯示一個虛擬競技場和各個游戲角色的活動情況。代碼編輯模塊負責為游戲者編寫、調試、編譯角色控制程序提供用戶界面。
服務器程序包括競技管理模塊和競技記錄模塊。其中,競技管理模塊是整個游戲的核心,負責控制游戲的全過程,維護游戲的物理模型和游戲狀態數據庫。競技記錄模塊負責保存游戲過程中競技場的活動情況,實現“競技過程回放”功能。
3 服務器程序的控制流程
服務器程序運行時創建兩個線程――主線程A和守護線程B。線程A在初始化服務器后,首先啟動線程B,然后開始監聽某一個網絡端口,響應客戶端程序的請求。在線程B的每一輪循環中,檢查是否有兩個以上游戲者在線,若有則檢查“競技開始標志”,該標志為“真”時啟動“競技調度線程”(競技調度線程開始調度已經準備就緒的角色線程)并等待競技結束,競技結束后根據服務器的開關標志決定繼續新一輪循環或關閉服務器。線程A、B的控制流程如圖4、5所示。
當線程A監聽到新的客戶端請求時,便創建一個游戲者線程。每一個游戲者線程負責與對應的客戶端程序通信,可看作遠程的游戲者在服務器上的,在游戲者退出游戲時被銷毀,其控制流程如圖6所示。游戲開始時,服務器給競技場分配一個“競技調度線程”,給每個游戲角色分配一個角色線程,競技場使用的線程數量N=Players×2+1 (Players代表參與游戲的人數),競技結束后由服務器釋放這些線程資源。
說明:
① 設置的內容包括“是否在競技結束時向客戶端回傳競技記錄”等。
② 服務器為游戲角色分配一個線程并使之掛起,等待競技管理線程的調度。
③ 在線的游戲者中,其IP地址與服務器相同者擁有對競技的控制權;如果沒有一個游戲者的IP與服務器相同,則第一個登錄服務器的游戲者擁有對競技的控制權。
④ 通過設置“競技開始標志”為真,通知守護線程B啟動競技調度線程。
⑤ 由競技調度線程將“競技開始標志”設置為假;復位各游戲角色的狀態;向申請“回放競技過程”的客戶端回傳競技過程記錄。
4 網絡同步技術
同步是指使多個事件(如實體狀態信息)按照一定的時間順序進行傳輸和表現的一種控制策略。網絡游戲的同步有兩種,一種是服務器與客戶端之間的同步,它保證了客戶端維護的游戲模型與服務器上的游戲模型的一致性;另一種是客戶端之間的同步,它保證了每個游戲者在屏幕上看到的東西大體是一樣的,對于編程型游戲而言,我們更關心的是前一種同步。
實現同步最簡單的方法是讓客戶端同期性地從服務器鏡像游戲狀態數據庫。這種方法主要的缺點是可能會錯過兩次采樣之間發生的一些事件。為了解決這個問題,可以使用事件驅動的服務器端“推”技術。當服務器上游戲狀態更新頻繁時,該技術能夠保證任何瞬間的狀態變動都會被傳遞到客戶端。采用這種技術,服務器上的游戲狀態數據庫和客戶端的副本之間的同步是使用“更新事件”進行管理的。“更新事件”僅包含足夠表示自上一次更新以后所發生變動的信息。服務器對事件進行連續編號,如果客戶端在規定時間內沒有收到“更新事件”,或收到的事件不連續,客戶端必須檢測到同步的失敗并請求對整個游戲狀態的完全更新。采用這種技術的另一個好處是,當服務器上的虛擬游戲世界中沒有發生任何事件時,客戶端和服務器之間的通信量幾乎為零,能夠有效地減少網絡通信量。
5 結束語
編程型游戲是一類具有教學、科研功能的計算機游戲。單機版的編程型游戲不支持多人在線游戲,其應用范圍受到限制。目前,計算機游戲正在往“網絡化”方向發展,這也是編程型游戲的發展趨勢。
參考文獻:
……
唐僧對八戒滿含深情的說:“八戒,你能不能去給為師化些緣去呀。”
(豬八戒還在大睡)說著夢話:“好多好吃的呀,我吃。"
唐僧大怒:“八戒,你給我起來。"
(豬八戒被驚醒)大叫:“什么事?"
唐僧:“誰讓你偷懶的,天天凈知道吃,睡。我養著你有什么用?”
{豬八戒笑了);“嘻嘻,我這就去”
(八戒去睡覺了,,,,,)
唐僧起了疑心:“悟空,你去看看八戒去哪了?”
“好的”。(悟空去找八戒)
“八戒。你干什么呢?師傅讓你去化緣,你卻在這里睡大覺,好,我這就出告訴師傅。”
{八戒一驚):“猴哥,不要啊。”
(悟空詭笑):“嗯?”
“猴哥,知道了,我這就去。”
(悟空回去了)"不妨我再去睡一覺。嘻嘻,猴哥肯定不知道。”
(八戒又去睡了)
“師傅,八戒睡覺去了。”(悟空笑說)
前言
地處西南地區的貴州冬無嚴寒,夏無酷暑,全省森林覆蓋率達50%,自然風光美景比比皆,優良的旅游資源條件使貴州成為《紐約時報》評選的世界上52個最值得到訪的旅游目的地之一。但由于地理條件與歷史發展的原因貴州在一直屬于經濟落后地區,從1978-2014年人均GDP一直在全國排倒數第一,為實現經濟發展與生態環境保護雙贏的目標,旅游作為生態型的低碳產業,為貴州的后發趕超提供了強勁的動力。依托得天獨厚的旅游資源秉賦貴州將旅游業擺上“戰略性支柱產業”的位置而重點培育,2012年國發2號文件提出將貴州培育為“文化旅游發展創新區”,從國家層面首次把旅游業發展納入貴州省發展戰略。隨后貴州省進一步明確“建設旅游強省,將旅游業打造為實現貴州人民脫貧致富的現代服務業” 的旅游發展戰略目標,而十三五”期間貴州更是將“推動旅游業實現井噴式增長”作為旅游經濟發展的目標。而貴州旅游進一步的發展,依賴于充分了解新時期旅游者的需求,本文對貴州旅游發展現狀以及新時期旅游形式的變化進行分析,以期為貴州新時期旅游發展提供基礎性研究。
一、貴州旅游發展現狀
(一)貴州旅游增長情況
貴州境內喀斯特地貌廣布,眾多原始奇秀的喀斯特山水景觀、神秘古樸的民族文化是貴州旅游發展重要的資源依托,近年來隨著旅游需求的快速增長,貴州旅游業的發展取得了明顯的成績。
貴州省從2006年--2015年旅游收入在GDP中所占百分比的情況(見表1),總的可以看出從2006年以來旅游收入占GDP的比重持續增加,從2006年來的17%增長到2015年的33%,貴州省旅游業的發展是有目共睹的。據統計,2016年上半年全省接待游客量達2.57億人次,同比增長39.2%;實現旅游總收入2241.35億元,同比增長41.1%。
2006年是貴州省旅游發展最明顯、快速的一年,接待人數、旅游收入的增長率分別達到了51.8%和54.1%,目前,是貴州省旅游業發展最為快速的一年,2007年開始,每年二者繼續保持著增長的態勢,除了2015的接待人數增長率為17.1%以外,其他的都保持在20%以上的逐年增長趨勢,最為顯眼的是2016年上半年接待人數就已達到25700萬人次,增長率達到36.1%,旅游收入達到2241.35億元,增長38%,數據顯示出近十年來貴州省旅游業的發展之快速。
二、貴州各類旅游模式發展分析
(一)自駕游發展情況
近年來,隨著高速公路網的建設和完善以及居民擁有私家車數量的不斷增加,貴州自駕車旅游呈現蓬勃的發展態勢。貴州省從2008年以來民用汽車數量、私人汽車數量隨著人們生活水平的提升、道路交通的改善及各種假日條件到來的綜合條件下,二者也呈現出平行上升的趨勢,到2014年為止,民用汽車數量達到246.36萬輛,私人汽車數量達到208.95萬輛,在7年時間里分別增長了169.21萬輛、154.68萬輛,近年每個黃金周的高速公路大擁堵,堵在路上的幾乎都是蜂擁而出的自駕車旅游者。
完善的交通基礎設施是自駕游的基礎保障。2015年貴甕高速公路建成通車,標志著貴州88個縣市區的高速公路全部建成通車,貴州成為西部第一個縣縣通高速的省份;“十三五”期間,貴州省加快形成西南地區重要交通陸路樞紐,“678”高速公路網絡基本建成,高速公路總里程超過7000公里,形成24個省級通道,基本形成以貴陽為中心的交通圈,2小時覆蓋黔中經濟區,4小時覆蓋全省,7小時覆蓋周邊省會城市。貴州2016年擬啟動的高速公路項目9項,交通條件的改善極大地推動了貴州自駕游的發展。
通過調查發現,目前貴州自駕游的客源中本省占了50%以上,外省游客主要集中于周邊省市,按所占比重依次為重慶、湖南、四川、廣西、廣東、云南、湖北等,客源最遠來自海南、上海、北京等地。各景點又以臨近省市為市場主體,如萬峰林以云南游客為主,西江、梵凈山以湖南游客居多,荔波漳江風景區以廣西、廣東游客為主,而赤水則是重慶、四川游客占絕大多數。同時調研中還顯示,公路通達條件較好的地區自駕游客在游客總量中所占比重較大,除了景區要素吸引外,旅游線路沿線風光和交通便利也是吸引自駕游客的主要的因素。
(二)散客自助游
從2012年開始,黃果樹景區散客量首次超過團隊游客數量,2013年‘團散’游客比發展為3:7,而且這一比例還呈拉大趨勢。作為全省知名的旅游景區,黃果樹瀑布“團散”游客比例懸殊的現象并非孤例。西江苗寨在2009年團散比還維持在7:3,2012年這一比例開始持平,2013年之后散客趨勢越來越明顯。2014年國慶期間,在貴州納入重點監測的63個旅游景區中,自駕游客占總游客量的60.2%。黃果樹、西江苗寨、青巖古鎮、南江大峽谷等近10家旅游景區2015以來接待的散客量超過團隊游客數量,這些數據顯示散客成為貴州省旅游市場的主力軍。
(三)貴州“互聯網+旅游”與智慧旅游
大數據時代,“智慧旅游”成為旅游業的方向所在。2014年初,貴州省連續出臺《加快大數據產業發展應用若干政策的意見》以及《大數據產業發展應用規劃綱要》,提出建設“智慧旅游云”,邁出“智慧旅游”發展路上的關鍵一步。貴州“互聯網+旅游”的主要運作機制是借助云計算、物聯網等高端技術在旅游體驗項目、產業營銷以及旅游行政管理等方面的運用。到目前為止,貴州基本實現了旅游產業的信息化升級,從旅游數據中心到智慧景區建設,從鄉村旅游平臺到旅游電子商務系統,從旅游政務管理到游客服務,覆蓋了旅游產業的各個方面,下一步貴州還將推進智慧旅游在酒店、山地旅游、數據分析等方面的發展。