第12章 通訊連接

按照之前的分工,賈小蕊立刻開始繪制游戲需要的圖像資料:包括基本元素圖标,游戲用到的形象的人設(怪物等),以及游戲場景建設需要的背景圖像。

因為時間的關系,他們并沒有打算制作3d游戲,因此不需要複雜的建模,只需要制作貼圖元素即可。這對于賈小蕊來說,還是可以勝任的。

而鐘錦和齊輝兩個人在第一天裏,也就是周五晚上六點到半夜十二點,必須将後臺搭建完成,并初步測試不同機器之間的通訊和協調能力。

鐘錦有一個比較粗略的計劃。周六上午她會将影像捕捉的部分實用化,并編寫影像互動的響應代碼。這一部分影響到如果攝像頭拍攝到有人經過之後,游戲怎樣計算并響應,以及在屏幕上顯示多少的怪物數量,并最終影響到玩家所在的基地毀壞速度。

周六晚上是初步美化,并進行程序模塊之間的對接,得到一個最基本的,通訊正常的游戲樣板。這個樣板應該具有的功能是:游戲的開始和結束觸發,根據玩家移動和數量計算出怪物數量,怪物減弱基地防禦速度的變化。

周日的時間比較少,就算是搞通宵的話,也不過是18個小時的時間。而且根據一般人的作息,在早上六點之前,都會被計算在周六時間內。

不論怎樣,在周日時,他們應該已經有了可以正常運行的游戲系統,這時可以進行程序的進一步美化——比如增加怪物的樣子、種類,使他們有更多變化的動作等等。也可以适當根據時間加入模塊,使游戲互動性更強,更有意思。

鐘錦在游戲實驗室中也認識幾個人,這裏工作的大都是研究生或博士在讀,她與他們認識還是因為參與過一個導師項目。

他們大概了解了三個人想要做的事情後,驚訝地問:“我靠你們不是認真的吧?”

在得到肯定回答之後,又紛紛道:“不愧是學霸大牛,佩服佩服。”

鐘錦只是笑,沒多說。時間緊張任務繁重,就算她對其中絕大部分都胸有成竹,可對于編程來講,只要最後沒順利完成,就什麽都有可能發生。

因為要實現多計算機之間的通訊,最好的方式是建立一個服務器和客戶端模式。所有的進行影像捕捉的計算機就是客戶端,而再單獨拿出一個連入網絡的計算機做服務器即可。所有的客戶端直接與服務器通訊,而客戶端之間如果要進行數據交換,則也必須通過服務器進行。

這一主機,即服務器,再加更多電腦,即客戶機的結構如今十分通用,也最簡單。表現在其通訊方式的簡單上。客戶端不用考慮是與誰通訊,只要建立與主機的連接,并在封裝好的信息包中寫明“收件人”即可。而這種結構也有着非常好的可擴展性,只要在加入更多客戶機的時候,将其與主機建立通訊即可。

小到平時的局域網聯機游戲,或者是網絡平臺的vpn技術,再大到成千上萬人在線的,例如魔獸世界,劍三這種mmorpg,其最最基本的結構框架都大致如此。

當然,随着客戶機的增加,通訊擁堵,速度變慢是一定會出現的。

根據現在的條件和需要,鐘錦他們并不需要使用專業服務器,只需要用實驗室的一臺macpro,根據場地情況,加入5到10臺的客戶機進行影像捕捉。

Advertisement

實驗室的管理員叫鄧榮,他了解到一個小隊的情況之後,便道:“這樣,你們先用這三臺電腦,足夠你們試驗連接技術。等做好之後再加其他的。”

如今已經三十多歲的鄧容并不是學校的教授,平時除了負責實驗室的設備管理和維修之外,也兼職教一些講座和課程。然後利用課餘時間和實驗室的便利條件,鄧容也開發了幾個kinect平臺上的小游戲,在網絡上小有名氣。

他的游戲設計經驗十分豐富,也知道普通的計算機系大學生都是什麽水平,所以即便聽到鐘錦他們這個創新構思之後,也并不看好。

甚至在第一次知道的時候,他直言:“你們要不要重新考慮一下?這個設計雖然聽上去很美好,但是兩天的時間,基本不可能完成。”

