hrefspace

 找回密码
 立即注册
搜索
热搜: PHP PS 程序设计
查看: 755|回复: 5

[开源]全3d塔防手游《步兵大战》和魔兽世界那样的大型3d网游《轮回》

[复制链接]

581

主题

593

帖子

1882

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1882
发表于 2024-1-11 00:05:50 | 显示全部楼层 |阅读模式
android studio 加opengl技术。


《步兵大战4》手游之杀无赦
apk下载连接:

https://dibaqu.com/3q67


全套源代码下载地址和视频:
http://gad.qq.com/hatch/project/detail/12755


qq空间资料链接地址:
https://user.qzone.qq.com/188500397/blog/1552374117





《步兵大战4》之杀无赦手游说明
你是一只草原上的小鸡,渴了喝露水,饿了吃蚂蚱,守护家园小鸡有责.
本游戏是一款全3d角色扮演塔防类守卫大军厮杀手游,并向所有火爆游戏方向研发升级,你所有的游戏梦都
可以在后续版本中实现。
一.玩法简介:
1.你可以打牌那样调兵遣将,足不出户而决胜千里。既然可以打牌那样调兵遣将,自然可以约朋友们联网单
挑和群殴,大决赛。

2.同时您更可以最耐玩最好玩的塔防游戏循环圈那样,火力全开进行大范围扫射,每次攻击增加水果轰炸威力,然后使用水果轰炸范围内敌人。
3.可以使用“王者之剑”和“魔戒”,召唤亡者大军和巨龙boss碾碎你的敌人。
4.通过杀敌和开宝箱得到金币和宝物,购买和升级出兵的各项属性。

二.出兵介绍:
1.防御兵:攻击力最低,但可以抗的住攻击。标注为防1,防2...数字越高生命值越高
2.攻击兵:不堪一击,但能杀死敌人。标注为攻1,攻2...数字越高攻击力越高
3.召唤兵:能抗也能打,但达不到正规军的部署指标。
4.防塔:全部群攻,每次攻击回复百分之1生命值。
5.主角:通过宝物来额外的加强属性,同时享有所有升级属性同等加成,通过杀敌升级,等级越高水果轰炸攻
击力上限越高。
6.属性操作:点击在野的兵头顶有显示属性。屏幕下面一行,显示可出兵时点击就出
兵,没有显示可出兵时点击就打开操作面板,可执行一切出兵相关操作和查看信息.
7.杀敌升级:所有兵种杀敌数量大于自身等级升1级,升级时生命值全满,所以使能抗又能打的巨龙成为神话,
被杀死等级归零。防塔不升级.

三.开宝箱可以得到
金币:所有升级越高开得越多金币。
泰坦之盔:是泰坦巨人的盔甲,拥有增强生命力的神力。
黄金翅膀:拥有大天使的“黄金翅膀”,你会很快,并且经常会更快。
吸血披风:是吸血鬼王不死的秘密,点击可以施展吸血风暴,快速回复生命力。
美杜莎之力:拥有它能够群体射击,并可以升级射击目标数量。
魔戒:至尊戒驭众戒,拥有它你能够召唤至尊魔龙。
王者之剑:拥有它远古亡灵大军听从你的召唤。

四.技能和操作:
等级:所有攻击力和上限跟等级有关,等级越高越厉害,
回血:所有防塔每次攻击回复百分之1的血量.

