当前位置: 首页 > news >正文

开源掌机是什么?

缘起

最近在学习小游戏的开发,偶然发现有一种叫“掌机”的游戏机,可以玩远古的各类游戏机、街机游戏!并且价格都还很便宜。这种神器的东西到底是什么?是如何工作的呢?有市场前景吗?带着这些疑问,我开始了“开源掌机”的刨根之旅。

开源掌机

看淘宝上有很多便宜的掌机,大概几十、上百元左右,看上去价格便宜,还安装了各种古老的游戏、街机游戏。通常操作系统都是Linux的,但也有安装Windows系统的掌机,他们大多来自于所谓的“开源掌机”。

开源掌机是一种基于 Linux 的软硬件开源的掌上游戏机,通过模拟器运行古老的红白机游戏、街机游戏、PSP游戏、PSV游戏以及任天堂游戏机的游戏。

一种替代开源掌机的方法是用手机+游戏手柄+模拟器来玩这些古老的游戏。但是这种方法比较花时间和精力,不如直接买个几百块的掌机划算。我只是想体验下古老游戏的玩法,给小游戏策划提供些灵感,那么也许直接购买这些现成的开源掌机更合适。或者直接在 Windows 上安装游戏机模拟器+游戏手柄来玩这些游戏。

有 PC 版的 PSP、PSV 模拟器吗?

有的,叫 Vita3K,是2023年才刚出的。这是 Vita3K 官网地址 https://vita3k.org。

PC、手机上的游戏机模拟器有哪些?

索尼PSP模拟器

PSP模拟器下载地址 www.emulatorgames.net,有 PSP 等各类游戏机的模拟器

Java版本的PSP模拟器,主页是 https://www.jpcsp.org/,代码github仓库,但是基本玩不了,还是得用下面的C++开发的模拟器。

c++开发的PSP模拟器 PPSSPP

可以从 https://www.emulatorgames.net/ 下载游戏ROM。所谓的游戏ROM就是游戏内容,是运行在游戏机、模拟器上的游戏内容。
将下载的游戏 ROM 放到模拟器的 umdimages/ 目录下即可装载该游戏了。

全部游戏机模拟器一览:https://www.emulatorgames.net/emulators/

任天堂模拟器

dolphin emulator

任天堂的游戏主要有“超级玛丽”、体感游戏机 Wii。

发现用 Windows PC + 模拟器 + 手柄 玩 PSP 和 任天堂 游戏也挺有意思的,游戏做得都很棒,值得学习。
看推荐是直接购买一款好的手柄,例如微软的 xbox 游戏手柄,一步到位。我看 Wii 的体感游戏手柄也不错。

开源掌机的模拟器

蛋蛋模拟器:https://www.vgabc.com/ - Android 手机上的模拟器,下载了但玩不了,放弃。

其他11种游戏模拟器,还没仔细研究过,先列出来:

  • dgens117
  • EloGbaR1
  • fpse08
  • gnuboy
  • ngcd
  • raines
  • s9xs137c
  • tgemu
  • vgbc
  • virtual_gameboy
  • zsnes131b

