Home
Tom
Cancel

第十课:网络同步技术

基本概念 设计目标 游戏开发设计的要素 公平:确定性、安全性 体验:延迟低、稳定性 开销:流量、计算量、研发成本 传输数据分析 常用同步方案 一致性:帧同步 一致性:状态同步 及时性:通用方案 方案对比

第九课:运行环境与运维

运行环境 运行环境,指一种把变异好的程序在目标机器上运行的后台环境。是软件运行所要求的各种条件,包括软硬件环境。 物理部署 问题:假如某款产品同时在线1000W,需要多少台机器? 估算步骤 预估用户数量:总注册数,并发读写量,同时在线数量 压力测试,得出单机承载数量 备份、容灾处理 总的机器数量=接入层机器数量+...

第八课:游戏逻辑与反外挂

游戏逻辑服务器 游戏逻辑服务器 游戏服务器整体架构: 游戏服务器的作用 游戏数据存储 与其他玩家交互的中转 玩法驱动和逻辑 反外挂和防作弊(韩国上网实名制,所以反外挂逻辑的一般都在客户端,而不会在服务器判断) 游戏服务器状态图 时间间隔驱动:时间中断出去检查是否有一些相关逻辑需要处理,比如发现某个计时器倒计时结束 以3D MMORPG为例子阐述服务器...

第七课:游戏支撑系统

支撑系统概述 登录流程 LoginServer职责 鉴权 返回服务器列表,角色信息,推荐服务器等 白名单(灰度服务器)和黑名单 基于版本好的更新控制(强制更新/推荐更新) 与客户端基于Session的DH密钥交换 登录公告 DH密钥交换: 其他相关技术点 捏脸的技术点 方式一(image base):游戏共随机样本,利用人脸识别技术检索最像的; ...

第六课:游戏人工智能

游戏人工智能综述 人工智能在游戏中的应用 赋能与效率 游戏体验 开发效率 应用领域 玩游戏 内容生成 玩家体验衡量 人工智能在游戏制作中的主要方法 决策 有限状态机(FSM) 离散、有限的性质 优点 快速简单 计...

第五课:分布式系统设计

分布式系统概览 分布式系统指分布在硬件设备上的多个软件组件,彼此通过网络来通信和协作的系统。 分布式系统需要考虑的问题包括:业务模块划分、负载均衡、融在容错、网络通信等 消息队列:专门负责消息传递的通用中间件。特点:解耦发送方和接收方、稳定可靠 感性认识分布式系统: 腾讯游戏通信方案-TBUS(进程间通信) TBUS地址 World.Zone.Fu...

第四课:游戏后台开发工具

开发语言 C++新特性:auto, nullptr, decltype, lamda, constexpr 找mentor拿到项目组的代码规范、开发流程规范。 开发环境 Linux系统监控系统命令:perf, vmstat, gdb, trace, top, ifconfig, ulimit, lsof 腾讯开发组件介绍 tsf4g(Tencent Service Framewo...

第三课:浅谈游戏后台开发+游戏技术人员的野望

游戏后台解决的三大问题 网络通信 仲裁计算 数据存储 Books C++编程思想 Effective C++ Unix网络编程(卷1:套接字联网API) UNIX环境高级编程 TCP/IP详解 设计模式:可复用面向对象软件的基础 重构:改善既有代码的设计 游戏后台涉及的技术 同步方案 帧同步(王者荣耀移动)...

第二课:游戏服务器架构概要

《轩辕传奇》——MMORPG分区多世界的服务器架构 运营的视角 运维的视角 客户端的视角 大世界(无缝地图):将一个大地图分成不同的区域,每个区域用一个进程去承载,所有控制也需要一个主进程去承载。 跨世界共享:不同世界接触到的相同东西,单独提出来作为公共服务进行处理。主备从架构。 逻辑处理和持久化数据再同一个物理机上遇到的问题: DB的IO太多 日志文件 ...

第一课:敲打的是乐趣

前言 演讲者:李东,腾讯互动娱乐 光子工作室群 基础研究组组长。《绝地求生:刺激战场》引擎开发组长。 技术准备 编程基础 C++(保证运行效率)&Script(保证开发效率) Framework(游戏开发基本框架) actor包含所有的物体,能够跟玩家发生互动的都算。组件开发:actor都是挂接不同组件进行开发的。 ...

鸟哥的Linux私房菜笔记

重点回顾 0x01 计算机的五大单元:输入单元、输出单元、控制单元、算术逻辑单元、存储单元,其中CPU占有算术逻辑单元和控制单元,存储单元包含内存和辅助内存; CPU设计理念依据RISC精简指令集和CISC复杂指令集; CPU频率:外频是CPU与外部元件进行数据传输时的速度,倍频是CPU内部用来加速工作性能的一个倍数,两者承积才是CPI的频率; 个人电脑的内存主要元件为...

给学弟学妹们的关于校招的一些经验教训

序言 ​ 作为一个21届还没毕业的小朋友,我的校招到现在为止才算是尘埃落定了,自认为在找工作这件事上踩了不少坑,所以也想留下一点我自己的一些经验给后面参加校招的学弟学妹们,因为自己没有记录面试题目和写面经的习惯,所以之前都没有在收到offer的时候写面经反馈给大家,到现在基本已经不记得面试被问过的问题了……不过好在牛客上有很多优秀的面经可以去学习,我这里就不班门弄斧了,想另辟蹊径讲一讲关...

配置我的终端

序言 本文主要目的是帮助自己快速配置本地终端。 功能介绍 我的私人oh-my-zsh配置包括如下: 插件配置:auto-suggestions, auto-syntax-highlighting, git 代理配置:调用proxy_on或proxy_off可以开启终端的代理,这要配合clashX使用 vim配置:vim配置文件在/jiahua目录下,叫做.vimrc alias...

操作系统与Linux简介

操作系统的基本原理 操作体系概论 1.1 操作系统的定义 应用程序->实用程序->操作系统->硬件 单向调用的关系 1.2 操作系统的形成与发展 顺序处理、简单的批处理 多道批处理系统:以主存为中心,与CPU相连,用通道与I/O设备相连,存放多个作业,在主存中同时存放多个作业,根本目的是提高PCU的利用率,充分发挥并行性。通过资源利用率(实际使用时间/给定时间...

我的vim常用命令

Vim常用命令 删除操作 dw:删除从光标开始后面的字符 daw:删除光标所在的词 bdw:跳回光标所在该单词开头,然后删除 dd:删除一行 移动操作 # 字符移动 w:移动到下一个单词首 b:移动到上一个单词首 e:移动到下一个单词结尾 ge:移动到上一个单词结尾 ^:移动到行首 $:移动到行尾 # 相对屏幕移动 ctrl+f ctrl+b ctrl+e:按行下滚 ctrl+...

C++ Primer Plus 精华笔记

第2章:开始学习C++ 让程序访问名称空间std的方法有如下4种: using namespace std; 放在函数定义之前,让函数能够使用空间std的所有元素; using namespace std;放在函数中; 在特定函数使用using std::cout; 完全不用using,而是直接std::cout; 第4章:复合类型 面向对象编程与传统的过程性编程...

你好,世界!

大标题 小标题 三标题 普通文本 //代码片段 int main(){ hello world; }

Trending Tags