1.自动扫射: 每次击中敌人增加水果轰炸技能攻击力,5次没击中停止自动攻击。(特别提示:你的等级越高,积累
的水果轰炸攻击力上限就越高,就越能杀死boss)
2.水果轰炸:点击开始扫射,再次点击停止攻击,每20毫秒发射一个水果,轰击前方大范围内所有敌人,如果只有一个目标就是每秒攻击敌人50次,每
次消耗攻击力和水果数量,
前方范围内没有目标或者没有水果炮弹时停止攻击,连续杀敌增加连斩点数,并越连杀越厉害,杀敌结束时连斩
数量转化为空中轰炸攻击力。
3.空中轰炸:轰炸前面大范围敌人,消耗所有的大轰炸攻击力。杀敌数量又转化为水果轰炸攻击力,所以敌人越集
中越好,相反水果轰炸技能敌人太多就不厉害了,当然你可以积累大量攻击力,一样秒杀群敌人。
4.捡东西:靠近自动拾取,补满血就用来砸敌人,你不需要当心满地水果捡不完。连续捡4次,间隔不超3秒,触
发全图拾取,超过100个时自动全图捡东西。
5.视角控制:上下滑动摇动镜头,左右控制旋转(屏幕上方大于5分之一部分可以控制视角距离)。
6.音量调节:背景音乐请调整媒体音量,音效是铃声音量.
7.亮度调节:请调节手机亮度,
8.文字挡住视线:点击左下角或者屏幕中间文字可以删除显示.

五.研发说明:
已经完成魔兽世界那样的大型游戏研发,所有技术都研究过,所以不会做不了,研发速度会很快。
现在从是最简单最丑的单机版本开始,一步一步来,每次都更会好玩,更多功能,更漂亮,一定能超越最强的游戏。
下次大改进预告:加入网络功能:可以王者荣耀那样跟敌对玩家群殴。也可以有联机塔防那样百问不厌。完成网络
功能后的设计-就是吃饱饭买包的事情了.
研发目标:逐步向王者荣耀,魔兽世界,吃鸡,塔防等火爆游戏方向进发,步步为营,从简单到丰富。
在有资金支持的情况下:半年月内做到非常好玩,一年内做到非常火爆,一年半达到王者荣耀那样的成绩。
六.后续版本可能的制作:
1.已经完成各种宝物的制作:还能制作电影情节来获得各种宝物,如完成电影那样情节才能得到王者之剑,电影木
乃伊那样,必须击杀蝎子王,才能打败一望无际的牛头人大军等。
2.可能优先制作一款《魔兽偷菜》的塔防类绿色循环圈小游戏。

六.可修改内容:
所有东西都可以按照你的想法来制作,模型可换为任何3ds支持的模型,所有贴图可改,所以音乐音效可改,地图可
用卫星地图或者任意ps,所有文字,游戏名称等一切都可以修改。

欢迎各种合作:
投资、技术合作、发行、代理等。

请加
微信:13535015390
qq:188500397

忧郁徘徊者 黄进鲁
2019.4.21


后面跟贴是 :魔兽世界那样的大型型3d网游《轮回》全套源代码。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

0

主题

166

帖子

24

积分

新手上路

Rank: 1

积分
24
发表于 2024-1-11 00:06:28 | 显示全部楼层
拥有这份源代码你就已经能够编写魔兽世界和海量怪塔防那样的大型游戏。


欢迎合作,欢迎投资,欢迎同学们技术咨询
联系微信 13535015390



使用vc6.0英文版,操作系统含w7以下完全没问题,w7以上可能不能单步调试,但幸好断点调试完全没问题。

其中有fbx模型的导出导入功能,需要fbxsdk支持,我已经拷贝到文件夹下了,直接设置途径就可以,如果不行就下载sdk包,然后使用压缩包中文件夹代替,因为那是我暴力修改让vc6能够够支持的源代码。

源代码(含服务器)下载地址:
http://gad.qq.com/hatch/project/detail/12756


游戏下载地址:
http://gad.qq.com/hatch/project/detail/12498


详细资料参见:
https://user.qzone.qq.com/188500397/blog/1464273121


最后版本游戏说明:
https://user.qzone.qq.com/188500397/blog/1441567649



源代码中技术包含(足够制作魔兽世界和塔防游戏的所有引擎技术)
1.文字显示

opengl库只能显示字母,能显示立体的中文,但不能显示最普通的中文,而且效率很低,根本就不可能用于游戏中.

经过不懈的研究,学习了调用字模库,后来终于被我给研究出高效显示文字了.好把,既然写了故事,就顺便分享技术满足各位同学的愿望吧.

