开源游戏 | 一款采用 Java开发的基于小孔成像原理与图形光栅化的字符 3D 画面框架构建的空战游戏

发布时间 2023-10-19 17:40:56作者: 安然mlg

 

去关注、不迷路

一、项目概述

       这是一款采用 Java Swing 开发的基于小孔成像原理与图形光栅化的字符 3D 画面框架构建的空战游戏,简单说就是作者为了做个 3D 字符空战游戏,顺手写了个 3D 引擎,别人的本科毕设。

注:dogfight 为军事用语,是指战机近距离接战缠斗,可直接译为“狗斗”。

二、 游戏说明   

操作说明:

战机基本操控(战机起飞前不具有机动能力)
  • W:增加油门值

  • A:战机水平左转

  • S:减少油门值并使用打开减速板减速

  • D:战机水平右转

  • 鼠标上下滑动:战机上下翻滚

  • 鼠标左右滑动:战机左右翻滚

  • 鼠标滚轮:瞄准缩放

  • 空格:使用加力燃烧加速飞行

战机战斗操控(刚进入游戏时要等待航炮 CN 和导弹 MS 装弹完成)
  • 鼠标左键:航炮开火

  • 鼠标右键:导弹开火

  • 鼠标中键:导弹开火并跟随导弹视角(按Q可回到战机视角)

  • X:释放诱饵弹

其他键位
  • F:(按住)查看记分板

  • C:切换第一/第三人称视角

  • V:切换向前向后看视角

  • Q:回到战机视角

  • P:暂停/继续

  • E:播放上一首音乐

  • R:播放下一首音乐

  • [ 、]:调整画面缩放比例

  • J、K、L、I:改变分辨率

  • M、N:切换显示的字体

  • Esc:退出游戏   

武器系统说明

  • 航炮 CAN 可连续发射无制导的炮弹,单发炮弹伤害较导弹低但连续发射时火力密度高。开火时需要注意提前量,适合打击视区内近距离目标。

  • 导弹 MIS 发射前需要先锁定敌机:使用火控雷达照射敌机(将敌机标识保持在准星附近)即可开始锁定,锁定过程需要2s,锁定后会显示LOCKD(如下图)

    1640330316765

    此时发射导弹,导弹将自动跟踪敌机。导弹伤害较高,摧毁一架敌机一般需要2~3枚导弹(一次装填4枚),适合打击视线范围外的目标。需要注意的是,开始锁定敌机时,敌机能够感受到被锁定,并释放多个诱饵弹干扰锁定,需要等待干扰弹脱离火控雷达照射范围后才能正常锁定敌机。导弹和诱饵弹的装填时间一致。

  • 诱饵弹 Decoy 可以短暂干扰敌机锁定。战机被敌机尝试锁定时,屏幕右侧会出现锁定告警标志并闪烁(闪烁时间逐渐加快),如下图:

    1640330418838

    此时应按 X键 释放诱饵弹干扰敌机锁定,并做机动动作,摆脱敌机追踪,否则如果该标志变为下图所示,即表明敌导弹已经发射,只能尝试做大幅度机动动作摆脱攻击:

     

屏幕颜色闪烁说明

  • 短闪红:受到航炮攻击

  • 长闪红:受到导弹攻击

  • 准星变黄:航炮开火

  • 背景闪黄:发射的航炮击中敌机

  • 背景闪蓝:导弹开火

  • 准星闪蓝:导弹命中敌机

  • 当您驾驶战机持续做大幅度机动动作(如大角度转向、打开加力燃烧)时,由于人体对加速度G值的承受能力有限,视力会受到影响,您将会屏幕亮度将会降低、变红,如图所示

     

    此时只需停止做大幅度机动动作,即可逐渐恢复视觉

 

三、 代码说明

这是Eclipse-Maven Java工程,使用JDK1.8

编码工作完成后可使用mavenPackage.bat进行maven打包,目标位于target/dogfightZ-jar-with-dependencies.jar

dogfightZ-jar-with-dependencies.jar是独立的可执行游戏本体,在正确安装配置Java环境的计算机上可以直接双击运行。

项目结构预览

项目源代码总体分为4个大包,如图所示

image.png

 

 

四、 项目打包说明

 

请运行 mavenPackage.bat,打包后位于 target/dogfightZ-jar-with-dependencies.jar,包含依赖项,

可在JRE1.8环境下独立运行,若正确配置JAVA_HOME,双击该jar包即可启动游戏。

五 、功能截图

   

 

image.pngimage.png

六、项目源码

开源地址:

扫描下方二维码并回复【open-java】获取项目源

 

往期推荐

人人可用的开源数据可视化分析工具

面向中小企业级erp、oms、wms全套解决方案

开源支付系统、支持微信支付宝

SpringBoot + Vue 的智能停车场管理平台

多门店分销的开源前后端分离商城系统

全端开源电商系统支持小程序、H5、PC商城

后台、小程序、uniapp前后端分离完整全开源商城

开源物联网基础开发平台

开源人脸识别登录系统

写在最后

专注分享开源项目整套解决方案,完全开源、可学习、可商用、宝藏库。

完整开源项目后端技术栈:Spring6、JDK17、SpringBoot、Spring Cloud、Docker、Nginx、Redis、MongoDB、MySql不管你技术提升还是接私活都可以用到。

完整开源项目前端技术栈:vue3、vite3、TypeScript/4、Ant-Design-Vue/3.2、element-plus/2.2、uniapp、H5网页、PC、微信小程序等最新的技术。

每天提供一个超棒的开源项目包含:物联网平台、WMS系统、ERP系统、OMS系统、知识社区、个人博客系列。

 

 

欢迎加入【前端开源实验室读者交流群】,群内聊天学习摸鱼为主,不定时会分享一些技术要点和优质学习资源,有一群有趣有料的小伙伴在等你哦!

进群方式:加柚子哥微信回复 进群,按提示操作即可进群。

版权申明:内容来源网络,版权归原创者所有。除非无法确认,我们都会标明作者及出处,如有侵权烦请告知,我们会立即删除并表示歉意。