找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
游戏黄埔已经开课啦,大家速速报名赶快上车
查看: 100|回复: 0

商业游戏开发前后端程序区别

[复制链接]

185

主题

32

回帖

1056

积分

管理员

积分
1056
发表于 2025-9-20 13:11:31 | 显示全部楼层 |阅读模式
商业游戏开发前后端程序区别:
客户端程序员=前端程序员
包括
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++ 或 java
  • python、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
  • GM工具
        游戏管理人员内部使用
        发补偿邮件,发公告,禁言,关小黑屋
        查看玩家行为日志
        可做成客户端也可做成网页操作的形式
        做成客户端:另一个unity工程
        做成网页操作:  python框架Django

总结
    对于学生和转业人员,要明确自己的定位,选择以 前后端程序的哪种身份进入行业。
    针对性地进行学习、突破、专精,当自己的技能达到一定水平后,可以前后端全方面发展。
    但是对于初学者的建议,一定是选择前后端其中一条路线进行学习,如果双管齐下,由于时间、精力、专注度种种因素往往会得不偿失。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|平顶山市图灵科技 ( 豫ICP备2024088136号-1| 豫公网安备41040202000275号 )

GMT+8, 2025-10-29 18:07 , Processed in 0.044193 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表