直接使用操作系统API内存显示文字,转换成纹理贴图来做就好了,既效率好而且可以显示所有的文字.

2.键盘鼠标的研究

opengl有提供这些函数,但经不停的研究对比,发现还是使用windos的更好.


3.全屏幕的研究:

经过不断的思考和对比和遇到好多的问题,发现opengl的全屏幕在微软系统上的支持不是很好,所以后来决定使用窗口模式的假全屏幕来做,不然会遇到好多解决不了的问题,仅仅这个输入法问题就够呛的了.


4.各种WINDOS技术:

在微软系统上的程序,少不了这些的研究,必须样样深入研究,而解决这些问题的关键就是上面全屏幕的研究.opengl坐标和窗口的坐标转换也很麻烦,特别是全屏幕和窗口模式的切换.

5.地面的研究:

经过了很长时间的研究,终于解决了基本的问题,可以开始研究有点趣味的东西了.

开始采用魔兽争霸的地面拼图模式,固然是拥有了制作地面的技术,但这种技术我不满足,我希望拥有魔兽世界和完美世界那种无缝地图和渐变地面贴图的技术.

找遍因特网,只找到根据高度来贴图的例子,做不到随心所欲任意贴图,我坐立不安,后来采用显卡编程GLHL,终于研究出一次渲染支持无数层地面贴图的技术,非常高效,但由于多纹理数量限制,后来定位为一次渲染16层,所以大家能看到我的地面花花绿绿不是一般游戏可以比的,当然分成十六次渲染也能做到,但效率很低,这不是我忍心采用的技术。后来由于大部分电脑不支持GLHL显卡编程,所以改用cg显卡编程,经过了不眠的一天一夜研究,终于无误的改写为cg显卡编程,做到了普遍电脑都支持.但cg显卡编译器只能同时支持10个纹理,其实我没有同时10层一起渲染,所以上线的测试版定位为一次渲染10层贴图,如果把所有贴图拼成一张贴图那么就可以支持更多层贴图,但地面格子之间有接缝,理论上肯定能解决的,等我有时间再研究.现在一次渲染10层已经够用了,如果需要更多,可以分多次渲染来解决,比如雪地类型组贴图,沙漠类型组贴图,戈壁等.到此已经完美解决地面贴图问题.


6.地形研究(全球少有的无缝地图技术):

在这里花了好几个月时间,开始的的时候是想设计成随机生成山脉丘陵,注意是山脉有海拔高度的山脉,不是单独的山技术(我这个人很追求完美,山的技术是不能满足我欲望的),睡梦中拉起被子,以为被子就是山脉,我赞叹多么柔顺的数据,无论怎么翻数据都非常均匀都是没有菱角的山,后来也研究出了非常好的随机山脉,但总觉得有缺陷,出门我总看着山,回家制作出了这样的山脉,又发现缺少了另外的山脉类型,还是不满意.从此我每天都看着山.我没办法,不能完美解决此技术我心不能平静.无数次研究谷歌的高度图,后来终于决定采用真实的卫星高程数据来做,

在美国的网站下载的卫星高程数据http://srtm.csi.cgiar.org/SELECTION/inputCoord.asp,数据太大,我不愿意我的游戏里有这么大块的数据,经研究后,终于做到只需要4m就能应用全球高度数据,当然这是卫星扫描的地图, 应用于游戏中还需要修改,虽然可以ps修改,但这样对后期的制作还不够方便和灵活,必须做到在游戏中可以随意修改才行. 之前为了减少数据体积采用了jpg技术,但是问题又来了,修改后保存数据,再此打开数据会有变化,因为jpg是压缩的嘛,数据不精确.后来只能采用折衷的办法,采用tga格式,16m的地形数据完美解决地形技术。

由于考虑压缩数据体积和无缝地图的设计,所以引擎算法非常复杂,这不是常人所能承受的了的设计过程,其中要大地图定位,小地图定位,真实地面定位,修改地面定位,缩放,小位移大位移,对准地面贴图,加上显卡的渲染顺序差异,还要支持无缝的大切图小切图,更费心机的是要设计到效率非常好且占用内存非常小,所以非常复杂.

