• 发布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上运行
    • 重构代码,优化性能
  • 相关阅读:
    Python 基础(二)
    3.6:手写代码题(包含sql题)
    3.2:负载均衡、集群相关
    3.1:并发、安全与性能调优
    2.6:Linux/Shell脚本
    2.5:Git/Svn
    2.4:缓存
    2.3:消息中间件
    2.2:数据库
    2.1:常用框架
  • 原文地址:https://www.cnblogs.com/chaogex/p/4086142.html
Copyright © 2020-2023  润新知