Skip to main content

A Utility that Allows everyone to play VNs Together!

Project description

RenTogether

Submitted to HTN++ 2021.

RenTogether is a tool that allows for a more interactive way for game hosts to play with their audience. It allows for the audience to really allow their opinion to shine in a cool and user friendly way. This Guide will explain how to setup RenTogether on your device!

Installation

Installation is really simple. You need to have working installation of python3 (>= 3.6) and a working installation of pip. Then just run pip install to download the latest version of RenTogether

pip install RenTogether

Execution

Running RenTogether is also amazingly simple. Just run:

# Windows
python3 -m rentogether
# Mac OS X [You need Admin Perms]
sudo python3 -m rentogether

And it should run the application for you. You will see a window pop up that looks something like this:

application

Usage

Using the application might require a little bit of studying, but it'll all be worth it. The application interface for the viewer is much simpler. They can open the link https://bit.ly/RenTogether to open the user interface.

Before the Game

As the host you first need to choose the game window. Make sure the game is open before you run RenTogether! If you forgot, then you just need to close and run it again. Choose your window from the dropdown list in the GUI.

You will also need to choose a username (doesn't have to be unique) and a game name. Fill them out before you start.

Once all the information has been filled, you can proceed to click Create Game. This will generate a code at the bottom of the GUI. Provide this to your audience as they will be using it to login to the web interface.

Throughout the Game

As your game progresses, whenever you feel as if there should be user input on some situation (Example: Choices in a Visual Novel), you can press the event hotkey (default: F10). This will trigger an event reading sequence.

While this sequence is active simply hover over any option on the screen and press the click hotkey (default: F9). This will save the coordinates of your mouse and be used to make the polling UI for the audience.

Once you have recorded all your options, press the submit hotkey (default: F8) to submit these options to the server. All viewers will then be given the choices and can select whichever ones they please.

After the Game

Once you have completed your session, you can either hit the quit hotkey (default: F6) or the close the quiz button to stop the game. This will disconnect all viewers and close the session. From there you can just close the rentogether gui window to fully close it.

Configuration

There will be a Config button located on the top right corner. Opening this will allow you to configure the hotkeys mentioned previously.

Please use all lowercase while typing in the hotkeys, and ensure that all keys are seperated only by a "+".

F.A.Q

more like questions I asked myself once

Who is this for?

Anyone who wants to add a twist to how they interact with their computer.

Why does this exist?

I thought it'd be a fun project to code up! It's something I can see myself using with my imaginary friends.

How did you make it?

Woah you're actually taking an interest in something I made!?

Short Answer:

tooMuchPython

Long Answer:

The webserver was made using Flask and SocketIO. It was my first time using SocketIO so that was a real blast!

The client application was made using a variety of python libraries such as PyScreenshot, PyAutoGui, PyGetWindow. The main interface was made using Tk, and the keybinds were from the keyboard module.

This was a project made with a total disregard for modern security practice love and I thank you for checking out some of my code!

Where is the code for the server?

You can find that on the other repo called RenServer!

Are you going to update it?

Well yes! I had one big plan for this hackathon involving this idea. The plan was to train a vision processing model to detect any buttons and add them as choices automagically. Sadly, the team that I was going to work with got disbanded and I had to do the whole project myself. This led to major cutbacks on the amount of sleep work I was able to get done.

This update is something that I am planning on implementing in the near future.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

RenTogether-0.1.3.tar.gz (7.1 kB view details)

Uploaded Source

Built Distribution

RenTogether-0.1.3-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

Details for the file RenTogether-0.1.3.tar.gz.

File metadata

  • Download URL: RenTogether-0.1.3.tar.gz
  • Upload date:
  • Size: 7.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/51.1.2.post20210112 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1

File hashes

Hashes for RenTogether-0.1.3.tar.gz
Algorithm Hash digest
SHA256 3b774fe10b6af4d199726cae51042e76a1bd78b7e08d93d75699d3992762929a
MD5 4cf77a993ff10d7bb42fc7eb25cd069f
BLAKE2b-256 401ac00aa08f8b211ef6f6eb28003a63fc986599ce994dabc188cf8f4d239b94

See more details on using hashes here.

File details

Details for the file RenTogether-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: RenTogether-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 8.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/51.1.2.post20210112 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1

File hashes

Hashes for RenTogether-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 eb9a7d0a5e7203bd38d2501c075c911f894fda5da1ec18adfa0a4fada422aeb4
MD5 ddf951351e2c581f27c068dc71f4ef29
BLAKE2b-256 bf691b93931ce21a9b9546aafc3ca84bf26426d1b7c9fffb35e7901a7483fca2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page