求大神们花2分钟看看我的demo,水平离unity实习级别有多远?应该从那些方面努力
求大神们花2分钟看看我的demo,水平离unity实习级别有多远?应该从那些方面努力 蟹妖,首先题主说下是哪方面的实习吧,否则不太好回答。简单的说:作为策划,说明你有逻辑基础,有代码了解,有游戏功能拆分的想法。但是,对游戏本身的设计,还不太看的出来。局限于技术对于策划是双刃剑,策划招聘看综合能力。
作为技术,说明你会用u3了,本人不是技术,不好多说。不过会用其实不是技术的核心,反而是一些基础能力更看重。语言,工具都可以学,基础比较难培养。
作为交互,好吧,估计你没想做交互,现在能看出的只是简单的拼接界面,逻辑和美术资源都有问题。
总的来说,题主的态度,学习能力,热情,都是极好的。针对不同的实习,有不同的要求,看你的方向了。现在的作品,反而并没有明确方向。做游戏是一个分工很细的事情。即使做独立游戏,也会用很多其它问题。在校的时候,对做游戏的理解,其实和游戏工作岗位所做的事情,不太一样。加油! 如果是计算机专业,那么找大公司的工作也够了。
因为不是计算机专业,也非数学物理等专业,就得看你花点时间去学习网络,数据库,算法,数据结构,操作系统和C语言这一块,掌握一定的基础。
(基础的重要性有时候不在于工作中用不用的上,而是遇到问题的,知道怎么去定位排查。比如之前项目中的有一个工作几年的前端是非CS专业的硕士,对TCP协议特性一直不理解,所以对于一个断线重连的问题就定位了很久都找不到头绪。他一直说是网络丢包了,导致重连后某个协议收不到数据。现象却是并没有掉线还能接收到后续的协议数据,而TCP是不会丢失某一段数据还能收到后续数据的,所有最后发现实际上是协议注册解析处理的问题。)
另外一定要熟悉C#的语言特性,至少熟读一本《C#in a Nutshell》 这类的书。因为不是计算机专业,一定不能在语言层面上有所短板。
对于Unity本身,除了API,框架特性相关的知识之外,还可以去网上下载一些游戏的源代码看看,看UI系统对应的协议数据模型的驱动方式,看战斗控制相关的驱动机制。
比如UI的协议发送和更新是采用什么机制,一般所谓的MVC框架。
比如游戏中同时又非实时同步的战斗和服务端实时同步的战斗,采用什么样的框架设计可以做到表现层逻辑一致。(如角色的状态机变化,包括AI行为全部采用事件驱动机制,这样不论事件来源于客户端的输入还是服务端的同步协议,角色行为的逻辑处理都是一样的。) 游戏行业正需要你这样充满热爱和动手能力的人,前途一片光明
PS:去找程序的工作除了DEMO还是要多从基础入手,算法啊数据结构啊BLABLABLA,我记得有个同事跟我说之前程序面试题里问三叉树BLABLABLA,我的妈,二叉树我都忘得差不多了,真是愧对老师了,还好我现在不是程序~
PPS:策划校招的话DEMO没有都没啥关系,社招有个DEMO简直棒棒的,其实话说你的DEMO主要还是凸显了你的动手能力,从程序角度出发貌似不太能看到你的基础,从策划角度出发你也没有设计什么让人眼前一亮的玩法。然而只要你会表达自己(我们俗称为吹逼)就可以了,反正设计思想什么的都是可以借鉴和学习的。
另外可以求求各种内推啊,反正我厂内推如果成功的话都是有奖励的,我猜别厂应该也是,所以你这么有动手能力我猜大家都愿意帮你推一波的 蟹妖,
但从表现效果来说,还算不错了,如果去面试,给面试官第一印象上,应该是“有学习和动手能力”,到此,40%的目标已经达成。
接着,是在这里看不到的:你的基本功,你的专业知识水平,比如数据结构、算法、架构设计、Unity本身知识的深度和广度、插件的了解程度,深层的比如:对游戏的各种场景优化理解、反作弊、图形学渲染、性能分析等等,但题主只提供了视频本身,也许是认为后面这些都比较次要,也许是觉得太多,在此无法概述。
能做出这样的效果表明题主的动手能力不错,这是个很好的敲门砖,但是牛逼的大公司更看重的是来人的基础技术水品,只要基础好,甚至完全不懂Unity的都会招!
结论:有这个Demo是很好的,但是重点最好放在核心基础知识上。 做得不错,完全可以找到工作。 如果是仅展示最终效果,问题不大。但是应该不仅仅是看展示效果,如果是面试程序可能会考虑多个方面,如代码可读性,耦合性强弱等。个人建议:
1.UI管理类中声明了很多公共的变量,应该是需要大量的拖拽游戏物体到代码组件位置。建议后续不要采用此类方式,这种方式一旦让别人来读你的代码就会十分的头疼,而且如果不小心操作错了可能查bug就要查半天。该管理类里后续的代码没有看到,但是从其他代码处的调用来看,这个管理器应该不是特别完善,建议多去看一下框架教学的视频。
建议适度的使用GameObject.Find或者递归查找子物体等方式直接用代码来获取游戏物体。UI管理器最基本功能应该是1.帮助其他面板控制类获取所控面板组件2.封装UI组件的使用方法或者二次封装相关API,帮助面板控制类提供相应功能。
2.多利用面向对象的特性。如果对面向对象理解的不是很透彻,那就先搞懂封装这个特性。在射线检测击中目标的tag哪里代码重复度非常高,因为是手机原因我看不清里面的内容。如果只是固定的参数不同,建议对射线检测的API做一个二次封装,并传入你想要的参数,这样至少可以节省几十行代码。
3.谨慎变量声明的数量和所在的声明周期函数。有一部分的变量声明直接就在Update和fixedUpdate中。考虑到他们的特性,每帧或每次渲染都重新生成一个对象,这将非常耗费性能。
建议直接将可能会重复调用的对象声明在声明周期函数以外,只需在Awake或者Start中初始化即可,即使在Update中调用,也只是不断调用已经声明好的这一个对象。
多加练习。虽然你已经具备了做一个完整Demo且可实习的能力,但是离做真正的商业化游戏,还有一定的距离。继续加油! 谢邀。
看了下Demo已经不错了。没看到代码不好下定义,毕竟你想做的是程序不是策划。
如果是想做策划的话,稍加培养就OK了。 题主是哪里的,这个水平找个实习没什么问题吧。 有些部分函数的小用法不是很好,比如tag比较,射线的使用,一些组件的暂存。不过总体还不错。有兴趣来我司实习不,坐标魔都。