0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎么用Python玩GTA5?跟着教程玩!

马哥Linux运维 来源:未知 作者:李倩 2018-11-15 12:55 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

当OpenAI's Universe(Universe)出现后,很多文章都在鼓吹大量的游戏(甚至GTA5)已经做好了迎接AI时代的准备。我当时跃跃欲试,然而GTA5最终被神神秘秘的清除出Universe,连个解释都没有。

后来我短暂的放弃了这个念头,但偶尔想起来依然有点抑制不住的小激动。所以我还是决定在这件事情上多花点功夫,同时好好思考这件事情到底是不是非得用OpenAI不可。OpenAI的好处在于针对一些简单的游戏项目可以实现每分钟上千次的迭代训练,但是GTA5这种游戏嘛,情况就不一样了。

我们来说一下为什么选择GTA5。至少对我来说,GTA5是一个有无数理由让我去进行练习的绝佳环境。在这个开放世界里你几乎没有不能做的事情——举一个最简单的例子:自动驾驶汽车。在游戏中,我们可以用MOD控制时间、天气、交通、速度、遇到的紧急状况等等等等。这是个完全的、可以量身订制(有时需要MOD)的世界。

我的教程有时候经过充足的计划、有些计划过一点、有的完全没有计划过。这个项目就是完全没有计划的教程之一。我知道不是所有人都有GTA5,不过我想你可以使用其他类似的游戏来和我一起学习这个项目——我们有很多游戏都可以拿来使用。(如果使用其他游戏)你需要对某些部分进行调整以使其正常运行,所以你可能得有点基础才行。

我的初步目标是创造一个自动驾驶汽车,所以任何一个有公路和汽车的游戏都可以拿来用。我用来接入游戏的方法几乎可以在其他所有游戏中也使用,如果你选择了更简单的游戏,那就省事多了。因为GTA5的高度拟真,阳光会让电脑识别变得更加具有挑战性。

我可能也会尝试其他游戏——因为我相信我们可以通过简单示范来教AI怎么玩。通过卷积神经网络处理信息,然后让AI进行练习就行。

我的初步判断是:

尽管Python并没有现成的库可用,不过1.我们可以读取屏幕图像2.我们可以模拟按键

这两项足够我们处理常规事务,不过对于深度学习来说,我们可能还想要记录游戏世界的进程。好在现在的大部分游戏已经完全可视化,这已经不再是个难题,我们可以通过追踪鼠标和按键,这一切都为深度学习提供了条件。

我猜这一路不会一帆风顺,但至少会很有趣。我的担忧主要集中在项目推进的速度上。我们可以做,最少是值得做。

总而言之,这是一个大项目,如果我们不拆分来做,显然就超纲了。所以我们来一点一点的尝试,第一步的目标是:

找个像样的FPS工具以访问游戏画面,能用就行的那种。我们的要求是能看就行。

确保键盘输入的指令可用。我觉得这很简单,但是必须得试试才知道。

尝试手柄输入。特别是转向、刹车等操作。

尝试使用OpenCV。希望不会遇到大问题。

在简单的道路环境下实现自动驾驶。

好了,第一步,我们如何实现读取屏幕画面?我一直在想可以做,但还真没想过怎么做。所以,Google!我找到不少案例,不过大部分都不能用,只有这个还算可以:Screen Capture with OpenCV and Python-2.7。

注意:导入的时候似乎有点错误,ImageGrab是PIL的一部分。

果然出错了,我们改一下:

什么鬼?dtype明显应该是字符串,而不是什么没定义的变量名。这哥们写完代码到底运行了没?

这回终于正常了。不过这段代码太长,而且太慢。改一下吧。

这个看着还不错,就是太慢了,每秒大概只能有个2-3帧的样子。再改一下试试。

还是2-3帧。所以问题不是出在imshow函数上。

好了,现在的成绩是:

loop took 0.05849909782409668 secondsloop took 0.044053077697753906 secondsloop took 0.04760456085205078 secondsloop took 0.04805493354797363 secondsloop took 0.05989837646484375 seconds

我们还需要一个numpy数组给OpenCV的imshow函数使用。相对于重新编写.getdata,我还是选择把ImageGrab.grab(bbox=(0,40,800,640))转化为numpy数组。重写是没必要的。

做了这么多事,现在大概有个每秒12-13帧的样子。这个成绩不算好,但是够用了。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • AI
    AI
    +关注

    关注

    89

    文章

    38106

    浏览量

    296641
  • python
    +关注

    关注

    57

    文章

    4858

    浏览量

    89586
  • 深度学习
    +关注

    关注

    73

    文章

    5590

    浏览量

    123907

