《星辰牧歌》開發程式紀錄
這遊戲一開始的名字叫“星際牧羊人”,是一個在“太空”場景中放羊的遊戲。
跟很多別的點子一樣,這個也是一時興起就開始做了。
靈感
那是 2021 年的某一天,我在一個獨立遊戲開發群裡看到有人發了一張圖:
這是 2021 年 Ciga Game Jam 的主題圖。
世界上 Game Jam 的主題五花八門,所以這樣的主題也算不上奇葩。
我沒有參加過 Game Jam,主要是真沒那個時間,不過那時我突然認真,開始假裝參與其中。
群友說:這個圖的大概意思就是“回到正軌”,令我恍然大悟!
我以為做 Game Jam 都是從概念出發的,所以並沒有理會圖中的火車。
想了一下,我覺得"牧羊人決定羊群的走向"可能會是個不錯的主意。
很多人在做獨立遊戲時都想在概念設計上跳脫一個固有的概念,我也不例外,我想的是:這次牧羊人不出現在童話裡,而是出現在太空冒險故事裡。
視覺概念設計
先別想太多,該動手了,先畫點概念:
標題畫面大概這樣,牧羊人戴了個面具,還拿著一杆槍。
抱歉,這就是我真實的畫畫水平……
而且這槍不是用來打狼的,是用來趕羊的:
這些羊皮糙肉厚(電子羊?),你可以用槍打它們,不讓它們亂跑,通過射擊的方式控制它們走向終點:一艘圓滾滾的大飛船。
那麼羊是從哪裡來的呢?
答案是這裡:異空間之門(咻咻)。
可是要形成一個玩法,就需要製造一種阻礙。
我將地形設計為懸崖。這樣如果你趕羊不利,控制不好,羊就會墜崖。
你需要將盡可能多的羊趕上飛船。
畫面現在看感覺有點像塔防?在大部隊移動這一點上是有點點像的。
不過它更像個射擊遊戲,我已經想好了主角的各種武器。
說到主角,作為牧羊人騎上馬應該是很符合常理的事情,所以我給她設計我最愛的懸浮摩托~
而既然有羊,就可以有狼,這樣遊戲的挑戰性就增加了,敵人可以很多種,比如這種大青蛙,舌頭一卷,一隻羊下肚:
以上都是我在一些碎片時間(比如在陪女兒上興趣班時)用 Pixaki 畫的。
美術風格與規格
在美術實現上,這次主要還是用畫素畫,對我來說實現起來比較快!
設計解析度為 360x180,高清的 1/6 鏡頭可整數倍拉遠,這麼低的解析度,實現起來快!
造型儘量使用色塊實現,實現起來快!
調色盤選 8 色的 NYX8
對我這種功底不強的人來說,選色不糾結,就是為了實現起來快!
黑色做陰影,淺黃色做光,冷色系做場景,暖色系做天空和羊,紫色做其它會動的物體。
視覺上各自區域涇渭分明。
現在的色塊造型已經到了雅達利級別,小了基本看不到細節,也就剩個輪廓,然而又畫歪歪扭扭的,充滿了塗鴉和粗糙感。
我不確定最終會不會改,畢竟一改味道可能就變了!
故事
星際放羊這件事情,得好好的圓一下:
羊為什麼能在密集的火力下毫髮無損?可以有兩種解釋:
1:槍是特殊的槍
2:羊是特殊的羊,有可能是電子羊。
羊從哪裡來的?是從另外一個空間傳送過來的。
有這麼一個異空間:人類進不去,羊能進去。
這個空間裡有一種極為珍貴的特殊物質,這種物質會附著在羊會吃的食物裡。
人類放牧的目的就是為了得到這種珍貴的物質。
而牧羊人更像是賞金獵人。他們會領取羊群迴歸的座標和時間點,乘坐飛船去將羊群接回,任務完成後得到一筆豐厚的獎金。
主角是一位牧羊女,每個任務是一個關卡,獲得的獎金可以用來購買裝備,沒有隨機生成要素。
上手製作
我屬於那種沒辦法把方案寫完整想透徹就急於動手的人,只有趕緊驗證一些想法才能夠繼續下去。實際上,在畫了一些概念後,我就著手建立目錄了。
引擎使用的是 Godot。
先把主角做出來:
W A S D 控制移動,但不做 8 方向或 4 方向的素材繪製,比較快。
滑鼠控制瞄準方向。這種遊戲叫做雙搖桿射擊遊戲。
這個遊戲八字才有了一撇的時候,我便有了一個大膽的想法:
這個遊戲如果在主機上推出,那不是要解決好手柄控制的問題?
畢竟是個雙搖桿射擊遊戲。
稍微嘗試了一下,實現是沒問題,但是還是比不上滑鼠的操作體驗,以後再深究吧。
繞過一些技術挑戰
領頭羊的概念:羊會跟著前面的羊的行進路線,這樣只要控制好前面的那頭羊就能控制整個羊群。這個暫時沒法實現,而且,遊戲也許會變得更簡單了。
大規模敵人以及很多子彈的情況:在現有技術下,還是不能很好的保證效能,在桌上型電腦上沒問題,但是到移動裝置上估計就夠嗆了。
玩家
在製作的這段時間裡,我將進度發到 B 站動態裡。有網友建議用電波代替子彈,因為用子彈打羊比較違和,這建議聽起來挺合理,但我想了一下,還是沒決定要改……
自己的第一意像挺難更改的。
值得考慮的還有這遊戲的基調,到底是不是該嚴肅點,是該好好考慮一下。
小目標
我想做一段時間,基本的機制都實現了,就放出一個比較正式的 demo,看看有沒有感興趣的玩家,現在到了 10 月底,我覺得這個目標已經實現了。
然後收手,有想法就先記下來,繼續回填前面兩個遊戲的坑。
然後可能有時間就新增一些關卡,再次重啟的時候我會:
實現商店機制 (Shop)
構建完成主體關卡,並讓關卡視覺呈現自然,呈現出一定的設計感 (Level Design)
完成故事部分內容 (Story)
完善建立各種角色 (Character)
實現場景中的情節對話機制 (Dialog)
過場動畫 (Custscene)
細化操作體驗 (UX)
完善 (UI)
下次如果繼續更新,我會介紹一些詳細的設計內容包括:
羊群的設計實現
武器系統
懸浮摩托的機制
飛船降落橋段
以及其它各種機制實現和設想
最後,附上游戲試玩地址:<https://bitca.itch.io/star-shepherd>
來源:INDIENOVA
原文:https://indienova.com/indie-game-news/development-of-star-shepherd
相關文章
- 寒武紀演算法開發崗位二面手撕程式碼題目記錄演算法
- 紀律造就開發高手
- 基於 Github API 的圖床 Chrome 外掛開發全紀錄GithubAPI圖床Chrome
- 原生微信小程式開發記錄微信小程式
- 前端開發程式碼模版收錄前端
- 紀錄片《Code Rush》
- 微信小程式開發記錄_03_開發指南_小程式程式碼組成微信小程式
- Caffe學習紀錄01
- 備份指令碼--紀錄指令碼
- ESSBASE 安裝全紀錄
- 《黃錄 • 大黃本紀》
- 使用chrome開發程式,自動重新整理開發目錄Chrome
- 用程式碼構建星辰大海
- 快應用之開發體驗紀要
- 微信小程式開發記錄_01程式碼構成微信小程式
- 2017年程式設計師必看的紀錄片程式設計師
- 那些開源與科技的紀錄片(上)|Open Source Prism
- 世界紀錄模板原始碼+Wap原始碼
- 紀錄片《中國遊戲紀事》首映會順利舉辦遊戲
- 開發記錄
- Tom寫的show_space過程---紀錄每條紀錄及表資料大小 (zt)
- 暑期觀影 / 紀錄片推薦
- GameFi鏈遊開發引領遊戲新紀元GAM遊戲
- 觀紀錄片《監視資本主義——智慧陷阱》有感而發AUV
- Linux程式開發中如何判斷目錄是否為根目錄?Linux
- 記錄一次OCR程式開發的嘗試
- 基於 Angular 開發的 紀念日計算工具Angular
- Vite外掛開發紀實:vite-plugin-monitor(上)VitePlugin
- Vite外掛開發紀實:vite-plugin-monitor(下)VitePlugin
- 大型紀錄片《網際網路時代》
- [新手開發記錄] 從測試開始開發
- 天合光能重新整理210 i-TOPCon電池效率紀錄,第23次創世界紀錄
- 微信小程式開發記錄02_執行機制微信小程式
- 微信小程式開發相關記錄(2017.07.25)微信小程式
- OpenHarmony SystemUI開發記錄SystemUI
- PL/SQL開發記錄SQL
- 開發 備忘錄 - 雜
- 程式媛成長紀:從DBA到研發工程師工程師