Switch 和 PS1 模拟器:3000+ 游戏随心玩 | 开源日报 No.174

发布于:2024-03-29 ⋅ 阅读:(20) ⋅ 点赞:(0)

picture

Ryujinx/Ryujinx

Stars: 26.1k License: MIT

picture

Ryujinx 是用 C# 编写的实验性任天堂 Switch 模拟器。
该项目旨在提供出色的准确性和性能、用户友好的界面以及稳定的构建。它已经通过了大约 4050 个测试,其中超过 4000 个可以启动并进入游戏,其中大约 3400 个被认为是可玩的。主要功能和优势包括:

  • 兼容性高:支持多种语言翻译
  • 音频输出完全支持
  • CPU 仿真器支持 ARMv8 指令集,并具有三种内存管理选项
  • GPU 仿真器使用 OpenGL、Vulkan 或 Metal API,并提供六种图形增强功能
  • 支持键盘、鼠标、触摸输入以及 JoyCon 输入等多种控制方式

stenzek/duckstation

Stars: 5.8k License: GPL-3.0

picture

duckstation 是一款快速的 PlayStation 1 模拟器,支持 x86-64/AArch32/AArch64/RV64 平台。
该项目是一个 PlayStation 1 的模拟器,旨在提供可玩性、速度和长期可维护性。它力求尽可能准确,并保持适用于低端设备的性能。不鼓励使用 “Hack” 选项,默认配置应支持所有可玩游戏,只有部分增强功能存在兼容性问题。

  • 支持多种硬件渲染方式(D3D11、D3D12、OpenGL、Vulkan 和 Metal)以及软件渲染。
  • 提供升频、纹理过滤和真彩色(24 位)等硬件渲染功能。
  • 支持 PGXP 进行几何精度校正、纹理修复和深度缓冲区仿真。
  • 自适应降采样滤镜以及后处理着色器链(GLSL 和实验中的 Reshade FX)等特点。

系统要求:x86_64, AArch32/armv7, AArch64/ARMv8 或 RISC-V/RV6 CPU;OpenGL 3.1/OpenGL ES 3.1/Direct3D 11 Feature Level10.0 (或 Vulkan 1.0) 及以上版本的 GPU;SDL, XInput 或 DInput 兼容游戏控制器。

Asabeneh/30-Days-Of-Python

Stars: 28.7k License: NOASSERTION

picture

30-Days-Of-Python 是一个逐步指南,帮助在 30 天内学习 Python 编程语言。
该项目的主要功能、关键特性、核心优势包括:

  • 逐步指南:按照每日主题进行学习
  • 多种资源:提供视频教程和练习
  • 面向初学者和专业人士

marimo-team/marimo

Stars: 3.1k License: Apache-2.0

picture

marimo 是一个用于 Python 的响应式笔记本,可以运行可重复的实验、作为脚本执行、部署为应用程序等。
marimo 是一个响应式的 Python 笔记本,具有可重复性、与 git 兼容以及可以作为脚本或应用程序部署的特点。它允许您快速进行数据和模型实验,在笔记本正确性方面具有自信,并将笔记本产品化为流水线或交互式 Web 应用程序。主要功能和核心优势包括:

  • 响应式:运行单元格时,marimo 自动更新所有受影响的单元格和输出。
  • 交互式:将滑块、表格、图形等绑定到 Python 上,无需回调函数。
  • 可重复性:没有隐藏状态,确定性执行顺序。
  • 可执行:作为 Python 脚本执行。
  • 可共享:部署成应用程序并分享给他人使用。
  • 与 git 兼容:存储为 .py 文件。

该项目提供了丰富而完整的功能集合,并通过解决传统笔记书写工具(如 Jupyter)存在问题来改进编程环境。

jetpack-io/typeid

Stars: 1.5k License: Apache-2.0

TypeID 是一个类型安全、可排序的全局唯一标识符,灵感来自于 Stripe 的 ID。TypeIDs 作为 UUIDv7 的现代化、类型安全扩展而存在,并受到了 Stripe API 中前缀使用方式的启发。

以下是 TypeID 的关键特性和核心优势:

  • 类型安全:在期望使用 post ID 时无法意外地使用 user ID。调试时,通过查看 TypeID 前缀可以立即理解该标识符所指向实体的类型。
  • 与 UUID 兼容:TypeID 是 UUID 的超集。它们基于即将发布的 UUIDv7 标准。如果你解码 TypeID 并移除其包含信息,则得到一个有效的 UUIDv7。
  • K 可排序:使用 TypeIDs 作为数据库中主键能够保证良好本地性 (locality),相比完全随机生成如 UUID v4 等不具备良好本地性 (global ids),这点非常重要
  • 精心编码:base32 编码既 URL 安全且大小写不敏感,避免模糊字符,在复制黏贴过程中更易选取 (只需双击),并且较传统十六进制编码 (UUIDs 所用) 更紧凑 (26 个字符 vs.36 个字符)

目前已有多种语言对此项目进行了官方或社区提供支持,包括 Go、Python、SQL 和 TypeScript。此外还有社区提供的其他语言实现。

TypeID 还附带了一个命令行工具用于生成 TypeID,并且可以将已存在的 TypeID 解码为 UUID 或者将 UUID 编码成 TypeID。

本文含有隐藏内容,请 开通VIP 后查看