作者chenglap (无想流流星拳)
看板GameDesign
标题Re: [程式] Online Game的设计
时间Tue Nov 8 23:02:02 2011
※ 引述《LaPass (LaPass)》之铭言:
: 但是,我希望建立一个泛用的网路连线机制
: 并保留未来向各方面拓展的可能性以及便利性
: 例如说..... 希望把原本的连线部分,小小修改一下就能用到 MMORPG 上
: 或是在未来,当游戏从网页拓展到 iPhone & Android 时
: 能经松让iPhone & Android & Web 三方互相连线
: 而不必大改连线机制以及连线的资料格式
: 顶多重写Client端
: 请问在建立网路连线系统时,有什麽要注意的地方?
我曾经开发过 3G 电话软体, 我可以给你一些提议,
你首先要定义的是, 你的系统到底是:
1. 完全同步系统 (RTS)
2. 半同步系统 (FPS)
这两个有很大的分别, 主要就是你是否要用 UDP 作传输, 但这里
又涉及一个重要的问题, 那就是你要做的东西, 想要扩展至 iPhone
及 Android, 而这两种东西的连线环境可谓十分不稳定和恶劣. 就
像之前我回的那篇文一样, 很多人尝试在这种环境做连线, 出来的
连线品质, 固然可连, 但并非「可玩」, 玩的人会遭受很大的挫败
感, 那不是服务器的问题, 而是手提是一种很差劲的连线环境.
如果你想要做这方面的引擎, 而无法保持连线品质的话, 那麽应该
最终这专案是不能继续. 因为实作成游戏时, 没有办法扩充至可玩
的品质.
如果你的资本不多, 只有一个人的话, 我是不建议你做这样的开发
, 因为你还需要同时使用多个不同的电讯商和多部电话 (特别是因
为你打算开发 Android) , 你的测试成本会十分高昂, 不论是人力
成本上 (例如你需要经常坐捷运测试) , 还是资金成本上, 这种研
发比起游戏研发更倾向是科技研发, 我认为一个人的资金是烧不起
, 即使烧完了, 也很难去到能应用的品质, 因为一个人的时间有限
, 但是市场和技术都不断变化.
我检视你的想法的话, 我会觉得成本太高, 这里涉及有很多不仅是
写码的问题, 而是人力的问题.
网页游戏的话, 如果你向着未来看的话, 不妨考虑一下 html5.
: 总而言之,我不希望在未来一再重写连线、帐号登入等部分
: 还有,网页游戏的话,目前看到的网页游戏大多是使用Flish,让我很犹豫
: 到底是用JAVA写网页游戏比较好
: 还是再花点时间去学 ActionScript 来写 Flish比较好?
其实要开发引擎的话, 就算不加入公司, 也最好自己成立公司.
有了公司, 你才容易处理流动的资金, 着作权等问题, 也方便在被告的
时候你有办法脱身, 毕竟游戏这种东西, 不小心的话可以突然涉及很多
你想也没想过的着作权问题. 特别是你开发的引擎, 之後你会用引擎来
开发很多东西的话, 那些东西要包括的美术/音乐/内容你都不可能自己
一个做完, 如果你聘人的话, 他不小心或者故意用了一些着作权物也是
很可能的事.
至於你做引擎, 本身也可能不小心涉及某些专利或者技术, 也一样可以
惹上官非的, 有限公司就是用来应付官非的武器, 「人」和「法人」两
种东西的 HP 值可完全不一样.
如果你没有准备, 很容易惹麻烦, 如你所知的, 有些人是不事生产, 专
靠法律来吃饭的.
--
基於思源的概念, 而宣传的的香港 BBS:
telnet://hkday.net
民国无双更新 v1.21 抗战篇 - 芦沟晓月:
http://sites.google.com/site/kowloonia/home
--
1F:推 VVll:详细给推 11/08 23:05
2F:推 AmosYang: 推 「人」 vs.「法人」 :D 11/08 23:05
3F:推 LaPass:谢谢提醒。不过,我并没有打算把计画搞这麽大.... 11/09 00:26
4F:→ chenglap:你说的是「引擎」呀... 11/09 00:28
5F:推 LaPass:大概类似东方的核心那样吧,东方每一代的架构都差不多,就 11/09 00:32
6F:→ LaPass:只是多了一些特效、效果、人物等等。 11/09 00:32
7F:→ chenglap:主要问题是东方不涉及连线, 而你这个涉及连线. 11/09 00:33
8F:→ LaPass:背後应该是有一套固定的框架在运作。 11/09 00:33
9F:→ chenglap:东方的情况较像民国无双, 连线把很多事情都变麻烦了. 11/09 00:33
10F:→ LaPass:我现在想做的就是:连线的框架 11/09 00:33
11F:→ LaPass:因为当初在写聊天软体时,我发现可能有办法把连线部分跟游 11/09 00:34
其实这更多是系统架构的问题.
最基本的是做多层的分离.
1. 主服务器 (游戏逻辑)
2. 中层服务器 (负责不同平台的收发)
3. 客户端核心
4. 客户端 GUI
所有输入输出讯息用文字的方式传达, 那麽剩下来的就是技术
上连线的层面. 但这里系统设计需要很小心, 加上元件多, 人
力成本会比你初期设想的巨大.
※ 编辑: chenglap 来自: 222.167.25.38 (11/09 00:37)
12F:→ LaPass:戏部分切的蛮乾净的.... 也就是说,只要我把连线框架弄好後 11/09 00:35
13F:→ LaPass:,就可以很轻易的写出多人互动的东西.... 像小游戏那类的 11/09 00:36
14F:→ LaPass:太复杂的游戏就算了,简单一点的应该都能处理。 11/09 00:37
15F:→ chenglap:坦克大战是动作游戏, 不好, 卡牌 boardgame 等较好. 11/09 00:38
16F:→ chenglap:我几年前有写过一个, 可惜 code 找不到了. 11/09 00:38
17F:推 LaPass:卡牌那个我现在写的东西就能轻易办到.... 只不过目前那个就 11/09 00:39
18F:→ chenglap:你要兼及重用性, 系统设计就是重点. 11/09 00:41
19F:→ LaPass:没办法做到即时(原因很难解释,总而言之,写法的问题),而 11/09 00:41
20F:→ LaPass:且那个不是用UDP 11/09 00:41
21F:→ chenglap:连线本身很麻烦, 特别是涉及手机. 11/09 00:42
22F:→ chenglap:如果不想太麻烦, 我认为最好一开始就放弃手机那边. 11/09 00:42
23F:→ chenglap:做手机的东西, 是一定要依手机度身订造. 11/09 00:43
24F:→ chenglap:为 PC 造的东西, 九成在手机都是运作不了的. 11/09 00:43
25F:推 LaPass:就.... 只能[尽量把能共用的部分切开来吧.... 11/09 00:47
26F:→ LaPass:连线框架再怎麽样也只是游戏中的一个零件而以啊 11/09 00:48
27F:推 asleisureto:看起来就手机+单机 或PC+连线选一个噜 11/09 01:07