网络游戏的技术探索和初步实现---开题报告.doc

上传人:滴答 文档编号:1273988 上传时间:2019-01-26 格式:DOC 页数:4 大小:58KB
下载 相关 举报
网络游戏的技术探索和初步实现---开题报告.doc_第1页
第1页 / 共4页
亲,该文档总共4页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、厦门大学软件学院毕业设计(论文)开题报告 学生姓名 班级 学号 校外指导教师姓名 职称 所在单位 福建网龙计算机信息网络信息技术 有限公司 校内指导教师姓名 职称 所在单位 厦门大学软件学院 毕业设计(论文)题 目 网络游戏的技术探索和初步实现 毕业设计(论文)的 目标: 一 分析网游的技术难题 只有对问题和需求有了足够的分析,才能得出良好的解决方案,我们平时玩游戏,却很少思考游戏过程中到底发生了什么事件,比如砍怪过程中,客户端与服务器进行了哪些数据交流? 玩家之 间行走跳跃互相可见,是如何实现的? 服务器管理着成千上万的玩家,它是如何做到的? 这些都需要足够细致的分析,通过分析自然在一定程序

2、上,就能得出较好甚至完美的解决方案,也只有进行了充分的分析,在接触到真正游戏架构时,才能更好地理解它、运用它。 所以 毕业设计 论文 的第 一 个目标,就是对网游的技术实现进行足够的探讨和分析。 以下分析列出服务器端和客户端的关键技术 问题 。 1. 服务器端 1.1 如何管理大量的 I/O 连接 以前课程设计做一个类似 QQ 的聊天软件时,服务器采用多线程来管理与客户端的多个连接。而网游服务器要接受成百上千个客 户端的连接,所以不可能在服务器端创建几个千线程,那么就需要找出更好的方法,来管理这些 I/O 连接。 1.2 如何管理地图上大量的玩家信息 同一地图上会有很多玩家,数据也非常多,那么

3、以什么样的数据结构来存储这些数据呢?当一个玩家行走时,服务器要将这个信息发给地图上的所有玩家吗?如果是这样,那么玩家每行走一点,都会在服务器端产生成百上千次的 I/O 操作,这显示是不行的。 所以服务器端应该有专门的优 化 的数据结构来存储整张地图上的 所有玩家的 数据。 2. 客户端 2.1 如何绘制玩家的行走、砍怪等动态效果 图片都是静态的,如何将静态的图片变 为动态的动作,应该是通过快速切换图片的方式来实现的,那么如何使图片切换时界面无闪烁且人物能够平滑的移动呢? 这是客户端程序需要面对的第一个问题。 2.2 如何解决既要绘图,又要与服务器通信等多线程 协调 问题 客户端在绘制界面的同时

4、,也要不断与服务器通信,比如人物行走时,会不断地将自己的行走信息发送给服务器,同时也会从服务器接收其它玩家的行走信息,那么这些事件应该如果协调起来呢?这是客户端必须解决的关键技术问题。 二 初步实现一个简单的网游 使用 C+语言 开发 完成 一个简单的网游 项目 , 才是毕业设计的 真正目的,前面的二 个目标 也 是 为 更好地 做出 一个简单的网游打好基础。 这个简单的网游产品,包含网游最基本的功能:多人行走相互可见、砍怪和聊天等功能 ,在实现了这些功能后,如果时间充足,再考虑实现其它更复杂的功能。 这个简单的网游产品应该尽量与真实的网游靠近,无论是服务器架构还是客户端实现,都必须首先解决上

5、面提出的各个技术难题。 由于美术资源有限,及个人兴趣,本毕设的重点是服务器端的架构,在 尽量提高服务器的最大连接数和工作效率 后,再考虑客户端界面的美化问题。 开发网游本是件很复杂的事,往往需要几十人上百人,包括策划 、 管理 、美术、程序、音乐、测试等人员的共同努力, 才有可能开发出一款可以 运营的网游 。所以本毕 设 以实现的一个简单的网游为目标, 以 探索为目的,重点在于思考和实现网游 中 最基本的功能, 从而保证能够在几个月的时间里开发出一个可以运行演示的产品。 实现方法: 一 基本环境: 开发工具: Visual C+ 6.0 开发语言: C+ 开发平台: Windows XP 数据

6、库: MySql 二 指导思想 严格地 按照软件工程的思想 进行项目 的开发;代码的编写规范、组织方式和注释格式等,都参考网龙 公司 统一的代码 规范 要 求。 开发过程中, 保证 文档与程序 的 同步, 同时及时添加和修改注释, 以便后期的程序改进和维护的需要。 三 技术选择 1. 服务器端 由于服务器端不需要界面,所以在 VC 中创建的工程类型是“ Win32 Console Application”。 为了更好地进行管理和提高程序效率 ,多线程和网络 I/O 等功能的实现使用 Windows API 函数 ,而不是采用 MFC 中封装好的类。 服务器与客户端的连接 和数据的传输 采用 T