齊輝當時也猶豫,但是鐘錦卻根據自己的情況,并與齊輝交流之後,認為還是有可能的。

“試試看吧。”她說,“反正就算沒有真的完成,也無傷大雅。”

這本身就是一個與學業無關的小比賽,大家全憑興趣參加,做不出來不會有任何懲罰也沒什麽損失。

雖然時間緊張,無論是從編程量,還是實踐能力方面,都是對他們極其嚴峻的考驗。但是從心底裏,鐘錦是很有自信,也篤定自己可以做到的。

鄧容得知他們的決定之後,只覺得這些學生眼高手低。不過既然他們要求,他也不會阻止。調配好電腦之後,他有些帶着考驗的語氣問:“你們打算怎麽實現通訊?”

“就用wifi吧。”齊輝道。

“數據格式?”

“信息量不是很大,我們覺得json就可以。”

json是一種輕量級的數據交換格式,易讀易寫。

鄧容點點頭:“要幫忙安裝嗎?”使用編譯json需要特定的庫函數,而在實驗室的機器上并沒有預先安裝。

齊輝忙道:“沒關系沒關系,我自己來就可以。謝謝您啦。”

鄧容笑了笑:“那行,有問題叫我。”說完他又轉向鐘錦那邊:“你呢?要不要我幫忙?會編譯碼?”

鄧容之前并不認識鐘錦,也不知道她的名氣。不過就算是知道,很多人看到女生,尤其是長得還可以的女生,也會下意識地認為對方不會編程,技術比較一般。甚至有一個說法流傳,那就是女生的長相是與編程能力成反比的。

當然任何事情都有特例,不過總體來講這個說法也不算太偏離。尤其是當這個編程非課內要求,而是課外內容偏多,需要自發性,創造性,需要勇敢嘗試的時候,男生往往比女生更加厲害。

不過鐘錦顯然是那個特例。

她聽到鄧容的問話,便回頭去看他,手上打字的動作卻不停,一行代碼行雲流水地出現在屏幕上,沒有半分的停頓。

“恩?”鐘錦意識到鄧容問自己話,“恩,我會編譯,謝謝您。”

說完便埋頭繼續寫代碼。

鄧容看着屏幕上飄出來的字,不由臉色有些尴尬,同時也意識到眼前這女生還是有些能力的。

等鄧容走了,賈小蕊傾身過來小聲問道:“那個json是什麽呀?”得到回答之後,她又臉紅着問道:“數據交換格式?”

鐘錦點點頭:“是的。你看,計算機和計算機之間要交流信息,我發送一個數值給你,你收到這個數值,并且知道它是屬于什麽變量。這就需要兩臺計算機都應用同樣的對數據的格式化方式和理解方式。”

賈小蕊很認真地聽着。

“就跟我們倆說話一樣,內容是數據,語言系統就是這個‘格式’。因為我們都會中文,這種‘格式’,所以才能彼此交流,順利理解對方。否則就是聽不懂,或者說不對。json是一種非常簡單的格式,其中一種方式就好像字典一樣。一個名稱,一個值。在數據量比較少的時候,經常會使用它。”鐘錦一邊解釋,一邊手上不停地敲代碼,看得賈小蕊眼花缭亂。

“原來如此。”賈小蕊畢竟是學計算機的,很快便明白了。

時間緊張,她于是不再耽擱,又坐正身體看着屏幕,開始一根根線條地繪制怪物設定圖。

後臺的搭建過程十分順利,數據庫使用sql建立,并沒有什麽新鮮的。因為時間緊張,大型的互聯技術布局肯定來不及,所以只需要使用最簡單的通訊格式,保證服務器端和客戶端都能拿到最新的數據,并實現響應即可。

到晚上十點半左右,鐘錦的部分已經基本完成,而齊輝也寫好了通訊部分的代碼。兩個人合作進行了實驗,發現效果非常好。

賈小蕊畫了一晚上,終于畫完了所需要的怪物設定,上色上到一半多。她看鐘錦和齊輝湊在一起說了一會兒,然後面有喜色,不禁問道:“哎呀呀,你們都做好了?”

鐘錦笑着看她:“還差得遠,就是通訊搞定了。你怎麽樣?”

