GithubHelp home page GithubHelp logo

admenri / rguplayer Goto Github PK

View Code? Open in Web Editor NEW
21.0 2.0 6.0 84.37 MB

The Ruby Game Universal (RGU) Project

License: BSD 3-Clause "New" or "Revised" License

CMake 1.23% C++ 66.32% Python 0.33% C 16.86% GLSL 0.68% Java 14.58%
rgss gameengine2d gles2 runtime

rguplayer's Introduction

Logo RGU Player Core

概述

  • RGU是一款兼容RGSS 1/2/3,使用 SDL3 作为底层,OpenGL ES(2.0) 图像标准编写渲染部分的异步多线程2D游戏引擎。
  • RGU在提供兼容原版RGSS的同时提供跨平台与性能提升支持,同时提供诸如自定义着色器与网络扩展在内的加强功能。
  • 本项目使用BSD-3协议开源。
  • 本项目语法风格与代码结构与The Chromium Project相似。
  • 程序灵感来源于 Chromium RGM RGD MKXP

程序结构

  • 程序运行结构为多线程架构,程序内存在多个线程worker,每个worker都有任务投递的接口,引擎将事件处理,逻辑渲染处理,音频播放处理,视频解码处理,网络处理等分解为多个线程。
  • 游戏的图像渲染采用 OpenGL ES(2.0) 标准以获得最大兼容。
  • 用户可以选择使用ANGLE运行其他渲染器后端(D3D9 D3D11 Vulkan Metal 软渲染等)以应对显卡驱动兼容问题。
  • 引擎的事件输入处理基于 SDL 的事件处理。
  • 引擎的音频处理基于 SoLoud 库,音频数据通过Soloud核心处理后输出到SDL的音频设备接口。
  • 引擎的脚本处理部分使用了 Ruby3 的解释器。

软件截图

构建项目

0. 注意事项

  • 本项目使用CMake管理编译。
  • 第三方依赖库部分使用Git拉取,部分需要用户自行编译处理。
  • 项目中需要使用Python3来生成自动编译文件,请确保系统中已安装Python3。

1. 拉取源码

拉取项目源码

拉取第三方库源码

  • cd rguproject
  • git submodule update --init --recursive

2. 针对不同环境开始构建

Windows (测试环境:Windows 11 23H2 & Visual Studio 2019 & Clang-LLVM)

  • 可以直接使用 Visual Studio 内置的 CMake 功能进行快捷构建,编译器建议选择Clang-LLVM

Linux (测试环境:Ubuntu 23.10 & Visual Studio Code & GCC 13)

  • 确保系统安装了OpenGL开发库和CRuby开发库
  • 在目录执行:cmake -S . -B out 以生成工程
  • 之后执行cmake --build out执行构建

Android (测试环境:Android 13.0 & Android Studio & Windows 11 23H2)

  • 确保系统安装了Android Studio,Android NDK,CMake
  • 确保可以在开发环境下编译出成品程序(例如Windows下先编译出exe)
  • 然后使用Android Studio打开 “android-project” 文件夹
  • 之后即可直接执行 Build Project 开始构建

系统支持

  • Microsoft Windows 7 及以上
  • GNU/Linux 6.5.0 及以上
  • Android 8.0 及以上
  • 目前不支持Apple系的任何操作系统(macOS,iOS),欢迎有mac设备的同志贡献代码

第三方库使用

联系方式

© 2015-2024 Admenri

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.