GameMaker

来自Local Chinese Wikipedia
(重定向自Game Maker
跳转到导航 跳转到搜索

package.lua第80行Lua错误:module 'Module:Format link' not found页面Module:Infobox/styles.css没有内容。

GameMaker
File:GameMaker Studio 2 Logo.svg
原作者package.lua第80行Lua错误:module 'Module:Ilh/data' not found
開發者package.lua第80行Lua错误:module 'Module:Ilh/data' not found
首次发布1999年11月15日,​26年前​(1999-11-15
当前版本Template:Software version
源代码库页面Template:Plainlist/styles.css没有内容。
  • {{URL|example.com|可选的显示文本}}
Module:EditAtWikidata第29行Lua错误:attempt to index field 'wikibase' (a nil value)
编程语言
引擎页面Template:Plainlist/styles.css没有内容。
    Module:EditAtWikidata第29行Lua错误:attempt to index field 'wikibase' (a nil value)
    操作系统
    平台
    语言
    许可协议专有软件
    网站官方网站
    页面Module:Infobox/styles.css没有内容。

    GameMaker(最初为Animo,2011年之前为Game Maker)是一个系列跨平台游戏引擎,由package.lua第80行Lua错误:module 'Module:Ilh/data' not found于1999年创建,2007年后由package.lua第80行Lua错误:module 'Module:Ilh/data' not found开发。最新的版本是2017年发布的GameMaker Studio 2。

    GameMaker支持使用自定义拖放式视觉化编程语言或称为Game Maker Language的脚本语言创建跨平台和多类型的电子游戏。该语言可用于开发拖放功能无法创建的更加高级的游戏。GameMaker最初的设计目的是让新手程序员能够在没有太多编程知识的情况下制作游戏。最新版本的软件也开始注重吸引高级开发人员。[1]

    概述[编辑]

    GameMaker主要用于制作拥有2D图形的游戏,允许开箱即用位图矢量图形(SWF)[2]和2D骨骼动画(Esoteric Software的Spine)[3][4]以及用于绘制图形的大型标准库。[5] 尽管软件允许用户有限地使用3D图形,但其形式为package.lua第80行Lua错误:module 'Module:Ilh/data' not found[6]矩阵函数,因此并不适合新手用户。

    该引擎在Windows、UWP和Xbox One上使用Direct3D;在macOS和Linux上使用OpenGL;在Android和iOS上使用OpenGL ES;在HTML5上使用WebGL2D Canvas,在游戏主机上使用专有API。

    该引擎的主要元素之一是带有光栅图形關卡设计、脚本、路径着色器GLSLHLSL)编辑器的IDE。[7]其他功能可以通过软件的脚本语言或特定平台的本地拓展来实现。[8]在GameMaker Studio 2中,你可以选择将游戏导出为NSIS安装包,或导出为包含游戏data.win文件和编辑器“包含的文件”选项卡中的所有文件的.zip文件。[9]

    支持的平台[编辑]

    GameMaker支持为Microsoft WindowsMacOSUbuntuHTML5AndroidIOSAmazon Fire TVAndroid TVRaspberry Pi[10]Windows UWPPlayStation 4Nintendo Switch[11]Xbox One构建软件;[12][13][14]PlayStation 5Xbox Series X/S也在2021年2月宣布支持。[15]

    在过去,GameMaker也支持为Windows Phone(被UWP替代)、TizenPlayStation Vita(GMS2中称“主要因为业务问题”)。[16]

    PlayStation Portable的支持在2010年5月演示,[17]但从未对外公开(仅有少数游戏使用)。[18]

    2007年至2001年间,YoYo Games曾为GameMaker游戏维护了一个定制的web播放器插件,[19]在2011年年中以开源的形式发布,[20]并最终放弃了HTML5导出。

    在2021年8月之前,用户必须获得五个不同平台中的任意一个许可(不包括主机平台),这取决于用户想要发布的目标平台(例如桌面端或移动端)。发布主机版需要年度许可证,该许可证也包含在涵盖所有受支持平台的全面年度最终许可证中。YoYo Games在2021年8月更改了许可方式,允许用户免费用于学习用途,同时取消了单一购买选项。同时,许可方案被简化为两种,一种支持在所有非主机平台上发布,另一种添加了主机平台发布支持。这些改变得益于Opera对YoYo Games的财务投资,已帮助降低游戏作者的制作成本。[21]

    拖拽放置[编辑]

    拖拽放置(Drag and Drop,DnD)是GameMaker的可视化脚本工具。

    DnD允许执行常见的开发人员命令(例如实例化对象、调用函数、处理文件和数据结构)而无需编写代码,拖拽放置主要针对新手用户。[22]

    虽然从历史上看,DnD能在轻松完成的事情上的使用相当有限,[23][24]但GameMaker Studio 2对该系统进行了彻底的改进,能够使用DnD完成更多的任务,并将其直接转换为代码(为有兴趣迁移到代码的用户提供IDE内预览)。[25]

    GameMaker语言[编辑]

    GameMaker语言是GameMaker的脚本语言。这是一种指令式动态类型的,类似JavaScriptC语言的语言。[26][27][28]

    该语言在本机平台上的默认操作模式通过堆栈机实现;它也可以通过LLVM编译为C++源码以提高性能。[29]在HTML5上,GML是源到源编译成JavaScript的,在非调试版本中实现了优化和压缩[30]

    历史[编辑]

    GameMaker最初由package.lua第80行Lua错误:module 'Module:Ilh/data' not found开发。该软件于1999年11月15日以Animo的名义首次发布(当时,它只是一个具有有限视觉脚本功能的图形工具)。[31]该软件的第一个版本是在Delphi上开发的。[32]

    在随后的版本中,该软件更名为Game Maker,同时也朝着更通用的2D游戏开发方向发展。

    5.0版及以下版本为免費軟體;5.1版本引入了可选注册费用;5.3版为注册用户引入了许多新功能,包括粒子系统、网络以及使用DLL扩展游戏内容的可能性。[33]

    6.4版(2004年10月)引入了有限的3D图形使用功能,并同时将运行时的绘图通道从package.lua第80行Lua错误:module 'Module:Ilh/data' not found迁移至DirectX[34]

    公众越来越大的专注度促使Overmars寻求帮助来扩大项目,并于2007年与YoYo Games建立了合作关系。[35]从那时起,开发工作由YoYo Games负责,而Overmars则继续担任公司董事之一。[36]7.0版是在此合作关系下发布的第一个版本。

    第一个兼容macOS的版本于2009年发行,[37]只需要稍作改动即可在两个操作系统上制作游戏。

    8.1版(2011年4月)将软件名称改为GameMaker(无空格)[38]以避免与1991年的软件package.lua第80行Lua错误:module 'Module:Ilh/data' not found混淆。该版本还用C++重写了运行时,[39]Template:Mark I以解决之前版本的性能问题。

    2011年9月“GameMaker: HTML5”首次发布——这是一个全新的软件,能够将桌面游戏和浏览器游戏一并导出。[40]

    GameMaker: Studio于2012年3月进入公测阶段,[40]并与2012年5月全面发布。[41]最初支持的平台包括Windows、Mac、HTML5、Android和iOS。在接下来的几年里引入了其他平台和功能;[42][43][44][45]2012年末,一些正版用户遇到了反盗版措施失灵的事故。[46]

    2015年2月,package.lua第80行Lua错误:module 'Module:Ilh/data' not foundpackage.lua第80行Lua错误:module 'Module:Ilh/data' not found收购了GameMaker,该公告再次声明,GameMaker将会进一步改进,这些计划吸引了更多的用户,其中包括更多的高级开发者。[47][48]

    2016年11月,GameMaker Studio 2的Beta版首次发布,[49]完整版于2017年3月发布。[50]这个版本展示了一个完全重新设计的IDE(使用C#编写[51]),以及一些新的编辑工具和运行时功能。

    2020年8月,主要更新2.3版本发布,为IDE、运行时和脚本语言带来了大量的新功能。[52]

    2021年1月,package.lua第80行Lua错误:module 'Module:Lang/data/iana languages' not found以1000万美元的价格出售给Opera軟件。GameMaker的开发团队保持不变,没有对GameMaker Studio进行过任何重大的开发更改。[53][54][55]

    2021年8月,YoYo Games声称他们正在改变许可证策略,并会提供一个免费版本的GameMaker引擎。[56]

    反响[编辑]

    根据223条用户评论,该项目目前在Mod DB上的评分为8.5/10;许多人认为它的灵活性和易用性是积极因素,而程序不穩定、易崩潰、项目年久失修及功能過時等問題则受到诟病。[57] 《独立游戏杂志》(Indie Game Magazine)的Douglas Clements评价该软件"简化了游戏的开发流程",认为其"对初学者十分友好,但在开发过程中又足够强大",但同时也指出若无法自主创建所需资源,则需从外部获取现成素材,并批评"Steam平台与YoYo Games网站之间的授权机制'错综复杂'"。[58]

    参考[编辑]

    1. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    2. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    3. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    4. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    5. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    6. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    7. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    8. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    9. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    10. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    11. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    12. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    13. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    14. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    15. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    16. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    17. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    18. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    19. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    20. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    21. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    22. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    23. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    24. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    25. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    26. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    27. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    28. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    29. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    30. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    31. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    32. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    33. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    34. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    35. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    36. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    37. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    38. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    39. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    40. 40.0 40.1 package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    41. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    42. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    43. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    44. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    45. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    46. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    47. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    48. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    49. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    50. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    51. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    52. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    53. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    54. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    55. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    56. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    57. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
    58. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found

    外部链接[编辑]