還沒個獨占呢?
前段時間,微軟Excel官方發(fā)布了新一屆金融建模世界杯的比賽預告。尤其令人在意的是,他們特意宣稱這次比賽將是“一場電競賽事”。
金融建模世界杯(FMWC)是一個金融建模界的新興賽事,參賽者都是行業(yè)頂尖的金融建模師,通過Excel比拼建模實力來決出高下。在過去的幾個月中,這個比賽已經(jīng)借鑒了許多競技體育的框架:嚴格劃分的賽季、積分制的世界排名以及分門別類的賽事體系。不過正式打出“電競”的招牌,這還是第一次。
本次比賽被稱為“888大賽”,即8位選手、8個國家和6月8號
抱著門外漢看熱鬧的心情,··比賽當天我準時點開了直播鏈接的地址,想看看這場金融界的電競賽事究竟能玩出怎樣的花樣。但比賽開始10分鐘后,我就后悔了。
這場金融建模世界杯的比賽,比我想象得還要更無趣。八位受邀參賽的建模師,在比賽中有40分鐘來解決賽事方提供的案例題目,最后分數(shù)最高者獲得冠軍。
原以為這場8人混戰(zhàn)的比賽能有一些更具觀賞性的形式,來調劑沉悶的比賽本身,但很可惜并沒有。組織者最后采用的方式,最公平、最能體現(xiàn)選手實力,但同時也最無聊。
為方便觀摩學習,觀眾能看到參賽者的第一視角
多數(shù)時候的直播間畫面,觀眾只能看到選手們的答題情況
直播間里和我一樣沖著“電競”名號去看的人不少,不時就有人詢問“競技的部分呢?”,但回答他們的大都只是抖機靈的話:“(e-Sports指的是)eXCEL-Sports”。
當然直播間里大部分還是認真看建模的觀眾,并時不時給支持的選手加油
這場羊頭招牌狗肉攤上的“電競賽事”,似乎用事實給我們展示了Excel這款軟件和電競、游戲間的遙遠距離,但事實真是這樣嗎?
1
在我們普通人眼中,Excel這個微軟Office全家桶中的一員,似乎就只是一個用來建表格的專職軟件,功能垂直且單一。而在真正精通者的手中,要用它制作一款游戲其實并沒有多少技術上的鴻溝——它就是隱藏在我們每一臺PC上的“青春版”游戲引擎。
能成為游戲制作工具,Excel強大的圖形處理能力功不可沒。這一個個能隨意調整的方格,天然就是一張像素畫畫布。
格子間出沒的社畜們應該或多或少都和Excel纏斗過,或許無聊時會偶爾給格子填填色、畫點什么寫點什么。而對于更專業(yè)的像素畫師來說,即使現(xiàn)在有越來越多更全面、更專業(yè)的像素畫軟件誕生,但Excel依然是一款好用的像素畫工具,仍被他們中的許多人當作生產力工具在使用。
《王國之心》系列的Roxas,By:ignite25
除了最直觀的像素畫之外,Excel還靠著“插入任意多邊形”和“3D圖形繪制”這兩個強大的功能,同樣具備了拓展其他繪圖領域的潛力。
不管是日漫風格的立繪圖,擬真風格的風景畫,還是3D建模的真實系繪畫,都在它的射程范圍內。再加上對Flash動畫的插入支持,一款游戲引擎的圖形功能它也就被它掌握得七七八八了。
Excel繪制的跑車模型,By:Patrick
Excel的圖形能力固然強大,而真正能讓它與游戲引擎一比的,還是它背后對編程語言的支持。
VBA(Visual Basic for Applications)是Excel全面支持的一種編程語言,準確來說它是基于VB語言的宏語言,原本是微軟開發(fā)用來實現(xiàn)辦公自動化服務的。從名字中的“Visual”也能看出,可視化是這個語言的重要特點,它誕生的一大標準就是“簡單”,不用太多編程基礎就能輕松上手。
因此可能你并沒有在“誰是天下第一語言”的爭論中聽過它的名字,但使用它的人群其實并不算少。遠遠比不上屠龍之技,但酷暑時節(jié)學來打打蚊子絕對夠用。
可以直接在Excel中處理代碼,邏輯、數(shù)據(jù)和圖形就能輕松綁定到一起,這些圖形變成游戲的最后一步也就得以實現(xiàn)。簡單地使用VBA和圖形功能,已經(jīng)足夠制作出許多游戲的雛形。而對于更精通的高手來說,通過插件實現(xiàn)更多功能,讓它變成一個功能齊全的游戲引擎也完全能做到。
一款Excel上的《2048》游戲,能在3D版和2D版中自由切換
Excel擁有如此接近游戲引擎的功能,發(fā)現(xiàn)的人自然不會少,好在其中除了有我這樣的空想家外還有不少實踐者,才誕生了眾多“Excel平臺獨占游戲”。
2
說起“Excel平臺獨占游戲”,可能許多人早就聽說過其中一款。這個游戲不是由用戶開發(fā),而是一個能稱為“Excel2000的護航大作”的彩蛋——一個通過“作弊秘籍”呼出的Excel賽車游戲。
在Excel2000中,通過把新建表格另存發(fā)布為Web頁、勾選交互選項并保存、通過IE瀏覽器打開文件并點擊第2000行第WC列的那一格,最后同時按住Ctrl、Alt、Shift按鈕再點擊Office圖標,就能成功呼出游戲。
在短暫的全屏切換后,進入到這個彩蛋游戲中的玩家可以在一條公路上漫無目的地駕駛汽車,能撞擊其他汽車也能放出油漬來干擾它們。如果在游戲中留心觀察,還會發(fā)現(xiàn)公路上寫著的單詞是一個個名字,他們正是這一版Excel的幕后開發(fā)者。
在此前發(fā)布的Excel95和Excel97中,也分別有兩個藏有開發(fā)者名單的彩蛋,而直到這一作才第一次以游戲的形式展現(xiàn)出來,就此成為了許多人小時候計算機課上的回憶。
當時誰最先掌握這套呼出方法,那他就是同學中的香餑餑
這些用游戲來刻下自己姓名的開發(fā)者,或許自己也不曾想到,他們這款辦公軟件的游戲之路并沒有就此結束,反而在之后成為了許多開發(fā)者的一大選擇,甚至成為了諸多經(jīng)典作品的“移植平臺”。
如果沒有游戲源代碼,那么復刻一款游戲的難度就取決于它的規(guī)則復雜程度。諸如《Monopoly》《數(shù)獨》等邏輯性強表現(xiàn)力弱的游戲,自然成了Excel游戲的移植首選。同時因為Excel辦公軟件身份的隱蔽性,摸魚黨想要劃水的需求也成為了開發(fā)的動力,讓這類游戲在Excel上的版本格外多。
許多經(jīng)典主機老游戲的邏輯雖然更復雜,但在情懷的推動下這點難度自然算不了什么,也讓它們也成為了Excel平臺移植的常客。于是《塞爾達傳說》《超級馬力歐兄弟2》《文明》《勇者斗惡龍》等游戲紛紛登陸,都有著完成度很高的Excel版本。
2013年在Excel上獲得“復刻”的《塞爾達》:《亦可塞爾達(Excelda)》
既然這么多成熟的游戲都在Excel上證明了它作為引擎的可能性,懷著原創(chuàng)熱情的開發(fā)者自然也不會缺席,《Arena.Xlsm》就是其中知名度最高的作品之一。從它標題的后綴就能看出,這是一款專為Excel打造的獨立游戲。
這款游戲是一個俯視角的傳統(tǒng)RPG,畫面比較粗糙,但玩法設計卻很細致。根據(jù)作者主頁的介紹,游戲有著超過2000種不同AI的敵人、31種法術、39種道具模型、8場不同的BOSS戰(zhàn)和4個不同的故事結局,聽起來已經(jīng)相當豐富。更讓人沒想到的是,游戲內還有積分排行榜功能和100個不同的成就,而這些全都是在Excel中實現(xiàn)的。
《Arena.Xlsm》最初開發(fā)于2012年,在這么多年后的WIN10系統(tǒng)里,依然能完美運行它。只要正常安裝了Excel的宏功能,就能在Excel 2007以上的版本上開始游戲。
游戲實機上手非常流暢,只是偶爾會有“卡頓”這個Excel游戲共有的通病。角色的加點升級、豐富的道具和技能、以及時不時插入的劇情介紹,都讓游戲具有不低的可玩性。
如果它簡陋的符號化美術風格能獲得升級,相信能感受到它獨有魅力的人會更多,但可惜這款游戲的開發(fā)者Cary Walkin并不擅長美術,因此他把游戲系統(tǒng)完善升級到1.3版本后就停止了更新。
《Arena.Xlsm》游戲中的技能界面,不算平衡但已相當豐富
Cary Walkin是一名加拿大的注冊會計師,開發(fā)這款游戲時他正在攻讀自己的MBA學位。因為自己是一名《EVE》玩家,游戲時也經(jīng)常會使用Excel來輔助游戲,所以他在一門相關課程的練習中突然想到:與其建立乏味的期權模型,不如用Excel來制作一款復雜的游戲,也能達到同樣的練習效果。
就這樣,《Arena.Xlsm》誕生了。據(jù)Cary Walkin的個人主頁統(tǒng)計,至今已有超過60萬人次下載游玩過這個游戲。
“我對電子游戲有著熱情,任何游戲相關的東西都比稅務要好”,Cary Walkin曾在采訪中作為游戲開發(fā)者這樣說。
3
距離Cary Walkin說出這句話已經(jīng)過去了8年,如今“對游戲更有熱情”的他,還是選擇成為了一名金融從業(yè)者。
完成《Arena.Xlsm》的第二年,他又在Excel上制作了一款扮演《糖果傳奇》開發(fā)商的模擬經(jīng)營游戲,游戲反響不錯但卻沒能再獲得前作那么高的關注度,他的游戲從業(yè)經(jīng)歷也就此停在了這一年。
Cary Walkin的第二款作品《Candy Number Crunch Saga》游戲畫面
用Excel開發(fā)游戲,終究是一件吃力不討好的事。國內曾有一款《Excel三國殺》風靡一時,不過在獲得足夠知名度后,開發(fā)者們還是選擇了離開這個平臺,盡管它們此后的游戲標題中仍然含有“Excel”字樣。
畢竟Excel不是專業(yè)的游戲開發(fā)引擎,辦公軟件的框架限制給開發(fā)和游玩都帶來了很多不便。選擇更好的平臺、開發(fā)更好的游戲,這本就是無可厚非的事。但就算這樣,也依然有人沒做出這個選擇。
在B站有一個ID為“hongyunggg”的UP主,從2018年開始就在嘗試用Excel制作《王者榮耀》。他的視頻點擊量從沒突破過100,游戲做得也遠不如上面提到的那些高手作品。
不過從2018年12月29日的第一個視頻開始,他就在周期性地不斷更新他的游戲版本視頻,很明顯能感受到他游戲質量的提升,不管是圖形畫面,角色技能、AI、界面,還是音效動效等細枝末節(jié)處。
直到今年5月底,他依然在視頻下方回復著觀眾的相關技術問題,相信現(xiàn)在他還在繼續(xù)著這個項目,即使這份努力并沒有得到太多人的認可。
Hongyunggg演示視頻中的游戲畫面,上為2018年版、下為2021年版
跟hongyunggg一樣的無名作者我相信還有很多,他們能一直堅持,追求的應該不只有那份他人的認可——愛好從來不是為了取悅他人。別人眼中的“沒意義”能照亮自己的一方小世界就夠了,這也是有這么多“Excel獨占游戲”誕生的原因。
成不了游戲引擎的Excel背后,應該也會一直站有這群,不一定能成功的Excel游戲制作者。
參考資料:
https://carywalkin.ca/
https://en.wikipedia.org/wiki/Visual_Basic
https://www.wikihow.com/Play-a-Car-Race-in-Excel-2000
EVE-NG簡單入門介紹
此篇文章簡單的介紹下模擬器EVE-NG的使用,具體包括Dynamips設備導入與運行,IOL設備的導入與運行,QEMU設備的導入與運行,客戶端軟件的安裝,物理網(wǎng)絡與虛擬網(wǎng)絡的結合等。
一.導入鏡像
Dynamips是由法國人Chris Fillot于2005年發(fā)布的用于模擬Cisco設備的模擬器,它可以運行標準的IOS鏡像,雖然此模擬器比較陳舊,但仍然有很多網(wǎng)工愿意使用。EVE-NG支持Cisco IOS 1710、3725與7206,這些鏡像可從思科官網(wǎng)或互聯(lián)網(wǎng)上下載到。推薦使用WinSCP向EVE-NG服務器上傳鏡像,WInSCP具體使用方法不多敘述,將下載好的.bin文件拖至服務器/opt/unetlab/addons/dynamips/目錄下,然后重命名此文件,后綴改為.image。接下來修正權限,作用是保證Dynamips對于這個鏡像有讀取權限,運行SecureCRT或直接在虛擬機上操作,運行命令/opt/unetlab/wrappers/unl_wrapper -a fixpermissions修正權限。接下來是計算idle值,Dynamips是個模擬器,會在x86平臺下模擬思科的CPU,所以要對虛擬的CPU指令翻譯成可在x86下執(zhí)行的指令,idle值用來記錄虛擬CPU何時不工作,這樣就可以在它不工作時停止翻譯,降低CPU利用率。控制臺執(zhí)行命令dynamips -P 3725 /opt/unetlab/addons/dynamips/鏡像名,模擬器會加載此鏡像并顯示啟動過程,進入后同時按Ctrl+]鍵,松手后按i鍵,便會計算idle值,計算完畢后記錄下,然后按Ctrl+]鍵回到控制臺。接下來此鏡像就可以在EVE-NG的Web界面中使用了。
由于EVE-NG是基于linux的Ubuntu系統(tǒng)實現(xiàn)的,所以了解Linux基礎知識與命令十分重要,在此推薦《Linux就該這么學》這本書來了解并學習Linux基礎知識。
IOL為IOS on Linux的簡寫,可以運行在基于x86平臺的任意Linux發(fā)行版系統(tǒng)上,支持交換機高級特性,占用資源更少,啟動快等優(yōu)點。IOL在思科官方是不提供下載的,需要在網(wǎng)上自己尋找資源。運行IOL需要兩個文件,一個是以bin為后綴的鏡像,一個是以iourc為名的license文件,iourc是通過名為CiscoIOUKeygen.py的工具自動生成的。接下來把兩個文件拖入/opt/unetlab/addons/iol/bin/中,然后修正權限/opt/unetlab/wrappers/unl_wrapper -a fixpermissions。操作完成后即可進入Web界面測試使用。
QEMU可以幫助EVE-NG運行更多的虛擬設備,完成復雜實驗,越來越多的設備商開始開發(fā)并釋放出適配KVM環(huán)境的系統(tǒng),EVE-NG可以協(xié)助qcow2鏡像運行更多設備,提高可玩性。EVE-NG需要QEMU鏡像的后綴名為qcow2,該文件本質是一個操作系統(tǒng)的虛擬硬盤文件,正因如此,可以通過自己手動制作鏡像。首先在各個廠家官網(wǎng)中查找qcow2鏡像,并且要拖入指定目錄中,EVE-NG對目錄和文件名有要求,可以到官網(wǎng)http://www.eve-ng.net/documentation/images-table中查看。接下來仍然是修正權限/opt/unetlab/wrappers/unl_wrapper -a fixpermissions。
二. 集成客戶端軟件包
EVE-NG最大特色就是借助HTML5實現(xiàn)去客戶端化,但畢竟實現(xiàn)的功能只是管理設備,諸如抓包等功能無法實現(xiàn),所以需要通過本地終端軟件去管理設備。EVE-NG官方提供了一個客戶端集成軟件包,里面包含PuTTY,UItravnc和Wireshark,只要安裝此軟件包并導入注冊表文件,就能正常使用。進入http://虛擬機ip/files/windows.zip,下載該文件,解壓后編輯wireshark_wrapper.bat,確認好用戶名密碼,并修改一下wireshark的程序路徑,然后將整個UNetLab文件夾放入C:\Program Files下,運行win7_64bit_wireshark.reg注冊。
三. 物理網(wǎng)絡與虛擬網(wǎng)絡的結合
在EVE-NG中,網(wǎng)絡結合必不可少,實現(xiàn)此功能需要橋接技術。橋接可以將兩個或多個網(wǎng)卡在邏輯層面接入到同一局域網(wǎng),這樣虛擬設備就可借助自身物理網(wǎng)卡去訪問真實物理網(wǎng)絡。在Lab拓撲中添加Network時有多個選項,分為兩類,一類是Bridge,一類是Cloud,這些都顯示為虛擬網(wǎng)橋,并有不同的用途。Bridge僅作用于內部,為節(jié)點對象互聯(lián)互通,可以理解為傻瓜交換機。Cloud0為橋接到EVE-NG的第一塊網(wǎng)卡,以此類推。如果將虛擬設備節(jié)點連接到Cloud0中,那么此節(jié)點就會被橋街道EVE-NG的第一款網(wǎng)卡。虛擬機中有三種網(wǎng)絡模式,Bridge默認使用VMnet0虛擬網(wǎng)卡,NAT模式使用VMnet8網(wǎng)卡,Host-Only使用VMnet1網(wǎng)卡。Bridge模式中是將宿主機和虛擬機都連到VMnet0網(wǎng)卡上,虛擬機直接鐮刀物理網(wǎng)絡,并和宿主機在同一網(wǎng)段,共同訪問物理網(wǎng)絡。NAT模式默認打開DHCP與NAT服務,連接到此模式的虛擬機在訪問物理網(wǎng)絡時,源地址都會被翻譯成宿主機的物理網(wǎng)卡ip。如需實現(xiàn)物理網(wǎng)絡訪問NAT下的虛擬機,需要在宿主機設置端口轉換。Host-Only模式下的虛擬機可以互相通信,但不能訪問物理網(wǎng)絡。
EVE-NG的使用方法就簡單介紹到這,此款模擬器功能強大,更多的功能需要各位自己學習和探索。