賈小蕊一邊揉眼睛一邊道:“還行吧,至少沒卡靈感。唉,幸虧前兩天練了練手,不然還真荒廢了。我都好長時間沒用手寫板畫畫了!”

鐘錦看了看她目前的進度:“不錯啊,這很好了。”

賈小蕊道:“還好咱們設定是q版風格,不需要畫得太細,上色也簡單一些。不然我真是要死在這了!”她說完,又湊過去看鐘錦的代碼,發現完全看不懂,于是沮喪地說道:“鐘錦,你說我是不是該轉專業啊!我覺得計算機系嚴重不适合我,說不定多媒體設計專業才是我的歸宿!”

“你就是想轉也不行啊,都大三了。”齊輝立刻打擊她,“不過你可以考多媒體設計的研究生。”

“啊!還要讀書!?”賈小蕊翻了個白眼,“我看我還是算了吧。”

連續工作将近五個小時,實驗室裏的各個小組都有些疲憊,開始互相串門。兩天的游戲果醬并沒有那麽強烈的比賽性質,況且大家準備做什麽游戲在比賽之前其實早就有設計,極少有現場改動,也根本來不及做大的改動,只能微調。因為這個原因,彼此之間不會特別防備,相互問問話,聊聊天,甚至是讨論技術也有可能發生。

至少在鐘錦他們這個房間裏的另一隊,就跑來問齊輝一個配置問題。不過齊輝沒搞定,最後還是鐘錦去看了看,發現是visualc++裏面雖然裝了函數庫的附加依賴項沒有添加。

那一隊的隊員其實是計算機系大二的,所以算是鐘錦和賈小蕊的直系學弟,彼此因為這件事聊了兩句。然後又發散到讨論所有參賽隊。

一名隊員道:“我看這次第一名肯定要被z大學隊拿走了。封池我之前就聽說過,跟咱們根本不是一段位的。”

“我看也是。而且他們隊人數最多,實力又強。其他隊根本沒有競争力吧?”

鐘錦當時沒有答話,随便應和兩句,又回去自己寫程序。而等到她走出房間去休息區找點心吃的時候,又看到這隊的隊員在和其他人聊天,話題竟然還是封池他們。

有人提到:“其實也未必,我去看了看他們目前的進度,也就是普通的第一視角射擊游戲。而且他們隊雖然看着人多,其實真正寫程序的人就是封池自己,另外好像還有個做flash很厲害,不過他們的游戲主要用unity3d。總之我覺得他們組合比較亂。而且除了核心的三四個人,其他人像是搭夥湊數的。你知道嗎?他們還有一名隊員到現在都沒出現呢,說是明天才來。”

這人言談間對z大學隊伍十分不屑。不過男生之間互相貶低,說說大話什麽的倒是很正常。每個聽衆自己心裏有杆秤,既不能都信,也不會不信,端看自己如何選擇,是否清醒,可以自主判斷。

至于對鐘錦來說。她壓根不在乎這些言論。因為到目前為止,其他隊做得如何,有沒有潛力拿獎,對她根本沒有影響。

鐘錦一貫的理念就是自己挑戰自己。把自己的目标設定好,做到胸中有數,有一定計劃,然後步步踏實抓緊時間去做,遇到困難想辦法克服,最終不論完成與否,只要有收獲就是成功。

利用接下來的時間實現了一下聯機結構的擴展性,并且将客戶端的函數封裝,設置接口,指針已經快要指向12點了。

“回去休息吧,明天早點來,而且晚上可能要熬夜。”齊輝招呼兩位女士。

賈小蕊剛好完成了所有怪物的設計和上色,伸了個懶腰:“啊!累死我了~”

當三人離開的時候,實驗室裏依舊燈火通明熱鬧非凡。

作者有話要說:專業術語和詞彙可能有點多?影響理解的話可以留言問我,我考慮修改講得更清楚……

其實兩天的時間能做的事情非常少啊,就算游戲系統再怎麽簡陋,基礎,也需要開金手指才能完成女主做的事情(哈哈哈哈

這種游戲比賽的氣氛其實挺好的,經常有人一邊敲代碼一邊聊天,還有人拿着咖啡溜達來溜達去的。

同類推薦