3-19日 游戏工坊博客

9:30

圈叉游戏的成品demo展示,第五组制作了电脑版本和手机版本的圈叉游戏,以可爱的小狗和小猫作为圈叉游戏的棋子,得到了老师的赞赏和表扬,在被问及需不需要继续完善时,老师说不必再继续跟进这个游戏,其目的在于,热身和了解游戏原型设计和脚本化制作的难易度的差别。

9:30-10:00

小型工坊分享会

这个分享会的主要目的是,让学员明白需要找到严肃游戏解决的主要问题。

首先老师定义了严肃游戏的含义之一,属于娱乐却又超出娱乐,应用领域遍布学习,健康,市场开拓,等等。

第一个被分享的游戏是 1958年的 乒乓

其解决的领域在于:想对体育运动了解的人们

是一款模拟网球比赛的体育视频游戏,是电子游戏早期开发的首批游戏之一。1958年美国物理学家威廉·希金波坦( William Higinbotham)在得知政府研究机构的Donner Model 30模拟计算机能够模拟具有抗风能力的轨迹后,在布鲁克海文国家实验室的年度公开展览中进行设计。他设计了一个在示波器上显示的游戏几个小时后,他和两名定制的铝制控制器一起玩,之后他和技师Robert V. Dvorak在三周内建造了它。游戏的视觉效果显示了从侧面看到的网球场的表现形式,玩家通过控制器上的旋钮调整他们的投篮角度,并尝试通过按下按钮将球击到网上。

这场比赛在为期三天的展览中非常受欢迎,玩家排队看比赛,尤其是高中生。第二年再次展示了更大的示波器屏幕和更复杂的设计,可以模拟不同的重力水平。它被拆除并在很大程度上被遗忘,直到20世纪70年代末,当Higinbotham在法庭上就Magnavox和Ralph H. Baer在视频游戏专利诉讼期间的诉讼作证时作证。从那以后,它一直被认为是最早的视频游戏之一,而Brookhaven已经对原始设备进行了再现。根据一些定义,网球为两个 被认为是第一款视频游戏,因为它不包括任何先前游戏的技术创新,它是第一款纯粹作为娱乐产品而非学术研究或商业技术推广而创建的电脑游戏。

第二款被分享的游戏:Kerbal space pragram

其解决的领域在于:管理模拟 教育意义 物理模拟

此游戏第一个公开版本于2011年6月24日在Squad的Kerbal Space Program店面以数字方式发布,并于2013年3月20日加入Steam的早期访问计划。该游戏于2015年4月27日发布测试版.Kerbal Space Program已经发布支持用户创建的mod添加新功能,而流行的功能,例如资源挖掘和基于上下文的任务,已经得到了Squad在游戏中的支持和包含。航天界着名的人和机构对游戏感兴趣,包括NASA。

2017年5月,Squad宣布该游戏是由视频游戏公司Take-Two Interactive购买的,他将帮助支持Squad将控制台版本与个人电脑版本保持同步。201年8月,Take-Two Interactive的出版子公司Private Division在Xbox One和PlayStation 4上发布了增强版。名为“ 制作历史 ”的DLC包于2018年3月8日发布。扩展包含许多部分,这些部分的灵感来自各种火箭中使用的部分,例如联盟号宇宙飞船和土星五号。

第三款被分享的游戏:Zooly

其解决的领域在于:兴趣学习 开发学习新事物的兴趣。

“如果孩子不能按照我们的教学方式学习,我们必须以一种孩子可以学习的方式教学”

由一群热情的企业家创办,为孩子们提供有趣的学习体验。

Videogyan工作室 - 儿童最喜欢的顶级Youtube频道作为我们的合作伙伴,我们非常激动,通过儿童友好的应用程序为孩子们带来有趣,娱乐和愉快的学习体验。

我们在6个月内增加了12个儿童学习和娱乐应用程序,并且每天都在增长,为全球的孩子们提供越来越多的微笑。

第四款被分享的游戏:Lean Bicycle Factory

其解决的领域在于:产品的生产流程 教学目的 资源管理教育

官方介绍:精益自行车厂
让这家工厂成型,您是需要新计划的工厂的新经理! 组织和塑造工厂,使其精益和意味着,最重要的是,有利可图!精益是一种新的思维方式,精益可以改变许多惯例。 这是管理公司或经营工厂的新方法。 它基于非常成功的丰田生产系统。在玩乐的同时学习,别搞错了,这是一款游戏。 但它会向玩家介绍菜单新概念,并且它拥有大量关于精益的信息库。 在玩这个游戏之后,你的员工会更加关注浪费,他们会带来这些新知识。

