怎么用编程开发个游戏?
第一就是游戏逻辑,也就是与平台无关的游戏逻辑的开发。
第二部分是游戏引擎,大部分会用到一些引擎的工作流、一些各种系统封装好的高层的API。
第三部分是weapp,小游戏的框架是参考了webview的框架,但其实它的底层不是webview,而是webview精简优化过的平台,小游戏有的只是与核心相关的一些渲染的API。
这里的weapp-adaper是把小游戏的能力适配到与webview更接近的环境,让更上层的游戏或引擎本身能够更快速地集入到平台中。
总的来说小游戏的入口为game.js,游戏可以利用底层的一些能力将游戏的整个界面绘制出来。配置文件为game.json主要用来配置小游戏是横屏还是竖屏,小游戏的全局对象game Gobal类似于webview中的window对象,同时支持javascript语言。
但是小游戏有一个重要的一个限制是禁止动态执行代码,开发者必须先提交审核,在审核通过后才可以上架给普通用户。另外,小游戏包括引擎的代码量比较大,所以限制大小比小程序要大,首包限制大小为4M。
开发游戏:
去学习这个平台主流的语言:Android主流JAVA语言,iOS主流Object-C语言,而在个人主机上主流的游戏开发语言现在包括以后很长时间也还是C++。
但是并不是所不同平台的游戏开发,就毫无共同之处,学了这个到了另一个平台就无用了。不是这样的,编程的世界里你走得越远你会发现很多东西的本质都是相似的。
例如你如果扎实地理解了C++的基本语法(而不是死记硬背),日后再转Java语言也不是很难的事情,因为它们本质的面向对象特性还有各种编程语言特性都是相通的。
所以,如果你想走得远,在学习的时候不能简单流于表面,对于一样知识越深入到底层,你就越能看到其它知识与其的异曲同工之处,因此你将比别人更轻松。但是,当然一开始最好尽可能是贴合自己的专属领域和编程语言,这样能尽快地在这个领域持有一席之地。
自己一个人做的话,设计、程序、美术、音乐等等就都得会。如果组团队做,可以重点攻坚其中1到2个方向。我主要说说技术方面。你在编程方面已经有所积累,至少算法方面应该是吧,这对于编程来说是个不错的开始。
开发游戏的话,对基本的数据结构和算法要求还是很高的,再有就是软件结构的设计,这个需要较长时间的积累,最好多看看其他的游戏类工程是怎么做的,游戏和那种业务流软件的一个不同在于,游戏程序对实时性要求很高,会有一些为了性能而出现的不同的代码模式。
最基本的一个东西,编程语言,看你希望的开发平台,不同平台会使用不同的开发语言,这个要熟练掌握(不是能写算法、玩具例子那么简单就行,需要知道如何用这种语言开发大型工程)。关于开发平台,多说两句。
如果想要自己的程序便于大家在任何平台使用,推荐Web相关的技术,如HTML5/JavaScript(用canvas元素,如果需要GPU加速的底层3D API,canvas有WebGL绘制环境(OpenGL ES 2.0的浏览器版))。
如果希望更方便开发,Unity3D是个很好的选择,是个集游戏引擎与运行平台于一体的东西,而且这个东西牛逼的地方在于所有平台都支持(PC、Mobile、Web)。如果开发手机上的原生app,推荐学习cpp以及那个平台上官方语言,这样可以用cpp开发,然后用官方语言做一个壳。如果是PC上的游戏,还是推荐cpp。