7、CP/IP 协议。 数据库采用体积小、速度快且开源免费的 MySql 数据库,对数据库的操作采用 MySql 官方提供的 MySql C API 函数。 为了实现高 容量的 服务器, I/O 模型采用 Win32 提供的 可能 最复杂的内核对象: I/O 完成端口 。 I/O 完成端口基本上公认为一种在 windows服务平台上比较成熟和高效的 IO 方法,利用完成端口进行重叠 I/O 的技术在 Windows 上提供了真正的可扩展性。完成端口和 Windows Socket2.0结合 就可以 开发出支持大量连接的 网 络 游 戏 服务器 程序。 2. 客户端 为了简 化 客户端的开发 ,所以

8、利用 MFC 已经封装好的类, 而不是用底层的 Windows API, 创建的工程类型是 SDI(单文档应用程序 )。整个 客户端的设计开发,也以 MVC(Model-View-Controller,模型 -视图 -控制器 )的理念 为基础。 客户端与网络 I/O 数据的读写效率没有很高的要求,所以 I/O 模型选取与 MFC可以很方便结合的“基于 Windows消息机制的异步 I/O模型”,它可以将网络数据的到达作为事件发送给窗口,就像处理鼠标、键盘事件一样方便。 考虑到 GDI 没有透明色的功能,而 DirectX 又比较复杂 庞大 ,所以图片的绘制实现采用 GDI+,它的功能足够满足这

9、个项目的需求。 由于没有相应的美术人员,所以需要在网上找一些图片素材,来满足 客户端的图片需求。 图片资源需是 45 度角的 2D 图片, 包括人物的站立、行走、打怪,和怪物的站立、行走、攻击 ,以及背景地图 等图片。 时间进度安排: 2008 年 11 月 20 日 -2009 年 1 月 20 日 查阅相关书籍资料, 从网络游戏的历史开始,逐步了解认识这个发展飞速的新兴行业。看相关新闻,了解网络行业的最新动态。在网 上搜索学习一些对网游评价 的文章 ,参考他们的观点,确定对网游的 理解 和 定位。 加深对游戏制作的了解,特别是多人在线角色扮演游戏的制作特点 和技术需求 。 2009 年 1

10、 月 20 日 -2009 年 2 月 19 日 征求学校和公司时的导师的意见,讨论一个网络游戏的关键技术难题,明确项目需要实现的最基本的功能,并初步定下项目进度计划,然后整理提交毕业设计的开题报告。 2009 年 2 月 20 日 -2009 年 2 月 27 日 选择游戏的故事背景,确定游戏题材,从游戏策划的角度来思考,要做出一个什么样的游戏,然后编写游戏的策划书,包括一些初始的数据设置,如人物等级与攻击力、防御力、最大血量和升级所需经验的关系等,地图设置,怪物 种 类和分布等。 2009 年 2 月 27 日 -2009 年 3 月 7 日 确定了游戏策划后,就开始思考网游的关键技术难题

11、。 首先是多人行走的问题,涉及的到客户端与服务器的数据交流、服务器的数据存储、行走信息的广播和客户端接收信息后的显示等。 然后解决服务器端的 I/O 模型:完成 I/O 模型,通过网上查资料的方式学习这种复杂的模型,然后尝试使用。 2009 年 3 月 7 日 -2009 年 3 月 20 日 着手 服务器 的架构设计。设计过程中参考网上能够搜索到的相关文章。 确定架构后,再进行 详细设计,特别 要注意的 是 I/O 层与游戏逻辑层的划分。然后 制定 服务器与客户端通信的消息协议。开始编写代码,实现项目的第一个功能:登陆。 2009 年 3 月 20 日 -2009 年 3 月 27 日 进行

12、客户端的详细设计,找齐图片资源后,开始编写客户端的代码。 客户端首先实现的目标功能是:一个人的行走。 2009 年 3 月 27 日 -2009 年 4 月 10 日 协调改进服务器程序和客户端程序 ,使客户端绘图时能与服务器进行数据交换。开多个客户端,调试并实现多人行走可见的功能。 2009 年 4 月 10 日 -2009 年 4 月 30 日 在已有的架构上添加代码,实现 其它 功能。首先,实现服务器控制下的怪物在地图上的行走,并且所有的客户端都可见并相互一致。 然后实现怪物能够自动跟踪玩家并进行攻击,这些主要是服务器端的代码,则客户端也要保 证能够把这些完整地绘画出来。 接着实现玩家的砍怪功能,怪物死后要能消失,而角色死后则退出程序。 2009 年 5 月 1 日 -2009 年 5 月 15 日 完善服务器端和客户端的程序 后,开始 写毕设论文。 2009 年 4 月 20 日 -2009 年 5 月 25 日 完 善 论文, 准备 毕业演示和论文的答辩。 指导教师审核意见: 校外指导教师签名: 2009 年 月 日 校内指导教师签名: 2009 年 月 日

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。