python快速开发游戏

10月初,由Opensource.com赞助的首届Open Jam吸引了来自全球团队的45个参赛作品。 参赛队伍只有三天的时间使用开放源代码软件来创建游戏,并参加了比赛, 最终三支队伍名列前茅 。

我们在大学为任何想参加的人举办了自己的Open Jam活动。 我们在周末保留了一个计算机实验室,并教人们如何使用开源软件( Godot用于游戏引擎, LMMS用于音乐创作, GIMP用于2D艺术作品和Blender用于3D艺术作品)来创建游戏和游戏美术资产。 我们的活动提交了三款游戏: Loathsome , Lost Artist和Paint Rider (由我创建)。

根据我在游戏卡纸和游戏开发方面的总体经验,这里有10堂关于游戏引擎,编码和快速游戏开发的课程。

1.缩小范围

您很容易被想法所迷惑,无法制作出大型冒险游戏或与您喜欢的游戏相比的东西。 拥有一定的经验之后,追求游戏之外的体验会很棒,但是不要高估时间。 我对游戏卡纸的热爱是,它们迫使您专注于将游戏从概念阶段Swift过渡到最终产品,因为时间有限。 这就是为什么缩小范围如此重要的原因。

Open Jam的主题是“留下标记”。 一经宣布,我和我的朋友们便开始集思广益,开发出适合该主题的游戏。 一个想法是3D拳击游戏,玩家在其敌人身上留下瘀伤。 我几乎没有制作3D游戏的经验,虽然我希望自己做得更好,但我可能会花太多时间学习如何放置所有纹理并击中盒子,然后才开始弄清楚什么会做一个有趣的游戏。

2.尽早拥有可玩的东西

这是我最喜欢的游戏建议。 尝试提出核心机制并快速将它们编码为工作状态,以便您可以测试它们并确定是否值得制作完整游戏。 您不应该在截止日期前数小时内离开,而仍要尝试使游戏可玩。 对于像Open Jam这样的为期三天的果酱,运行某种演示不需要花费几个小时。

3.保持简单

您要包括的每个功能都会延长您的总开发时间。 您永远不会知道提交功能是否会导致大量时间浪费,因为您根本无法使它正常工作。 街机风格的高分游戏通常很容易产生游戏干扰,因为它们本质上通常很简单。 一旦完成了核心,就可以开始添加功能和完善功能,而不必担心最终是否会运行正常的游戏。

4.从其他游戏中汲取灵感

您可能会尝试创建完全原始的内容,但是使用模型作为工作基础非常有帮助。 因为您已经对有趣的事情有所了解,所以它将减少花些时间来解决问题的方法。 提醒自己,您拥有的经验越多,就可以轻松创建出具有众多创意的大型游戏,因此您不妨尝试重新创建他人所做的事情来练习。

考虑到Open Jam的“ Leave a Mark”主题,我认为创建一个游戏时会留下一点点油漆,这很有趣,这样您就可以看到留下的标记。 我记得旧的Flash游戏Line Rider 2 Beta (因此命名为Paint Rider),以及关于秘密功能的秘密功能,如果您在玩游戏时按住Control键,则可以绘制曲目。 我只需要一个按钮进行垂直移动就更简化了这个概念(很像旧的直升机游戏)。 卡纸大约一两个小时,我做了一个基本的演示,您可以用一个按钮向上或向下移动,并留下一些黑色小圆圈。

5.不要忽视可访问性

确保有尽可能多的人可以玩您的游戏。 提交给Open Jam的游戏之一是虚拟现实游戏。 如此酷,几乎没有人能够玩,因为没有多少人拥有VR设备。 幸运的是,它的开发人员没想到它的评级会很好,而是认为它很实用。 但是,如果您想与很多人共享您的游戏(或赢得游戏困境),请务必注意可访问性。

Godot(和大多数其他游戏引擎)允许您将游戏导出到所有主要平台。 当专门向Itch.io提交游戏时,拥有浏览器内版本将允许大多数人玩它。 但是,请始终考虑导出到尽可能多的平台和操作系统。 我什至尝试将Paint Rider导出到移动设备,但是技术上的困难陷入了困境。

6.不要太难

