Code Monkey home page Code Monkey logo

veinif's Introduction

VeinIF

VeinIF is a framework for creating choice-based Interactive Fiction game.
This project uses TypeScript, HTML (& CSS)!

See a sample game made using VeinIF.

Features

Out of the box, VeinIF offers:

  • Inventory System: Picking up items, loosing items and locking certain choices if items aren't in the player's inventory.

  • Attribute System: Player attributes increase or decrease depends on their choices. Choices can also be locked if certain atrribute is less than required.

  • Name & Pronouns: Built in functions that handle custom character name and pronouns.

  • Multiple save slots: Save anytime, at any point of the game. Choose between saving in the browser's localStorage or export a copy to player's local machine that can be loaded again in other browsers/devices.

For more informations, please refer to the documentation.

Setting up

Please make sure that Node.js is installed in your machine and a copy of VeinIF is present.
Navigate to the folder and run the following command:

npm install

Development

User can use the command line to run commands, or use buildGUI.exe to conveniently run commands.

Commands

Run the development environment server:

npm run dev

Build the project for web distribution:

npm run build

Build a Window, stand-alone executable copy of your game:

npm run electron-build

Support

For bug report, additional support, other inquiries and feature request, please create an issue using the provided template.

Check out planned features and fixes in the Project tab.

veinif's People

Contributors

dependabot[bot] avatar uyen18827 avatar

Watchers

 avatar  avatar

veinif's Issues

Save code: atob base64 cannot convert string with special characters ฦฐ ฤƒ

๐Ÿ‘ I'm submitting a...


[ ] Regression (a behavior that used to work and stopped working in a new release)
[ x ] Bug report 
[ ] Performance issue
[ ] Feature request
[ ] Documentation issue or request
[ ] Support request
[ ] Other... Please describe:

๐Ÿ› Current behaviour
Exporting save code from save with player names containing special characters, such as "ฦฐ ฤƒ" will cause an error, and prevent save code from being exported.

๐Ÿฅ Expected behavior
Save code get exported normally.

๐Ÿฃ To Reproduce
Steps to reproduce the behavior:

  1. Go to a paragraph where the player can enter their name
  2. Enter a string with special characters, data used was 'asdfawer sfa ฤƒ'
  3. Click on the "Save" button, and on the Save Game modal, click Export save.
  4. Nothing happens on the Save Game modal. It's supposed to churn out Save code.
  5. See error in console: "Uncaught DOMException: Failed to execute 'btoa' on 'Window': The string to be encoded contains characters outside of the Latin1 range."

๐Ÿงพ Screenshots
If applicable, add screenshots to help illustrate your bug/request.

๐ŸŒ Environment

On which environment were you using that the error occurred?
๐Ÿ’ป Desktop (please complete the following information, if applicable):

  • OS: Windows
  • Browser: Chrome
  • Version: 87

๐Ÿ“ฑ Smartphone (please complete the following information, if applicable):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

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.