第五款被分享的游戏:Hack ‘n’ Slash

其解决的领域在于:编码技能

Hack'n'Slash是由 Double Fine Productions开发的视频游戏。在Double Fine开放的 Amnesia Fortnight 2012期间, Hack'n'Slash是一款自上而下的 动作冒险游戏,类似于塞尔达传说,尽管游戏中的武器和物品允许玩家破解游戏的世界以取得胜利。该游戏于2014年5月6日发布于 Steam的 Early Access,适用于 Microsoft Windows, OS X和 Linux计算机。它保留了早期访问状态,并于2014年9月9日成为完整版本。

第六款被分享的游戏:Minecraft

其解决的领域在于:创意培养 收集能力

Minecraft是由瑞典游戏开发商 Markus Persson创建并于2011年由 Mojang发布的沙盒视频游戏。该游戏允许玩家在 3D 程序生成的世界中构建各种不同的块,需要玩家的创造力。游戏中的其他活动包括探索,资源收集,制作和战斗。

有多种游戏模式可供选择。这些包括生存模式,玩家必须获得资源来建立世界并保持健康。创造性模式,玩家拥有无限的资源来建立和飞行的能力。冒险模式,玩家可以玩具有某些限制的其他玩家创建的自定义地图。观众模式,玩家可以在整个世界中自由移动并受到重力和碰撞的影响而不会被摧毁或构建任何东西。硬核模式类似于生存模式,但玩家只有一次生命,游戏难度很难锁定。如果玩家死于硬核,则玩家不会重生,并且世界无法玩。该该游戏的Java版本允许玩家使用新的游戏机制,项目,纹理和资产创建mod。

Minecraft获得了一致好评并赢得了无数奖项和荣誉。社交媒体,模仿,改编,商品和MineCon大会在推广游戏中发挥了重要作用。它也被用于教育环境(Minecraft教育版),特别是在计算系统领域,因为其中已经内置了虚拟计算机和硬件设备。到2018年底,所有平台已售出超过1.54亿份,成为有史以来第二畅销的视频游戏,仅次于俄罗斯方块。2014年9月,微软宣布了收购Mojang和Minecraft 知识产权的协议25亿美元,两个月后完成收购。一款名为Minecraft:Story Mode的衍生游戏也已发布。到2018年中期,该游戏每月约有9100万活跃玩家。

14:00-16:00

工坊阐述什么是低保帧,什么是原型(protoyple)

一个原型是一个早期样品,模型,或内置测试的一个概念或过程,或者作为一个东西被复制或从那里学到了产品的发布。这是一个用于各种语境的术语,包括语义,设计,电子和软件编程。原型通常用于评估新设计,以提高系统分析员和用户的精确度。原型设计用于为真实的工作系统而不是理论系统提供规范。[3]在一些设计工作流模型中,创建原型(有时称为实现的过程)是之间的步骤形式化和对想法的评价。

迭代与细化的差别:

迭代是重复反馈过程的活动,其目的通常是为了逼近所需目标或结果。每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值。

重复执行一系列运算步骤,从前面的量依次求出后面的量的过程。此过程的每一次结果,都是由对前一次所得结果施行相同的运算步骤得到的。例如利用迭代法*求某一数学问题的解。

对计算机特定程序中需要反复执行的子程序*(一组指令),进行一次重复,即重复执行程序中的循环,直到满足某条件为止,亦称为迭代。

 

 

 

 