原文标题:用Python玩GTA 5—使用OpenCV读取游戏面面

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【瑞萨RA6E2】瑞萨E2S软件安装过程,等待过程下97_e2 studio_ZGZZ

    【RA6E2_R2S安装视频_等带过程下97】 https://www.bilibili.com/video/BV1wmkiBLEma/?share_source=copy_web&
    发表于 12-01 22:42

    荣耀全球开发者大会落幕,启明云端基于乐鑫科技ESP32-C3的AI蜡笔小新手办方案成潮焦点

    手办方案惊艳亮相。该方案接入荣耀智慧空间,对接荣耀YOYO模型,成为大会中展示“潮IP+专属AI交互”的标杆案例。深度集成YOYO能力,现场演绎生态共创在大会现场,
    的头像 发表于 10-24 18:06 303次阅读
    荣耀全球开发者大会落幕,启明云端基于乐鑫科技ESP32-C3的AI蜡笔小新手办方案成潮<b class='flag-5'>玩</b>焦点

    Python 给 Amazon 做“全身 CT”——可量产、可扩展的商品详情爬虫实战

    一、技术选型:为什么选 Python 而不是 Java? 结论: “调研阶段 Python,上线后如果 QPS 爆表再考虑 Java 重构。” 二、整体架构速览(3 分钟看懂) 三、开发前准备(
    的头像 发表于 10-21 16:59 386次阅读
    <b class='flag-5'>用</b> <b class='flag-5'>Python</b> 给 Amazon 做“全身 CT”——可量产、可扩展的商品详情爬虫实战

    PY32F003解除读保护,实在很困难

    近日拿出之前购买的每片1元的PY32F003出来。 抱着尝试的想法,代码实现了启动读保护后,再也回不去了:无法解除读保护! 想在keil下进行全擦除,虽然可以看到擦除的进度条, 但最终还是失败了
    发表于 10-12 17:55

    东莞AI潮签下亿元出海大单,加速国产芯片走向普及

    电子发烧友网综合报道 近日,东莞签下1亿元AI潮玩出口大单,广东威斯潮与日本企业敲定AI潮供货合同,首批产品将嵌入GPT-5本地蒸馏模型,实现下单即定制的个性语音交互。   东莞是全国最大的潮
    的头像 发表于 09-08 07:07 3969次阅读

    京东已确认!入局AI潮,或成下一个风口?

    近日,京东确认其智能品牌JoyInside已与十余家头部机器人品牌达成战略合作,引发广泛关注,这标志着京东在AI潮领域迈出实质性布局的关键一步。 JoyInside依托京东自主研发的大模型提供
    的头像 发表于 07-04 17:00 495次阅读

    移远通信 × 奥飞娱乐,共同打造AI潮2.0时代

    上海——当童年记忆中的“喜羊羊”不再只是屏幕里的动画角色,而是化身能倾听心声、感知情绪的智能伙伴,一场由AI技术驱动的潮革命已悄然来临。   作为全球领先的物联网整体解决方案供应商,移远通信凭借
    发表于 06-30 17:31 1473次阅读
    移远通信 × 奥飞娱乐,共同打造AI潮<b class='flag-5'>玩</b>2.0时代

    移远通信 × 奥飞娱乐,共同打造AI潮2.0时代

    当童年记忆中的“喜羊羊”不再只是屏幕里的动画角色,而是化身能倾听心声、感知情绪的智能伙伴,一场由AI技术驱动的潮革命已悄然来临。作为全球领先的物联网整体解决方案供应商,移远通信凭借前瞻性的AI
    的头像 发表于 06-30 17:02 903次阅读
    移远通信 × 奥飞娱乐,共同打造AI潮<b class='flag-5'>玩</b>2.0时代

    云里物里电子价签显示方案助力潮行业数字化升级

    从“小众收藏”到“大众消费”,潮行业正在粉丝藏品转变为大众消费品。据市场调研数据显示,中国潮市场规模已突破千亿元,消费者对产品信息更新速度、互动体验及个性化展示的需求日益增长。
    的头像 发表于 04-23 09:10 602次阅读

    树莓派复古游戏机:科技重现经典,让童年永不落幕!

    复古游戏机是一种能让你玩经典游戏机上的视频游戏的设备。有了复古游戏机,你可以来自Atari的《太空侵略者》和《吃豆人》,或者来自NintendoNES的《超级马里奥兄弟》。甚至还能玩来自
    的头像 发表于 03-25 09:28 1033次阅读
    树莓派复古游戏机:<b class='flag-5'>用</b>科技重现经典,让童年永不落幕!

    你还在以为智能家居是?我家是真能用!

    以前听到“智能家居”,我总觉得是科技发烧友的玩具,离普通人的生活还很远。直到我自己入手了三翼鸟,才发现智能家居根本不是“”,而是实实在在能提升生活品质的利器!今天就从智慧管理和主动服务两个层面
    的头像 发表于 03-06 11:17 773次阅读
    你还在以为智能家居是<b class='flag-5'>玩</b>?我家是真能用!

    为啥要“工业引擎”,不老老实实卖模组?

    像你点了外卖,结果老板送了套餐还给你多加了个水果拼盘! 今天咱就掰扯清楚,为啥要这个“工业引擎”,而不是继续老老实实卖通信模组。保证让你听得明明白白。 一、通信模组的那些事儿:用户懒得研究复杂通信   1.1 4G模组:帮用户
    的头像 发表于 02-23 15:19 497次阅读

    美移动AI解决方案再拓展:全新AI卷发分析,将AI发质检测技术推向新高度

    作为美移动AI发质分析解决方案的新成员,AI卷发分析方案助力品牌为消费者提供个性化的产品推荐。此外,该技术还结合了诸如发质分析、发长分析、虚拟染发以及虚拟试发型等工具,为消费者带来全方位的个性化
    的头像 发表于 02-13 16:42 510次阅读

    如何安装模拟器nes小游戏-基于米尔瑞芯微RK3576开发板

    本篇源自:优秀创作者 小手凉凉本文将介绍基于米尔电子MYD-LR3576开发板(米尔基于瑞芯微 RK3576开发板)的安装模拟器nes小游戏方案测试。 核心板系统 操作系统镜像文件说明
    发表于 02-08 12:10

    树莓派5无法开机,一直亮红灯,嗯一下开关绿灯循环闪烁4次

    求求大神帮帮我,第一次树莓派,装完系统之后就这样了不知道咋回事~~~~~~~
    发表于 12-31 00:36