如果您的游戏花费太多精力学习或玩游戏,那么您将失去一部分观众。 这与使您的游戏保持简单且在范围之内非常吻合,并且在游戏计划阶段更加重要。 同样,很容易想到一个史诗般的游戏创意,您可能需要花费数周或数月的时间进行开发; 很难开发出一款出色,简单的游戏。

我给我的妈妈看了《 Paint Rider》,她马上就可以玩了。 我认为我无需多说什么。

7.不要太整洁

如果您习惯于花时间在各处应用设计模式,并确保代码可重用和可读,请尝试放松一点。 如果您花太多时间担心设计,那么当您最终达到可以玩游戏的地步时,您可能会发现它不是很有趣。 到那时,进行更改为时已晚。

此过程也用于制作更严肃的游戏的原型:您快速编写凌乱的概念验证演示,直到找到值得制作完整的游戏为止,然后潜入构建一个完美的代码库来支持它。 为游戏堵塞而创建游戏就像在快速编写概念证明。

8.但是也不要太凌乱

另一方面,即使游戏中没有很多代码, 意大利面条代码也很容易失控。 幸运的是,大多数游戏引擎在构建时都考虑了设计模式。 利用Godot的Signals功能,该功能允许节点将带有数据的消息发送到与其“连接”的节点-这是观察者模式自动植入您的设计中。 只要您知道如何利用游戏引擎的功能,您就应该能够快速编写代码,而又不会使您的代码看起来很痛苦。

9.获取反馈

向人们展示您的工作。 让他们尝试一下,看看他们怎么说。 观察他们如何玩游戏,看看他们是否发现了您意想不到的东西。 如果游戏卡纸上有Discord频道或类似内容,请在此处发布您的游戏,或将您的想法与其他人联系。 Paint Rider的定义功能之一是画布循环,因此您可以看到之前留下的油漆。 直到有人问我为什么游戏没有它时,我才考虑过这个机制。

与团队合作将确保流程中有其他人可以传递反馈。

并且不要忘记以同样的方式帮助其他人。 如果您在玩别人的游戏时意识到可以帮助您的游戏的东西,那就是双赢的。

10.知道在哪里找到资源

创建自己的所有资产确实会减慢您的速度。 在Open Jam期间,我注意到Loathsome的开发人员花费大量时间来绘制主要角色,而我正忙于合并新功能并修复错误。 您可以简化游戏的艺术风格,并且仍然可以提供看起来和听起来不错的东西,但是还有其他选择。 尝试在Creative Commons或Anttis Instrumentals等免费音乐网站上寻找资产。 或者,如果可能,与敬业的艺术家,作家或音乐家组成团队。

您可能会发现有用的其他软件包括Krita (一种适用于数字绘画的开源2D图像创建器,尤其是如果您具有绘图板)和sfxr (一种具有许多参数可玩的游戏音效创建器),但是它的创建者说:“基本用法涉及点击随机按钮。” (Paint Rider中的所有声音效果都是使用Sfxr制作的。)您还可以查看Calinou的大型且井井有条的开源游戏开发软件列表。


您是否参加过Open Jam或其他游戏果酱并有其他建议? 还是您有我未解决的问题? 如果是这样,请在评论中分享。

翻译自: https://opensource.com/article/17/12/10-keys-rapid-open-source-game-development

python快速开发游戏

