2024年春天,一位好友聯絡我,說他聽說有個機會可以幫忙完成北京一個公園的增強實境巴士導覽。他得到的印象是,加州的客戶正處於困境,並且透過轉介提到了我們雙方都認識且尊敬的人。
過去我曾為The Mill和IDEO的AR巴士投標提供顧問服務,對AR巴士涉及的眾多難題非常了解。我很想知道這些人是如何解決這些問題的,於是在初次通話中我表明了這點,但他們閃爍其詞。這是我第一次警覺到事情不太對勁。
我們簡短討論了專案性質及他們的需求,並同意我會盡快申請工作簽證,前往中國待一個月。幸運的是,我之前的專案簽證仍有效,於是我立刻出發。
抵達後,我發現專案一團糟。多位非常初級的開發者在操作二進位檔和TouchDesigner代碼,並用隨身碟直接部署到生產環境,完全沒有版本控制,甚至不知道版本控制是什麼。
他們試圖在巴士的透明OLED窗戶上實現AR效果,卻未考慮鏡頭畸變、視野、視差、遮擋等問題,當畫面不對齊時感到困惑和挫折。他們對深度和比例提示完全陌生,不知道如何應用。
他們的陀螺儀軸心翻轉,巴士的俯仰角在虛擬內容中產生相反反應。GPS非常不可靠(因為在中國),且沒有替代方案。
渲染流程將所有內容(包括渲染結果)繪製到全螢幕四邊形,再用alpha通道進行基本合成並重新渲染,層數超過35層,使用alpha轉透明。他們的消費級風冷遊戲電腦進氣口直接暴露在巴士外的灰塵空氣中。消費級OLED面板在陽光直射下過熱。設備架是一個放在乘客座位上的中密度纖維板架子,巴士行駛在坑洞泥路上不停顛簸。代碼是最糟糕的節點式混亂結構,完全不考慮可讀性、可維護性或標準,這正是人們討厭節點式編程的原因。
他們連自己賣給客戶、工作多年卻延遲且超支的基本功能都無法交付,更別說那些他們一直向客戶承諾的炫酷效果了。
他們是自以為是的業餘者,憑藉一位曾經的VJ的建議,認為自己能完成我曾兩次協助報價、由一群數學和技術高手以高昂價格完成的專案。他們完全不自量力,也不願根據現實調整認知。
辦公室裡靜靜迴響著他們未曾聽過的答案:「亂搞就會知道有多難。」他們陷入未知的深淵,淹沒在傲慢中。
我相信自己非常有耐心。
我建議他們測量鏡頭內參以校正影像,建議他們實施任何色彩科學,建議他們多裝一台巴士攝影機,讓我能在辦公室而非炎熱的巴士上處理攝影機問題。我懇求他們讓我重建渲染流程,讓它不再瘋狂。我懇求他們在將這個alpha版本推向剩餘約20輛巴士前,先標準化Windows版本。
我要求他們實施版本控制,並示範它如何節省時間,使部署到巴士的過程即時、可比較、可逆,分支管理能讓功能開發不影響穩定版本。
我違背直覺和反對意見,定期放棄這些必要的改進,去做一些華而不實的特效,比如序列粒子效果和閃爍動畫,這些都是他們口頭簡述給我的,沒有動畫分鏡或參考圖像。他們催促我當天完成以供客戶審查,結果客戶多次公開表達不滿,因為成果與預期不符。
當我察覺這情況時,我婉轉建議客戶建立一套新工作流程,從低到高逐步提升品質,並在每階段有固定修訂次數和明確客戶簽核。
我處理了一個棘手情況,發現一位初級開發者暗中虐待另一位同事。
我連續24天每天工作11到14小時,沒有休息。我使用自己的設備——深度攝影機(我自備,這是我過去娛樂圈經驗養成的習慣)、筆電、軟體授權。所有費用我自掏腰包。
我帶著因泰拳受傷而嚴重發炎的手腕來工作,過程痛苦難忍。他們知道這點,還買了中國虎標膏藥給我。
我錯過了5月與兩歲孩子相處的時間,妻子獨自照顧孩子。
我只收到不到合約金額四分之一的訂金。我全憑信任做這一切。信任是,他們會付錢給我——劇透一下,他們沒有。幾年後我可以確定,這些人不會付我欠的3.5萬美元。
信任是,如果他們付不起錢,會告訴我,因為我正不辭辛勞、專業地幫他們解決問題,沒有抱怨。
信任是,如果不付錢,法律會執行我們的加州法律合約,讓他們付錢。
我聘請了催收公司,他們走了常規的催款流程,最後告訴我起訴不明智,債務人可能直接關門解散公司。
我將承擔這筆損失。
現在我知道這聽起來像是在抱怨,我想到目前為止確實如此。建設性的問題是:「既然已經碰到爐火,我們學到了什麼?」