我被要求在中学阶段为18-30岁年龄组的初学者(无编程技能)教授游戏开发模块。该课程将持续大约8-10个月,每个学生每周可能需要3个小时的教学时间。
我最初的想法是建议使用Flash,因为学生可以制作一个简单但功能正常的游戏,对编程知之甚少。虽然预算很紧张,但我认为,如果预算没有足够长的话,可以考虑一些替代方案。
我知道有FOSS flash builder applications out there如AJAX Animator但从未使用它们我担心他们无法处理变量等等,即使在简单的层面上,也能处理得分,生活等等
有没有人对某些好的替代品或不同的方法有任何想法?学生必须在课程结束时开发某种可玩的游戏。
答案 0 :(得分:8)
我是小学(小学/初中)的学校老师 - 所以我们所做的事情非常基础,但这就是我们玩过的:
听起来像一个有趣的课程!我希望这会顺利。我可能会对这个年龄段的GameSalad有一个很好的了解 - 特别是因为iPod Touch / iPhone目前非常时尚/令人兴奋。
答案 1 :(得分:3)
不幸的是,他们几乎肯定会 至少开发一个关于变量(等)和简单编程逻辑的非常基本的知识,否则你能做的最多就是让他们与屏幕上的东西毫无意义地互动
我个人会建议使用Flash;你看过他们的教育许可吗?我不知道它是什么,但它应该比商业/常规使用Flash的成本低得多。
当你进入使用HTML / Javascript之类的替代方案时,你真的开始遇到更复杂的问题,因为你必须担心服务器,浏览器,HTML,CSS,Javascript等,而不是能够绘制/导入到画布和写出最小的逻辑来支持它。
答案 2 :(得分:3)
您可以使用开源Flex SDK免费构建Flex。 Flex是使用MXML和ActionScript 3构建的,与用于在Flash中编程的语言相同。您可以使用Flex制作Flash应用程序。在我看来,Flex比Flash更适合教授编程,因为你不必处理电影或关键帧或其中任何一个。您还可以将Flex SDK与Adobe Air混合以构建简单的桌面游戏。
Aptana Studio是一个基于Eclipse的免费编辑器,支持Flex和Adobe AIR开发。
这些都不会花费你一分钱。
答案 3 :(得分:2)
您可以查看alice,http://www.alice.org/
答案 4 :(得分:2)
Unity是制作游戏的一个非常恶心的程序。 它可以在很多平台上制作游戏,但需要一些编码经验。 http://unity3d.com/
答案 5 :(得分:2)
我在儿童电脑编程俱乐部使用游戏制作者。我有三年级到九年级的孩子。
游戏制作者的好处是有足够的内置预编程模块/事件等能够构建简单的游戏而无需任何编程。有一个图形界面和逻辑可以使用图形表示的部分构建。肯定有逻辑和过程需要学习,但大多数情况下你需要基本的计算机技能才能开始。
我正在与捷克共和国的孩子们一起做这件事,他们只有英语的基本知识,这使得它有点困难,但他们正在学习并学习一些英语来启动。
对于感兴趣的年龄较大的孩子,在这个开发环境中也有机会进行编码,因为那些想要创建更复杂的游戏的人可以使用相当丰富的编码环境。用户也创建了很多可用的dll,虽然它有限,但它还有一个基本的3d框架。
我不是一个交易程序员......只是一个爱好者......只是为了正确看待它。
有一个免费的精简版游戏制作工具可以让你做很多事情,包括创建.exe文件来在大多数Windows机器上玩游戏。 Lite版本中没有高级功能......它在他们的网站上有很好的描述。
答案 6 :(得分:1)
我强烈推荐Scratch,特别是对于非当前程序员。许多示例,视觉而非语法导向,以及游戏是主要目标。还有Android based on Scratch的应用构建器。
答案 7 :(得分:1)
当我年轻时,我用RPG Toolkit做了几场比赛。
它主要用于在基于网格的世界上工作的头顶二维角色扮演游戏,类似于许多旧的NES或Gameboy游戏。最终幻想1到6,你已经有了这个想法。
这不是制作游戏最漂亮的方式,但我发现这是最简单的方法之一。它比许多丰富的应用程序平台(如Flash或Silverlight)更有意义,并且它缺少您在Alice中找到的3维的复杂性。由于计算机屏幕是二维的,因此很容易理解不仅仅是你在绘制什么,而是如何操纵它。在三个维度中,您有时会认为两个对象是并排的,并且发现它们的z参数离数英里。
更重要的是,它有一个非常强大的脚本语言来添加自己的功能。这可以让你从战斗画面(如最终幻想)转到主要地图上的战斗(如塞尔达)。它还允许您编码“保存点”,“项目商店”等。
该工具包的最新版本甚至允许创建简单的多人游戏。
它不会教他们太多,所以我不会花费所有8个月专注于它,但它可以给某人一些一般概念。主要是大多数现代游戏并非完全由代码构建,而是编码开发人员平台,允许您创建世界和编写脚本。这就是虚幻引擎和Havok引擎的工作方式。我认为它也是内啡肽引擎的工作原理。请注意,这些引擎是hundreds of games背后的天才(好的 - 最后一个链接是一段时间.NaturalMotion不包括在自己网站上使用引擎的游戏列表)
答案 8 :(得分:1)
根据结果的质量,我会推荐不同的解决方案。
我怀疑大多数人可以学习编程+学习确实在你说的紧张时间和预算内制作游戏,但如果我们降低预期“某些东西”应该是可能的。
首先,我认为如果竞争,小组学得更快。其次,解决方案的源代码应该对课程中的其他人开放。
当我14-15岁时,我学会了编程。我和我的一个朋友一起写了一小段代码,然后展示了我们的想法和另一个从中学到的东西。
后来,我们组建了一个拥有更多朋友的“小团体”,并开始制作小型游戏并参与竞争,看看谁能想出最好的想法,并建立一个具有几个级别的小游戏。我们从当时喜欢的每一款游戏(Commodore 64)中获得灵感,并尝试用BASIC构建类似的东西。
这是一个挑战,因为我们没有老师,没有技能,互联网,只是友谊和吹嘘我们如何做一些很酷的事情 - 然后向朋友展示我们的代码,所以他们也可以学到这一点。
我已经学会了开始 开发游戏需要 与a不同的东西 “语言/平台”从一开始。该 想法/计划/目标更为重要 而不是选择工具。
游戏需要逻辑和规则 跟随。所以你必须决定什么 有点游戏,在选择之前 平台/ tool.platform /工具。
游戏类型的想法
PAC-MAN游戏(在迷宫中收集东西,避免怪物)需要一些地图或碰撞逻辑才能工作
平台游戏(侧身,跳跃,躲避,射击)需要一个基于平铺的平台,这些平台必须正确编码
射击(穿越屏幕的东西,击中点)需要鼠标输入,一些碰撞检测
简单冒险(多个场景,带有拾取/使用对象的库存,带状态的对象)需要2D查看器,只需点击一下
3D FPS,需要一个真正的3D引擎(Unity3D或类似的框架才能实现这一点,但对于新手程序员而言可能很遥远) - 也许是现有游戏的地图/等级,如Quake或更好可能会更有趣。
基于回合制(玩家移动的简单游戏,然后AI或其他玩家)对框架/硬件的需求较少,因为延迟不会伤害游戏本身。很可能使用HTML / Javascript。
<强>提醒:强>
我会选择用HTML5制作一些简单的游戏,有可能。如果你需要矢量,你有Canvas对象。你有Javascript进行互动/运动。你有声音效果,但最好的部分是,如果需要,可以使用NOTEPAD编写,并且课程中的每个人都可以从彼此的编码中学习。
如果你想设计一个简单的冒险,HTML可以自己做很多事情。只是找到我的方式在互联网/维基上有时像迷宫游戏:-)
但也许您可能需要额外的库存部分(书签)(如果没有服务器端,您可能需要某种预制对象),所以课程更多的是设计游戏和使用框架,而不是学习用Javascript编程。
如果想要学习游戏设计,而不仅仅是编码,那么我会选择像Gamemaker 8这样的简单编辑器,它使用图形编辑器来生成循环和事件。新设计师非常容易+能够进行基于平铺的游戏。
再次,根据目标和时间/精力,选择正确的作业类型,并根据该作业选择合适的工具/框架。
答案 9 :(得分:0)
总有Silverlight,微软制作一个名为Visual Studio Express的免费Visual Studio版本。
Silverlight是微软对富互联网应用程序的看法,它与Flash应用程序属于同一类应用程序。
答案 10 :(得分:0)
我使用VPython学习(并且还帮助教授了一类大学新生):http://vpython.org/ ...它使用起来非常简单,而且非常强大。
答案 11 :(得分:0)
我的儿子7岁或8岁时学会了吱吱声。
Squeak是一个小型的环境,带有图形化编程层 - 称为eToys - 位于顶层。 eToys针对的是小学年龄段的孩子,但对于成年初学者来说也很有趣和丰富。
Squeak的规范第一项计划让孩子建造一辆跟随赛道的赛车,并比赛其他孩子制造的赛车。没有变数!
它是免费和开源的。有一大群教师支持它。
首页http://www.squeakland.org/上有一个演示,并在http://www.squeakland.org/showcase/featured/
展示了由孩子(有时是他们的老师)制作的应用程序答案 12 :(得分:0)
仅供参考,Adobe正在向学生和教师赠送Flash Builder 4 Standard的免费副本:http://www.adobe.com/devnet-archive/flex/free/?sdid=GXVTO&PID=1225267
尽管FB4中没有时间轴开发,但它不像使用Flash CS5或Flash Catalyst CS5那么容易。