但是如果是个人开发小型游戏的话,建议用C#,小型游戏不需要考虑效率问题,C#足以应付,微软有个东西叫XNA,专为业余的程序员开发小型游戏而设计,上手简单,微软提供了大量的类库,用起来很便捷。
如果是开发android的游戏的话,没得选,只能用JAVA。
貌似也有用delphi开发的游戏,不过听说不是主流。
其实语言不是重点,任何语言都可以做游戏,只是各个语言各有特点,根据需求的不同选择最适合的语言。关键在于算法要理解,理解程序的构架,研究透算法,才是最重要的。
学习的时候建议以C++来学习,用JAVA或者C#的话学不到指针,用C的话学不到面向对象的思想。不过如果没有任何语言基础的话,建议还是从C学起,先学会最基础的东西再学C++。VB现在已经很少用了,实在没学的必要。
推荐教材《Visual C++游戏编程基础》
如果只是想做个小的东西玩玩的话,有很多方便的软件,比如《RPG maker》,用这些东西不需要什么编程的基础就能做一些小的东西,玩玩足以。
appoint怎么记,手机快播 怎么切换声道,全网营销该怎么做
想制作小型游戏需要具备什么知识?
从游戏制作的角度看,最重要的三个工种就是程序、美术、策划,分别对应代码实现、美术设计、玩法设计。如果想要一个人制作小型游戏的话,也就是独立游戏的话,需要具备以下知识:
游戏的诞生环境——游戏引擎开发游戏的第一步就是要掌握一些制作游戏的工具,注意是制作游戏而非游戏素材。通常来说制作游戏需要的就是游戏引擎,现在很多游戏引擎都可以个人免费使用,像ue4、unity、cocos这些引擎都比较方便。使用引擎还有一点好处是其中包含了很多插件和常用模板,这样开发者就不用花时间从零开始做一些特别基础的部分了。
游戏引擎的使用是最重要的,也就是如何将其他部分结合起来的一个工厂,无论是自行设计还是东拼西凑,都是要在游戏引擎中将所有内容关联,然后打包出来。主机平台就打包成主机版本,手机平台就打包成手机版本,PC平台就打包成PC版本。
游戏功能的实现——代码编程游戏都是一个个功能结合的产物,每一个功能都是需要进行设计实现的,通常来说就要学习计算机语言去实现功能,也就是编程。不同的开发环境(引擎)使用不同的编程语言,例如ue4引擎使用C++开发,unity使用C#开发(也可以用js),所以通常是要学习一门编程语言的。即便是实现最简单的移动,也得明确地告诉计算机:哪个按键往哪个方向移动,速度是多少。
如果不会编程的话,也是有办法的。像ue4有蓝图功能,可以在不编程的情况下制作游戏功能,unity也是有一些插件允许玩家拖拖点点实现一些基础功能,像RPGMaker这种也能通过配置制作出游戏。但是要注意,这些方式的能力还是有限的,也就是必须在这些功能的范围内,如果想要实现一些自身不支持的功能,那么还是要靠自己编程。
游戏的外表——美术资源美术资源是游戏的外观表现,这个真的需要一定的艺术细胞了,不是随随便便学就能短时间学明白的,灵感有时候比理论更加难。如果是做2D游戏,那么需要考虑怎么绘制图片,如果是做3D游戏,那么还要考虑如何制作游戏模型。
不过现在网上和游戏引擎的官方商店也会提供一些付费或者免费的美术资源,如果有喜欢的或者可以凑合用的,也是完全可以拿过来直接用的。等到游戏真的有一定成果时,再付费外包一些美术团队制作,然后把资源替换一下也是可以的。
网上也有很多工具,最常见的PS可以进行图片处理,3DMAX可以建模,有一些软件还能够制作像素图片和模型,如果有能力的话,可以学一学,自己做点自己喜欢的东西,加入到游戏中。
游戏的灵魂——游戏玩法想要制作游戏,那么一定要清楚要做成什么样的游戏,也就是非常非常详细的规划,一般叫做系统文档。比如FC红白机上的《坦克大战》就需要考虑很多细节问题:
1.玩家是否可以双人,每个玩家的颜色是什么,玩家可以强化几个阶段
2.有哪些强化道具
3.敌人分为几种,每种是什么样子,移动速度多少,子弹速度多少,移动轨迹采用什么方式,是否可以拾取道具,每局每种敌人数量与出生位置
4.地图如何设计,一共有几种元素,什么元素允许子弹穿透,什么元素允许子弹破坏,什么元素阻挡角色
5.游戏成功失败的判定方式
等等
如果连游戏的设计环节都想不明白的话,就没有必要往下做了,因为很有可能做着做着就蒙了,越做越乱。虽然有些设计确实是在制作的过程中产生的灵感,但是灵感也要进行再三思考,绝对不能想什么就加什么,不然最后就失去初衷了。
游戏的附属——游戏声音一般来说游戏都是需要音乐和音效的。音乐是指时间较长的BGM,音效指示时间较短的音乐片段,如《超级马里奥兄弟》中踩到乌龟的声音,吃到蘑菇的声音,吐火球的声音等等。
虽然音乐和音效并不是必须的,但是有音乐和音效往往会让游戏更加吸引人,除非游戏的玩法决定其中就没有音乐和音效,否则至少要有一些基本的,例如点击确定的音效,成功失败的音效,背景音乐至少也要 有一个BGM。
制作音乐和音效的工具网上也有,当然也可以从某些地方进行取材,或者直接使用一些免费或者付费的资源也是可以的。
如果不提游戏的优化的话,不考虑各种屏幕适配,不打算为以后版本更新的话,目前这些知识已经可以做出一款基本游戏了,游戏的体量就看游戏的设计复杂度了。
零基础学习编程难吗?
首先要评估一下什么样的零基础,其次是学习编程的目标是什么,再来看能投入的资源,最后来规划学习的路径。
所谓零基础,各人情况也不一样。学习编程肯定会接触一门或多门编程语言,有的人是完全就没接触过编程语言代码,更不用说数据结构,算法和计算机原理之类的专业知识,这些知识需要对数学灵光一点。有的人可能上学的时候接触过一点,但是因为工作中没有用到,后来全还给老师了。另外,英语也是基础范畴之一,有一定英语基础的人相对来说入门的时候能更快地记住编程语言中的关键字。所以零基础,在偶看来有以上三个方面,代码,数学和英语。
当然,每个人都是从零开始的,如果有一定基础,学习编程入门的时候会相对容易一些,如果一点基础都没有,难度就会大一些。
第二个评估难易的标准在于,你学习编程想干什么,目标是什么。目标低,自然容易达成一些,目标高,肯定就困难得多。如果是想通过学习编程,解决工作中遇到的一些小问题,或者是兴趣使然,想自己编个小软件小游戏,这些都不难。因为编程开发在某种意义上来说是个手艺。就类似于做菜,可能很多人的厨艺并不能达到开餐馆的要求,但是自己家里吃是没问题的,偶尔也能做道不输酒店的大菜。
如果是以就业为目标,零基础并不是问题,只要你下定决心想学习。很多编程开发的工作,实际上是熟练工,所谓码农的称谓就是这么来的。好比开车一样,开的士很难么?很难学么?当然开公交车要求就高一些,但是毕竟不是开飞机那么难。市面上有很多培训机构,经过几个月的时间学习,很多人都可以入门的。这里多说一点,编程里面,前端相对容易一点,后台相对难一点。当然也有很多人从入门到放弃,更多的确实是自身不够努力的原因,外在的原因也有,但不是起决定作用的。
想转行技术的话,首先要看自己的一些情况,客观的放到社会上去比较,如果年龄太大,学习编程再去找工作是不太现实的。你站在一个公司的角度上去看,为什么要给一个年过30,刚从培训机构出来的入门菜鸟工作机会呢?有一大把刚毕业的,或者20来岁的可选,对不对?所以,如果超过30岁,零基础学习编程再转行做开发,难度不是在于自身是否学得出来,而在于入门了之后是否能有就业机会。客观的说,这种机会非常渺茫。
如果年龄不大,想转行,那就看看能投入的时间和金钱有多少。培训方式有脱产的有不脱产的,有线上的也有线下的。一般来说,如果零基础的话,脱产学习4到6个月才能真正入门,所谓脱产学习可以理解为每天不少于8个小时在学习编程上。
为什么这么说呢?换个角度看,一个在公司从事开发工作的人,正常来说一天不会少于8个小时在跟代码打交道,一个月工作25天,也就是200个小时,4到6个月,累积1000个小时左右的代码工作时间。这样的人还不见得能做多少事,解决多大的问题。
所以,在选择培训机构和方式之前,首先要看自己能投入多少时间,是不是能够坚持下去。零基础学出来的大有人在,半途而废的人其实更多。偶认为,自身的意愿和投入程度是最重要的。
在选择培训机构上,对于零基础入门这个阶段,很多培训机构都是能解决这个问题的。简单来说,看看培训机构开的时间长短,学员多少,收费高低大概就可以比较出来了。
这里建议你可以先去看看培训机构官网上的免费课程,也有一些课程是在发在大的平台上。一个是试一下自己能不能学进去,啃不啃得了,第二个是可以体验一下老师的教学风格自己能否接受。培训机构讲入门的东西大同小异,老师的水平高低不是体现在他自己技术水平有多厉害,过往在什么大厂待过,开发过什么牛掰的产品,而是看老师能不能用相对通俗易懂的方式讲解对于零基础的学员来说难以理解的概念,并且能够在培训的过程中讲一些编程的思想和解决问题的思路。
有些老师自己编程水平可能很高,敲代码很熟练,改起bug来很快,但是讲的东西基本是照本宣科,甚至连英语单词都读不清楚,这样就极其考验学员的灵性和毅力了。
总结一下,零基础学习编程的难度因人而异,因目标而异。哪怕代码,数学,英语三项都零基础,也是有很多人能学得出来的,关键是坚持和努力。关于转行就业,就得综合考虑自身在人力资源市场上的情况,年龄越大越难。关于培训机构,可以通过免费在线课程体验评估,总得来说活的比较久的培训机构在入门培训上都发差不差,就业培训方面会有很大区别,这个就依赖师资力量了。