上海的深夜走廊里只剩下空調系統的低頻嗡鳴聲。
梁永琪站在走廊盡頭的窗戶前面,手肘撐在窗臺上,指尖捏著一只一次性紙杯,杯里的咖啡已經涼透了。
窗戶玻璃上映著她的臉,輪廓模糊,顴骨上的陰影比幾天前深了一些,眼底那圈青色的范圍也擴大了一圈。
她低頭看了一眼杯底的殘渣,把杯子放在窗臺上,沒有喝。
三天前,她把陳浩關于跑商系統的那段原話原封不動地帶回了上海,在項目組會議上傳達完。
數值策劃組三個人坐在桌子旁邊,一個人把筆放下了,一個人把筆記本合上了又打開,還有一個用手搓了一下額頭。
他們沉默的時間加起來大約有十五秒。
這十五秒里會議室只有空調出風口的聲音,還有墻角那臺飲水機偶爾發出的咕嚕聲,像一個老人在喉嚨里含著一口水沒咽下去。
“動態價格……基于玩家的供需?”坐在最右邊那個戴著細框眼鏡的年輕人率先開口,聲音里帶著一種小心翼翼的、像在確認一件他可能聽錯了的事情,“意思是我們不是定價方?我們只負責搭一個市場,價格由玩家之間的買賣自己決定?”
梁永琪點頭。
“對。”
“那初始價格怎么定?第一件貨上架的時候還沒有交易記錄,系統用什么作為定價基準?”
“基準價由系統生成,但生成之后的第一筆交易就會觸發浮動。
買的人多了價格漲,賣的人多了價格降。
每一次交易結束系統重新算一次價格,實時更新。
玩家打開貨架看到的永遠是下一秒即將執行的價格,不是上一秒的價格。”
戴眼鏡的年輕人重新打開筆記本,在空白的頁面上畫了一條折線。
折線的起點標注了“基準價”,然后分支成兩條——一條上行標著“買方多”三個字,一條下行標著“賣方多”三個字。
他畫完之后看著那兩條分支線,用筆帽在桌面上敲了兩下。
旁邊那個之前搓額頭的同事湊過去看了一眼筆記本上的圖,嘴抿著,什么也沒說。
他把筆帽摘下來又扣上去,摘下來又扣上去,來回弄了三四遍才停住手,把筆擱在筆記本旁邊。
“這個算法的工作量……”坐在中間那個數值策劃把身體往前傾了一下,“我們得在服務器端跑一個基于交易記錄進行實時價格計算的引擎,每一筆交易都要觸發一次全局價格重新核算。
三千人同時在線的場景里,每秒可能發生幾十次交易,每次都要跑一遍全品類商品的價格更新表。
《傳奇》那邊的物價是死的,裝備多少錢就是多少錢,數據庫里存一個靜態數值就行。
這邊是活的,活的東西要有人隨時喂。”
“所以需要做。”梁永琪說,“你們把算法邏輯寫出來,李軒那邊配合做引擎框架。
預算和時間都可以給,這個系統不做不行。”
會議室里又安靜了幾秒鐘。
戴眼鏡的年輕人把筆記本上的折線圖又看了一遍,然后抬頭看了一眼坐在中間的同事,那個同事正用拇指掐著食指的指節,掐得指關節發白,掐完之后松開,再掐上去。
坐在左邊一直沒怎么說話的那個人終于開口了,聲音不大:“如果價格浮動完全由玩家交易決定,那會不會出現有人在特定時間段內大量買入某一類商品,人為拉高價格之后再集中賣出套利的情況?這種操作在現實金融市場里有一個專門的詞,叫坐莊。”
梁永琪看了他一眼。
那個人被她看得往后靠了一下,后背貼上椅背,但沒有躲開她的視線。
“浩哥考慮過這個問題。”她說,“他原話是‘讓玩家自己玩,玩出花來是他們的事。
系統只負責把市場搭起來,價格怎么走,讓買賣雙方自己博弈。