Giter Site home page Giter Site logo

performanc / perforvnmaker Goto Github PK

View Code? Open in Web Editor NEW
4.0 2.0 0.0 2.29 MB

NodeJS Visual Novel Maker by code generation technology.

License: Other

JavaScript 65.83% Kotlin 34.17%
android app-engine code-generator cross-platform kotlin nodejs visual-novel visual-novel-engine hacktoberfest

perforvnmaker's Introduction

PerforVNMaker

Discord Server Package size

Visual Novels by optimized code generation technology.

About

PerforVNM (PerforVNMaker) is a Visual Novel Maker, which uses code generation technology to create VNs based on JavaScript APIs, allowing the creation of lightweight and fast VNs. It generates native code for each supported platform, without any external dependencies (save sdp, ssp).

Project status

The current stage of PerforVNM is WIP (Work In Progress), since it's still limited to the Android System. Although it's stable, it's not recommended to use it in production.

The current features can be found in OS_SUPPORT.md file, which also contains the current supported OSes.

Usage

Minimum requirements

  • NodeJS: v13
  • Android: 4.0

Installation

To install PerforVNM, you can use npm, yarn, pnpm or bun to install the @performanc/perforvnmaker package.

API

The documentation for the JavaScript API can be found in the docs folder, for most questions, the test file can be used as an example.

Code generation

Perfor's ability to generate code, which makes it a code generator, allows it to create the best code possible, even compared to hand-made VNs codes.

After creating the VN JavaScript file, you simply needs to run it with either NodeJs or Bun, and it will generate the code for you in the selected output Android folder.

Advantages over engines

The main advantage of PerforVNM is that it's a code generator, but the advantages over engines are not very known, so here's a list of the advantages of Perfor over engines:

Resource usage

The biggest advantage of PerforVNMaker is that it can create VNs with a very low resource usage, for reference, the test VN created an APK of 1.8MB, while the same VN created with Ren'Py created an APK of 40MB~.

Portability

Due to the code generation technology, PerforVNM can be ported to any OS, and it's not limited to Android, as of now, it's only available on Android, but we're working on porting it to other OSes.

But it's supported in Android 4.0+, launched in 2011, while Ren'Py is only supported in Android 5+, launched in 2014. Although the difference is small, Android 5 devices can suffer with resource usage, so it will be a problem.

Technology improvement

On the modern society, technology is everywhere, and it's a necessity to improve it, and to make it more accessible, and that's what we do.

Perfor uses the most modern technology available, and we're always improving it, bringing art to technology, and technology to art, and both to the people.

Goals

Any change with a good support can make huge a difference, more optimized apps, games, can make a huge impact on the environment, with less energy consumption, less resources needed, and less powerful devices needed.

It's important to make technology more accessible, and to make it more optimized, and that's what we do, bring VNs to even the oldest devices available, with the most minimum hardware requirements possible.

The PerformanC Organization Team is focused on making the world a livable place, so that younger generations can live in a better world, with technology on their side.

Discord Server & Feedback

Feel free to join our Discord server to talk with the team, and community, and to give us feedback. We would also love to talk with you, don't be shy.

License

PerforVNM is licensed under PerformanC's License, which is a modified version of the MIT License, focusing on the protection of the source code and the rights of the PerformanC team over the source code.

If you wish to use some part of the source code, you must contact us first, and if we agree, you can use the source code, but you must give us credit for the source code you use.

OBS: The generated code is not affected by the license above unless taken to be used for another code generator, transpiler or engine.

perforvnmaker's People

Contributors

ct02k avatar thepedroo avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

perforvnmaker's Issues

OnClick for customized elements

Description

This is an issue to follow the progress of the onClick option for customized elements.

Why

Allow more customizations to the VNM, allowing for example, social media buttons without depending on specific functions for those.

Linked issues or PRs

Checkmarks

  • This feature is not already implemented, requested or rejected.
  • Follows PerformanC philosophy.

Speech animation activated on sub-scenes

Description

Speech animation is activated when sub-scene child -> next scene

Reproducing

This can be reproduced through the example vn.js.

Linked issues or PRs

None yet.

System information

Build on

Not necessary.

Ran on

Not necessary.

Checkmarks

  • Able to reproduce on the latest PerforVNM version.
  • Machines meet minimum system requirements.

Layout not scaling properly in Tablet

Description

This issue happens that Android's sp doesn't get scaled properly in any device.

Linked issues or PRs

PR #3 came to try to fix it, by using dp/sp, although it failed.

Checkmarks

  • Able to reproduce on the latest PerforVNM version.
  • Machines meet minimum system requirements.

Menu music with wrong volume

Description

The menu music has a wrong volume (not following the one set in the settings).

Reproducing

  1. Set volume to 0%
  2. Click in the button start
  3. Click in the button menu

System information

Build on

  • Machine model: DELL Latitude
  • OS: Ubuntu 23
  • PerforVNM version: v1.17.2-b.0 - v1.15.8-b.0
  • Java version: 17

Ran on

  • Machine model: Samsung Galaxy A53
  • OS: Android 13 (API 33)
  • Architecture: arm64-v8a

Checkmarks

  • Able to reproduce on the latest PerforVNM version.
  • Machines meet minimum system requirements.

Code generator -> Transpiler

Description

This is an issue to track the transformation of code generator to transpiler.

OBSERVATION: The transpiler will NOT be written in NodeJS, but in C. PerforVNM file will have a .ctpp (Code for Transpilation Process of PerforVNM)

Why

This can improve the portability of PerforVNM, allowing it to be used anywhere, allowing a easier usage of PerforVNM, with a better error-checking, and more control of the inputs.

Linked issues or PRs

Any PRs that is related to this will be added here.

Checkmarks

  • This feature is not already implemented, requested or rejected.
  • Follows PerformanC philosophy.

Sound effect not being stopped on sub-scene parent

Description

The sound effect added in a sub-scene parent won't be stopped when deciding a path.

Reproducing

This can be reproduced through the vn.js example, just by starting the VN, and then clicking in one of the options.

Checkmarks

  • Able to reproduce on the latest PerforVNM version.
  • Machines meet minimum system requirements.

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.