2D网络游戏(2d网络游戏大全列表)

2D网络游戏开发(网络篇)(一) 作者:akinggw “2D网游开发”,我有时都觉得这个标题包含的内容太多,要实现起来也太难。于是,我决定将它分门别类,我按照我要实现的一个网络游戏将它分成下面几个部分: l      客户端l      网络端l      服务器端l      网页端 我们来讲解一下,我们分别要在每个端口完成什么内容: 

大家好,又见面了,我是你们的朋友全栈君。

2D网络游戏开发(网络篇)(一)
 
作者:akinggw
 
“2D网游开发”,我有时都觉得这个标题包含的内容太多,要实现起来也太难。于是,我决定将它分门别类,我按照我要实现的一个网络游戏将它分成下面几个部分:
 
l
      
客户端
l
      
网络端
l
      
服务器端
l
      
网页端
 
我们来讲解一下,我们分别要在每个端口完成什么内容:
 
(1)
           
客户端 劈开接受网络数据不谈,我们主要在客户端实现游戏界面的显示,游戏界面又包括那些呢?比如,游戏地图的显示,精灵的显示,UI(用户界面)的显示,还有就是一些游戏规则的制定等等。
(2)
           
网络端 网络端我们要做些什么呢?我想主要包括两个方面:在服务器端,从数据库中取出数据,然后将数据发送给客户端,从客户端得到数据,然后更新数据库;而在客户端,我们要干些什么呢?从网络中取出数据,然后更新游戏变量,得到游戏变量,然后将它发送给服务器。这里,我只是谈了一下网络端的大概内容,实际中可能还要修改。
(3)
           
服务器端 服务器端的主要内容,我想就是和数据库打交道。因为我们是通过网站来注册用户,所以,服务器端的主要内容就是取数据库内容,更新数据库内容。可能会涉及到删数据库内容,但这不常见。
(4)
           
网页端 网页端实现的主要内容,我想大概就是用户的注册,修改,信息的发布,玩家的交流和互动。
 
我在这里大概讲解了2D网游开发开发所涉及的内容,可能这些内容会随着实际开发修改,再修改。
我想我制作的这个游戏客户端用SDL,网络端用Raknet,数据库用mySQL,网站制作用JSP。
这些内容可能不能算作一篇文章,我想叫心得还可以。当然,我也希望我的这些心得不会让你误入歧途。
既然这篇心得叫“2D网络游戏开发(网络篇)”,我就不会写上其它的一些内容,我会在这以下的文章中写我在使用Raknet的一些感受,同样,我希望它对你有用。
反正,我觉得它很有用。
 
下面,我们就开始吧!
大概在这半年时间里,我接触了3款网络引擎,它们分别是:
 
l
      
openTNL (
http://www.opentnl.org
)
l
      
SDL_net (
http://www.libsdl.org/projects/SDL_net/
)
l
      
Radnet (
http://www.rakkarsoft.com
)
三款网络引擎都是为游戏设计的,下面我来谈一谈我对三款引擎的看法。
OpenTNL 来自于Torque 3D游戏引擎,关于Torque 的信息,请访问 http://www.garagegames.com/ 。应该说openTNL是Torque 的一部分。可以跨平台运行,也有许多丰富的文档和教程,但它却有一个致命的弱点——使用过于复杂。因为Torque属于那种早期的游戏引擎,所以在OpenTNL中,很多的编码方式都与你所学的不同,你需要花费很多的时间去学习它。我想这也是为什么OpenTNL没有做过许多项目的原因。
SDL_net 来源于SDL,也是一个跨平台的网络引擎。SDL_net使用C语言写成,学习起来也简单明了,但SDL_net太年轻了,只发展了短短几年时间。因此,SDL_net还存在太多的BUG(错误),另外缺少足够的支持文件也是它发展缓慢的原因,毕竟,它太年轻了。
Radnet 可以说是基于上述两款引擎的优点为一体。它既有OpenTNL的文档丰富,又有SDL_net的使用简单。
在接下来的日子里,我们将讲解如何使用Radnet,让你充分享受网络给你的快感。
 
Radnet是一个基于UDP网络传输协议的C++网络库,允许程序员在他们自己的程序中实现高效的网络传输服务。通常情况下用于游戏,但也可以用于其它项目。
Radnet有以下好处:
 
l
      
高性能 在同一台计算机上,Radnet可以实现在两个程序之间每秒传输25,000条信息;
l
      
容易使用 Radnet有在线用户手册,视频教程。每一个函数和类都有详细的讲解,每一个功能都有自己的例程;
l
      
