發佈HTML5 RTS遊戲-古代戰爭

古代戰爭

遊戲介紹

「古代戰爭」是一個2.5D即時戰略遊戲,使用了帝國時代2的素材,並參考了它的遊戲設計和玩法。
遊戲基於YEngine2D引擎開發,具有生產、建造、資源採集、戰鬥、地圖迷霧等RTS核心要素。
GitHub地址html

最新版本

v0.2ios

遊戲演示

在線演示git

遊戲截圖

功能介紹

一、地圖
a)背景地圖
背景地圖大小爲90×90,地形方塊有草原、沙漠、河流、道路四種類型,其中精靈不能經過河流方塊,能夠經過其它三種方塊。
遊戲中經過拼接菱形方塊,來即時生成菱形背景地圖。
b)小地圖
遊戲右下方有小地圖,玩家可直接在小地圖上移動視口、下達框選單位的移動和移動攻擊的命令。
c)視口移動
玩家能夠經過鼠標移動來使當前視口移動,從而顯示背景地圖的不一樣區域,即進行地圖滾動。
由於背景地圖爲菱形,爲了防止玩家滾動到地圖外,當玩家在地圖邊緣滾動時,視口會與菱形地圖平行移動。
二、加入實體
遊戲中精靈實體分爲地形、資源、建築和單位這四種類型。其中「山」爲地形類型,「肉」爲資源類型,「基地」、「射擊場」和「箭塔」爲建築類型,「農民」和「弓箭手」爲單位類型。
a)顯示
地圖上能夠顯示實體和實體的精靈動畫。選中建築或單位實體時,會在地圖上顯示它們的血條和菱形方框,並在遊戲面板上顯示實體信息。
b)操做
能夠對資源、建築和單位實體進行操做。操做分爲單個實體操做和多個實體操做。
玩家經過鼠標能夠對單個建築或單位實體下達命令,從而實現實體操做。如玩家能夠選中單個建築,進行生產操做;也能夠選中單個單位,而後使用鼠標右擊地圖,使單位移動到該處;還能夠選中己方單位,而後右擊一個敵方單位,使其攻擊敵方單位。
玩家能夠經過拖動鼠標來框選多個單位,進行移動、攻擊操做;還可使用shift鍵,來選中或取消建築或單位實體。
三、關卡
遊戲有1個關卡,關卡有通關條件和失敗條件,關卡經過或失敗都直接結束遊戲。
a)關卡設計
可在levelData.js腳本中編輯關卡有哪些精靈實體、關卡加載的資源、調用的觸發器等,可在trigger.js中編輯關卡的觸發器。
b)資源加載與管理
在開始每一個關卡時,遊戲會首先加載當前關卡所需的資源,並將加載的資源保存在引擎容器中。
c)觸發器
觸發器是經過遊戲事件的機制來實如今特定時間或特定條件下,觸發特定的動做。遊戲經過觸發器機制實現基本的關卡AI。
四、移動
單位實體能夠在地圖中移動,其採用A Star算法來靜態尋路,採用Steer算法和A Star算法來動態尋路
五、採集資源
玩家須要經過農民採集資源樹並運送到基地來增長「肉」這個資源。每一個資源樹總數有限,農民一次只能採集有限的資源,運送到基地後玩家才能得到資源。建造和生產實體都須要花費資源。
六、建造
農民能夠建造建築,玩家選中農民建造時會有建造框提示,不能建造在不可經過的地形上或迷霧中。
多個農民能夠建造同一個建築,這會使建造速度加快。建造時遊戲面板中會顯示建造進度信息,而且不一樣的建造進度會在地圖上顯示不一樣的建造效果圖片。
七、生產
基地能夠生產農民,射擊場能夠生產弓箭手。
玩家能夠點擊建築生產多個單位。同一時間建築只能生產一個單位,其他單位會排隊等待生產。
生產時會在遊戲面板中顯示進度信息。
八、戰鬥
遊戲中實體分爲藍色實體和紅色實體,其中藍色實體屬於玩家所在的陣營,紅色實體屬於敵方陣營。玩家可控制己方單位攻擊敵方單位。
攻擊類型分爲遠程攻擊和近戰攻擊,其中弓箭手爲遠程攻擊,農民爲近戰攻擊。
弓箭手發出的弓箭軌跡爲拋物線,遊戲會根據目標的前進方向和速度計算弓箭的目的地。
九、迷霧
遊戲中玩家己方單位和建築有必定的視線範圍,在視線範圍內是可見的,能夠看到全部的實體;而在視線範圍外,則只能看到背景地圖,不能看到敵方實體。
遊戲地圖區域分爲可視區域、已探索區域、未探索區域,其中位於玩家單位和建築視線範圍內的區域爲可視區域,能夠看到玩家和敵人的單位和建築;玩家單位探索過的地圖區域爲已探索區域,能夠看到地形、敵人建築;其他地圖區域爲未探索區域,爲一片黑色,什麼都看不到。
十、聲音
開始關卡前會加載單位和建築的音效。
這裏值得說明的是有些音效是局部的,只有當發出該音效的單位或建築位於視口中時纔會播放;有些音效是全局的,會直接播放。github

關卡介紹

目前只有一關,玩家須要消滅地圖上全部的敵人。算法

升級計劃

  • 修復遊戲bug
  • 改進遊戲功能、用戶體驗,優化遊戲性能
  • 增長遊戲可玩性,增長更多的單位、建築和關卡
  • 優化地形,增長每種地形的方塊種類,實現相鄰地形的自動拼接
  • 實現多人聯網
  • 開發移動版,可在安卓和ios上運行
  • 重構代碼,優化性能
相關文章
相關標籤/搜索