首页 技术 正文
技术 2022年11月8日
0 收藏 950 点赞 1,740 浏览 949 个字

本系列博客主要是以对战游戏为背景介绍3D对战网络游戏常用的开发技术以及C++高级编程技巧,有了这些知识,就可以开发出中小型游戏项目或3D工业仿真项目。

笔者将分为以下三个部分向大家介绍(每日更新):

1、实现基本通信框架,包括对游戏的需求分析、设计及开发环境和通信框架的搭建;

2、实现网络底层操作,包括创建线程池、序列化网络包等;

3、实战演练,实现类似于CS反恐精英的3D对战网络游戏;

技术要点:C++面向对象思想、网络编程、Qt界面开发、Qt控件知识、Boost智能指针、STL算法、STL、容器、Boost网络库、OpenGL坐标变换、OpenGL加载3D模型、MD2模型加载、MDL模型加载

好了,下面就让我们来开始今天的学习之旅,软件工程项目的第一步——需求分析。

一、服务器端需求分析

1.项目简介

(1)背景简介:

该项目是以多玩家扮演的不同角色间的对战情形为背景实现的一个基于C/S架构的3D对战网络游戏的简单框架;

(2)C/S结构简介:

C/S 结构是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销;

(3)思考:

如果你是本游戏的玩家,你希望游戏有哪些最基本的功能呢?

2.服务器端功能需求

(1)UML图:

基于C/S架构的3D对战网络游戏C++框架_01服务器端与客户端需求分析

(注:该UML图使用astah建模软件绘制,一个非常简单实用的工具,大家可以尝试使用下。)

3.网络底层接口需求

(1)思考:

如果你想使用该游戏的网络底层进行二次开发,你希望这样的网络底层具备怎样的接口呢?

(2)UML图:

基于C/S架构的3D对战网络游戏C++框架_01服务器端与客户端需求分析

、客户端需求分析

1.客户端界面功能需求

(1)分析思路:

作为网络游戏客户端,我们需要的最基本的界面显示包括哪些内容?

(2)总体界面显示需求UML图:

基于C/S架构的3D对战网络游戏C++框架_01服务器端与客户端需求分析

(3)登录界面显示需求UML图:

基于C/S架构的3D对战网络游戏C++框架_01服务器端与客户端需求分析

(4)注册界面显示需求UML图:

基于C/S架构的3D对战网络游戏C++框架_01服务器端与客户端需求分析

(5)游戏大厅界面显示需求UML图:

基于C/S架构的3D对战网络游戏C++框架_01服务器端与客户端需求分析

(6)3D场景界面显示需求UML图:

基于C/S架构的3D对战网络游戏C++框架_01服务器端与客户端需求分析

2.3D场景模块接口需求

(1)分析思路:

根据3D场景界面的显示需求,我们在3D场景模块需要提供哪些技术支持呢?

(2)UML图:

基于C/S架构的3D对战网络游戏C++框架_01服务器端与客户端需求分析

  欢迎大家学习交流,如有不足恳请批评指正,转载请注明出处,感谢您的支持。如果您也喜欢我的博客可以持续关注我,让我们一起成长,共同进步。

  生活很精彩 剔除杂质,留下对编程的穷极探索 纯粹追求。

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,488
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,903
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,737
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,489
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,128
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,290