GithubHelp home page GithubHelp logo

tgjohnst / jackboxlauncher Goto Github PK

View Code? Open in Web Editor NEW

This project forked from michaelconant/jackboxlauncher

0.0 1.0 0.0 47.45 MB

Fan made Jackbox game launcher to view all your favorite games in one spot without have to launch each game.

Python 100.00%

jackboxlauncher's Introduction

Jackbox Game Launcher

Version 1.2

The Jackbox Game Laucher shows all the games in each Jackbox pack in one spot. Using this you can view basic information from each game and launch the pack of the game you are viewing. There is even a random game button for when your friends are too lazy to pick a game. It will not launch the specific game in the pack but it's purpose is mainly to view all the games in a nice way similar to the main menus of the packs.

Preview

Download

Current Version 1.2

Using the Launcher

Currently the only supported OS due to the fact it is compiled as an EXE.

Step 1: Launch the include exe

It is as simple as that but the launcher by default should have all the packs enabled but no file paths for them. This means they will be viewable but not launchable through the launcher.

To Be Able To Launch Games Through the Launcher Follow These Steps
Step 1: Click the setting button at the top right of the program
Step 2: In the entry box for each paste the file path to the exe for that pack or press the button to the right of the entry box to open a file explorere to select the exe for the pack
Step 3: Press the save buttton at the bottom right of the program
Step 4: Press the home button at the top right of the program
Step 5: The play button for the pack should now be enabled if the file path is a valid exe

Basic Settings

Preview Defualt Theme (Toggle) -When off each pack will have their own unique color scheme. When on a default color scheme will be used for all packs.
Players (N/A, 1-17+) -When setting it to a number the random game button will only choose games that work with the number of players selected.
Like Status Effects Random (Toggle) -When off likes/dislikes will not effect the random game button. When likes/dislikes are weighted so disliked games show up less and liked games show up more. The weight of likes/dislikes can be changed in general_settings.json.
Random Excludes Dislikes (Toggle) -When on disliked games will not be selected by the random game button.

Settings Files

All the setting are saved in three json files. default_theme.json -Stores all the colors for the gui when using the default them. games.json -Stores all the packs/games along with information relevant to them such as color theme for pack, like status, game path, and required players. general_settings.json -Stores all most of the settings in the settings menu such as current players, if the default theme is being used, and like/dislike values.

Adding/Removing/Editing Games

In the settings menu for the launcher you can enable/disable packs but if you want to add/remove/edit games completely you can edit the games.json file.

If there is no games in a pack that pack will not be loaded into the program.

This is an example of what the games.json file looks like with one entry.

[
    {
        "name": "Drawful 2",
        "bg_color": "white",
        "text_color": "deep pink",
        "description_color": "black",
        "highlight_color": "deep pink",
        "title_color": "deep pink",
        "button_text_color": "deep pink",
        "picturesPath": "Pictures/Drawful 2/",
        "enabled": true,
        "gamePath": "E:\\Games\\Steam\\steamapps\\common\\Drawful 2\\Drawful 2.exe",
        "games": [
            {
                "name": "Drawful 2",
                "pictureName": "drawful2.png",
                "description": "For 3-8 players and an audience of thousands! Your phones or tablets are your controllers! The game of terrible drawings and hilariously wrong answers.",
                "playerMin": 3,
                "playerMax": 8,
                "like": 0
            }
        ]
    }
]

I did not hard code in a max amount of packs or games for each pack but GUI is not yet designed to infinitly scale.
This means you can put as many games/packs as you want but they many appear off screen so until I add a scrolling feature I would limit the amount of games/packs in the file.

Game Variables and What They Mean

These are the variables in the game.json file and what they are used for.

For the color variables you can use valid python color names like "white" or hex codes like "#ffffff"

"name" -Stores the pack/game name that is displayed on the top of the GUI
"bg_color" -This is the background color of the GUI and all the widgets when the pack is being viewed
"text_color" -This is the default text color of the games in the pack when the pack is being viewed
"description_color" -This is the color of the decription text for the games in that pack
"highlight_color" -This is the color of the game that is being viewed in the pack
"title_color" -Color of the text for the title of the pack being viewed
"button_text_color" -This is the text color of all the buttons in the GUI when viewing the pack
"picturesPath" -File path for the folder that stores the pictures for the pack
"enabled" -This is a boolean tells the program if the program should be viewable
"gamePath" -This is the file path of the exe used to launch the pack

"games" -This is an array of all the games in the pack
        "name" -This is the name for the game in the pack
        "pictureName" -Name of the picture in the folder path given by "picturesPath"
        "description" -Text description of the game
        "playerMin" -Minimum number of players required to play the game
        "playerMax" -Maximum number of players required to play the game
        "like" -Like status of the game (-1=dislike,0=neutral,1=like)

Changing The Pictures

The resolution for the game preview pictures is 640x360.
The resolution for the GUI button pictures is 120x120.

More Pointless information on Me and the Project

Programmer Name: ProjectCuriosity
Version Number : 1.2
Python Version : 3.9 (64 Bit)
OS : Windows

I am a college student who just likes speading days making projects to automate problems I run into that take a minute to do manually.
This is the first thing I have made in python so it is far from perfect but I hope it solves a small problem I ran into when playing jackbox with my friends.

If I decide to continue to work on this project I have a few updates in mind. Some features I would like to add next are

  • Linux and Mac Support
  • Genre tags for games
    • Simple tags like drawing, trivia, etc.
  • More information for the games
    • I would like information like player amount, family friendly, etc to be viewable in the Launcher

I have a few more ideas i'm unsure if I want to do but I want to focus on these because they would make the launcher ten times better.

UPDATE: Current status of project.

This project probably won't get updated and if it does it won't be anytime soon, unless I get notified about or find a bug.

jackboxlauncher's People

Contributors

project-curiosity avatar tgjohnst avatar

Watchers

 avatar

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.