面向GPT编程 一周时间从零制作一个多人在线射击游戏 一个可多人联机的几何风格炮塔射击游戏 - 模仿自Diep.io
Diep.io是一款几何风格在线多人射击游戏,玩家控制一台坦克,与其他玩家或电脑控制的坦克进行战斗。 玩家可以通过摧毁其他坦克或资源来获得经验值,提升自己的等级,并升级自己的坦克。
点击Start开始游戏 左下角有很多升级可以玩,目前随便升级
打开游戏后控制台会输出本机的ip和端口号, 将ip和端口号复制发送给其他玩家 对方将收到的ip和端口号粘贴到Connet To IP Address文本框内(可以使用ctrl+v), 按下回车即可加入游戏
客机可以随时加入游戏 联机功能尚未完全做好, 目前仅处于能联机的程度, AI等物品还未进行同步通信
学习C++一段时间后、使用了一段时间的ChatGPT后,我突然就是想用做一个简单的小游戏Demo出来,提升一下我的编程水平。恰逢GPT流行,于是我就选择通过使用GPT帮我生成代码的方式来搭建游戏,正好可以看看GPT能做到什么程度。如果你问我为什么要让GPT写代码,没什么,因为我又菜又懒。
**基础操作:**玩家使用WSAD控制坦克移动,鼠标左键点击发射炮弹。 **平滑的物理引擎:**坦克移动时会拥有惯性,可在地图上平滑的移动。坦克在发射炮弹时会对自身产生后坐力的效果,同时炮弹在击中资源时也会对资源产生一个击退效果。坦克与炮弹、资源相撞时会互相扣除一定生命值。
**资源系统:**地图上会不断刷新出一些基础资源,玩家控制坦克射击摧毁资源从而获得一定经验值,资源的刷新会自动避开坦克以避免刷到脸上,资源总量到达一定数值便会停止刷新。 **经验值系统:**玩家操作坦克击杀一定资源或其他坦克后会获得一定经验值,在获得一定经验值后,玩家可以选择升级一项属性(包括射速、子弹伤害、移动速度等),在达到一定等级后,玩家可以选择升级自己的坦克类型。 **小地图:**在窗口右下角会显示一个小地图,用于帮助玩家确定自己的位置以及敌人的位置。 **AI系统:**由于一个人玩很无聊,我为游戏添加了一些AI坦克,他们会在地图上游荡,并会在靠近玩家时攻击玩家。这些AI在移动时会自动躲避资源与玩家的子弹,从而提升AI的智能性。
**多人联机系统:**如同Diep.io一样,玩家可以与其他玩家进行联机,进行PVP或共同击杀AI敌人。
**高效的碰撞与寻敌算法:**使用网格等方法对碰撞算法进行优化、提升AI智能性等。 **完善视觉表现效果:**为坦克与子弹的消失添加渐变效果、坦克开炮时的炮管缩进效果、鼠标悬浮按钮时的高亮效果、从主菜单切换到正式游戏时的渐变效果等。 **完善多人联机系统:**目前的联机系统仍不完善,需要进一步同步状态信息。未来打算设计成可架设在服务器上运行的模式,从而让玩家可以更好的进行联机游戏。 **添加更多的坦克类型:**我最喜欢航母模式了,整!当然别的坦克类型也会整。 **与官方不同的点在于:**我还想添加一些特殊玩法,例如技能系统(隐身/加速/护盾一段时间等)
做这个游戏的主要目的是打发时间、看看GPT咋样、锻炼编程能力,发到B站是为了记录一下自己的学习进度。2023.8.27新建文件夹到2023.9.4正好一周多一点,然后就去忙别的没开发了,最近扒出来优化了一下正好写个专栏记录一下。 不保证能一直开发,反正也不会有人玩。后忙起来了或者没兴趣了估计就不做了,不过代码反正是开源的,供大家学习参考,但是毕竟由于up是纯新手菜鸟,代码倒也是没什么参考价值便是,代码又丑又乱,还望众大神海涵。