看了一个面试视屏感觉不错,是时候对症下药总结记录一番了。马上毕业要找工作了。
http://www.jikexueyuan.com/course/1284.html
知识储备的梳理:
初级
一、
职责的一个基本分类:
UI效果的展现
逻辑数据的管理
游戏内容的部署
项目架构的搭建
二、所需要具备的知识
有 C#语法 与 数据结构算法 ====>编程功底
ect:如语言基础. 弱引用,强引用,值类型,引用类型 ,GC ,stringbuilder等
面向对象特性:继承、封装、多态。 代码风格,重构、聚合和组合,关联、引用 等 。
UML图的使用与实际开发
设计模式: 六大原则、单例、观察者、原型、工厂、状态驱动、目标驱动、行为树、事件驱动等技术,
* 数据结构和算法: 数据结构. 数组、链表、堆栈、树、图(对于一些策略性游戏) 等等
基础算法: 递归思想、算法复杂度、常用算法 A*等
unity3D 引擎的使用 ====>项目经验
脚本开发 :生命周期、协程Coroutines、Destroy
2D: Altas图集、图片格式与压缩
物理:Raycast、碰撞检测原理、Mesh Collider
插件使用: NGUI、uGUI、Xffect、Itween、DoTween、行为树、Playermaker及拓展等
理解和掌握
3D 与数学知识 ====>数学基础
英语阅读能力 ====>学习能力
翻译API 点积 、叉积、矩阵、向量
中级,除了能实现逻辑上的功能外,还要在游戏模块上担任负责人的角色,也要具备一定的开发经验能够独挡一面
前期 : SDK接入、物理实现(demo)
中期 :美术接口、模块搭建
后期 :调整需求、优化、版本发布、维护
这些不同的内容匹配着不同的内容和经验
基本模块上的拓展
* 数据结构和算法的实现 : 手动实现一个对象池,使用算法优化项目,AI决策
如何使用状态机实现一个人物的动作流程控制
项目管理: 版本库的使用(Git/SVN/Bitbucket)
网络技术: Socket通信,RPC原理、第三方接入
图形学: OpenGL使用、 Shader开发,(物体的破碎,效果)
unity引擎的拓展
SDK:动态连接库、AR、Kinect、Oculus Rift
模块的使用 :Animation、Animator、LightMap、AssetBundle
项目优化: 如何实现内存优化,Drawcall、场景加载
手写插件: 拓展编辑器的开发。
敏捷开发的理解、对游戏的理解
面试常见的 如 :
内存的优化,游戏的运行过程中如何 释放游戏的资源(神启的资源代码设计采用了GC 构析 弱引用 和 unity自身资源卸载结合的方式)
http://www.cnblogs.com/88999660/archive/2013/03/15/2961663.html
内存加密、代码安全(游戏在开发的过程中,其他协作人员如美术,修改某些效果时,也不会修改某些核心的代码)
实现成动态连接库
四元数 、欧拉角
设计模式
Unity项目热更新: 脚本方式的热更新,ulua热更新,C# L#