![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
游戏开发
文章平均质量分 77
WesleyWang97
这个作者很懒,什么都没留下…
展开
-
初识游戏客户端与服务器
客户端引擎架构客户端引擎工作流程客户端技术难点多线程 考虑到手机发热等问题,需要负载均衡,使用多线程等方法.渲染物理还有兼容性、声音、动画等问题。服务器引擎架构服务器技术难点负载均衡实时在线性能分析网络传输TCP建立连接消耗过大,手机环境丢包几率过大,TCP拥塞控制会认为降低发包速度.而实际上手机端丢包虽然严重,并不代表带...原创 2018-05-27 10:27:31 · 5401 阅读 · 0 评论 -
Kubernetes在游戏业务应用调研
游戏服务器现状普遍痛点更高并发、更高性能:大量玩家并发访问,对服务器运算能力、IO能力和稳定性有更高的要求PVE、PVP特性,对网络延迟的容忍度低攻击手段多、安全风险高:成为大流量DDoS攻击和CC攻击的首要对象攻击方式的变化多样,导致游戏停服、玩家流失;恶意注册、撞库盗号、外挂破解等严重影响游戏体验研发成本高、管理协同难:游戏行业竞争加剧,需要加快游戏产品上线速度,抢占市场;手...原创 2018-07-29 22:49:25 · 1129 阅读 · 0 评论 -
游戏后台架构发展历史及展望
综述本文探究了游戏后台架构的发展历史及展望。随着技术的进步,游戏需求的变化,游戏架构也在不断发生变化来满足越来越高的游戏需求。总体来说是需求在推动着架构的变化。本文最后也根据现在人们的游戏需求和现在业界技术情况,给出了后台架构展望。游戏后台架构发展历史第一代网游服务器最早的游戏服务器是1978年,英国著名的财经学校University of Essex的学生 Roy Tru...原创 2018-07-29 22:43:26 · 7479 阅读 · 0 评论 -
OperationTrident游戏开发总结
项目回顾这是我第一次参加游戏制作,再次之前没有任何游戏制作基础,也没有使用过c#这门语言,但是在短短40天内完成了一款多人PvE FPS游戏的网络模块,还是挺满意的(过程中也切实体会到了游戏制作的血与泪)服务端整体架构因为只是一个mini game,所以搭建的也是最基础的单进程服务端结构。一个进程包括了从数据接收读取的逻辑层,再到将每个数据包抽象成为Player的数据的中间层,最后...原创 2018-07-14 19:43:57 · 454 阅读 · 0 评论 -
帧同步和状态同步概述
帧同步适用游戏类型对于延迟要求较高的游戏,例如:FPS游戏, RTS游戏(即时战略游戏)等。原理帧同步不同步状态,只同步玩家的操作指令,操作指令包含当前的帧索引。这里最重要的概念就是 相同的输入 + 相同的时机 = 相同的输出。 实现帧同步的一般流程是: 1. 同步随机数种子。(一般游戏中都设计随机数的使用, 通过同步随机数种子,可以保持随机数一致性) 2. 客户端上传操...原创 2018-07-14 16:55:41 · 5939 阅读 · 0 评论 -
Skynet代码阅读随笔(保持更新)
c接口转Lua接口:下面这个代码之后就可以直接通过client.socket进行导入,c接口转Lua接口:LUAMOD_API intluaopen_client_socket(lua_State *L) { luaL_checkversion(L); luaL_Reg l[] = { { "connect", lconnect }, { ...原创 2018-05-31 21:15:50 · 219 阅读 · 0 评论 -
c#使用mysql作为数据库的各种坑
安装Mysql的坑ERROR 1146 (42S02): Table ‘mysql.role_edges’ doesn’t exist用Mysql 8.0版本的会出这个问题,先强制你修改密码,然后修改密码过程中又出现这个错误,网上很多人说可以mysql_upgrade来修复系统表:>mysql_upgrade -u root -p 然而我的情况是,没有修改密码就无法升级表....原创 2018-06-07 14:21:25 · 4581 阅读 · 0 评论 -
Skynet服务器框架(二) C源码剖析启动流程
引言:之前我们已经完成了在Linux下配置安装 skynet 的环境,并成功启动了 skynet 服务框架,为了从底层更好地理解整个框架的实现过程,我们有必要剖析一下源码,由于底层的源码都是用C语言写的,lua脚本基本是用来进行业务层开发,所以我们从C源码开始解读框架。打开下载包的 skynet-src 目录,这里是s...转载 2018-05-29 11:10:45 · 254 阅读 · 0 评论 -
Lua基础
脚本式编程在头部添加:#!/usr/local/bin/lua然后增加可执行权限,并执行:./test.lua或者:lua hello.lua注释单行注释: --多行注释: --[[ 多行注释 多行注释 --]]数据类型Lua是动态类型语言,变量不要类型定义,只需要为变量赋值. 8个基本类型:nil, boolean...原创 2018-05-28 23:23:09 · 343 阅读 · 0 评论 -
Skynet Overview
框架在 skynet 中,用服务 (service) 这个概念来表达某项具体业务,它包括了处理业务的逻辑以及关联的数据状态。对,使用 skynet 实现游戏服务器时,不建议把业务状态同步到数据库中,而是存放在服务的内存数据结构里。服务、连同服务处理业务的逻辑代码和业务关联的状态数据,都是常驻内存的。如果数据库是你架构的一部分,那么大多数情况下,它扮演的是一个数据备份的角色。你可以在状态改变时,...转载 2018-05-28 20:17:21 · 288 阅读 · 0 评论 -
skynet文件目录结构(待完善)
Skynet整体架构Skynet目录结构3rd:第三方代码,主要生成一些给lua用的so动态库lualib:lua库lualib-src => luaclib:给lua用的c库luaclib:部分lualib-src编译之后的.so文件(应该可以通过调整编译过程将源文件全部编译出来)service:lua服务service-src => cservice:c服务...原创 2018-06-03 21:02:07 · 964 阅读 · 0 评论 -
2017年中国游戏产业报告(简要)
2017 年中国游戏产业整体状况(简要)中国游戏市场规模中国游戏市场实际销售收入 2017 年中国游戏市场实际销售收入达到 2036.1 亿元,同比增长 23.0%。中国游戏细分市场占比 2017 年中国游戏市场中,移动游戏市场份额继续增加,实际销售收入 1161.2 亿元,占 57.0%;客户端游戏市场份额减少,实际销售收入 648.6 亿元,,占31.9%;网页游戏...转载 2018-07-28 11:21:36 · 3474 阅读 · 0 评论