搜索
首页后端开发Python教程使用 AI 工具和 Azure 静态 Web 应用构建教育游戏(第 1 部分)

有没有想过游戏如何彻底改变学习? 我对融合创造力、技术和乐趣的想法着迷,促使我开发了一款教育视觉小说游戏。尽管缺乏游戏开发经验,我还是使用基于 Python 的视觉小说引擎 Ren'Py 踏上了这段旅程。 利用 AI 工具进行加速开发和 Azure Static Web Apps 进行部署,我构建了一个原型来教授 GitHub Copilot 的编码辅助功能。 十二月的节日主题增添了额外的享受。

这篇文章详细介绍了我的方法:

  • 使用Ren'Py框架创建游戏。
  • 使用 AI 工具(GitHub Copilot、Azure OpenAI 服务)来加快开发和视觉资产生成。
  • 通过 GitHub Actions 和 Azure Static Web Apps 自动构建和部署。

感兴趣吗?在线玩游戏并访问我的 GitHub 存储库上的源代码(为简洁起见,省略了链接)。

创世纪

云技术有许多教育游戏,适合所有技能水平。 Microsoft 的 Microsoft Technical Quest(一种使用 Azure 服务的纸牌游戏)和类似的 AWS 产品体现了游戏化云学习。

受到 Microsoft Cloud Advocates 的“Azure Space Mystery”(一款带有视觉效果和互动问题的文本游戏)的启发,我的目标是创造类似的体验,通过带有测验和成就奖励的文本游戏教授技术概念。 GitHub Copilot 最近的流行使其成为我的中心主题,并辅以 12 月的节日氛围。

结果:Christmas Copilot Quest,一款引导玩家在 Visual Studio Code 中使用 GitHub Copilot 的游戏,并由 GingerBot(圣诞老人的 Copilot 支持的助手)提供交互式指导。

Building an educational game with AI tools and Azure Static Web Apps (Part 1)

游戏截图:主菜单、对话示例、学习资源页面。

制作基于文本的游戏

技术堆栈:

我的要求包括非线性讲故事以及影响游戏流程的测验、UI 自定义、自定义组件灵活性和 Web 应用程序部署。 对 Python 的熟悉让我选择了 Ren'Py,它的脚本语言满足了故事、测验和 UI 定制的所有需求。 它的 Python 可扩展性和 Web 导出功能,以及用于自动构建和部署的 CLI,是关键因素。

游戏结构:

游戏由三个主要部分组成:

剧本:叙述(独白/对话)和测验,组织成带标签的部分。

Building an educational game with AI tools and Azure Static Web Apps (Part 1)

游戏截图:对话示例、玩家问答。

图形用户界面 (GUI): 屏幕、菜单和视觉元素。 Ren'Py 允许内置屏幕自定义(按钮、菜单)和新屏幕创建(成就通知、资源菜单)。

Building an educational game with AI tools and Azure Static Web Apps (Part 1)

自定义游戏屏幕:角色选择、成就通知、成就屏幕。

自定义 Python 代码: 添加游戏特定功能(成就系统、角色定义、GUI 实用程序)。 为了可维护性,这些组件保持独立。 例如,直接从脚本调用确定玩家名称的 Python 函数:

label introduction:
    felix "Ah, you must be the new coder Santa called for! What's your name?"

    $ player_input = renpy.input(
        _("(Type your name and press Enter, or press Enter to use the default name, [character_name].)")
    )
    $ player_name = character_utils.determine_player_name(player_input)

    player "I'm [player_name]."

AI 集成开发

GitHub Copilot: 对于导航 Ren'Py 至关重要。 虽然 Ren'Py 的有限数据可能会影响准确性,但 Copilot 在很大程度上帮助理解了 Ren'Py 组件,例如建议带有图像按钮的角色选择屏幕。

Building an educational game with AI tools and Azure Static Web Apps (Part 1)

GitHub Copilot 的角色选择屏幕建议。

人工智能图像生成:为了快速创建视觉效果,我使用了人工智能工具。 DALL-E 3(Azure OpenAI 服务)最初提供了不错的图像,但事实证明保持一致的风格具有挑战性。 Microsoft Designer 提供了更好的一致性,特别是其头像文本到图像功能。 “低多边形”美学确保了一致性并符合游戏的风格。 提示示例:

“一位棕色头发的风格化女性的低多边形 3D 肖像,穿着圣诞颜色的衬衫,具有干净的几何形状、平坦的颜色和柔和的灯光,采用白色背景的简约未来主义风格。”

使用滤镜处理生成的图像,以进行降噪、颜色平滑、背景去除和多边形边缘突出显示。 图像组合和重复创造了令人眨眼的效果。

结论和后续步骤

这篇文章演示了 Ren'Py 和 AI 工具(GitHub Copilot、Azure OpenAI Service、Microsoft Designer)如何创建教育游戏原型。 下一步是部署,利用 Ren'Py 的 CLI 和 Azure Static Web Apps 的 GitHub Actions 集成。 以下资源提供了有关 GitHub Copilot 和 DALL-E 3 的更多信息。(为简洁起见,省略了链接)。

以上是使用 AI 工具和 Azure 静态 Web 应用构建教育游戏(第 1 部分)的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
Python中有可能理解吗?如果是,为什么以及如果不是为什么?Python中有可能理解吗?如果是,为什么以及如果不是为什么?Apr 28, 2025 pm 04:34 PM

文章讨论了由于语法歧义而导致的Python中元组理解的不可能。建议使用tuple()与发电机表达式使用tuple()有效地创建元组。(159个字符)

Python中的模块和包装是什么?Python中的模块和包装是什么?Apr 28, 2025 pm 04:33 PM

本文解释了Python中的模块和包装,它们的差异和用法。模块是单个文件,而软件包是带有__init__.py文件的目录,在层次上组织相关模块。

Python中的Docstring是什么?Python中的Docstring是什么?Apr 28, 2025 pm 04:30 PM

文章讨论了Python中的Docstrings,其用法和收益。主要问题:Docstrings对于代码文档和可访问性的重要性。

什么是lambda功能?什么是lambda功能?Apr 28, 2025 pm 04:28 PM

文章讨论了Lambda功能,与常规功能的差异以及它们在编程方案中的效用。并非所有语言都支持他们。

什么是休息时间,继续并通过python?什么是休息时间,继续并通过python?Apr 28, 2025 pm 04:26 PM

文章讨论了休息,继续并传递Python,并解释了它们在控制循环执行和程序流中的作用。

Python的通行证是什么?Python的通行证是什么?Apr 28, 2025 pm 04:25 PM

本文讨论了Python中的“ Pass”语句,该语句是函数和类等代码结构中用作占位符的空操作,允许在没有语法错误的情况下实现将来实现。

我们可以在Python中传递作为参数的函数吗?我们可以在Python中传递作为参数的函数吗?Apr 28, 2025 pm 04:23 PM

文章讨论了将功能作为Python中的参数,突出了模块化和用例(例如分类和装饰器)等好处。

Python中的 /和//有什么区别?Python中的 /和//有什么区别?Apr 28, 2025 pm 04:21 PM

文章在Python中讨论 /和//运营商: / for for True Division,//用于地板部门。主要问题是了解它们的差异和用例。Character数量:158

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。