發布HTML5 RTS游戲-古代戰爭
古代戰爭
游戲介紹
“古代戰爭”是一個2.5D即時戰略游戲,使用了帝國時代2的素材,并參考了它的游戲設計和玩法。
游戲基于YEngine2D引擎開發,具備生產、建造、資源采集、戰斗、地圖迷霧等RTS核心要素。
GitHub地址
最新版本
v0.2
游戲演示

功能介紹

1、地圖
a)背景地圖
背景地圖大小為90×90,地形方塊有草原、沙漠、河流、道路四種類型,其中精靈不能通過河流方塊,可以通過其它三種方塊。
游戲中通過拼接菱形方塊,來即時生成菱形背景地圖。
b)小地圖
游戲右下方有小地圖,玩家可直接在小地圖上移動視口、下達框選單位的移動和移動攻擊的命令。
c)視口移動
玩家可以通過鼠標移動來使當前視口移動,從而顯示背景地圖的不同區域,即進行地圖滾動。
因為背景地圖為菱形,為了防止玩家滾動到地圖外,當玩家在地圖邊緣滾動時,視口會與菱形地圖平行移動。
2、加入實體
游戲中精靈實體分為地形、資源、建筑和單位這四種類型。其中“山”為地形類型,“肉”為資源類型,“基地”、“射擊場”和“箭塔”為建筑類型,“農民”和“弓箭手”為單位類型。
a)顯示
地圖上可以顯示實體和實體的精靈動畫。選中建筑或單位實體時,會在地圖上顯示它們的血條和菱形方框,并在游戲面板上顯示實體信息。
b)操作
可以對資源、建筑和單位實體進行操作。操作分為單個實體操作和多個實體操作。
玩家通過鼠標可以對單個建筑或單位實體下達命令,從而實現實體操作。如玩家可以選中單個建筑,進行生產操作;也可以選中單個單位,然后使用鼠標右擊地圖,使單位移動到該處;還可以選中己方單位,然后右擊一個敵方單位,使其攻擊敵方單位。
玩家可以通過拖動鼠標來框選多個單位,進行移動、攻擊操作;還可以使用shift鍵,來選中或取消建筑或單位實體。
3、關卡
游戲有1個關卡,關卡有通關條件和失敗條件,關卡通過或失敗都直接結束游戲。
a)關卡設計
可在levelData.js腳本中編輯關卡有哪些精靈實體、關卡加載的資源、調用的觸發器等,可在trigger.js中編輯關卡的觸發器。
b)資源加載與管理
在開始每個關卡時,游戲會首先加載當前關卡所需的資源,并將加載的資源保存在引擎容器中。
c)觸發器
觸發器是通過游戲事件的機制來實現在特定時間或特定條件下,觸發特定的動作。游戲通過觸發器機制實現基本的關卡AI。
4、移動
單位實體可以在地圖中移動,其采用A Star算法來靜態尋路,采用Steer算法和A Star算法來動態尋路
5、采集資源
玩家需要通過農民采集資源樹并運送到基地來增加“肉”這個資源。每個資源樹總數有限,農民一次只能采集有限的資源,運送到基地后玩家才能獲得資源。建造和生產實體都需要花費資源。
6、建造
農民可以建造建筑,玩家選中農民建造時會有建造框提示,不能建造在不可通過的地形上或迷霧中。
多個農民可以建造同一個建筑,這會使建造速度加快。建造時游戲面板中會顯示建造進度信息,并且不同的建造進度會在地圖上顯示不同的建造效果圖片。
7、生產
基地可以生產農民,射擊場可以生產弓箭手。
玩家可以點擊建筑生產多個單位。同一時間建筑只能生產一個單位,其余單位會排隊等待生產。
生產時會在游戲面板中顯示進度信息。
8、戰斗
游戲中實體分為藍色實體和紅色實體,其中藍色實體屬于玩家所在的陣營,紅色實體屬于敵方陣營。玩家可控制己方單位攻擊敵方單位。
攻擊類型分為遠程攻擊和近戰攻擊,其中弓箭手為遠程攻擊,農民為近戰攻擊。
弓箭手發出的弓箭軌跡為拋物線,游戲會根據目標的前進方向和速度計算弓箭的目的地。
9、迷霧
游戲中玩家己方單位和建筑有一定的視線范圍,在視線范圍內是可見的,可以看到所有的實體;而在視線范圍外,則只能看到背景地圖,不能看到敵方實體。
游戲地圖區域分為可視區域、已探索區域、未探索區域,其中位于玩家單位和建筑視線范圍內的區域為可視區域,可以看到玩家和敵人的單位和建筑;玩家單位探索過的地圖區域為已探索區域,可以看到地形、敵人建筑;其余地圖區域為未探索區域,為一片黑色,什么都看不到。
10、聲音
開始關卡前會加載單位和建筑的音效。
這里值得說明的是有些音效是局部的,只有當發出該音效的單位或建筑位于視口中時才會播放;有些音效是全局的,會直接播放。
關卡介紹
目前只有一關,玩家需要消滅地圖上所有的敵人。
升級計劃
- 修復游戲bug
- 改進游戲功能、用戶體驗,優化游戲性能
- 增加游戲可玩性,增加更多的單位、建筑和關卡
- 優化地形,增加每種地形的方塊種類,實現相鄰地形的自動拼接
- 實現多人聯網
- 開發移動版,可在安卓和ios上運行
- 重構代碼,優化性能
浙公網安備 33010602011771號