如今轻舟已过万重山,已经完美解决了,说句心里,如果我忘记怎么设计的话,我不愿意再设计一次.

大概介绍这种高大上的无缝地图技术吧:首先下载全球地图快,ps拼图,体积非常大,缩小,因为地形数据连续是平滑的,缩放不影响质量,最后转换成灰度图,从16m的地图中,切一块够小又足够几个平面使用的大地图块,然后每次写入真实的地面数据,就从其中切一小快当前地图数据,

这样16m的数据就不用驻留内存,走了非常远才出界就重新切一块地图数据。估计暴雪也没我这样极端高效低耗的设计.

7.一望无际的的花草树木技术

自创的设计,想种多少就种多少,占用内存少效率非常高,配合地面贴图来种,就更加漂亮.想要设计会动的草,可以只做近的草会动,草是柔软的可以使用插值技术来做.每种草做两个最大的摆动模型,渲染时计算相同点之间一定的比例值就做到轻轻的摇摆了.树叶也可以这么做,那种总是正对着玩家摇动的技术我是绝对不用的,刀剑等硬的东西就不可以这么做,会变形的,必须计算模型部件的旋转才行.

8.一望无际的密集树林设计:

游戏中如果能现实山上密密麻麻的树木那该多么壮观,但是一次渲染几十万个树模型那可不是闹着玩的,一次我走在大理洱海边,看着前面的树,终于被我想到怎么高效实现这种技术.所以你会在我的游戏里面看到仅有绝无的密林.

9.影子技术:

之前多人打击我的影子技术,我还没时间做这些设计嘛,这个就比较简单,直接画一次模型到地面高度上就做到了.我设计的影子树叶都很清晰,连草都有影子。

地面的阴影就更简单,根据光线的角度计算明暗度,显卡编程中按照明暗渲染就好,不要在显卡编程中计算,那样每帧都要计算一次。

10.碰撞技术(这也是大块头技术,设计的好坏直接影响效率和后期制作)

通常的做法,每走一步,历遍所有辅助碰撞体,每个动物走一步都要历遍一次,每个可能碰撞的模型都要所有三角形计算一次碰撞,三角形的计算也比较复杂,所以这碰撞明显耗时间.

而且如果是多个模型或者多个三角形间有一条缝呢,一条缝是不可以穿过的,所以需要更多的计算.

我是怎么解决这些问题的呢,我的设计也是匪夷所思,我已经完美的解决碰撞的问题了,做到高效精确,免辅助碰撞模型,每走一步无需历遍直接就知道那个模型可能碰撞,采用高等数学自创的算法,研发了立体碰撞公式,不会穿过一条缝,也不会从一条缝里掉下来,计算碰撞三角形时还层层排除大部分免计算直接out,做到复杂的模型中乱穿不会卡住.更有决定意义的是后期制作非常简单,把模型放下去就支持碰撞了,房子楼层自动支持进出攀爬,把模型叠一起就成了现实碰撞的高楼大厦.

设计难度还有就是不同坐标系统的切换.也透露点技术,把动物的运动数据转换成模型旋转位移坐标系统后,再与模型计算碰撞,这样就高效.

这种极端高效低耗而且精确的技术就不公开,有缘再分享吧.

11.快捷键

已经完美解决支持任何快捷键的定义,这个没什么秘密技术,知道了就能做,我提示一下重点,这个WM_SYSKEYDOWN消息获取系统按键。


12.地面的万物:

这个就没什么好介绍的,直接选择模型摆下去就好了,自动支持碰撞和影子,想要什么样的场景就怎么摆.


13.庞大世界上花草树木的自动生成设计:

我设计的地图直线奔跑3天3夜才能走到边,不可能手动建设地面上的模型,但是如果不建又空荡荡的,地大浪费没意义了.