跨平台,当前Radnet支持Windows, Linux, Macs,可以建立在Visual Studio, GCC, Code: Blocks, DevCPP 和其它平台上;
l
      
在线技术支持 RakNet有一个活跃的论坛,邮件列表,你只要给他们发信,他们可以在几小时之内回复你。
l
      
安全的传输 RakNet在你的代码中自动使用SHA1, AES128, SYN,用RSA避免传输受到攻击
l
      
音频传输 用Speex编码解码,8位的音频只需要每秒500字节传输。
l
      
远程终端 用RakNet,你能远程管理你的程序,包括程序的设置,密码的管理和日志的管理。
l
      
目录服务器 目录服务器允许服务器列举他们自己需要的客户端,并与他们连接。
l
      
Autopatcher Autopatcher系统将限制客户端传输到服务端的文件,这样是为了避免一些不合法的用户将一些不合法的文件传输到服务端。
l
      
对象重载系统
l
      
网络数据压缩 BitStream类允许压缩矢量,矩阵,四元数和在-1到1之间的实数。
l
      
远程功能调用 
l
      
强健的通信层 可以保障信息按照不同的信道传输
RakNet支持两种版权,如果你是做免费游戏,RakNet将是免费的。相反,你必须支付一定的费用。
 
从这里你可以下载到最新的RakNet:
 
关于RakNet的设置方式,我们将在下一篇讲解。
关于更多内容请访问金桥科普网站( http://popul.jqcq.com  )游戏开发栏目,如你需要游戏开发方面的书籍请参考金桥书城游戏频道(http://book.jqcq.com/category/1_70_740.html )。 如果你在阅读本篇文章时有什么好的建议请来信给我,我的E_mail: akinggw@126.com. 如果你在使用SDL时有什么问题,请到金桥科普网站(http://popul.jqcq.com  )游戏开发栏目,我将详细地为你解答。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/127666.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • vi/vim常用命令

    vi/vim常用命令ctrl+b上一页ctrl+f下一页ctrl+u上半页ctrl+d下半页H跳到屏幕的第一行M跳到屏幕的中间行L跳到屏幕的最后一行zt将光标所在的那一行移至屏幕顶部zb将光…

    2022年5月22日
    31
  • vgg网络论文_dna结构综述论文

    vgg网络论文_dna结构综述论文原文地址:https://arxiv.org/pdf/1409.1556.pdfVGG简介:VGG卷积神经网络是牛津大学在2014年提出来的模型。当这个模型被提出时,由于它的简洁性和实用性,马上成为了当时最流行的卷积神经网络模型。它在图像分类和目标检测任务中都表现出非常好的结果。在2014年的ILSVRC比赛中,VGG在Top-5中取得了92.3%的正确率。同年的冠军是googl…

    2022年10月21日
    0
  • XML: 使用XmlDocument 与 XmlReader 类

    XML: 使用XmlDocument 与 XmlReader 类一.XmlDocument类:XmlDocument与XmlReader类从.NET1.0就已经存在了。W3C定义了一个叫做文件对象模型(DOM:DocumentObjectModel)的标准来处理XML文档。支持DOM的类可以自由地定位并修改XML文档。要想使用XmlDocument类,需要添加System.Xml.dll的引用,并且引入System.Xml命名空间。XmlDocu

    2022年6月19日
    28
  • Linux apache的运行用户和用户组

    Linux apache的运行用户和用户组

    2021年9月24日
    49
  • YOLO v3算法详解「建议收藏」

    YOLO v3算法详解「建议收藏」论文地址:YOLOv3:AnIncrementalImprovementYOLO算法详解,YOLOv2算法详解1.TheDeal接下来,从头梳理整个网络,如果对YOLO和YOLOv2不熟悉,可以看一下我之前的博客。1.1BoundingBoxPredictionYOLOv3沿用YOLO9000预测boundingbox的方法,通过尺寸聚类确定anchorbox。对每个boundingbox网络预测4个坐标偏移。如果featuremap某一单元偏移图片左上角坐标

    2022年6月28日
    31
  • 基本开关电路

    一、晶体管开关电路:是一种计数地接通-断开晶体管的集电极-发射极间的电流作为开关使用的电路,此时的晶体管工作在截止区和饱和区。当需要输出大的负载电流时,由于集电极电流(负载电流)是放大基极电流而来的,所以必须能够从输入端提供大于1/Hfe的基极电流,这对于输出端的大负载电流情况下的基极驱动电路就无能为力。因此可以采用达林顿管来解决这个问题,达林顿管是一种复合管,它的直流放大倍数Hfe非常大…

    2022年4月5日
    59

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号