泡泡堂网络游戏的设计与实现
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
摘 要
网络游戏开发是一项很大的工程,需要很多综合性的知识。这对于刚刚入门的开发者来说很难理解。本论文从研究开发一个模仿泡泡堂网络游戏的例子出发,讲述网络游戏开发中用到的一些最基本的知识和设计思想,使大家清晰的理解游戏开发的过程。(所有权: 毕业设计网 QQ:306826066)
整个设计中利用JAVA中的swing编程,结合游戏的操作流程,对整个游戏进行精心的设计和大量的测试,实现游戏软件服务器端和客户端的开发,为玩家提供一个友好美观的操作界面,并添加聊天等功能以增加玩家之间的互动性,此外实现了可编辑场景地图的功能,使得游戏内容的更加丰富,玩家交互性更好,确保了游戏更具有趣味性、灵活性,以满足玩家对这款网络游戏的要求。 [来源:http://www.think58.com]
关键词:消息传输;JAVA-swing;网络游戏;线程;场景
The Design and Implementation of “PaoPaoTang” Network Game
Abstract
Network game development is a big project that requires a lot of integration of knowledge. It is difficult to understand for beginner in this field. This thesis base on the research and development of a Game named “PaoPaoTang”, as an example, it descript the development of fundamental knowledge and theory when design a network game, so that we can more clearly understand the game development process.
The whole design uses the JAVA-swing programming, combines with the operation of the game, designs the entire game and does numerous tests, realize the game software running at server and client, provide a friendly and aesthetically pleasing interface for players, and add chat functions to increase the communion between the players each other. In addition to designs the scene map editing functions to make the game for richer content and better interactive with players. Finally to ensure that the game is more fun and flexibility it can satisfy the network game requirements for players.
Key words: message transfers; JAVA-swing; network game; thread; scene
在2004年全世界最火爆、在线人数最多的网络游戏,不是《传奇》、《奇迹》等深受欢迎的传统MMO,也不是《梦幻西游》、《剑网》、《巨商》等一大批后起之秀,而是盛大旗下的一款休闲游戏—《泡泡堂》。
《泡泡堂》是韩国第一人气网络游戏,拥有多达2500万的注册用户。它以简单趣味征服玩家。有专家将玩家区分为临时玩家、中间玩家和忠实玩家三类。而《泡泡堂》的服务对象大部分都是临时玩家。对于这一概念的定义为:年龄层从10岁到20岁甚至35岁左右,每天平均游戏时间约为2小时,希望选择可以即刻得到结果、界面简洁的游戏。临时玩家是互联网娱乐初级阶段的玩家层,对数字娱乐有一定渴望,对上手较难的游戏有畏惧感。他们比忠实玩家要更广泛,而且还是最有开发价值的目标人群。有资料统计,在美国临时玩家和忠实玩家之间的比例大约是50:1,在中国这种差距可能会更高。
而休闲游戏恰恰抓住了这些临时玩家对互动娱乐的需求。休闲游戏简单轻松,趣味十足,临时玩家们在短时间内就可获得游戏所带来的互动趣味和成就感。这些其实是休闲游戏成功的最大法宝。开发商非常清楚的认识到了这一点,他们以红白机的《炸弹人》作为原形,针对市场开发出了《泡泡堂》。使游戏操作简单,极易上手,富有乐趣,充分吸收了《炸弹人》的诸多优点。在保留精髓的同时,《泡泡堂》还开发了一些有创意的玩点,加入一些很有影响力的娱乐元素(Avatar),使产品线更丰富,满足了临时玩家多方面的互联网娱乐需求。(所有权: 毕业设计网 QQ:306826066)
[资料来源:http://think58.com]
本课题研究的意义
本课题以开发该游戏为平台,综合运用网络编程,数据之间的通讯,程序中算法的实现,线程的分配,程序运行中的内存使用情况的控制等。通过这些技术的综合运用,更深入的了解计算机程序方面的相关知识,熟悉游戏开发的理念和流程,了解整个游戏项目开发的关注点。(所有权: 毕业设计网 QQ:306826066)
该课题属于研究性的一个课题,不考虑商业上的应用。只是对技术研究的并不是游戏本身的娱乐性。
本程序需要解决的主要问题:
1. 游戏程序是一项精度要求很高的程序系统,因为其代码利用率很高。一个实时运行的最终作品,每秒都会运行成千上万行程序,绘图事件、键盘事件都会以极高的频率在后台等待响应,若有丝毫的差别都将很容易导致程序在运行不久后可能出现严重错误,甚至死循环。因此,其逻辑设计应当相当严谨,需将所有可能发生的事件及意外情况考虑在设计中。
2. 网络计算机之间的数据通讯:用socket进行编程,同时由于对人同时游戏,要尽量减少网络数据的传输量,提高传输效率,防止堵塞。
3. 算法的设计:算法是游戏的核心,要设计很好的算法,提高游戏运行的效率,运行速度要高,并且资源占用的要少。
4. 线程的控制:由于涉及到对个玩家,并且要即时的将数据进行网络传输,因此可以用多个线程来并发执行这些操作。线程之间的同步和调度上要很好的控制。 [来源:http://www.think58.com]
5. 双缓存:在图片之间相互调用转换时,图像的画面要流畅,不能有停顿和闪烁
6. 游戏中为了美观,适用性强,可能需要采用外部文件引入的图片贴图,有关贴图,这里使用了QQ堂游戏里的一些截图来美化界面,同时对解决静态或动态、画面背景、屏幕刷新的双缓冲等都有较好的解决方案。
以上相关技术细节和整体流程将分别在以下小节阐述。
系统设计
本游戏开发采用C/S结构,分为服务器端和客户端两部分。
处理流程
服务器端主要处理各个客户端发过来的消息(Message),并根据消息的类型,对消息进行不同的处理,然后将处理后的消息转发或者直接转发消息到所有玩家。
客户端则监听用户的输入动作,包括键盘和鼠标动作,对于不同的动作做不同的处理,并根据玩家动作的类型,把所有信息封装为一个消息的实体(Message),然后发到服务器端。同时要监听服务器端的回复过来的消息当收到一个新的消息,将对消息进行解析,根据消息的类型作不同的处理,从而改变游戏场景或者状态等。(所有权: 毕业设计网 QQ:306826066)
目 录
论文总页数:21页
1 引言 1
1.1 课题背景 1
1.2 泡泡堂游戏简介 1
1.3 本课题研究的意义 1
2 开发的环境及相关技术的介绍 2
2.1 开发环境 2
2.2 JAVA语言的特点 2
3 需求分析 2
3.1 游戏的操作流程 2
3.2 应该解决的问题 4
4 系统设计 4
4.1 处理流程 4
4.2 数据流 5
4.3 部署方案 6
5 系统实现 6
5.1 代码结构 6
5.2 公共类的介绍 7
5.3 服务器端的开发 8
(所有权: 毕业设计网 QQ:306826066)
5.4 客户端 9 [来源:http://think58.com]
5.4.1 模块设计 9
5.4.2 游戏入口程序 10
5.4.3 登陆 10
5.4.4 游戏大厅 11
5.4.5 对战场地 13
6 测试 18
结 论 19
参考文献 19
致 谢 20
声 明 21 [版权所有:http://think58.com]
[资料来源:http://think58.com]