于是,设计了按照配置生成花草树木,首先设计配置文件,配置各种花草树木地皮的搭配,然后在专用的地面分布图上画圈圈,这些圈填上不同的颜色代表不同类型的花草树木搭配类型。然后引擎就根据这些配置自动生成。这样全球的生态环境就成了,当然这样不完美,然后可以建设任何模型,可以修改任何地形和地表贴图,这样就完美了.

引擎要设计好随机分布的规律,这个需要花心思去调整使之看起来更自然.我的设计已经自然了。

14.动物的设计:

从我发布的截图和测试版能看到,大的动物群体,各种动物三五成群,走走跳跳或是东张西望吃吃草.山坡上牛羊成群,可以设置为看到玩家就攻击的,只反击的,打不还手的,被打就跑的等。 如果我有时间还设计非洲奔跑的动物群场景,那场面就更加震撼了。既然能支持非常多同屏幕动物,自然支持大军厮杀的战场。

15.高效低耗:

如此大型的网游,每个人都会担心效率问题,如果不能做到极端的高效低耗,那么我的设计依旧是废物。从我已经上线的测试版可见,整个客户端含服务器压缩后才64m,哪怕是最复杂的场面,运行占用内存也不超120m(64位加一倍),占用cup时间也还是接近0.我已经估算了,就算之后加入非常多的资源和非常复杂的效果,占用磁盘空间也不会超过300m,占用内存也不会超过500m,占cpu也不会超过百分之30.

16.超强兼容性:

对电脑硬件的配置几乎无要求,最普通的配置就可以支持。只有一些太老的电脑不支持显卡编程才不支持.之前采用的显卡编程语言GLHL就是兼容性太差,所以才改用cg显卡编程

.所以凡是支持cg显卡编程的显卡都可以支持.


17.环保免安装的客服端:

只需下载很小的客服端,解压在任何地方,即可运行,不需要任何安装,不需要另外安装任何组件,绝对简单易用对电脑没有任何负面影响,令人愿意下载试玩,呵呵,这是抢别人玩家的关键.


18.服务器的设计

服务器就的技术相对于客服端来说就非常简单了,设计客服端需要10年,我设计服务器只需要几天.

作为大型3D网游的服务器,最频繁是每一个数据包都要找到服务器中对应的对象,而服务器中的对象少则以亿计,所以这个找对象的设计必须非常快,我做到了立即寻址,速度达到理想状态,理论上讲全世界不可能有人比我更快。

其他的设计是要考虑那些数据必须常住内存,那些数据可以保存到磁盘,什么时候该整理内存.

数据库的设计,考虑到访问数据库需要时间等返回,所以对于网游这种高速的要求来讲是不够快的,数据库功能直接设计在服务器里面了,可以关联一个唯一编号到外置数据库,用于商业和重要数据应用.这样做就完美了.

速度上是完美解决了,内存上我也是设计的太小气了,我总觉得我应该不怕消耗内存。

还有这个数据包也尽可能的小才行,带宽才是瓶颈。


分享封包常识:每个数据包最前面是长度位,接收数据时按照长度来收数据.


19.上帝之光技术。

20.fbx文件导出导入。

21.音效,音乐等


等应有尽有。








































本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

0

主题

172

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2024-1-11 00:07:12 | 显示全部楼层
哥们 ,还在坚持啊。  佩服!
回复

使用道具 举报

0

主题

178

帖子

37

积分

新手上路

Rank: 1

积分
37
发表于 2024-1-11 00:08:10 | 显示全部楼层
光这份毅力就让人敬佩
回复

使用道具 举报

0

主题

191

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2024-1-11 00:08:36 | 显示全部楼层
腾讯的视频地址
回复

使用道具 举报

0

主题

191

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2024-1-11 00:09:04 | 显示全部楼层
可惜了huangjinlu
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|hrefspace

GMT+8, 2024-5-10 15:13 , Processed in 0.073188 second(s), 22 queries .

Powered by hrefspace X3.4 Licensed

Copyright © 2022, hrefspace.

快速回复 返回顶部 返回列表