MMORPG开发入门

译者序:这是一篇讲解如何开发一款MMORPG的入门文章,作者本人也是一款游戏的开 发者,文中的内容源于实践,有很高的参考价值。很多人都想拥有自己的游戏,这篇文章 对那些想自己开发游戏的人来说可能是一纸福音,也可能是一盆冷水。无论如何,开发游 戏都不是一件简单的事情。以下是翻译正文:

文章的中心是如何起步开发你自己的大型多人在线角色扮演游戏( 原文:Massive Multiplayer Online Role Playing Games) (MMORPG)(译者注:俗称:网络游戏,网游) 。针对的读者是经验和资源有限的开发者。 读完文章之后,你应该懂得如何起步, 还有 一些关于什么是应该做的和不应该做的忠告。第一步是评估你的能力和资源。你必须对自 己诚实,因为做你力不从心的事情会浪费你的时间并让你心灰意冷。

第一步:评估你的能力

必须的技能:

懂至少一种编程语言。 迄今为止, C++因为性能和效率的优越性成为游戏开发者的首 选。Visual Basic, Java 或者 C# 可能也是不错的选择;

熟悉一种图形库。通常的选择是SDL, OpenGL, 或者DX/D3D。(译者注:网上也有很多 免费/付费引擎下载和出售);

选择一种网络通讯库。 你可以从WinSock, SDL_net, 或DirectPlay中选择。(译者注 :很多人喜欢开发自己独特的网络库,这并不复杂,似乎ACE也是一种选择);

对游戏开发有大体的经验。例如,事件循环,多线程,GUI 设计,等等。

强烈推荐的技能:

C/S结构通讯;

多平台开发。 你可能希望设计一个MMORPG, 尤其是服务器能运行在多种操作系统。为 此,我推荐使用SDL, OpenGL 和SDL_net;

网站开发。如果你想让用户通过网站查看玩家统计,服务器信息和其他信息,这是必 须的。(译者注:其实网站可以交给其他人开发,如果有必要的话);

安全管理。你当然不想因为有人攻击你的服务器而浪费时间!

团队组织能力。 你需要一个你能成功领导和管理的团队;

第二步:初步规划

我注意到很多人在不同的论坛发帖子寻找团队开发MMORPG。他们中的大部分是这样: “我们成立了一个公司/游戏工作室,需要3个美工,两个程序,1个音乐制作,等等 。为了创新,不要看过去的MMORPG,你有全部的自由用来创造你想要的世界,等等。 我 们会在项目完成并赚到钱的时候付给你酬劳,等等”。不幸的是,以现有的技术和 带宽,你无法拥有一个动态的世界。 朝向无法到达的目标前进只会导致失败。正确的做 法是拿出一些小规模的,功能性强的,可扩展的设计和构架。,

基本软件构架

首先,尝试创建一个简单的C/S模型,有如下功能:

创建一个新角色;

保存那个角色(服务器端);

用那个角色登陆;

能够和其他人交谈;

能在3D空间游览;

时间: 2025-01-31 06:00:32

MMORPG开发入门的相关文章

Android开发入门(五)屏幕组件 5.4 TableLayout表格布局

TableLayout可以把视图views组织成"行"或"列".可以使用<TableRow>元素指定表格中的一行 .每一行又可以包含一个或多个视图.每行中的每个视图组成了表格的一个元素.每列的宽度,取决于这一 列中宽度最大的视图view. 观察main.xml中的代码: <?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:androi

Linux 应用程序开发入门

Linux 应用程序开发入门 Neo Chen (netkiller) <openunix@163.com> 版权 2011, 2012 http://netkiller.github.com 摘要 我会实现一个守护进程,从这个程序你将了解,Linux 应用程序开发基本流程 我们将实现一个远程shell的功能,可以通过tcp协议,运行远程机器上的命令或shell脚本 通过这个命令可以实现批量操作,管理上千台服务器.需要发挥你的想象力,灵活使用它. 写这个脚本,我是为了替代SSH远程操作,因为S

ASP.NET 2.0移动开发入门之使用样式

