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  )游戏开发栏目,我将详细地为你解答。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 高德地图标记点要注意的问题

    高德地图标记点要注意的问题高德地图标记点要注意的问题当打开高德地图的时候,使用API进行获取自身位置坐标,然后再进行setCenter设置中心是这样的。直接看代码:initMap(){//初始化地图map=newAMap.Map(‘map-gaode’,{resizeEnable:true,zoom:13})//初始化中心点//1、无坐标有详细地址时letsure=this.initAddress()

  • spring-cloud_Spring Framework

    spring-cloud_Spring FrameworkOpenFeignOpenFeign是一个声明式web服务调用服务,他使得一切web服务得以简化。我们只需要创建一个接口并用注解和JAX-RS注解的方式来配置它,即可完成对服务提供方的接口绑定。一句话:OpenFeign使得http的调用更加简洁、方便、开发者不需要再关系http调用的逻辑,将开发的中心转移到业务逻辑上来。集成OpenFeign1.pom文件添加jar <dependency><groupId&…

  • java jar包与war包_jar包和war包的区别,java jar包和war包部署的区别介绍「建议收藏」

    java jar包与war包_jar包和war包的区别,java jar包和war包部署的区别介绍「建议收藏」很多人都在想jar和war部署究竟哪个好呢?jar包和war包这两者之间的区别又是怎样的?有着什么不同?带着这些问题下面就一起来了解一下吧。1、jar包和war包概念介绍最首先的话,我们还是要来对jar包以及war包的概念进行一个简单的了解,首先是jar包。什么是jar包?jar包是类的归档文件,jar文件格式以流行的ZIP文件格式作为基础,和ZIP文件不一样的是,JAR文件不仅仅用来进行压缩和发…

  • 图解java反射机制及常用应用场景

    图解java反射机制及常用应用场景一、什么是java反射?二、HelloWorld三、类加载与反射关系四、操作反射的java类五、反射的常用场景六、反射的优缺点

  • linux的netperf测试,linux下Netperf使用详解

    linux的netperf测试,linux下Netperf使用详解转载自:http://blog.sina.com.cn/s/blog_6b1ccd6501013119.html首先下载http://www.netperf.org/netperf/DownloadNetperf.html安装:tarzxf…&&cdxxx./configure–prefix=/tools/netperf-2.4.1&&make&am…

  • iOS友盟消息推送总是推送失败或者token无效[通俗易懂]

    iOS友盟消息推送总是推送失败或者token无效[通俗易懂]最近遇到的问题,仅仅贴出来我的解决办法问题(开发环境下)我的原因AppleDevCenter中的开发者provisioningfile无效了,重新生成了一个就OK。选择iOSAppDevelopment然后一步步生成一个,下载到本地,双击安装。然后,手动的在buildSetttings中,修改codesign(因为我的电脑中有三个AppStore账号的证书,所以手动靠谱些

发表回复

您的电子邮箱地址不会被公开。

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