参考资料

  • 什么是开源掌机?值不值得购买?
  • 开源掌机是个智商税吗,随便一个垃圾手机都能代替开源掌机吗?
    • 爱吾游戏宝盒 - 一个 Android App,集成了很多模拟器和经典游戏,但我没有试验成功
    • 手机+手柄+模拟器是可以玩各种经典游戏的;偶尔玩玩的买掌机大概率会吃灰
  • PSV 历史,简单说就是 PSV 是 PSP 的后续和升级版本,硬件性能更强、也兼容 PSP 的游戏。总共存在 11 年、卖了1600万台。
  • PSP 历史,总供卖了 6000 万台。PSP在其11年的生命周期中一共发布了1370款游戏。评分最高的三个PSP游戏是:《战神:斯巴达的亡魂》、《侠盗猎车手:罪恶都市传奇》和《Daxter》
  • 任天堂历史,啥都干过的公司,成名机器是 Family Computer (FC机、红白机)
  • 任天堂3DS 是任天堂的一款游戏机,有裸眼3D技术、2块屏幕,但感觉游戏不如索尼的好、知名。
  • 国内开源掌机为什么火不起来? 有一些批评的意见,指出了开源掌机的问题。
    • 质量不够好
    • 性价比不高
    • 盗版问题
  • 开源掌机芯片方案对比
  • 复古游戏与开源掌机的基础知识
  • 如何自制一台开源掌机,基于ESP32的开源掌机
  • 你该知道的开源掌机发展史(2001-2020)
  • Steam Deck深度评测:史上最强掌机到底有多强?
  • 什么是开源掌机?带你了解gameshell的掌上游戏世界 详细介绍了开源掌机,系统是 Linux 的,外观和硬件也开源了。
  • 除了 Steam Deck 还有比他贵的 ROG 掌机,ROG ALLY掌上游戏机 windows11便携游戏本 AMD 锐龙 Z1E RDNA3显卡 7英寸 120Hz高色域屏 16G+512GB,价格 4900 RMB!
  • 还有联想掌机,联想拯救者掌机 LEGION Go掌上游戏机 windows11便携游戏本AMD锐龙Z1Extreme 8.8英寸 标配游戏手柄16G+512GB,价格 5000 RMB!
  • SONY PS5 也只要 3600 RMB!

结论

目前我只是想体验下 PSP、任天堂等经典游戏,从中学习一些游戏设计、制作的经验和灵感,所以用 PC模拟器 + 手柄 就是最好的选择,或者 手机 + 模拟器 + 手柄 就可以了。

相关文章:

开源掌机是什么?

缘起 最近在学习小游戏的开发,偶然发现有一种叫“掌机”的游戏机,可以玩远古的各类游戏机、街机游戏!并且价格都还很便宜。这种神器的东西到底是什么?是如何工作的呢?有市场前景吗?带着这些疑问&#xff0…...

基于Wenet长音频分割降噪识别

Wenet是一个流行的语音处理工具,它专注于长音频的处理,具备分割、降噪和识别功能。它的长音频分割降噪识别功能允许对长时间录制的音频进行分段处理,首先对音频进行分割,将其分解成更小的段落或语音片段。接着进行降噪处理&#x…...

mysql基础-表操作

环境: 管理工具:Navicat 数据库版本:5.7.37 mysql的版本,我们可以通过函数,version()进行查看,本次使用的版本如下: 目录 1.管理工具 1.1创建表 1.2.修改表名 1.3.复制表 1.4.删除表 2…...

MySql——1146 - Table‘mysql.proc‘doesn‘t exit是这个

项目场景: 做自己的小项目需要连接mysql数据库 问题描述 点击数据库时报错 1146 - Table’mysql.proc’doesn’t exit 原因分析: 误删原生的mysql数据库 解决方案: 重新安装装部署mysql就好了 注意不要轻易删除原生的东西...

玩转贝启科技BQ3588C开源鸿蒙系统开发板 —— 代码下载(1)

本文主要参考: BQ3588C_代码下载 1. 安装依赖工具 安装命令如下: sudo apt-get update && sudo apt-get install binutils git git-lfs gnupg flexbison gperf build-essential zip curl zlib1g-dev gcc-multilib g-multiliblibc6-dev-i386 l…...

开源预约挂号平台 - 从0到上线

文章目录 开源预约挂号平台 - 从0到上线演示地址源码地址可以学到的技术前端技术后端技术部署上线开发工具其他技术业务功能 项目讲解前端创建项目 - 安装PNPM - 使用VSCODE - 安装插件首页顶部与底部 - 封装组建 - 使用scss左右布局中间内容部分路由 - vue-routerBANNER- 走马…...

Vue3的proxy

