#1024程序员节|征文#
目录
引言
关于Amazon Q Developer
安装与配置
1、实验环境准备
2、获取项目工程
3、验证 Python 环境
4、安装 Amazon Q 扩展
5、设置 Builder ID
基于 Amazon Q 调试、优化、构建生成式 AI 游戏应用
1、启动像素沙盒开放世界程序
2、在 update() 中实现传送功能
功能探索和实际应用
1. 文本生成
2. 关卡设计
3. 角色与对话
4. 快速原型制作
5. 迭代优化
6. 创新灵感
结束语
引言
随着生成式 AI 技术的发展,人们对使用人工智能改进软件开发越来越感兴趣,生成式人工智能编码助手和聊天机器人就是该领域最有前途的新发展之一,这些工具使用机器学习来生成代码并以自然语言格式回答有关代码的问题。这使得所有技能水平的开发人员都可以轻松使用它们,比如Amazon Q Developer 是一款生成式人工智能 (AI) 支持的对话助理,可以帮助使用者理解、构建、扩展和操作 Amazon 应用程序,可以询问有关 Amazon 架构、最佳实践、文档、代码等的问题,尤其是像Amazon Q Developer 这样的工具正在为游戏开发者提供强大的辅助。那么本文就来分享关于 Amazon Q Developer 的初步体验,以及分享它如何帮助开发者在游戏创作过程中提高效率和创新能力。
关于Amazon Q Developer
Amazon Q Developer 是亚马逊云科技推出的一项服务,旨在帮助开发者利用生成式 AI 技术来加速游戏开发流程,通过提供易于使用的 API 和 SDK,Amazon Q Developer 能够生成游戏内容,比如关卡设计、故事情节、角色对话等,其实Amazon Q Developer是一种生成式 AI 编码助手和聊天机器人。
另外,通过本文大家可以使用 Amazon Q Developer来开发基于 Python 语言的像素沙盒开放世界游戏应用程序,大家可以使用 Amazon Q 对像素沙盒开放世界游戏代码执行各种任务,比如解释代码、调试代码和优化代码。
安装与配置
1、实验环境准备
项目运行需要提前准备如下环境:
Python 3.10.11 或更高级版本pyglet 1.5.27VS Code IDE2、获取项目工程
点击 “下载项目安装包” 按钮,即可下载此项目的压缩包内容。
同时,点击 “立即注册” AWS Console - Signup按钮即可免费注册属于你的亚马逊云科技海外区账号,开启个性化的系统构建之旅,进一步探索更广泛、更深入的云服务领域并保留实验中构建的系统应用,尽情享受云上构建的无限可能!
注册成功之后,可以扫码登陆,具体如下图所示:
然后需要填写邮箱,如果你之前没有填写过邮箱,则需要填写一下邮箱,并勾选隐私协议,点击前往实验,及可进入实验室,具体如下图所示:
3、验证 Python 环境
如果你本地没有 Python 环境需要先下载 Python 和 pyglet,本文实例使用的 Python 版本是 3.10.11 或更高级版本,pyglet 版本是 1.5.27(此处版本非常重要)。关于 Python 环境安装,具体如下所示:
(1)Windows环境
直接使用 python.orginstaller (Download Python | Python.org)
(2)macOS环境
先安装 brew (Installation — Homebrew Documentation) ,然后用 brew 安装 python,具体命令行如下所示:
brew install python3
另外,在 VS Code IDE 中底部中按住鼠标往上拖拽即可唤出终端,如下图所示:
关于pyglet 安装,具体步骤如下所示:
pyglet 版本非常重要,高版本会导致程序无法运行,即使已经安装高版本的 pyglet 也可以使用以下指令降低版本,具体操作如下所示:
pip install pyglet==1.5.27
或者(如果 pip “command not found” ):
python3 -m pip install pyglet==1.5.27
接着输入如下命令,查看环境是否正常:
python --version pip show pyglet
正常版本显示的效果,如下图所示:
4、安装 Amazon Q 扩展
(1)打开VS Code编辑器,找到 VS Code 左侧窗格中的“扩展”图标,如下图所示:
(2)在搜索栏中,输入 Amazon Q 并点击 Install
5、设置 Builder ID
在具体使用中,需要使用 Builder ID 连接到 Amazon Q,这将允许从 Amazon 访问某些开发人员工具和服务,Builder ID 可免费使用,具体操作步骤如下所示。
(1)在 Visual Studio Code 的 Amazon Q 扩展中,选择免费使用,选择继续,如下图所示:
(2)出现提示是否要使用代码打开外部网站,选择打开,如下图所示:
(3)将打开一个浏览器选项卡并显示创建 Builder ID 页面,然后输入电子邮件地址并选择下一步,如下所示:
(4)然后将出现姓名字段,接着输入你的姓名并选择下一步,如下所示:
(5)接着Amazon 会将确认码发送到你提交的电子邮件地址,然后在电子邮件验证屏幕上输入代码并选择“验证”,如下所示:
(6)在选择你的密码屏幕上,输入密码并确认,然后选择创建 Builder ID。
(7)浏览器选项卡中会显示一条消息,要求你允许 Visual Studio Code 的 Amazon Q 扩展访问你的数据,选择允许。
(8)返回 VS Code 即可正常使用,如下所示:
然后看到 Chat 页面,如下图所示就是链接成功:
(9)Amazon Q 对话测试
输入下面句子,验证Amazon Q 对话:
What programming languages does it support?
基于 Amazon Q 调试、优化、构建生成式 AI 游戏应用
1、启动像素沙盒开放世界程序
经过我们在对代码有了整体的了解后,就可以快速尝试游玩这款像素沙盒开放世界,先在 VS Code编辑器的终端中,执行以下命令:
python main.py
然后程序将会自动打开游戏窗口,但是由于地图是随机生成的,每个人看到的地形将会不同,具体如下所示:
关于操作方式,具体如下所示:
按下 wasd 控制角色前后左右移动
按下 空格键 控制角色跳跃
按下 左键 破坏方块
按下 右键 放置方块
按下数字 123 切换即将放置的方块
按下 tab 即可切换飞行模式
按下 esc 释放鼠标后,点击右上角的 X 即可关闭游戏
如果我们来到地图边界向下看时,我们会看到一片虚空,具体如下所示:
如果我们选择一跃而下,我们的人物将会持续不断地坠落;如果想要再次回到地面,我们需要飞行很长一段时间。 其实我们可以通过开发坠落后传送的功能来避免这种糟糕的游戏体验。
2、在 update() 中实现传送功能
为了实现掉出世界后传送的功能,我们需要不停地检测角色当前的 y 坐标 。 当 y 坐标 低于某一特定值后,程序应将角色传送到出生点 (0,0,0)。 我们可以让 Amazon Q 来帮助我们实现这个功能, 我们可以直接在 Amazon Q Chat 面板中询问如下内容:
How can I change the _update() function in main.py so that if the player's y position is below -10, they are returned to the starting point (0,0,0)?
我们将看到 Amazon Q 给出的解决方案,我们可以手动选中部分代码或者直接点击 Copy ,将代码复制到 update() 方法中,具体如下所示:
但是,粘贴时请注意代码缩进,如下所示:
# Check if the character's y-coordinate is below -10 if y < -10: # Teleport the player back to the starting point (0, 0, 0) x, y, z = 0, 0, 0
如下图所示:
当再次打开游戏并且在边界跃下,我们会发现角色被传送回到出生点,但是比起出生点,传送到边界似乎更符合逻辑。 让我们看看 Amazon Q 能不能帮助我们改进一下代码。 我们可以直接在 Amazon Q Chat 面板中询问:
How can I modify the _update() function in main.py so that if the player's y position is below -10, they are teleported to the closest surface block on the map? Write additional functions to calculate distances, if necessary.
然后我们将 update() 方法中的改动加入到 main.py 中。还是要注意,粘贴时请注意代码缩进,如下所示:
# Check if the character's y-coordinate is below -10 if y < -10: # Find the closest surface block closest_block = self.find_closest_surface_block((x, y, z)) if closest_block: # Teleport the player to the closest surface block x, y, z = closest_block
如下图所示:
然后再次运行游戏并在边界跃下,我们会发现人物被传送到了方块中,效果如下图所示:
功能探索和实际应用
上面通过具体实例就展现了Amazon Q Developer 的强大功能,除此之外,简单汇总了一些Amazon Q Developer 的常用功能,具体如下所示。
1. 文本生成
关于文本生成功能,通过简单的 API 调用,Amazon Q Developer 能够根据我提供的上下文生成连贯的游戏对话和故事情节,这大大加快了游戏剧本的编写速度。
2. 关卡设计
而且Amazon Q Developer 还能够根据游戏规则自动生成关卡设计,我只需定义一些基本参数,比如关卡难度、目标和障碍物类型,也就是通过AI 就能为我创造出多样化的关卡。
3. 角色与对话
在角色创建方面,Amazon Q Developer 同样表现出色,它不仅能够生成角色的外貌描述,还能为每个角色编写独特的背景故事和对话风格。
4. 快速原型制作
利用 Amazon Q Developer,我能够快速制作游戏原型,AI 生成的内容为我提供了大量的创意素材,让我能够在短时间内尝试不同的游戏设计和玩法。
5. 迭代优化
在游戏开发过程中,我可以不断利用 Amazon Q Developer 进行内容迭代,尤其是AI 的参与让我能够快速测试和优化游戏内容,找到最佳的用户体验方案。
6. 创新灵感
最后就是Amazon Q Developer 有时会产生一些我从未想过的创意,这些新颖的想法为我的游戏体验增添了独特的元素,非常有帮助。
结束语
通过初步体验,大家应该能感受到了 Amazon Q Developer 在游戏开发中的潜力,它不仅提高了开发效率,还激发了创新灵感。本文主要是给大家分享如何在控制台中使用 Amazon Q 来了解 Amazon 服务的详细内容,通过在 IDE 中安装 Amazon Q 扩展加速软件应用的开发,解决开发全流程中的各种问题。随着技术的不断进步,Amazon Q Developer 将成为游戏开发者的得力助手。在未来,个人觉得 Amazon Q Developer 能够提供更多定制化的功能,以满足不同类型游戏的开发需求,最后也欢迎大家一起探索 Amazon Q 更多的功能,为工作中赋能增效降本!