看你要去哪个方向了,策划、程序、美术,每个方向又有细分。
专注于为中小企业提供网站制作、网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业庆城免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上1000+企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
策划有剧情策划,关卡策划,数值策划等等。
程序有客户端编程,服务器编程,引擎编程,脚本编程,手机游戏开发, 网页游戏。
美术有3d建模,2d美术。
方向不一样需求不一样。
较了解程序,就程序俩说吧。
如果要说只为干活,客户端你得学windows编程,socket等
服务器当然就是各种数据库操作,各种通讯操作。
引擎编程需要了解底层,directx,opengl,3d数学,物理基础等。
脚本的话就学脚本就够了。
手机游戏开发分ios、android,对应使用不同引擎需要不同的学习。
网页游戏前端目前flex流行,js,html也在发展。
以上只是速成。但是真正建议的是,
学好c++,数据结构,socket编程,了解windows编程,学习数据库编程。
先学3d数学,再学directx,然后试着做个小游戏。
学习设计模式。研究开源引擎。
会是个比较漫长的过程,但是基础扎实,各种开发都不怕。
可以专挑一条喜欢的道路深入研究,也可以专注游戏逻辑实现。
这个话题其实有点儿大。这里面有一个重要的区别是:你是想当独立游戏开发者,还是想当游戏行业的从业人员。
如果是想当游戏行业的从业人员,我觉得就简单了,盯准你想当的职业,培训相应技能就好。事实上,在游戏行业里的开发,无论是精通特定引擎或者架构(如cocos2D,unity3D,OpenGL,DirectX),还是只是对基础(如算法、设计模式、图形学、人工智能等)有一定深度,都能入行。(不是都学,是对其中一个有超过平均水平的掌握或者理解即可,然后就投简历吧。现在游戏也这么火,不难找工作)。
但是对于独立游戏开发者,事情就不一样了。显然需要掌握更多的东西。但是掌握更多的东西不一定是专精。这就要求独立开发者有取舍。首先要思考,自己想在什么平台做游戏?ios?好好看ios sdk;android?好好看android sdk?win8?好好看wpf。网络?flash或者html5等等等等。
我在上面只列出了一个基础,不包括图形引擎或者游戏引擎。事实上,一些游戏不需要引擎的协助。独立开发者的游戏更是注重创意,因此,很多并不依靠引擎的游戏也能有不错的收益。但是,要想更进一步,需要在平台的基础上选择合适的引擎加以研究。
最后,我认为独立开发者需要了解一些美工知识,并且对数值策划有一些感觉。但从美工的角度,很多美术非常简单的游戏也很不错;所以我一向不认为美术是游戏开发的关键。当然,它是一个能增添很多亮点的环节。
而对于游戏策划,我想每一个想开发游戏的人都有当游戏策划的料子。但这个职能类似产品经理,猛地一想很简单,可把一份策划捋顺了,有逻辑,经得起市场验证,难。不过这是一个试错的过程,只能在探索中学习,实践中学习,书本学来的极其有限。
附上出处连接:
一般来讲就是J2ME、Android、.NET平台开发手机应用了,J2ME出道比较早,Android虽然出道没几年,但是比较流行,待遇也不错,并且学起来也很简单。所以你想速成的话,建议学Android,自学就行了,这个就没必要培训了,又不是嵌入式、单片机之类的。
建议按照下面的步骤慢慢学。
1.安装android sdk
2.搭建java开发环境
3.安装IDE(建议用MyEclipse)
4.安装ADT插件
然后就可以开发android应用程序了
学习步骤如下:
1.androi平台搭建
2.android用户界面编程
3.android四大组件学习
4.android数据存储
5.多媒体应用
6.互联网应用
7.GPS定位应用
8.android多线程
9.android应用项目实战(例如做一些基于android小的管理系统,小游戏等等)
学完了这些基本上可以算是入门了,接下来就是找点项目自己做做,或者是进相关公司实习
PS:建议不要动不动就去培训这个培训那个,一方面是对自己自学能力的否定,另一方面也是最重要的就是外面的软件公司会因为你的培训而对你大打折扣,基本上是不要培训过的人的。
实践知真知,这个道理谁都明白。网上的一些视频或一些书籍等都是没有多大的实践性,要快速学习的话,可以找一家专业机构或者有人带你学习,这样进步很快的。没有人告诉你一些基本的东西,可能你无法想到的
实践就是最好的老师!
另一个需要强调的是:
编程是一种技能,就同学习外语一样,绝不可能“速成”!
在有了 10 年自学计算机技术的经历和近几年在高校讲授程序设计系列课程的经验之后,我一直在思索以下几个问题:
? 软件到底是怎样开发出来的?
? 编程是难还是易?有没有能让编程功力“暴长 10 年”的“武功秘笈”?
? 一个有志于成为优秀软件工程师的人应该怎样学习计算机技术?
? 用什么方式才能让许多学生很快地学会特定的计算机技术,而不用重复我和其他人所走过的弯路?
思索的结果就是大家所看到的这本书。
在我自己亲身的学习与开发实践中,逐渐形成了这么一个观点:
编程其实并不难!
要编程并不需要到大学计算机系里去学很多艰深的理论,经过适当的指导与训练,一个高中生就可以参加到软件项目团队中,并写出具有相当质量水准的程序!
为什么会有那么多的人把编程视为很高深的东西?
为什么我国那么多的软件企业深感合格的程序员是如此难找?
与此同时,又有与之完全对立的情况:每年有大批计算机及相关专业毕业生四处求职,却处处碰壁,找工作成了一件很不轻松的事情……
一边是真正合格的程序员人数很少,软件企业都在喊急缺人才,而另一边是大量的学生毕业找不着理想的工作。这样一个怪圈为何会形成?
我想,造成这个怪圈有两个重要的原因。
一是学生学习方法与态度的问题。由于对软件开发这一工作本身缺乏正确认识,许多学生形成了一种浮躁的功利型学习方法,表现为盲目地跟风学习各种当前流行的新技术,但大都只是三个月热度,由于欠缺毅力和不具备扎实的理论与实践基础,对这些新技术无法深入把握,浅尝辄止,“坐而论道”,讨论时可以“滔滔不绝”,一到动手则“原形毕露”。许多人没有想过:现在流行的“新”技术,难道就会一直“流行”下去?曾经风光一时的 Foxpro 和 PowerBuilder ,国内曾有许多人(包括本人在内)投入大量的时间去学习与掌握,可没过几年,还有几个项目是用这两种技术开发的呢?所以,如果要“追”新技术,也只能去学预计两到三年后社会急需的技术,这就需要学习者有超前的眼光。但软件技术进步实在太快,很少有人能够准确预测出几年之后会流行什么。所以,与其“临渊羡鱼”,不如“退而结网”,选择一项自己喜欢的领域,从理论到技术,扎扎实实地用两到三年时间去学好它,在学习过程中培养出“捕鱼”的本事。有了这种自我学习的基本能力与素质,还担心出海捕不到鱼吗?
有一些学生投入相当多的时间与金钱去参加种种有着各种动听承诺的电脑培训班,指望别人能够帮助自己成为技术高手,却不知真正的高手大都是“自学成才”!
更有太多的尤其是非计算机专业的学生,盲目地去考各种认证,不管是国内的还是国外的考试,只要有证,就有大批的人去参加。他们把应用计算机技术的能力简单地等同于一纸证书。当前的计算机等级考试就大有成为高校中第二个“英语四六级”的可能性。 事实上,你向别人展示自己写的一个软件作品,比给别人看一堆各式各样的证书更能说明你的能力!
造成怪圈的第二个重要原因就是计算机教育问题。目前高校中的计算机教育并不能大批量地培养出合格的软件开发者,学生在四年本科期间计算机理论学了不少,对培养编程能力却重视不够,缺乏实践的结果是理论也掌握不好,学生的计算机水平被煮成了“夹生饭”。
除了在校的大学生,社会上还有大批的软件开发爱好者,他们由于没有机会系统地学习软件开发技术,就采用自学和自我实践的方式,结合自己的工作来应用学到的计算机技术。虽然他们没有在校生的优越条件,但其中优秀人物的真实开发能力远胜于正规高校计算机专业“科班”出身的本科生甚至是硕士生。这种例子已经很多了。
“职业选手”不如“业余选手”!
我自己是走“野路子”出来的,走的是以实践为主导的自学之路,从亲身实践中深切感受到计算机科学本质上是一门实践性非常强的科学,不管是在校学生还是社会上的软件开发爱好者,我的建议是:
我从 2002 年开始接触 .NET 技术,并一直研究使用至今,前前后后看了近百本国内外的 .NET 编程书籍,并写了几万行的 .NET 代码。在对 .NET 有了一定的了解之后,我认为 .NET 技术是初学者学习软件技术非常好的切入点,学习者可以一步到位,直接学习目前主流的面向对象软件开发技术,而不用按部就班,按传统的先结构化编程再面向对象编程的顺序去学习。
接着我思考的问题是:这本书该怎么写?
著名物理学家爱因斯坦曾经表达过这样的思想:
学习时只需要掌握那些能让思维导向深入的东西,而将其他无关的知识全部抛弃。
软件技术本身有一个庞大而复杂的体系结构,不分巨细地样样都想掌握,那么只能是疲于奔命而终无所得。
为此,基于我自己的理解,在书中我将认为是最重要和最基础的东西突显出来,这些东西是必须掌握的,一旦理解并掌握它们之后,读者就掌握了“捕鱼”的方法,自己就可以进一步探索某一领域内的其他技术点了。因此在书中不需对每个技术领域的每个技术点都“面面俱到”。
编程是有规律的,读者能不能迅速成为一名具备相当水平的程序员,关键在于对编程规律与必备知识基础的把握程度。
最重要的是要掌握原理。在开发过程中所进行的各项具体活动与工作步骤,其背后都是有道理的,理解清楚了这些道理,在整个软件开发过程中该做什么,不该做什么,先做什么,后做什么,也就心中有数了。
编了这么多年的程序,我意识到其实学习软件开发技术的过程就是一个学会做事方法的过程。例如,在开发软件时,要“分而治之”、“步步为营”、“先局部后整体”、“合理安排开发次序”、“养成良好的编程习惯”等,这不仅仅是程序设计的技巧,也是做好编程之外许多其他工作所需要的。
在学习与掌握软件技术这一过程中,可以锻炼一个人的许多基本素质,如思维周密、意志坚强、学习能力、创新精神等。如果一个人能在竞争空前激烈的 IT 业凭借着高素质站稳脚跟,那么,可以很有把握地说,如果他转向其他行业,同样是一个优秀的人才,也会闯出自己的一番天地!
在许多计算机技术书籍中,出现了大量的技术术语,对于不熟悉这些术语的读者而言,这无疑加大了阅读的难度。对于这些计算机术语的表述,如果强调其在理论上的科学性与严谨性,则往往不易于理解,这在很大程度上限制了这些知识的传播、普及和应用。因此,本书对这些术语大都采用了一种通俗易懂的方式来表达,甚至使用了不少比喻手法来阐明其内涵。这种表达方式虽易于理解,但不免在科学性和严谨性上有所不足,读者如果需要科学而精确的定义,请自行查阅相关的科技文献。强调一下,本书是一本志在普及软件开发技术的专业书籍,与传统的工程技术专著和计算机科学理论教材不同,阅读时不要像中学学习数学一样,每个字都不放过,而应将重点放在形成对软件开发过程的直观理解和感性认识上。
对于一个具体的软件开发者而言,只有被理解了的知识才是真正有用的知识,无法理解的知识是毫无用处的。笔者写书的主要目的是让读者能迅速地汲取书中所提供的知识,尽量做到 “用大白话讲述复杂的技术” ,因此在文字上追求深入浅出,但是否真的做到了这一点,还得由读者来做出评价。
知识的获取与掌握是有其客观规律的,一般而言,具体的知识易于理解,而抽象的知识则难于把握,在学习过程中,应遵循“具体 → 抽象 → 具体 → ……”这样一个无限循环的过程。
如果某人对一门学科所知不多,却指望他能通过理论学习迅速地把握这门学科,这就违反了人类认识世界的客观规律。可惜的是,目前中国教育体制中普遍采用的让学生重点学习抽象理论而忽视具体实践的做法,造成了大批的学生既没学好理论,也没打好必要的实践基础。
我认为,只有建立在实践基础之上的理论学习才是真正有效的学习。因此在整个计算机技术的学习过程中,应该把开发实践作为一条主线,由它串起所有的计算机理论。如果把计算机技术中的各个子领域看做是一个个珍珠,开发实践就是那根把所有珍珠串成项链的丝线。没有这根线,学习各门计算机课程得到的不过是一颗颗零散的珠子,价值有限。
没有基础能学android手机软件开发,但是要注意循序渐进,不可急于求成。开发android,需要掌握这些基础。
①Java基础知识 ②Linux基础知识 ③数据库基础知识 ④网络协议 ⑤Android基础知识 ⑥服务器端开发知识①Java基础知识
很多朋友一上手就开始学习Android,似乎太着急了一些。Android应用程序开发是以Java语言为基础的,所以没有扎实的Java基础知识,只是机械的照抄别人的代码,是没有任何意义的。万丈高楼平地而起,Java就是筑起高楼的每一块砖头。Java学到什么程度才算是过关:个人认为至少要掌握以下两个方面的内容:
a)Java基础语法:具体的知识点列表可以在这里下载:《Java知识点列表》V1.0。这部分内容没有讨价还价的余地,必须烂熟于胸。至于具体的学习方法,可以看书或者是看视频,但是关键是要多加练习,无论是书上的练习还是视频里面的练习,都需要仔仔细细的完成;
b)设计模式:由于在Android系统的框架层当中,使用了大量的设计模式,如果没有这个方面的知识,对于Android的理解就会大打折扣。设计模式的种类非常之多,一个一个的全部掌握,是不现实的,必须首先掌握面向对象的基础设计原则,有了这些基础原则的支持,就可以举一反三。这部分内容可以在《Effective Java》和《Agile.Software.Development:Principles,Patterns.and.Practices》这两本书中找到。
②Linux基础知识
大家都知道,Android系统的基础是Linux操作系统。在开发过程当中,我们也需要使用到一些Linux命令。所以说一些Linux的基础知识是必须的(话说现在的程序员,不懂Linux都不好意思跟人家打招呼),推荐大家看看《鸟哥的私房菜》这本书,写的相当不错;
③数据库基础知识
这个比较简单,就是一个增删改查的数据库操作,可以看一下这本书:《SQL编程练习与解答》
④网络协议
至少需要学习两种基础的协议,HTTP协议与Socket协议;
⑤Android基础知识
⑥服务器端开发知识
由于很多Android应用程序都需要服务器端的支持,所以掌握一些服务器端开发知识还是非常有必要的。至于选择哪一种服务器端知识进行学习,就比较麻烦了,因为技术的种类实在是太多了:
a)Java EE:就是上面邮件当中所提到的SSH—Struts+Spring+Hibernate。这种技术的优点的功能完整、强大,已经使用了很多年,而且既然大家已经非常熟悉Java了,那么学习SSH看起来也顺理成章。但是使用这种技术开发服务器端程序,非常麻烦。即使是一些简单的功能,也可能需要大量的代码和配置文件来实现;
b)PHP:简单易学,开发快速。但是我们需要多学一种语言,是否得不偿失,就要大家自己判断了;
c).NET:这项技术的特点和Java EE差不多,但是要想掌握.NET,则需要掌握c#,也是个麻烦的事情;
d)ruby on rails:这是我个人最喜欢的服务器端技术,简洁,优雅,寥寥几行代码,就可以实现很复杂的功能,但是这需要Ruby语言知识作为基础;
至于选择哪一种知识,就看大家自己的判断了,毕竟每个人想法不一样,爱好也不相同。
安卓开发学习书籍
书的话建议买 精通Android2 ,或者 Android2高级编程 这两本书,讲解的细致,但是一定要结合sdk来看。国内的不要买。。。。(切身体会,千万别买)
看完之后就可以自己动手做做项目了。
对于java基础,我现在的感觉是 如果要深入学习android平台,java基础一定要好(里边包括各种java类库的用法,本地代码jni什么的)。但如果平时随便做做应用的话,会面向对象编程就完全可以了。
安卓开发学习学习网站
推荐你关注DevStore(主要是开发者服务商店)还有csdn和开源中国,都是开发者经常关注的网站。
DevStore(全球首家开发者服务商店)主要是整合开发者会用到的服务,可以实现在线对比评测,省去自己去网上搜索寻找的过程,还有sdk配置过程,很方便的,嘿嘿,我还在这个网站上写评测挣过外快呢。
csdn是 中国最大的开发者技术社区,牛人还是很多的
开源中国是目前国内最大的开源技术社区,主要是软件下载,源码托管
自学的话平时就多看一些官方文档,帮助文档也是一个很好的参考资料,多看看,平时多敲代码,多看住哟啊哈斯看规范,看完之后去敲代码主要是在实践过程中发现错误,多做项目自然多遇见问题,遇见问题解决问题,下次自然就知道怎么解决,在实践中发现真理。
当然可以的话有一个老师还是很好的,但是要记得要是的作用只是引导,师傅领进门修行在个人。
建议学html+css,从静态页面做起,2个月足够可以自己切图做一些页面了。
html+css只需要记住一些标签和固定写法即可,如果一上来就学c或c#语言,个人觉得入门难度稍微大了些,没有老师带的情况下,自己很难懂,尤其是一些面向对象的思想。
其它问题请追问