从零开始学游戏编程-可视化编程游戏开发工具学习指南_第1页
从零开始学游戏编程-可视化编程游戏开发工具学习指南_第2页
从零开始学游戏编程-可视化编程游戏开发工具学习指南_第3页
从零开始学游戏编程-可视化编程游戏开发工具学习指南_第4页
从零开始学游戏编程-可视化编程游戏开发工具学习指南_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

开发玩耍可能是学习编程的理由中最吸引人的一条了。但如何从零开头入门,到达能够开发玩耍的编程水平,是困扰很多勇敢少年们的传统难题。作为一名玩耍设计师,我没有系统地学习过编程。5年前开头,我有了自己从头完整开发玩耍的念头,于是断断续续地看了很多书,试过了很多入门方法和开发环境,但直到近半年才Unity开发环境下独立制作玩耍原型和利用成型的框架完善玩耍功能已不成问题。本文会介绍如何从零开头学习玩耍开发编程的方法,期望能为和我一样挣扎在编程大门之外的玩耍开发爱好者们供给帮助。不过事先要说明的是,这种学习思路是为了帮助你在做玩耍的过程中渐渐学习编写程序,不适用于其他领域,但作为一种入门方法,它能让你在半年到一年的学习之后,做到独立制做小玩耍〔或原型〕。门外汉学编程的难点介绍学习方法之前,我们先看看门外汉学编程最常遇到的问题。第一,程序员们常常说程序语言只是编程工具,但市面上常见的教程都宠爱从语法、算法和程序语言的使用思想开头教学,而不是把编程语言当做解决实际问题的工具来入手。因此,初学者常常消耗很大精力才能理解书上写的算法和思想,却完全不知道理解之后能用来做什么。其次,很多编程教程虽然配有实例,但一方面例子的学习难度曲线增加得很快,刚看完一个“HelloWorld”实例,下一个例子可能就变成教你如何安排内存〔Objective-C的教程就是这样的〕。另一方面初学者在对开发流程不生疏的状况下,很难做到举一反三,从一个实例里总结出做另外三个玩耍的方法,我常常遇见看了三个不同类型的玩耍实例,放下书后却连一个玩耍都做不出来的状况。第三,很多编程教程为了提高普适性,在使用现成架构方面都很保守,导致了很多重复造轮子的教程消灭。例如在前几年Cocos2D〔iOS平台玩耍开发的玩耍引擎〕还没有现在这iOS玩耍开发教程讲的都是如何使用OpenGLES来制作玩耍图像,而这些底层架构的实现对初学者来说是根本不行能完成的任务。因此,适合初学者的学习方针是:从实际需求动身;“怎么做”优于“为什么”〔为什么可以在入门之后再渐渐理解〕;使用允许你偷懒的工具或架构〔需要做的越少越好〕。这些要求其实很简洁满足,答案恰恰在看起来和编程关系不大的领域——可视化编程工具里〔VisualProgrammingTools〕。可视化编程玩耍引擎让你先做再想可视化编程泛指一切使用可视化元素的操作代替文本输入的程序设计方式,大体上就是像画流程图一样通过连接假设干“盒子”和“箭头”来实现程序规律。这个概念在玩耍开发工具上的应用越来越流行,GameMaker、RPGMaker、GameSalad、Construct2Unity都是其中的代表。尽管这些工具和引擎各有不同的开发方式,但它们都能让初学者在完全不懂编程语法和简单算法的状况下快速实现自己的玩耍设计。我之前的态度是宁可抱着“看也看不懂,看懂了也不会做”的书XNA〔C#的玩耍开发架构〕Cocoa〔苹Objective-C的应用开发架构〕,也不屑于使用GameMaker、GameSalad之类的图形界面开发工具。认为这些工具属于“业余型”,就算能做出玩耍来也是旁门左道,不能修炼内功。BIGJam的活动,接触了很多GameMakerFlash这些简洁的工具当做制作独立玩耍的最正确选择。缘由是他们多年以前开头学习玩耍开发时使用的就是这些工具,常年的使用阅历让他们能在最短的时间里用这些工具实现想法。而使用这些工具从头到尾制作了大量玩耍的经受,也在他们以后学习用编程语言开发玩耍时打下了很好的根底。从那之后,为了快速开发原型,我开头物色入门级的可视化编程玩耍引擎。HTML5Construct2偶然进入了我的视线。花十几分钟学习教程实例之后,我很快用几个小时做出了一个始终在构思的玩耍想法〔固然想法本身就很简洁,而且制作过程中遇到实现困难的设计都进展了进一步简化〕。说来惭愧,尽管在主机玩耍Construct2的开发过程中我第一次感觉到对玩耍开发的整个过程和架构有了初步生疏。首先,可视化编程工具里一般都有一个现成的玩耍场景〔任何玩耍开发过程中都需要一个画布或一个摄像机来描述玩家可以看到的图像范围〕,然后你需要把玩耍中需要的各个元素〔一般称为Actor,例如主角、敌人、子弹等,这就是编程语言里对象的概念〕放进场景里,然后通过关联规律模块来让它们快速互动起来。Construct2的规律模块使用了格外贴近编程语言的按行号从上到下的执行挨次。而且你将从教程中学习到,原来玩耍开头运行后每一帧都会按挨次执行一遍全部的规律,这就是玩耍开发的根本框架中最常说的主玩耍循环〔MainGameLoop〕。除此之外,用户使用规律模块时不用担忧语法错误和算法的设计,一般这类引擎里都会供给大量现成的算法模块可供选择。只要专注于设计玩耍规律,其他事情可以说都是软件自动帮你完成。在观看教程和其他范例工程时也一目了然,学习别人的设计思想更加简洁。Construct2独立完成了第一个玩耍原型后,我学到了相像的玩耍元素可以共享一局部属性〔编程语言里使用类和继承的概念〕;学到了全部活动的玩耍元素都需要在每一帧的循环里进展驱动,每帧只运动一小段距离;还学到了应当在主玩耍循环的什么GameOverGameOver时进入另一个循环来等待玩家重开头玩耍等内容。这段经受让我生疏到有力量从头到尾制作玩耍〔或者原型〕对于玩耍开发的理解有多么重要。但有一个问题消灭了—假设可视化工具那么好用,那为什么还要连续学习编程呢?我当时也光临着高……由需求动身向编写代码的转型直到我打算做个稍大一点的战略玩耍工程,才开头在各种玩耍开发工具中碰壁。接连尝试了Construct2、GameMaker、Stencyl,可不管哪一个工具都无法很简洁地供给我所需要的数据构造。重打量了需求的增加和工具的局限性之后,我才打算开头学习UnityC#编程。在请教了团队里的程序员和有针对性地学习了一局部Unity中搭建出了设计需要的根本玩耍UnityC#脚本,一步步地把握了C#里类的继承、列表和字典的使用与托付等难以读懂,学了也不知道怎么用的概念。Unity开发环境里独立制作玩耍原型时,我也感觉从Unity引擎有个特点,就是有一个内容格外丰富的插件市场,其中最流行的插件类型之一就是可视化编程插件。这些插件〔PlayMaker、uScript、AntaresUniverse等〕Unity玩耍开发的常用功能打包成函数块,并按需求类别归纳成组,只要花一点时间阅读手册就相当于把握了Unity里大局部的常用函数功能。之后用户通过连接不同函数块的输入输出接口来实现完整的玩耍规律。当时我为了开发一个动画状态很多的动作玩耍原型,购置了PlayMaker插件,并且使用这个插件强大的状态和动画掌握功能第一次学习了有限状态机的制作和使用。之后又经身边的程序员教导了可以用来掌握菜单和不同条件下需要不同处理方式的很多玩耍逻辑。Construct2一样,我也只在一个工程中使用了PlayMaker的状态机。在了解了有限状态机的根本工作方式后,我在之后的工程中都使用了团队里的程序员开发的纯代码的有限状态机系统〔exUnityUnity下的玩耍开发有用架构:s://github/jwu/exUnity〕,完成了从可视化编程到代码编程的转型。这就是Unity下的可视化编程插件很适合用来学习编程的缘由:和其他较为简洁的工具的区分在于,UnityJavaScriptC#作为C#函数和脚本打包成了可视化的规律块,并没有转变其设计思路。对于初学者来说,用可视化插件组装起来的玩耍规律和用C#手动编写的玩耍程序几乎是一一对应的,有时甚至能准确到函数段落〔AntaresUniverseUnity的全部函数功能一一对应〕Unity官方的脚本参考手册,就能完成从可视化编程到文本编程的翻译。我经过可视化工具的启发,很快就觉察插件有些臃肿和烦琐,也无法实现一些需求实现。在接下来的两个原型中就越来越多地开头手动编写代码,对工具的依靠越来越小,直到完全抛弃。现在可以答复前面提出的“为什么有了不用编程就能开发玩耍的工具,还要学习编程”的问题了。假设你的全部设计需求都可以被可视化玩耍开发工具完成,那么确实不需要进一步学习编程。但假设有的需求无论如何都不能用其他工具完成,那么自己写代码来实现就是唯一的出路,这时你有猛烈的需求和目标,就可以通过询问或搜寻“怎么做”来学习编程并满足需求。我的程序员好友常常说:“能否学会编程其实只取决于你的需求是否猛烈,不得其门而入、或半途而废的都是需求不够明确或不够猛烈的人。”可视化编程工具对于玩耍开发者来说就是一个筛选需求的过程:100个需求,但都不知道从哪开头90个需求,剩10个就被放大并明确化了。接下来依靠上网学习或向他人请教,终究也能自己实现〔个别超出力量的需求不要强求,请别人做或者放弃都比钻牛角尖要好〕。可视化编程工具能够培育我们由浅入深的思考习惯。先尽可能地用简洁的规律去实现设计,假设用“盒子”和“箭头”无法完成,那么你在寻求代码上的解决方案时,就答复了“为什么要用这样的程序设计思想”的问题。经受了这个过程,你对“为什么”的理解会比一开头就去看特地讲解“为什么”的大部头程序书籍深刻很多。而通过实践理解了需求和程序设计之间的关系后,再去系统地阅读程序设计教程效果会好得多。可视化编程虽然依靠于工具,但也能帮助你时刻把“程序语言即工具”的概念装在脑袋里。之后无论换什么引擎,用哪种语言,首先应当问自己:“”另外,程序设计和画流程图之间的距离没有想象中那么大,通过反复用可视化编程工具画“流程图”的过程,能够从实践中学习各种游戏设计的实现方法,当你能准确地画出规律完善的流程图时,离你写出同样规律完善的程序距离已不远了。更重要的是,在这个过程中你实现了自己的想法,制造出了和书上的例程完全不同的东西,对于增加信念和进一步明确自己的学习需求的作用都是巨大的。想学写程序,就要做程序员的朋友最终讲下如何从身边的程序员那里获得帮助。初学者想要学写代码,有个程序员朋友能让你获益良多。当你遇到难题时,请把询问的重点集中在需求思路和关键字上,而不是一味求代码。高手供给了思路以后自己实现,或通过关键字自己寻求解决方案,都更有助于水平的提高。从可视化编程到代码的转化中,也可以尝试使用程序员写的功能库或常用的架构。前文中提到不要重复造轮子,当抛弃可视化编程工具时,就要用现成的功能库来代替。在选用功能库时,自己信任的程序员推举的东西总会是一个格外不错的选择,他能告知你一个库的优缺点并且在使用过程中供给技术支持。我在学写代码的过程中,先是自己用最简洁的方式实现功能,然后一边不断阅读和学习同个独立开发团队里程序员的工程构造和代码,再使用程序员设计或惯用的架构来组织自己的代码,这样既能最快地完成工作,又能渐渐养成较好的编程习惯和深入理解程序设计思想。流行的可视化编程玩耍开发工具及简洁点评GameMakerGameMaker是已有十多年历史的老牌独立玩耍开发引擎,也是在世界范围内最受独立玩耍开发者欢送的引擎。巨大的用户基数和独立玩耍圈用户们乐于共享的精神使得学习GameMaker格外简洁。GML,便利用户使用脚本代码实现更高GameMakerStudioiOS、AndroidHTML5等各种平台。Construct2GameMakerHTML5玩耍引擎,它的大事编辑界面〔EventEditor〕格外接近写单一过程的程序代码的模式和习惯,可以帮助初学者学习最根本的玩耍循环构架。Construct2GameMaker,但仍旧处在高速进展期,功能添加的很快。GameSalad这是一个很受业余爱好者和玩耍开发初学者的图形界面引

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论