Project1

标题: 这么多人想学做网络游戏?好吧我来教你们原理。 [打印本页]

作者: 游戏魂    时间: 2011-2-28 12:11
标题: 这么多人想学做网络游戏?好吧我来教你们原理。
首先选择适合自己的工具,个人习惯用易语言(D2D+网络应用)制作网络游戏。
首先讲讲如何用RMP制作网络游戏,我总结了两个方法:
1.现成脚本,加专门负责发送数据包的EXE。(有点不符合实际)
2.内存修改,通过修改游戏内存来达到数据同步,例如互相看到对方。
总而言之RMP做网游非常麻烦。

这个教程主要教只做网络游戏的思路。(非RMP制作)

网络游戏一共需要制作两个文件。
服务端文件:即服务器上提供接收发送信息的文件。
客户端文件:即玩家们需要下载的文件。

地图:
之所以RMP使用的人数多包括一个因素,就是他绘图很方便,那么我们也可以把它放到我们的游戏上。
我自己做的网络游戏地图分为3个层次。
地:指地面的纹理。
阻:指哪些地方可以走,哪些地方不可以。
层:视图优先级,哪些地方在人物上面,哪些在人物下面。
我做的网络游戏有专门的地图编辑器,可以后期添加地图和修改地图。
地图编辑器上可以设置地图名,转场位置和地图地.阻.层还有单位,背景音乐。
再保存成地图文件,我广这个地图文件叫地图包。
再给客户端提供个接口,就可以读取地图了

信息同步:
如何实现聊天系统,和在地图上互相看到互相,这些都用到信息同步。
首先客户端读入地图包后,向服务器发送信息获取此图的相关数据(角色位置,等等....)。
服务器就会发送个地图数据封包到客户端,给客户端提供个接口用来读取这个数据包。
这样实现了读取地图人物数据。
那么人物移动了怎么同步?
如果有人移动,那么将会从客户端发送将人物ID和人物要移动到的位置和人物所在的地图名到服务端。
客户端将人物将要移动到的位置和人物ID发送到所有在当前地图的玩家(除人物ID以外),再在
另一个玩家那里播放动画(人物ID,移动到X*Y*),这样就实现了人物移动。


以上两点均为网络游戏的灵魂。
在制作网络游戏的过程中,不但要实现方法,还要考虑到执行速度,效率,做好后打开服务端文件
保持的网络流畅,将服务器电脑上的迅雷呀,QQ呀,都关掉,这样别人就可以下载玩你的游戏了。
作者: 匿名    时间: 2011-2-28 14:41

http://diyrpg.net/forum.php?mod= ... &extra=page%3D1
作者: 失落迷白    时间: 2011-2-28 16:30
歪瑞因吹思停~
作者: 魔修    时间: 2011-2-28 16:39
只要不是笨蛋都不会想做,因为大家都知道RM现在网络神马的还不完善。。。。
作者: 一瞬间的幻觉    时间: 2011-2-28 16:42
很久前看到过类似的一帖,不过还是谢谢分享
作者: yangff    时间: 2011-2-28 22:15
这不是网游麻烦的地方
网游麻烦的是没有100W你根本[运行]不起来[貌似是500W?]
盈利……1000W起价= =从开发到运营到管理各种要钱
作者: 柳之一    时间: 2011-2-28 23:03
网络游戏的灵魂需要两点
愿意砸钱的老板
愿意砸钱的玩家
至于拿什么做都无所谓
作者: 匿名    时间: 2011-2-28 23:25
本帖最后由 匿名 于 2011-2-28 23:26 编辑

总结,网游神马的就是一坨钱啊←视金钱如那啥状 (大雾)
作者: yangff    时间: 2011-3-1 01:17
柳之一 发表于 2011-2-28 23:03
网络游戏的灵魂需要两点
愿意砸钱的老板
愿意砸钱的玩家

还有……愿意不要脸的策划[泛指某些肥皂剧似的XX]
作者: 觉醒の赤翼    时间: 2011-3-1 11:50
回复 Anonymous 的帖子

完全同意蛇君意见
中国的网游现在是...........
OMG,我吐糟都懒得吐了........
反正,66rpg的人联合做网游绝对不如联合做单机(MS中国现在网游大部分............真的..........只能用血狮来形容(众里寻他千百度))

我还是期望着中国能出来大作(现在只有个仙剑还有名些.............(暗剑不算,这里说的游戏基本要大部分原创的........额好吧.......暗剑只有音乐MS是拷编的把))
作者: sftk    时间: 2011-3-3 20:23
提示: 作者被禁止或删除 内容自动屏蔽
作者: 6928233    时间: 2011-3-30 15:47
楼主,看到你两个原理我笑了,不过,楼主的研究精神可嘉。

rpg xp 支持网络的问题我花掉了30秒钟的时间解决了。

楼主你那两个原理都不是正确的东东,都是笨办法。

规范的方法是:rpg xp可以直接调用网络操作dll模块,并且很方便。

dll文件可以使用任何编程软件编写。比如e语言,理论上:rpg xp 可以调用e语言的所有函数!


6928233于2011-3-30 15:50补充以下内容:
楼主,你说修改内存达到数据同步,实现网络游戏功能。

说明你的编程功底还可以。

但是修改内存这个方法真的很笨,因为是外部调用

而调用dll文件是内部调用,并且制作简单。
作者: 被遗弃的    时间: 2011-3-30 17:26
回复 6928233 的帖子

能教下怎么弄么?
作者: 6928233    时间: 2011-3-30 22:04
rpg xp调用dll文件例子:

def Win32API.getvar(url)
s = Win32API.new('netvar.dll', 'getvar',%w(p), 'l')
s.call(url)
end

这样就调用了dll并定义好了一个函数:Win32API.getvar

你的dll有什么功能就可以调用什么功能,比如你的dll有弹网页的功能,就可以弹网页
比如你的dll有网络连接的功能就能网络连接。dll自己会编程的话可以自己编写,也可以网上找别人的用,或windows系统自带了很多dll函数。
作者: zx16589042    时间: 2011-7-23 10:16
楼上的牛!


zx16589042于2011-7-23 11:39补充以下内容:
我RM都没咋太懂,你们就网游.....{:4_132:}好打击人........




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1