Aldeia RPG

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Suporte ao desenvolvimento de jogos


    mkxp-z - Implementação SDL2 de RGSS1/RGSS2/RGSS3

    Valentine
    Valentine
    Administrador
    Administrador


    Medalhas : mkxp-z - Implementação SDL2 de RGSS1/RGSS2/RGSS3 ZgLkiRU
    Mensagens : 5336
    Créditos : 1163

    mkxp-z - Implementação SDL2 de RGSS1/RGSS2/RGSS3 Empty mkxp-z - Implementação SDL2 de RGSS1/RGSS2/RGSS3

    Mensagem por Valentine Sex Jun 03, 2022 10:18 pm

    O que é mkxp-z?
    É uma versão do mkxp (feito pelo Ancurio) com muitos sinos e assobios adicionados e um nome estúpido. https://roza-gb.gitbook.io/mkxp-z/

    mkxp vs. mkxp-z
    O RPG Maker XP foi lançado em 2003 - 17 anos atrás. É velho. É lento. É meio chato. Muito horrível. Apesar de tudo isso, as pessoas continuam usando até hoje, e não é impossível entender o porquê; RGSS é um sistema bastante simples e acessível para fazer jogos 2D. Com o passar do tempo, as limitações impostas pela idade do RMXP aumentaram. Ele tem um desempenho ruim, não é facilmente extensível devido ao código-fonte fechado e os programas de 32 bits estão se tornando uma história antiga. Felizmente, Ancurio apareceu e introduziu o MKXP, que reimplementa quase todas as versões de RGSS: XP, VX e VX Ace.

    No entanto, o MKXP, como todas as coisas, veio com uma ressalva: é apenas uma recriação simples de RGSS, destinado principalmente para execução em plataformas Linux. Não há Win32API ou algo semelhante, e muitas das funções que jogos complexos implementariam por meio dele são difíceis ou impossíveis de portar.

    Então eu consertei isso.
    Além dos benefícios já apresentados pelo mkxp em comparação com o RPG Maker regular (melhor desempenho, o uso de backticks para executar comandos do sistema e capturar stdout, suporte multiplataforma ...) mkxp-z fornece:
    • Suporte para mais versões de Ruby (1.8, 1.9, 2.7, 3.0)
    • Suporte para segmentação Big Sur e Apple Silicon
    • Suporte opcional para conquistas do Steam
    • Win32API, independentemente do sistema operacional ou da versão de Ruby usada
    • Funcionalidade extra exposta à API Ruby do RGSS
    • Correções ocultas para garantir que as coisas não quebrem, especialmente com estruturas como Pokémon Essentials


    O projeto
    mkxp-z - Implementação SDL2 de RGSS1/RGSS2/RGSS3 Screenshot
    Este é um fork do mkxp que pretende ser um pouco mais do que apenas uma recriação simples do RPG Maker. O objetivo original era executar jogos baseados em Pokémon Essentials, que são notoriamente dependentes de APIs do Windows. Eu consideraria essa missão cumprida.

    Ele é compatível com Windows, Linux e versões Intel e Apple Silicon do macOS.

    Eu recomendo fortemente verificar o gitbook para mais informações.

    Os lançamentos estão aqui. Os requisitos para executá-los são Windows 8.1+, Ubuntu 18.04+ (versões do Fedora e Manjaro dessa idade ou mais recentes também devem ser suficientes) ou macOS 10.12+.

    Download
    GitLab

    Bindings
    Bindings fornecem o glue code para um ambiente de linguagem interpretado para executar scripts de jogos. Mkxp-z concentra-se em MRI e, como tal, mruby e vínculos nulos não estão incluídos.

    Ressonância magnética
    Site: https://www.ruby-lang.org/en/

    O intérprete de Ruby de Matz, também chamado de CRuby, é a versão de ruby mais amplamente implantada. MRI 1.8.1 é o que foi usado no RPG Maker XP, e 1.8.7 é o mais baixo que o mkxp-z está preparado para deixar você ir.

    As versões 1.9.3 e 2.1 - 3.0 do Ruby também são suportadas, e rodar o makefile de dependência de cada plataforma irá construir o Ruby 3.

    Dependências/Edifício
    Para obter instruções de compilação mais detalhadas, consulte o gitbook.

    Em primeiro lugar, cada plataforma possui um conjunto de ferramentas e bibliotecas que devem ser instaladas antes de construir qualquer coisa:
    • macOS (por meio do Homebrew)

    Código:
    brew install libtool mm-common cmake automake autoconf pkg-config
    • Windows (MSYS 64 bits)

    Código:

    # Assuming 64-bit
    pacman -S git ruby base-devel mingw-w64-x86_64-cmake mingw-w64-x86_64-meson mingw-w64-x86_64-gcc mingw-w64-x86_64-libsigc++
    • Linux (Ubuntu/Debian)

    Código:
    sudo apt install git build-essential cmake meson autoconf automake mm-common libtool pkg-config ruby bison zlib1g-dev xorg-dev lib32z1 libasound2-dev libpulse-dev

    Se Meson reclamar de não conseguir encontrar o OpenGL, você também precisará de libgl1-mesa-dev. Depois de ter todos os pré-requisitos, vá até a pasta respectiva de sua plataforma e execute make (ou setup.command no macOS).

    Depois disso, você deve ser capaz de apenas construir mkxp-z:

    Mac OS
    Abra o projeto Xcode, selecione o esquema desejado (as opções Universal e Apple Silicon atualmente não funcionam com Macs Intel) e construa.

    Windows/Linux
    source linux/vars.sh ou source windows/vars.sh dependendo da sua plataforma, execute meson build e ninja -C build.

    Por padrão, mkxp muda para o diretório onde seu binário está contido e então começa a ler a configuração e resolver caminhos relativos. No caso de não ser desejado (por exemplo, quando o binário deve ser instalado em um sistema global, local somente leitura), ele pode ser desativado adicionando -Dworkdir_current=true aos argumentos de construção do meson.

    MRI-Binding: Meson usará pkg-config para procurar ruby-X.Y.pc, onde X é o número da versão principal e Y é o número da versão secundária (por exemplo ruby-3.0.pc). A versão que será pesquisada pode ser definida com -Dmri_version=X.Y. mri-version é definido como 3.0 por padrão.

    Scripts específicos de plataforma
    Incluindo |p| ou |!p| logo no início do título de um script, você pode especificar em qual plataforma o script deve ou não ser executado. p deve corresponder à primeira letra da sua plataforma e não faz distinção entre maiúsculas e minúsculas. Por exemplo, um script denominado |!W| Socket não seria executado no Windows, enquanto um script denominado apenas |W| Socket seria executado no Windows.

    Música midi
    mkxp não vem com uma fonte de som por padrão, então você terá que fornecê-la você mesmo (defina seu caminho na configuração). A reprodução foi testada e deve funcionar razoavelmente bem com todos os ativos RTP.

    Você pode usar esta fonte de som de domínio público: GMGSx.sf2

    Suporte ao controlador macOS
    A vinculação de botões do controlador no macOS é um pouco diferente dependendo da versão que você está executando. A vinculação de botões específicos requer diferentes versões do sistema operacional:

    • Botão do thumbstick (L3/R3, LS/RS, L ↓/R ↓): macOS Mojave 10.14.1+
    • Iniciar/Selecionar (Opções/Compartilhar, Menu/Voltar, Mais/Menos): macOS Catalina 10.15+
    • Página inicial (guia, PS): macOS Big Sur 11.0+

    Tecnicamente, embora o próprio SDL pudesse oferecer suporte a esses botões, o menu de atalhos de teclado teve que ser reescrito no Cocoa rapidamente, pois a mudança do OpenGL nativo quebrou o menu de atalho de teclado original. (ANGLE é usado em vez disso, para evitar travamentos nas versões Apple Silicon do macOS e para ajudar o mkxp a mudar para Metal no futuro)

    Fontes
    Na versão RMXP do RGSS, as fontes são carregadas diretamente dos caminhos de pesquisa específicos do sistema (o que significa que devem ser instaladas para estarem disponíveis para os jogos). Como tudo isso é uma grande dor de cabeça dependente da plataforma, Ancurio decidiu implementar o comportamento que o Enterbrain felizmente adicionou no VX Ace: carregar fontes irá pesquisar automaticamente uma pasta chamada "Fontes", que obedece ao comportamento padrão do caminho de pesquisa (ou seja, pode ser localizada diretamente na pasta do jogo ou em um RTP).

    Se uma fonte solicitada não for encontrada, nenhum erro será gerado. Em vez disso, uma fonte interna é usada. Por padrão, esta fonte é Liberation Sans. WenQuanYi MicroHei é usado como a fonte embutida se a opção cjk_fallback_font for usada.

    O que não funciona (ainda)
    • Reprodução de filme
    • arquivos de áudio wma
    • Criação de bitmaps com tamanhos maiores que o limite de tamanho de textura OpenGL (cerca de 16384 em cartões modernos). ^

    ^ Há uma exceção a isso, chamada mega superfície . Quando um bitmap maior que o limite da textura é criado a partir de um arquivo, ele não é armazenado na VRAM, mas na RAM regular. Seu único propósito é ser usado como um bitmap de tileset. Qualquer outra operação para ele (além de transferir para um bitmap normal) resultará em um erro. Pokémon Essentials usa seu próprio código para renderizar mapas de blocos e pode ser modificado para evitar esse limite.

    Créditos:
    Ancurio
    Roza

      Data/hora atual: Qui Mar 28, 2024 8:23 am