asp.net 每个ASP.NET移动控件都提供了若干样式属性,使用这些属性可以自定义控件的呈现方式.当然你也可以使用StyleSheet控件来定义样式信息,然后在同一个页面的不同控件上应用StyleSheet控件定义的样式信息.我们在前面已经提及到你不但可以将样式应用到不同的控件上,还可以应用到容器控件上,这样就保证了所以在容器控件中的移动控件都具有一致性的用户体验. StyleSheet控件应该放置在页面中,而不是容器控件中.事实上,这是惟一一个可以放置在容器控件外面的WEB移动控件.对于所

.NET Remoting程序开发入门篇

程序 一.Remoting基础 什么是Remoting,简而言之,我们可以将其看作是一种分布式处理方式.从微软的产品角度来看,可以说Remoting就是DCOM的一种升级,它改善了很多功能,并极好的融合到.Net平台下.Microsoft? .NET Remoting 提供了一种允许对象通过应用程序域与另一对象进行交互的框架.这也正是我们使用Remoting的原因.为什么呢?在Windows操作系统中,是将应用程序分离为单独的进程.这个进程形成了应用程序代码和数据周围的一道边界.如果不采用进程间

Win32开发入门(15):ListView控件

这个控件其实不用阿拉来介绍,因为它太常见了,就好像我们一出门就会看到妹子一样常见.当然 也可以说,它是对ListBox的扩充. 在使用该控件之前,我先介绍VS的一个相当好玩的功能. 在代码文件的#include指令上右击,从弹出的菜单中选择"生成包含文件关系图",如下图: 开发入门(15):ListView控件-"> 然后你喝一口咖啡,你会看到这样的东西:

Win32开发入门(13) 握手对话框

一提到对话框,相信对它熟悉的人不在少数,更不用说码农们了,你可能会问,对话框和窗口有什 么区别吗?本质上是没有区别的,对话框也是一种窗口(前面也说过,控件也可视为子窗口). 最简单的对话框要数MessageBox弹出来的对话框了,是吧?这个函数我有信心,大家都会用的,毕 竟很简单. 好的,废话不多扯了,马上开始本文第一件事,创建一个对话框. 对话框作为一种资源,它存放在资源文件中(.rc),如果项目中没有rc文件,第一种方法是在"解 决方案资源管理器"中在"资源文件"

Win32开发入门(10) 绘图(C)

今天我们来欣赏一下用于填充图形的函数,当然我不会逐个去介绍,因为我们参考MSDN直接套参数 就可以了. SetDCBrushColor函数有必要扯一下,它的声明如下: COLORREF SetDCBrushColor( __in HDC hdc, __in COLORREF crColor ); 第二个参数,通过RGB宏产生COLORREF传进去就可以了,比如这样: SetDCBrushColor(ps.hdc,RGB(211,254,41)); 但是,如果只是调用这个函数,你会发现 在绘图的时

Win32开发入门(9) 绘图(B)

我们今天继续涂鸦,实践证明,涂鸦是人生一大乐趣. 首先,我们写一个程序骨架子,以便 做实验. #include <Windows.h> LRESULT CALLBACK MainWinProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam); int WINAPI WinMain( HINSTANCE hThisApp, HINSTANCE hPrevApp, LPSTR lpsCmdln, int iShow) { WNDCLASS wc

Win32开发入门(8) 绘图(A)

从本篇开始,我就不吹牛皮,那就吹吹兔皮吧.说说与绘图有关的东东. 要进行绘制,首先 要得到一个DC,啥是DC呢?按字面翻译叫设备上下文,也可以翻译为设备描述表,它主要指API为我们 封装了一些与显示设备相关的交互操作,我们这里说的是图形的绘制,自然指的是显卡.当然,对于同 一客观事物,世界上并不存在唯一的理解方案,技术上的东西最终拿来用的,不应该有硬性的去统一. 我们之中的很多人,最大的失败在于,人家说要这样理解他就毫不怀疑地这样理解,权威人士说要这样 这样,他就不经过大脑思考地跟着那样那样.