vue3.0中,使用proxy替换了原来遍历对象使用Object.defineProperty方法给属性添加set/get    vue的核心能力之一是监听用户定义的状态变化并响应式刷新DOM   vue2是通过替换状态对象属性的getter和setter来实现的,vue3则通过proxy进行   改为proxy后,可以突破vue当前的…...

Vue Router的介绍与引入

在这里是记录我引入Vue Router的全过程,引入方面也最好先看官方文档 一.介绍 Vue Router 是 Vue.js 的官方路由。它与 Vue.js 核心深度集成,让用 Vue.js 构建单页应用变得轻而易举。功能包括: 嵌套路由映射动态路由选择模块化、基于组件的…...

StratifiedKFold解释和代码实现

StratifiedKFold解释和代码实现 文章目录 一、StratifiedKFold是什么?二、 实验数据设置2.1 实验数据生成代码2.2 代码结果 三、实验代码3.1 实验代码3.2 实验结果3.3 结果解释3.4 数据打乱对这种交叉验证的影响。 四、总结 一、StratifiedKFold是什么? …...

四十八----react实战

一、项目中css模块化管理 1、css-loader 以下可以使用styles.xxx方式使用class是因为使用css-loader配置了module。 import styles from ./index.less export const App(){return <div className={styles.xxx}>hello word</div> }//webpack配置 {test:/\.css$/,u…...

三步实现Java的SM2前端加密后端解密

秦医如毒&#xff0c;无药可解。 话不多说&#xff0c;先上需要用到的js文件下载链接 和 jsp前端代码。 第一步&#xff1a;下载两个必备的js文件—— crypto-js.js、sm2.js 。 它们的下载链接如下↓&#xff08;该网页不魔法上网的话会很卡&#xff0c;毕竟github&#x…...

1分钟带你了解golang(go语言)

Golang&#xff1a;也被称为Go语言&#xff0c;是一种开源的编程语言。由Google的Robert Griesemer、Rob Pike和Ken Thompson于2007年开始设计&#xff0c;2009年11月正式对外发布。&#xff08;被誉为21世纪的C语言&#xff09; 像python一样的优雅&#xff0c;有c一样的性能…...

CSS-4

平面转换 整体认识 div {margin: 100px 0;width: 100px;height: 100px;background-color: pink;/* 过渡效果 */transition: all 1s;}/* 当鼠标悬停到div时&#xff0c;进行平面转换 */div:hover {transform: translate(800px) rotate(360deg) scale(2) skew(180deg);}作用&…...

Python为何适合开发AI项目?

Python在人工智能&#xff08;AI&#xff09;项目中的流行和广泛应用归因于多个因素&#xff0c;其中一些主要原因包括&#xff1a; 1、易学易用&#xff1a; Python语法简洁清晰&#xff0c;易于学习和理解。这使得新手能够更容易上手&#xff0c;并且对于处理复杂的AI算法和…...

总结心得:各设计模式使用场景

单例模式&#xff1a;创建单个对象 工厂模式&#xff1a;创建对象交给工厂完成&#xff0c;当需要创建的对象是一系列相互关联或相互依赖的产品族时 原型模式&#xff1a;克隆对象&#xff0c;避免创建初始化开销 建造者模式&#xff1a;创建一个复杂对象&#xff0c;该对象…...

详解Vue3中的事件监听方式

本文主要介绍Vue3中的事件监听方式。 目录 一、v-on指令二、使用符号简写三、事件修饰符四、动态事件名五、常见的监听事件六、自定义事件 在Vue3中&#xff0c;事件监听的方式与Vue2有一些不同。 下面是Vue3中事件监听方式的详细介绍&#xff1a; 一、v-on指令 Vue3中仍然使…...

Unity关于easySave2 easySave3保存数据的操作;包含EasySave3运行报错的解决

