| 商业游戏开发前后端程序区别: 
 客户端程序员=前端程序员 包括 Unity程序员 UE程序员 Cocos程序员 Egret程序员 Laya程序员 Flash程序员 等等 
 服务端程序员=后端程序员 包括 C++程序员 Java程序员 Go程序员 C#程序员 等等 
 内容概要 前后端核心技能点前后端重点学习方向前后端开发范畴前后端工具开发 
 
 前后端核心技能点 前端核心技能点 编程语言 c#、c++、ts、as脚本语言 lua常用数据结构和算法常用设计模式游戏引擎工具使用(Unity、UE、Cocos等等)渲染原理,动画原理,着色器编程3D游戏数学基础多线程编程游戏AI编程等等
 后端核心技能点 编程语言 c++、java、Go脚本语言 shell, python, lua常用数据结构和算法常用设计模式Linux操作系统熟练使用多线程编程数据库(mysql),内存数据库(redis)使用及配置网络编程(tcp, udp, http, epoll)
 
 前后端重点学习方向 前端重点学习方向 编程语言(c#、c++、lua等)游戏引擎(Unity、UE、Cocos等)数学相关(线性代数、平面几何、立体几何等)数据结构和算法设计模式计算机图形学(OpenGL)操作系统原理
 
 后端重点学习方向 c, c++ 或 javapython、lua数据结构与算法设计模式操作系统原理计算机网络数据库系统原理
 
 前后端开发范畴 
 前端开发范畴         UI、特效、动画、场景、特殊表现         美术规范(UI、动画、特效、原画、模型、场景)         程序中的资源加载、释放、热更新         各种资源管理器(音效、特效、动画、UI等)         网络通信(tcp、udp、消息序列化/反序列化)         多线程模型(网络线程、日志文件线程),线程间通信         模式框架(MVC、单例、工厂、观察者、状态机、内存池、事件系统等)         数据持久化(json、xml、2进制等)         通用数据结构和算法(基本几何体类、循环队列、优先队列、树、A*等)         技能和Buff系统(配置表、脚本化)         游戏AI(状态机、行为树)         3D场景中的移动、旋转、碰撞(3D数学、物理系统)         动作模型管理         UI面板逻辑         玩家数据管理(客户端服务端消息通讯)         内存占用优化         图集Alpha通道分离         图片尺寸压缩         网格模型精简         特效模型精简         内存复用、内存释放、防止内存泄露         第三方工具检查         等等         CPU效率优化         减少Draw Call         UI图集         网格合并         光照贴图         等等 
 后端开发范畴         并发链接管理:创建、通信、断开         多种网络通讯协议:tcp、udp、http         非阻塞编程         数据存取         MySql、redis、本地数据文件等         应用层缓存系统,提升服务性能,防止频繁读写磁盘         提高数据访问吞吐量: 阻塞模式使用多线程,非阻塞模式使用回调或协程         数据备份         基础模块开发         基础数据结构和算法库          网络API,数据库访问API, 文件操作API等封装抽象         网络协议批量制订和生成(protobuf,tdr),序列化/反序列化         日志系统(本地run日志,远端存库日志)         多线程模型,无锁编程         进程框架,多进程间通信框架         异步非阻塞逻辑框架(协程系统,回调系统)         模式框架(单例, 工厂, 观察者,状态机,内存池, 事件系统,缓存系统等)         养成逻辑         战斗逻辑         军团逻辑         排行榜逻辑         等等         数据校验,延迟处理,丢包处理         无状态服务设计         分服设计,平滑扩展         重要数据备份,防灾 
 前后端工具开发 前端工具开发         广泛的软件开发知识面         快速编写或搭建,接入各种工具         Android, ios平台基本编程         Unity编辑器扩展         主要扩展unity编辑器         数据档生成工具 ( excel->2进制文件 )         多语言工具         热更新资源包生成工具         批量修改资源属性工具         打包出档脚本         AI编辑器,关卡编辑器,技能编辑器         等等         Talking data         渠道sdk         性能检测 (腾讯wetest)         闪退检测报告(腾讯bugly)         等等 
 后端工具开发         广泛的软件开发知识面         快速编写或搭建,接入各种工具         C#, linux, shell, python         数据库操作         网页程序编写         进程启停脚本         服务器批量部署         进程监控,报警         分析数据指标         留存率,付费率,ARPU,LTV值         分析玩家行为         英雄分布,道具分布,关卡通关情况         Pandas + excel         游戏管理人员内部使用         发补偿邮件,发公告,禁言,关小黑屋         查看玩家行为日志         可做成客户端也可做成网页操作的形式         做成客户端:另一个unity工程         做成网页操作:  python框架Django 
 总结     对于学生和转业人员,要明确自己的定位,选择以 前后端程序的哪种身份进入行业。     针对性地进行学习、突破、专精,当自己的技能达到一定水平后,可以前后端全方面发展。     但是对于初学者的建议,一定是选择前后端其中一条路线进行学习,如果双管齐下,由于时间、精力、专注度种种因素往往会得不偿失。 
 
 |