主要是要学习C#。
游戏编程也是编程,都是需要敲代码的。所以基本的语言基本功是不能少的,比如C语言或者C++或者C#至少要精通其中一门。精通到什么地步呢,基本数据结构和基础的算法还有设计模式你得非常熟悉。这样算是入门了。
接下来你就可以选择一个游戏引擎了,市面上主流的游戏引擎有两种一个Unity3D一个虚幻四。但是这两款引擎的脚本语言并不一样,Unity是C#虚幻四是C++所以在学习之前要想好使用引擎开发什么类型的游戏。
主要学的内容如下:
1游戏程序设计:C++程序设计入门;基本数据类型和输入输出;流程控制语句;数组、指针和引用、函数;程序结构和书写规;范结构体和联合体、类;继承与多态;异常处理与程序调试。
2算法与数据结构:算法分析;数据结构;基本算法;STL的概念与使用;静态库与动态库;XML库的使用。
3Win32程序设计:Windows程序入门;Windows消息;GDI绘图游戏工具与MFC;网络编程基础。
4游戏数学和智能应用:游戏中的坐标系;矢量、矩阵;几何碰撞;物理模拟;人工智能与寻路算法。
52D游戏技术与应用:2D游戏技术概论;游戏地图系统;GUI系统;战斗系统设计;任务系统;优秀的声音引擎BASS;Cocos2D-X引擎;Box2D物理引擎。
互联网行业目前还是最热门的行业之一,学习IT技能之后足够优秀是有机会进入腾讯、阿里、网易等互联网大厂高薪就业的,发展前景非常好,普通人也可以学习。
想要系统学习,你可以考察对比一下开设有相关专业的热门学校,好的学校拥有根据当下企业需求自主研发课程的能力,能够在校期间取得大专或本科学历,中博软件学院、南京课工场、南京北大青鸟等开设相关专业的学校都是不错的,建议实地考察对比一下。
祝你学有所成,望采纳。
总体来看,VR游戏开发的核心引擎是U3D与UE4,这两款游戏开发引擎工具基本撑起了VR游戏制作的一片天。两者各有千秋,Unity适合小团队制作,甚至是独立制作,主要趋向是手游,目前Unity仍然是手游市场占有率最高的引擎,超过九成的Gear VR游戏都采用了Unity引擎开发。而UE4更加适合大团队大制作,主要趋向于PC。下面是两者的优劣势对比:Unity的优势:
轻量级,安装、调试和打包方便
配置VR项目十分简单
学习成本低,文档完善
开发成本低
UI系统
在PS4上调试方便,有批处理文件可以一键运行
Asset Store
提供了一些VR下的Demo作为参考
Unity的劣势:
内建工具不够完善
渲染差,光照系统糟糕,阴影bake有bug,只能勉强达到2A游戏入门水平
对于控制器支持较差,一些如手柄震动、VR控制器空间定位的功能引擎未集成,需要第三方插件或额外代码
没有材质编辑器,需要第三方插件
Prefab不支持继承
没有内建的Level Stream支持
Unreal的优势:
画面效果完全达到3A游戏水准
光照和物理渲染即便在缩水的状况下也足以秒杀Unity
蓝图系统,从此策划不用再写代码
强大的材质编辑器
各种官方插件齐全
对于手柄、VR控制器支持良好
提供各种游戏模版,用来做原型配合Blueprint甚至比Unity更快
Unreal的劣势:
C++
如果要开发PS4游戏需要重新编译引擎,12核服务器,24线程编译大概需要20-30分钟
如果需要重新编译引擎,光拉代码就需要至少一个小时
创建新项目大概又要编译十多分钟
如果切换,要编译几千到上万个shader
PS4部署不方便,打包编译同样非常久
学习成本高,各子模块功能强大但 *** 作复杂
部分功能没有任何文档,已有功能的文档同样不够完善,不如Unity
开发成本高,某国内3A团队做了个10分钟的VR Demo,据说已经烧了一千多万
UI设计器非常之难用
VR下的一些best practice同样缺乏文档和例子
首先,我得说明的是,目前市场上新人很难去做pc游戏开发,要么是做页游要么是手游。
页游不清楚我就不说了,手游里面,客户端主要就是c2d和u3d。
如果你想做客户端,那么你可以转学u3d,因为它使用的语言是csharp,这个语言和java相似。网上unity的教程也很多,你随便找一下就有了。
再说说手游服务器,其实我入行服务器还是挺巧合的,当初本来是打算做客户端的,都入职了,因为招不到服务器,就让我转服务器了。。
服务器的教程,我至今也没找到,而且也找不到系统的教程。
开源的服务器框架也只熟悉kbengine和scut。其中一个是cpp做底层python做开发的,一个是csharp做开发。而且scut已经两年没有更新了,应该是死掉了。
所以,想要学服务器开发,得碰点运气。
java服务器目前主流框架技术有网络层netty或mina,数据协议protobuf,数据库mysql,缓存数据库redis,jdbc一般是mybaits或者jpa,项目管理maven,设计层面spring
然后还需要熟悉多线程,linux的基本 *** 作,git或者svn。
差不多了,这些都有个大致的了解,会用,应该就能找到工作了。
后面再深入需要学习的也挺多的,到时候你再根据业务需求自己琢磨着学吧。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)