游戏系统及开发相关概述(下)

news/2025/1/16 13:22:33/

1.1.6 聊天系统

聊天系统就是用于聊天的,包含局内游戏的聊天和局外大厅的聊天。一般有PVP模式的手机游戏都会设聊天系统,而且玩家发出的内容是有言论控制的,游戏侧会过滤玩家发布恶意广告,色情,欺诈等内容,即用户发言控制。

聊天不单单是文字聊天还可以是以语音的方式进行,特别是一些枪战游戏局内对战,更倾向于语音方式交流;而大厅中常规的聊天大同小异,如下图1-8就是一个比较常规的聊天窗口,选择特定的好友聊天即可。

在这里插入图片描述

图1-8 腾讯CF手游的聊天界面

1.2 手游开发语言

手机游戏开发是分为客户端开发和服务器开发。

一般游戏后台开发用C/C++比较多,也有一些公司主要语言用python和java的,但是对于MMO类型的对服务器实时性要求较高的的游戏底层一般都是采用C/C++来应对。

而手游客户端主逻辑开发语言是各种各样的,不过基本都是以C/C++为基础,特别是游戏引擎这一块。对于游戏的主逻辑开发,可以是C/C++,python,lua,C#或者js中的一种或多种。这里说的几种语言都是当前主流手游中用得比较多的引擎的适配语言,比如Cocos2dx支持c/c++和lua开发;unity3D支持C#和js开发,也可以嵌入lua,网易的NeoX引擎支持python的开发等等。

一般来说,现在游戏开发很少会自己去写自己的引擎,一方面是因为引擎的开发门槛较高,也有稳定性的要求,游戏开发人员更愿意使用通用的第三方引擎;其次,游戏制作人员会更关心游戏的类型和实现逻辑,以实现游戏业务尽快上线的需要。所以其实开发语言更多是随引擎走的,选择一款合适的引擎开发游戏,基本上主要的游戏逻辑开发的语言就可以定下来了。

任何语言开发的游戏只要在客户端存在强逻辑,只要引擎调用代码的地方被分析出来,就可以被外挂利用,所以没有说哪一款语言开发出来的游戏安全性差这种概念,游戏大体的安全性是打从游戏一开始的设计思路中就定下来了。

1.3 强联网和弱联网

强联网和弱联网的概念是不针对游戏的,而是针对游戏模式的,比如一般游戏的pve模式是弱联网的,pvp模式一般是强联网的。当然因为有的游戏可能玩法上面实时性要求较高,所以整个游戏都采取了强联网策略。下面介绍下强联网和弱联网的概念和应用场景。

1.3.1 强联网

强联网是指客户端与服务器之间信息的实时传输,这种情况下玩家会消耗比较多的流量,常见于pvp模式。服务如果有和客户端同步的要求,包括状态同步、帧同步等,就需要强联网的支持,如CF游戏的pvp模式,热血传奇都是需要强联网的,可以简单理解为每时每刻都不能断网。

一般游戏的强联网模式安全性会比较高,因为服务器会决定很多事情,客户端的责任相对较少。

1.3.2 弱联网

弱联网是指客户端与服务器之间的交互不频繁,或者没有实时的交互,这种模式一般都是因为游戏把很多逻辑放在了客户端计算,游戏只需要在玩家结算的时候上报结算和校验信息即可。例如你可以在地铁中玩天天酷跑,CF手游的闯关模式,这个时候你不用担心网络差带来游戏进行不下去的问题,因为它们是弱联网的。

然而,弱联网最大的弊端就是安全性问题,因为客户端强逻辑意味着客户端被改的东西有很多,一旦服务器做的校验不够的时候,安全问题就会突显。

1.4 小结

本文首先分别介绍了游戏主要的组成系统的概念及其作用,并提供了相关游戏的例子进行具体说明。再介绍手游中服务器和客户端中常见的开发语言,及游戏开发的主流引擎,最后向读者说明了下游戏中强联网和弱联网的概念。概要地把游戏系统及开发相关的概念介绍给读者,让读者对游戏开发有个大体的了解。


http://www.ppmy.cn/news/35711.html

相关文章

【Linux】初见“du命令”,“mkdir命令”,touch命令“,“ln命令”

文章目录1.du命令2.mkdir命令3.touch命令4.ln命令1.du命令 du:统计指定目录(或文件)所占用磁盘空间的大小. 格式: du [选项] [文件或目录…] 常用选项 选项说明-a统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录-h**以更人性化的方式(默认以KB…

分布式事务基础入门

分布式事务基础入门 什么是分布式事务 什么是分布式事务? 首先理解什么是本地事务? 平常我们在程序中通过spring去控制事务是利用数据库本身的事务特性来实现的,因此叫数据库事务,由于应用主要靠关系数据库来控制事务&#xff0…

学习系统编程No.11【重定向的本质】

引言: 北京时间:2023/3/27/7:05,哈哈哈,首先是开心,因为上篇博客热榜目前第15,让我初步掌握了上热榜的小妙招,不单单只是要日更,还有非常多的上榜小技巧,但是首先连续更…

寻找2020 (蓝桥杯) JAVA

题目描述 小蓝有一个数字矩阵,里面只包含数字0 和2。小蓝很喜欢2020,他想找到这个数字矩阵中有多少个2020 。 小蓝只关注三种构成2020 的方式: 同一行里面连续四个字符从左到右构成2020。 同一列里面连续四个字符从上到下构成2020。 在一条从…

动态内存函数malloc,calloc,realloc详解

🍍个人主页🍍:🔜勇敢的小牛儿🚩 🔱推荐专栏🔱:C语言知识点 ⚠️座右铭⚠️:敢于尝试才有机会 🐒今日鸡汤🐒:出色一点 从能力到容貌 思维导图&…

第十四届蓝桥杯三月真题刷题训练——第 24 天

目录 第 1 题:旋转 题目描述 输入描述 输出描述 输入输出样例 运行限制 代码: 思路: 第 2 题:附近最小_单调队列模板 代码: 第 3 题:扫地机器人_二分 题目描述 输入描述 输出描述 输入输出样…

使用Pytorch实现对比学习SimCLR 进行自监督预训练

SimCLR(Simple Framework for Contrastive Learning of Representations)是一种学习图像表示的自监督技术。 与传统的监督学习方法不同,SimCLR 不依赖标记数据来学习有用的表示。 它利用对比学习框架来学习一组有用的特征,这些特征…

人工智能大模型之ChatGPT原理解析

前言 近几个月ChatGPT爆火出圈,一路狂飙;它功能十分强大,不仅能回答各种各样的问题,还可以信写作,给程序找bug…我经过一段时间的深度使用后,十分汗颜,"智障对话"体验相比&#xff0c…