关于easySave2 easySave3保存数据的操作&#xff1b;包含EasySave3运行报错的解决 /// 数据存储路径&#xff08;Easy Save的默认储存位置为&#xff1a;Application.persistentDataPath&#xff0c;为了方便我们可以给它指定储存路径&#xff09; #region 存储数据/*/// /// 存…...

2022年全球软件质量效能大会(QECon上海站)-核心PPT资料下载

一、峰会简介 近年来&#xff0c;以云计算、移动互联网、物联网、工业互联网、人工智能、大数据及区块链等新一代信息技术构建的智能化应用和产品出现爆发式增长&#xff0c;突破了对于软件形态的传统认知&#xff0c;正以各种展现方式诠释着对新型智能软件的定义。这也使得对…...

【python报错】UserWarning: train_labels has been renamed targets

UserWarning: train_labels has been renamed targetswarnings.warn(“train_labels has been renamed targets”) 这是一条 Python 警告信息&#xff0c;它表示 train_labels 这个变量已经被重命名为 targets&#xff0c;在将来的版本中可能会移除 train_labels。因此&#x…...

算法专题四:前缀和

前缀和 一.一维前缀和(模板)&#xff1a;1.思路一&#xff1a;暴力解法2.思路二&#xff1a;前缀和思路 二. 二维前缀和(模板)&#xff1a;1.思路一&#xff1a;构造前缀和数组 三.寻找数组的中心下标&#xff1a;1.思路一&#xff1a;前缀和 四.除自身以外数组的乘积&#xff…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩

目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...

服务器硬防的应用场景都有哪些?

服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式&#xff0c;避免服务器受到各种恶意攻击和网络威胁&#xff0c;那么&#xff0c;服务器硬防通常都会应用在哪些场景当中呢&#xff1f; 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...

2.Vue编写一个app

1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...

Python如何给视频添加音频和字幕

在Python中&#xff0c;给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加&#xff0c;包括必要的代码示例和详细解释。 环境准备 在开始之前&#xff0c;需要安装以下Python库&#xff1a;…...

今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存

文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...

LeetCode - 199. 二叉树的右视图

题目 199. 二叉树的右视图 - 力扣&#xff08;LeetCode&#xff09; 思路 右视图是指从树的右侧看&#xff0c;对于每一层&#xff0c;只能看到该层最右边的节点。实现思路是&#xff1a; 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...

【堆垛策略】设计方法

堆垛策略的设计是积木堆叠系统的核心&#xff0c;直接影响堆叠的稳定性、效率和容错能力。以下是分层次的堆垛策略设计方法&#xff0c;涵盖基础规则、优化算法和容错机制&#xff1a; 1. 基础堆垛规则 (1) 物理稳定性优先 重心原则&#xff1a; 大尺寸/重量积木在下&#xf…...

k8s从入门到放弃之HPA控制器

k8s从入门到放弃之HPA控制器 Kubernetes中的Horizontal Pod Autoscaler (HPA)控制器是一种用于自动扩展部署、副本集或复制控制器中Pod数量的机制。它可以根据观察到的CPU利用率&#xff08;或其他自定义指标&#xff09;来调整这些对象的规模&#xff0c;从而帮助应用程序在负…...

es6+和css3新增的特性有哪些

一&#xff1a;ECMAScript 新特性&#xff08;ES6&#xff09; ES6 (2015) - 革命性更新 1&#xff0c;记住的方法&#xff0c;从一个方法里面用到了哪些技术 1&#xff0c;let /const块级作用域声明2&#xff0c;**默认参数**&#xff1a;函数参数可以设置默认值。3&#x…...

多元隐函数 偏导公式

我们来推导隐函数 z z ( x , y ) z z(x, y) zz(x,y) 的偏导公式&#xff0c;给定一个隐函数关系&#xff1a; F ( x , y , z ( x , y ) ) 0 F(x, y, z(x, y)) 0 F(x,y,z(x,y))0 &#x1f9e0; 目标&#xff1a; 求 ∂ z ∂ x \frac{\partial z}{\partial x} ∂x∂z​、 …...