项目说明报告
泡泡堂网络游戏的设计与实现
网络游戏开发是一项很大的工程,需要很多综合性的知识。这对于刚刚入门
的开发者来说很难理解。本论文从研究开发一个模仿泡泡堂网络游戏的例子出发,
讲述网络游戏开发中用到的一些最基本的知识和设计思想,使大家清晰的理解游
戏开发的过程。
整个设计中利用 java 中的 swing 编程,结合游戏的操作流程,对整个游戏
进行精心的设计和大量的测试,实现游戏软件服务器端和客户端的开发,为玩家
提供一个友好美观的操作界面,并添加聊天等功能以增加玩家之间的互动性,此
外实现了可编辑场景地图的功能,使得游戏内容的更加丰富,玩家交互性更好,
确保了游戏更具有趣味性、灵活性,以满足玩家对这款网络游戏的要求。
消息传输;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
目 录
论文总页数: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
5.4 客户端 ...............................................................................................................................9
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
第 1 页 共 21 页
1 引言
1.1 课题背景
最近几年游戏产业特别是网络游戏得到飞速发展。而随着人们工作节奏的加
快,小型的、竞技性的网络游戏因为游戏所需时间短,竞技性和娱乐性强等特点,
越来越受到工作人士的喜爱。盛大公司推出的“泡泡堂”是一款比较好也是比较
成功的网络小游戏。本课题就是想对该游戏进行分析研究,借助于它的游戏规则,
用 java 语言模拟开发一个类似的,功能相对简单的网络小游戏。从而使自己更
清楚的认识小游戏开发需要的知识和开发的环节和涉及到的领域。
1.2 泡泡堂游戏简介
在 2004 年全世界最火爆、在线人数最多的网络游戏,不是《传奇》、《奇迹》
等深受欢迎的传统 MMO,也不是《梦幻西游》、《剑网》、《巨商》等一大批后起之
秀,而是盛大旗下的一款休闲游戏—《泡泡堂》。
《泡泡堂》是韩国第一人气网络游戏,拥有多达 2500 万的注册用户。它以
简单趣味征服玩家。有专家将玩家区分为临时玩家、中间玩家和忠实玩家三类。
而《泡泡堂》的服务对象大部分都是临时玩家。对于这一概念的定义为:年龄层
从 10 岁到 20 岁甚至 35 岁左右,每天平均游戏时间约为 2 小时,希望选择可以
即刻得到结果、界面简洁的游戏。临时玩家是互联网娱乐初级阶段的玩家层,对
数字娱乐有一定渴望,对上手较难的游戏有畏惧感。他们比忠实玩家要更广泛,
而且还是最有开发价值的目标人群。有资料统计,在美国临时玩家和忠实玩家之
间的比例大约是 50:1,在中国这种差距可能会更高。
而休闲游戏恰恰抓住了这些临时玩家对互动娱乐的需求。休闲游戏简单轻
松,趣味十足,临时玩家们在短时间内就可获得游戏所带来的互动趣味和成就感。
这些其实是休闲游戏成功的最大法宝。开发商非常清楚的认识到了这一点,他们
以红白机的《炸弹人》作为原形,针对市场开发出了《泡泡堂》。使游戏操作简
单,极易上手,富有乐趣,充分吸收了《炸弹人》的诸多优点。在保留精髓的同
时,《泡泡堂》还开发了一些有创意的玩点,加入一些很有影响力的娱乐元素
(Avatar),使产品线更丰富,满足了临时玩家多方面的互联网娱乐需求。
1.3 本课题研究的意义
本课题以开发该游戏为平台,综合运用网络编程,数据之间的通讯,程序中
算法的实现,线程的分配,程序运行中的内存使用情况的控制等。通过这些技术
的综合运用,更深入的了解计算机程序方面的相关知识,熟悉游戏开发的理念和
流程,了解整个游戏项目开发的关注点。
该课题属于研究性的一个课题,不考虑商业上的应用。只是对技术研究的并
不是游戏本身的娱乐性。
第 2 页 共 21 页
2 开发的环境及相关技术的介绍
2.1 开发环境
操作系统:Microsoft Windows XP
开发语言:java 2
开发包:Java(TM) 2 Standard Edition (5.0),JFC Swing.
IDE: Eclipse 3.2
测试环境:局域网,PC 机
2.2 Java 语言的特点
1. 平台无关性
Java 引进虚拟机原理,并运行于虚拟机,实现不同平台之间的 Java 接口。
Java 的数据类型与机器无关。
2. 安全性
Java 的编程类似 C++,但舍弃了 C++的指针对存储器地址的直接操作,程序
运行时,内存由操作系统分配,这样可以避免病毒通过指针入侵系统。它提供了
安全管理器,防止程序的非法访问。
3. 面向对象
Java 吸收了 C++面向对象的概念,将数据封装于类中,实现了程序的简洁性
和便于维护性,使程序代码可以只需一次编译就可反复利用。
4. 分布式
Java 建立在 TCP/IP 网络平台上,提供了用 HTTP 和 FTP 协议传送和接收信
息的库函数,使用其相关技术可以十分方便的构建分布式应用系统。
5. 健壮性
Java 致力与检查程序在编译和运行时的错误,并自动回收内存,减少了内
存出错的可能性。Java 取消了 C 语言的结构、指针、#define 语句、多重继承、
goto 语句、操作符、重载等不易被掌握的特性,提供垃圾收集器自动回收不用
的内存空间。
3 需求分析
本设计主要是实现一个类似于“泡泡堂”功能的网络游戏。其操作流程及其
主要功能如下介绍
3.1 游戏的操作流程
游戏的操作类似于网络游戏 QQ 堂。其操作流程如图 1 所示。