python快速开发游戏_快速游戏开发的10个关键相关推荐

  1. 游戏开发论坛_国内游戏开发站点与论坛

    用户下载APP习惯: 1.周末为用户一周下载的高峰期 2.20点-22点为用户一天的下载高峰 76%的应用下载行为来源于第三方引用商店 希望成为策划的同志应该培养的习惯. 1. 浏览,对于大量的资料要 ...

  2. pygame只能编写游戏_使用pygame开发的游戏发布+小总结

    概述 大约两年前接触了python,然后就爱上了这个语言. 然后就想用它写游戏,很快就找到了pygame这个库,但是pygame貌似十分冷门,网上教程也比较少,好在还有个文档来参考. 于是胡乱搞了很久 ...

  3. 日照华软游戏开发价格_棋牌游戏开发价格预算需要多少钱?

    随着社会的发展,科技的进步,到目前为止棋牌游戏app应用和人们的生活越来越紧密,那么开发一款棋牌app的预算需要多少钱呢? 首先,棋牌游戏开发是需要确定开发的形式,是组建团队进行棋牌游戏定制开发还是找 ...

  4. unity课设小游戏_【Unity3D开发小游戏】《跑酷小游戏》Unity开发教程

    一.前言 最近跑酷游戏比较流行,开发教程也很多,但是大部分都是不太详细,这篇文章就带着大家一步一步开发出来一个跑酷类的游戏,教程比较基础,适合大部分Unity开发的初学者. 还有就是,此专栏已经开通收 ...

  5. python工程师干什么的_大数据开发工程师薪资待遇及招聘要求?

     目录: 大数据开发是干什么的? 大数据开发需要掌握哪些技术?学习路线如何? 大数据开发需要掌握数学知识吗? 大数据开发就业前景如何? 大数据开发工程师薪资待遇及招聘要求? 大数据开发是干什么的? 大 ...

  6. 区块链开发指南_区块链开发完全指南

    区块链将是技术的发展方向. 我认为未来将围绕区块链一新兴技术构建,这绝不是什么牵强附会.区块链最初被设计成一种公共的,无权限的技术,后来引入了另一种区块链,每种区块链都有自己独特的用例集.公共/无权限 ...

  7. unity第三人称射击游戏_在游戏上第3部分完美的信息游戏

    unity第三人称射击游戏 Previous article 上一篇文章 The economics literature distinguishes the quality of a game's ...

  8. java开发错误_每个Java开发人员都必须避免的9个安全错误

    java开发错误 Checkmarx CxSAST是功能强大的源代码分析(SCA)解决方案,旨在从根本上识别,跟踪和修复技术和逻辑安全漏洞:源代码. 在这里查看 ! 自从1995年中期引入Java以来 ...

  9. qt 3d迷宫游戏_玩游戏找不到路是如何成为常态的?游戏视角选择的得与失

    游戏刚开始兴起的时候,游戏视角还不是问题.由于画面技术的限制,早期的游戏无一例外都是2D平面画面.3D游戏兴起以后,设计者游戏视角的选择更加多样,在带来了更多样游戏体验的同时也劝退了大批游戏玩家.3D ...

最新文章

  1. Linux下Apache+Tomcat 负载均衡
  2. spring框架如何调用异步方法?快进来学学吧
  3. 用递归方法计算斐波那契数列(Recursion Fibonacci Sequence Python)
  4. java组件代码_[java]常用组件
  5. html5多大场景,HTML5新标签解释及其使用场景
  6. C++ 对引用的理解
  7. C++ 力扣剑指Offer16-数值的整数次方
  8. [ZJOI2016]大森林
  9. PLSQL创建用户及权限分配
  10. 阿里巴巴美股股价大跌:创在美上市以来最大单日跌幅
  11. 企业做的好,离不开这三方面能力
  12. Yii Framework2.0开发教程(6)数据库mysql--ActiveRecord
  13. 色彩空间(CIE色度图,SRGB,AdobeRGB...)
  14. 刘润5分钟商学院读书笔记之:企业能量模型
  15. 网络邻居上的计算机没权限,xp系统打开网上邻居提示“您可能没有权限使用网络资源”怎么办...
  16. Python爬虫爬取智联招聘职位信息
  17. 计算机命令提示符开热点,win7系统使用cmd命令创建wifi热点的方法
  18. 多商户商城系统功能拆解07讲-平台端商品管理
  19. 基于网络爬虫的大学生就业数据分析与预测模型研究
  20. 画线 css,CSS画线方法

热门文章

  1. 热释电传感器三个引脚_热释电红外传感器控制原理图
  2. 清新互联布控球RTSP地址
  3. 拉面人生】韩国《色即是空主演:任昌丁2005倾情演出轻松的喜剧片
  4. html中鼠标移动有下拉图片,JQuery自适应全屏图片滚动鼠标上下滑动效果代码
  5. 上海哪家券商两融利率最低?能提供量化交易软件ptrade和QMT?
  6. plex媒体播放器:Plex Media Player for Mac
  7. javaBean是什么,格式有什么要求,作用是什么?
  8. AWS Nitro架构简介
  9. php 识别图片五星好评,基于jquery实现五星好评
  10. Paint及Canvas的简单应用