<think>我们正在讨论如何优化PyInstaller的打包命令。根据引用[3],我们可以使用.spec文件进行更精细的控制。此外,我们还可以调整参数来减少包的大小并提高性能。 优化建议: 1. 使用UPX压缩:UPX可以压缩可执行文件,减少大小。在命令行中添加`--upx-dir`参数指定UPX目录,或者确保UPX在PATH中。 2. 排除不必要的模块:使用`--exclude-module`排除不需要的模块,例如`--exclude-module tkinter`。 3. 使用单文件模式:`-F`或`--onefile`将所有文件打包成一个可执行文件,但启动可能稍慢。 4. 使用窗口模式:如果不需要控制台,使用`-w`或`--windowed`可以避免显示控制台窗口(仅Windows和macOS)。 5. 添加图标:`-i`或`--icon`可以指定图标文件。 6. 调整优化级别:使用`--python-option`可以传递Python优化选项,例如`--python-option O`(注意:PyInstaller默认打包时不会改变Python代码的优化级别,但可以通过此选项指定)。 7. 生成.spec文件进行高级配置:如引用[3]所述,使用`pyi-makespec`生成.spec文件,然后编辑该文件进行更详细的配置。 示例命令: ``` pyinstaller --onefile --windowed --icon=app.ico --upx-dir=upx-3.96-win64 --exclude-module tkinter my_script.py ``` 性能改进: - 使用`--noupx`可以禁用UPX(有时UPX压缩可能导致启动变慢)。 - 单文件模式在启动时需要解压,因此如果对启动时间敏感,可以考虑使用文件夹模式(默认模式)。 - 使用`--runtime-tmpdir`指定单文件模式解压的临时目录,如果指定到内存盘(如Windows的RamDisk)可以加快启动速度。 注意:根据引用[1],在更新和维护时,我们可能需要重新运行打包命令并调整选项。 下面是一个更详细的.spec文件配置示例,我们可以在其中添加或排除数据文件、二进制文件等。 生成.spec文件: ``` pyi-makespec -F -w --icon=app.ico my_script.py ``` 然后编辑生成的my_script.spec文件,例如: 在Analysis部分,可以添加排除模块: ```python a = Analysis([&#39;my_script.py&#39;], pathex=[], binaries=[], datas=[], hiddenimports=[], hookspath=[], runtime_hooks=[], excludes=[&#39;tkinter&#39;, &#39;unittest&#39;], # 排除的模块 win_no_prefer_redirects=False, win_private_assemblies=False, cipher=None, noarchive=False) ``` 另外,还可以在EXE部分添加UPX选项(如果使用UPX): ```python exe = EXE(pyz, a.scripts, a.binaries, a.zipfiles, a.datas, [], name=&#39;my_script&#39;, debug=False, bootloader_ignore_signals=False, strip=False, upx=True, # 使用UPX压缩 upx_exclude=[], runtime_tmpdir=None, console=False, # 不显示控制台(与-w对应) icon=&#39;app.ico&#39;) ``` 通过编辑.spec文件,我们可以更灵活地控制打包过程。 相关问题: 1. 如何减少PyInstaller打包后的可执行文件大小? 2. PyInstaller打包时如何排除不需要的模块? 3. 如何通过.spec文件自定义PyInstaller的打包过程?</think>### PyInstaller打包命令优化指南 要优化PyInstaller打包命令,需从参数调整、依赖管理和性能优化三方面入手: #### 1. 关键参数优化 ```bash pyinstaller --onefile --noconsole --add-data "templates;templates" \ --add-binary "lib/*.dll;lib" --hidden-import sklearn.utils \ --exclude-module tkinter --upx-dir ~/upx-3.96 -i app.ico main.py ``` - **--onefile**:生成单文件可执行程序(启动时需解压) - **--noconsole**:隐藏控制台窗口(GUI应用) - **--add-data**:添加非代码资源文件[^3] - **--hidden-import**:强制包含动态导入的模块 - **--exclude-module**:排除未使用的库(如tkinter)可减容30% - **--upx-dir**:使用UPX压缩(可减容40-70%)[^1] #### 2. 依赖管理优化 - **生成.spec文件**精细控制: ```bash pyi-makespec --onefile main.py # 生成配置文件 ``` 编辑.spec文件: ```python a = Analysis( [&#39;main.py&#39;], binaries=[(&#39;lib/opencv.dll&#39;, &#39;lib&#39;)], # 显式指定二进制依赖 datas=[(&#39;config.ini&#39;, &#39;.&#39;)], # 配置文件打包位置 hiddenimports=[&#39;pandas._libs&#39;], # 解决隐式依赖 hookspath=[&#39;custom_hooks/&#39;] # 自定义钩子 ) ``` #### 3. 性能优化技巧 - **虚拟环境打包**:减少冗余依赖 ```bash python -m venv pack_env && source pack_env/bin/activate pip install minimal_requirements.txt pyinstaller ... ``` - **运行时优化**: - 单文件模式添加`--runtime-tmpdir`指定解压目录 - 使用`keyring`加密关键参数(如API密钥) - **构建加速**: ```bash pyinstaller --clean --skip-import-check ... # 跳过未用模块检查 ``` #### 验证优化效果 ```bash # 查看打包内容分析 pyi-archive_viewer dist/main.exe # 检查依赖树 dependencywalker dist/main.exe ``` > **最佳实践**:持续维护.spec文件,当项目更新时只需修改.spec文件并执行`pyinstaller main.spec`即可重建[^1]。对于大型项目,建议结合Docker创建可复现的构建环境。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值