創意編程比賽的決賽今年在海城舉行。
路辰煥他們要提前一天到海城,若是以往他參加這麼重要的比賽,溫越肯定會陪他去的,可惜這次時間和數競的復賽撞上了,頗為遺憾。
早上出發之前,路辰煥看著溫越的眼睛,認真說:“阿越,我們都要贏!”
溫越給他整理衣領的指尖頓了頓,輕輕“嗯”了一聲。
決賽和之前的比賽一樣,由兩個部分構成。
常規題目和命題創作。
復賽的命題創作比以往的初賽和復賽都要難,程序大小限制在了64kb,要在64kb內編出一段三維動畫程序,通過函數生成模型、貼圖以及音源,在電腦上運行。
其實這些都是有套路的,路辰煥他們隊伍已經做過幾套初步的框架設計,等正式開場之後再根據具體的題目選擇合適的框架來套用,以及調整細化。
這次的題目是“迷宮”。
他們迅速從那些框架中挑了一套最合適的,然後按照之前無數次訓練的那樣默契地分工合作。
一切都在按部就班地進行,可路辰煥心中卻有些隱隱不安。
中途李渺去了趟衛生間,回來後面色沉重。
“我們按照現有思路繼續做下去,第一名恐怕……”她嘆了口氣,“你們自己到那邊去看看吧。”
路辰煥聞言,和付東至對視一眼,起身。
比賽的場地是在體育館,每張桌子之間僅有半米高的擋板,一站起來,別人的屏幕都能看到。
不過沒有人會因此擔心被抄,畢竟又不可能從別人的畫面上拷貝程序,通過屏幕上的幾行代碼也不可能看到整體的底層邏輯與算法,而且比賽時間僅僅幾個小時,弄懂別人的思路再復制根本不可能來得及。
Advertisement
兩人裝作去衛生間的模樣,往各個隊伍的屏幕一一掃過。
他們回來後,付東至率先說道:“靠後門那邊的幾個沿海省份的隊伍確實有點東西,但我們繼續做下去,把精度提上來,未必會比他們差。”
李渺的手放在鍵盤上,盯著屏幕:“可對於這個比賽而言,精度不是最重要的評分指標。”
一片沉默,氣氛凝結住了。
這時,路辰煥走到桌邊,也不落座,直接拿起筆,在草紙上飛速寫畫著。
沒一會兒,他把草紙拿起來,遞到另外兩人面前。
“我們換方案吧。”
聽完他的話,付東至皺緊眉頭:“路辰煥,你在開玩笑麼,時間都過了一半,怎麼可能臨時改方案?”
路辰煥沒有回答,而是反問道:“你想贏嗎?”
誰會不想贏呢?
付東至的眉頭皺地更緊了。
按照現有計劃繼續做下去,就算拿不了第一名,但前三還是有戲的。
可是推翻重做,很有可能根本做不完,風險實在太大。
李渺看著草紙上的東西,半晌後,下了定論:“就按照你這個來。”
付東至震驚地看向她:“隊長!”
李渺朝他露出一個安撫的笑容:“東至,我們前面做的部分也不會全部浪費,隻需要重做模型部分,貼圖和音源都可以改一改繼續用。”
付東至一向聽李渺的話,即便心裡對這種做法不太認同,但最終還是點頭同意。
李渺把每個人的任務分配好,三人繼續投入工作當中。
接下來的每分每秒都是在和時間賽跑,等比賽結束的哨聲吹響的時候,他們額上都是汗水。
所有隊伍的作品都上傳到主服務器上,體育館正中的大屏幕上開始依次播放,錦城屬於西部地區,他們隊伍編號靠後。
先播放的都是沿海地區隊伍的作品,其中有他們認為很強的那幾支隊伍的,成品比看到的還要。
路辰煥往觀眾臺上看去,校隊的兩個帶隊老師正交頭接耳,表情都不算太開心。
大概是看到這麼強的作品,對自己的學生已經失去了信心。
直到他們的作品開始播放。
開頭的畫面十分樸素,甚至可以稱得上平平無奇。
和前面的大部分作品類似,從第一視角切入,模擬在迷宮中前行。
環境是粗獷的重工業風,機械零件交錯盤橫。
然而當進度條過了三分之一的時候,鏡頭忽然退開,中心出現了一個小人,變成了第三視角,小人在剛才的路徑上前行。
沒多久,小人就走入一條絕境。
這時候,鏡頭開始切換,兩條斷開的路在平面上接上。
小人竟然從連接的部分走了過去!
緊接著,鏡頭再次轉換,三維模型赫然已經變成了另外一個。
整個轉場無比絲滑,無縫銜接。
這時候,進度條才過去三分之二。
接著 ,模型開始延展出更多路徑,變得讓人眼花繚亂,成為第三個模型。
鏡頭繼續轉動,到某個時刻,竟然有五對斷路在平面上連接上起來。
第四個模型出現!
展示幾秒後,視頻終於結束。
場內頓時哗然。
這個比賽畢竟是高中生的比賽,對學生的要求主要還是在畫面的美觀和渲染上。
而用算法從空間本身上來闡釋主題的隊伍,這還是頭一支。
創意上足夠有亮點,技術上也無懈可擊。生成模型的算法也不是為了視頻演示,直接做了兩對模型來對應,而是從底層邏輯上就做了特殊設計進行參數化生成,因為如果是刻意去找角度對應的,且不說要用多少行代碼來進行這樣的像素級操作,會遠遠超出64kb,光是憑借人腦,構造出前面兩個能對上的模型構造都已經到了極限,後面兩個根本不可能在比賽的這麼短時間內做到。
“後生可畏,後生可畏。”主評委對旁邊的人連連感嘆。
珠玉在前,後面的作品怎麼都顯得平庸。
等所有作品播放完後,不用等評分出來,全場都知道這回的第一非他們莫屬。
評委們把分打完了後,所有隊伍的分數都公開在了大屏幕上。
他們拿下9.8的高分,比第二名多了0.2分,要知道,以往的比賽,一二名的分數差距都是在小數點後二位。
獲得前三的隊伍都需要上臺演講。
李渺朝路辰煥說:“等會兒你來講吧。”
路辰煥沒有推辭,頒完獎後,他拿起話筒:“我們的靈感來源是埃舍爾的矛盾空間,相信大家都對這個概念相當熟悉……”
雖然現場沒有直播,但路辰煥知道,錄頻之後會在網上公開,他一定要展現出最好的狀態。
剛才比賽途中,在觀看完一圈,走回來的路上,他的大腦一直在飛速運轉,試圖從記憶的角落裡搜尋出一些可靠的靈感。
贏……
迷宮……
他反復搜尋著這兩個關鍵詞,哪想到,還真找到了與之相關的記憶碎片。
小時候,他身體不好,三天兩頭進醫院,躺在病床上輸液的時光很難捱,溫越會守在他的病床邊,陪他一起玩。
那是一個陽光燦爛的下午,他還發著燒,卻怎麼都不肯睡覺休息,一定要找事情做。
溫越趴在他床頭,手裡拿著一本草圖本。
那時候小學生之間很流行一種紙上遊戲,走迷宮。遊戲規則是扔骰子來計步數,在一定回合內走到終點就能贏。
他們玩的是這兩天才興起的三維迷宮,構成是從雜志上抄下來的,很復雜,看著就讓人眼花繚亂。
他因為發燒,有些神志不清,幾個回合之後,才發現自己走錯了路,就算接下來的點數都是六點也贏不了。
他不高興地推開本子,就要認輸。
溫越卻說贈送他一個機會,可以選一個圖塊來旋轉。這種小遊戲總會有些自定義規則,路辰煥倒也沒拒絕,但他看了看,發現無論如何都沒法搭出一個更短的路徑,更加煩躁,一把抓住被子蓋到腦袋上,把自己藏起來。
可溫越並不打算放過他,隔著被子也要戳他的腦袋。
“我不玩了,不玩了。”他在被子裡瓮聲瓮氣地說道。
“阿煥,你看看。”溫越貼到被子上,聲音隔著棉絮傳進來,也讓他感覺被撓的發痒。
路辰煥終於沒忍住,掀開被子,看著面前的草紙,嘴巴張成了O型。
因為圖形是正交畫的,沒有透視,在旋轉這個板塊後,下層和上層竟然連成一個平面,隻需要短短幾步就能直達終點,就算他剩下的骰子點數全是一也行。
“阿煥,你贏了!”溫越舉著塗鴉本,朝他淺淺地笑著,“我今天在美術書上看到的,這個叫矛盾空間。”
路辰煥當然知道這個,他隻是沒想到還能通過這種方式來贏遊戲。
“這,這樣也行?”
“怎麼不行?”溫越摸上他的額頭,手慢慢下滑,幫他合上眼睛,“你贏了,所以好好睡覺,好好吃藥,病才能早點好。”
路辰煥無比慶幸他的記憶宮殿足夠強大,和溫越的每個時刻都能記住,這是件多麼幸運的事情。
講完整個作品的構思和算法設計,臺下響起了熱烈的掌聲。
路辰煥把話筒遞給下一個隊伍的人,退了回去。
付東至輕聲說:“路辰煥,這次多虧你的想法了。”
路辰煥得意無比:“那也不看看本天才是什麼人!”
付東至:“……”這人說話怎麼永遠這麼欠扁。
回到賓館,路辰煥想改籤當晚的機票直接飛回錦城,把帶隊老師嚇得差點上手去搶他的手機,學生一個人坐飛機,萬一出了什麼事,他可擔不起責任。
為了不坑老師,路辰煥隻得按捺住自己激動的心情。
他想著明天的事情,翻來覆去根本睡不著,幾次把付東至吵醒,氣得破口大罵。
路辰煥因為心情愉悅,也沒有回嘴,任由對方問候他祖宗。
第二天飛機落地的時候已經是午飯點,老師說請他們在校外吃一頓大餐再回學校,路辰煥推脫說有事先走一步,連午飯都沒吃,就急匆匆地打車回了林蔭。
到學校的時候,午休還沒結束,廣播站放著歌。
歌曲是一首老歌,因為最近的一部電影翻紅,大街小巷裡都在播放。
“想知道多年漂浮的時光,是否你也想家……”[1]
歌手的溫潤細膩,深沉的情緒流淌出來,回蕩在廣闊的校園裡。
路辰煥一路飛奔,他剛跑到教學樓下,就看到了自己心心念念的人。
溫越正抱著書本往前走。
“阿越!”他喊了一聲,卻被淹沒在音樂聲中。
但仿佛有心靈感應一般,溫越還是聽見了。
她停下腳步,回頭看到他,連忙往他這邊走過來。