在Jupyter笔记本中进行Python游戏编程。
项目描述
Jupylet
Jupylet 是一个用于在Jupyter笔记本中交互式地编程2D和3D游戏、图形、音乐和声音合成器的Python库。它针对以下三种受众
- 计算机科学家、研究人员和深度强化学习的学生。
- 对声音合成和现场音乐编码感兴趣的音乐家。
- 对学习编程感兴趣的孩子及其父母。
Jupylet for Kids
Jupyter笔记本本质上是一个编程实验室。它是玩耍代码、实验和探索想法的理想环境。它被专业的机器学习科学家使用,他们每天来工作场所玩耍,那么为什么孩子不能呢?
Jupylet非常易于使用,可以交互式和实验性地创建简单的2D和3D游戏和音乐。更改一个变量或一个函数,立即看到游戏在运行时如何受到影响。
Jupylet 深度强化学习
Jupylet使得创建和修改用于深度强化学习算法实验的环境变得超级简单,它包括API,可以程序化地控制多个同时进行的游戏,每秒渲染数千帧。
例如,考虑这个代码库中包含的pong游戏。通过几行代码,您可以修改游戏的颜色以进行迁移学习实验,或者将游戏变成4人pong,在游戏场地的四个方向上放置智能体,以实验多个智能体之间的合作。并且由于您可以在Jupyter中交互式地修改游戏,这个过程不仅简单,而且有趣。
请参阅Jupylet程序员参考指南中的图形编程和强化学习章节。
Jupylet 为音乐家设计
Jupylet将机器学习中的想法和方法引入到声音合成领域,让您可以轻松地创建您能想象到的最狂野的声合成器 - 它包括脉冲响应混响效果、彩色噪声发生器、具有截止频率扫频的谐振滤波器、带有LFO调制的振荡器、多采样乐器等等...所有这些都在纯Python中供您修改和实验。
此外,Jupylet从令人惊叹的Sonic Pi中汲取灵感,将实时循环和实时音乐编程引入Jupyter和Python。连接您的MIDI键盘,开始创作。
请参阅Jupylet程序员参考指南中的声音和音乐编程和合成器编程章节。
需求
Jupylet应该在Windows、Mac和Linux上运行Python 3.9及以上版本。
如何安装和运行Jupylet
如果您是Python新手,我建议您安装并使用Miniconda Python发行版。
在Windows上 – 下载并运行Python 3.11的64位安装程序。安装Miniconda后,按⊞ Winkey
,然后输入Miniconda并按Enter
键。这应该会打开一个程序员称为控制台或shell的小窗口,您可以在其中输入命令并运行程序。
在搭载M1处理器的macOS上 – 下载并运行"Miniconda3 macOS Apple M1 64-bit pkg" for Python 3.11。安装后,点击Spotlight图标🔍
,在搜索字段中输入terminal并按Enter
键打开控制台。然后您需要运行以下命令
pip install --extra-index https://github.com/nir/jupylet/releases/download/v0.9.2/ moderngl glcontext
在搭载Intel处理器的macOS上 – 下载并运行"Miniconda3 macOS Intel x86 64-bit pkg" for Python 3.11。安装后,点击Spotlight图标🔍
,在搜索字段中输入terminal并按Enter
键打开控制台。
在Linux上 – 下载"Miniconda3 Linux 64-bit"。这将下载文件Miniconda3-latest-Linux-x86_64.sh。通过在bash shell中运行以下命令安装它(安装后启动一个新的bash shell)
bash Miniconda3-latest-Linux-x86_64.sh
安装Miniconda后,是时候在控制台中输入以下命令来安装jupylet了
pip install jupylet
接下来,要运行示例笔记本,下载jupylet源代码。如果您已安装Git,请输入以下命令
git clone https://github.com/nir/jupylet.git
或者,您可以使用以下命令下载源代码
python -m jupylet download
接下来,使用更改目录命令进入jupylet/examples/目录
cd jupylet/examples/
然后使用以下命令启动jupyter笔记本
jupyter notebook 11-spaceship.ipynb
按照笔记本中的说明运行笔记本,应该会显示带有宇宙飞船示例的游戏画布
或者,您也可以从控制台以Python脚本的形式运行相同的游戏
python spaceship.py
文档
要开始使用Jupylet,请前往Jupylet程序员参考指南,您可以在jupylet.readthedocs.io找到。
为了补充在线指南,您可以查看不断增加的示例笔记本集合,您可以根据上述说明下载并在您的计算机上运行。
联系方式
如有问题和反馈,请发送电子邮件至Nir Aides或加入讨论。
传播信息
Jupylet是一个新的库,您只需几步就可以帮助它成长 - 如果您喜欢它,请告诉您的朋友!
致谢
- Einar Forselv - ModernGL背后的程序员,他在OpenGL编程的战场上提供了无尽的帮助。
- Alban Fichet - 因为他友好地许可了他的声音可视化器Shadertoy,其许可协议为CC BY 4.0。
0.9.1版本的新功能
- 支持Python 3.10和Python 3.11,并具有MIDI功能。
- 在macOS上无缝跟踪音频设备的变化。
- 解决PIL API更改的问题 - 感谢@misolietavec。
- 错误修复。
0.8.9版本的新功能
- 支持Python 3.10和Python 3.11 - 除了MIDI功能。
- 支持macOS M1。
- 频谱分析仪。
- 错误修复。
0.8.8版本的新功能
- 支持Python 3.9。
0.8.7版本的新功能
- 解决Jupyter笔记本中的自动完成错误。
0.8.6版本的新功能
- 支持渲染Shadertoy OpenGL着色器。 Shadertoy是一个出色的在线平台,用于
在线编程和分享OpenGL着色器,现在您可以在Jupylet中使用和渲染shadertoy着色器!
项目详情
jupylet-0.9.2.tar.gz的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 2f0cae1054d774778a5ae895968c78ecbf654bc16d418e35f58ee90f3ab71bd6 |
|
MD5 | 8152199dc8e6ef6aeaae614258b696ac |
|
BLAKE2b-256 | b6be5e2f84f5ffea32613d0234613541189740cadc8d53ce851dcd49612ae2af |