Data Visualizer for Super Mario Kart (SNES)

Overview

BooView

Data Visualizer for Super Mario Kart (SNES)

Quick Download: https://github.com/MrL314/BooView/archive/main.zip

Current Features

  • View Pre-rendered Flow Maps and Checkpoint Bounds images for the tracks!
  • View previous positions of racers via Trail mode, showing the racer's recent path
  • Interact with objects and change their position in-game from the tool window
  • Follow along with racers by clicking their icon in the right panel
  • Scale sprites in the window for ease of viewing
  • Top-down view sprites, mixed from custom and existing assets
  • SRM file upload to load your favorite save data into the game with ease
  • Replay time trial ghosts as if it were running real-time!
    • Combined with Trails mode, you can see the racing line of your best records!

Requirements:

  1. Bizhawk 2.3 (http://tasvideos.org/BizHawk.html)
    • Run the prereq installer before installing if on Windows
    • MAKE SURE it's version 2.3
  2. 64-Bit Windows OS

If running from raw source code, make sure to use Python 3.6 (higher versions may not work properly), and run SETUP.bat

Installation

  1. Download BizHawk 2.3
  2. (If on Windows) Download and run the Bizhawk Prereq installer
  3. Install BizHawk
  4. Download BooView from link above and unzip

How to run

  1. Open BizHawk (EmuHawk.exe) and load a Super Mario Kart rom
    • Version should not matter
  2. In BizHawk, go to Config > Customize. Then at the bottom of that window, ensure that Lua+LuaInterface is selected. Then restart BizHawk.
  3. In BizHawk, go to Tools > Lua Console
  4. In the Lua Console, go to Script > Open Script
  5. Navigate to the downloaded folder, and click on LuaSide.lua
    • This should freeze the emulator for a few seconds, then resume after.
    • This will load the script into the console.
  6. Run BooView.bat
    • Wait a few seconds until the welcome message appears
    • If running from raw source, run python BooView.py
  7. In the Lua Console, double click on the red square next to LuaSide

If the script is already loaded in the console, all you need to do is step 5 and 6.

Config Options

If you are having framerate issues, considering editting the options in the config.json file. A few issues come from the screen size for the rendered window, so you can adjust the window size and the amount of frame skipping. window_size will determine the size of the render window, and FRAME_SKIP will determine the amount of frames to wait between renders and polling the Lua script

Special Notes

Crashes and Errors

There seems to be a few random sparse errors from time to time. If you encounter an error, first restart the tool. If the error is persistent, feel free to contact me at [email protected], and I will try to fix it as soon as I can!

Sometimes the program will fail to run when starting. If this happens, just exit the program and restart it.

SMKWorkshop Discord

If you are interested in updates to this project, or Super Mario Kart in general, come join the Super Mario Kart Workshop Discord! https://discord.gg/QNcKNQC

MrL's Patreon:

This program is provided completely free of charge, at no cost to the user. However, it has been brought to my attention that some people would like to donate in order to support me in my efforts in making more -- as well as better -- tools for the community as a whole. If this applies to you, donate via the link below. 10% of all proceeds earned through that donation link will go towards the Autistic Self Advocacy Network, a charity devoted to the betterment of autistic and disabled individuals.

Patreon: https://www.patreon.com/MrL314

Special Thanks to
  • ScouB
  • Dirtbag
  • SmorBjorn
  • The SMK Workshop Community
  • and YOU!

GNU License

BooView is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3 of the License.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

You might also like...
This is a super simple visualization toolbox (script) for transformer attention visualization ✌
This is a super simple visualization toolbox (script) for transformer attention visualization ✌

Trans_attention_vis This is a super simple visualization toolbox (script) for transformer attention visualization ✌ 1. How to prepare your attention m

Pydrawer: The Python package for visualizing curves and linear transformations in a super simple way

pydrawer πŸ“ The Python package for visualizing curves and linear transformations in a super simple way. ✏️ Installation Install pydrawer package with

Curvipy - The Python package for visualizing curves and linear transformations in a super simple way

Curvipy - The Python package for visualizing curves and linear transformations in a super simple way

Apache Superset is a Data Visualization and Data Exploration Platform
Apache Superset is a Data Visualization and Data Exploration Platform

Superset A modern, enterprise-ready business intelligence web application. Why Superset? | Supported Databases | Installation and Configuration | Rele

Apache Superset is a Data Visualization and Data Exploration Platform
Apache Superset is a Data Visualization and Data Exploration Platform

Apache Superset is a Data Visualization and Data Exploration Platform

Script to create an animated data visualisation for categorical timeseries data - GIF choropleth map with annotations.
Script to create an animated data visualisation for categorical timeseries data - GIF choropleth map with annotations.

choropleth_ldn Simple script to create a chloropleth map of London with categorical timeseries data. The script in main.py creates a gif of the most f

Tidy data structures, summaries, and visualisations for missing data
Tidy data structures, summaries, and visualisations for missing data

naniar naniar provides principled, tidy ways to summarise, visualise, and manipulate missing data with minimal deviations from the workflows in ggplot

Automatic data visualization in atom with the nteract data-explorer
Automatic data visualization in atom with the nteract data-explorer

Data Explorer Interactively explore your data directly in atom with hydrogen! The nteract data-explorer provides automatic data visualization, so you

Data-FX is an addon for Blender (2.9) that allows for the visualization of data with different charts
Data-FX is an addon for Blender (2.9) that allows for the visualization of data with different charts

Data-FX Data-FX is an addon for Blender (2.9) that allows for the visualization of data with different charts Currently, there are only 2 chart option

Releases(v2.1)
Owner
MrL314
MrL314
A streamlit component for bi-directional communication with bokeh plots.

Streamlit Bokeh Events A streamlit component for bi-directional communication with bokeh plots. Its just a workaround till streamlit team releases sup

Ashish Shukla 123 Dec 25, 2022
Visualization of hidden layer activations of small multilayer perceptrons (MLPs)

MLP Hidden Layer Activation Visualization To gain some intuition about the internal representation of simple multi-layer perceptrons (MLPs) I trained

Andreas KΓΆpf 7 Dec 30, 2022
Simple and lightweight Spotify Overlay written in Python.

Simple Spotify Overlay This is a simple yet powerful Spotify Overlay. About I have been looking for something like this ever since I got Spotify. I th

27 Sep 03, 2022
Lumen provides a framework for visual analytics, which allows users to build data-driven dashboards from a simple yaml specification

Lumen project provides a framework for visual analytics, which allows users to build data-driven dashboards from a simple yaml specification

HoloViz 120 Jan 04, 2023
JSNAPY example: Validate NAT policies

JSNAPY example: Validate NAT policies Overview This example will show how to use JSNAPy to make sure the expected NAT policy matches are taking place.

Calvin Remsburg 1 Jan 07, 2022
Lightweight data validation and adaptation Python library.

Valideer Lightweight data validation and adaptation library for Python. At a Glance: Supports both validation (check if a value is valid) and adaptati

Podio 258 Nov 22, 2022
A tool for automatically generating 3D printable STLs from freely available lidar scan data.

mini-map-maker A tool for automatically generating 3D printable STLs from freely available lidar scan data. Screenshots Tutorial To use this script, g

Mike Abbott 51 Nov 06, 2022
PolytopeSampler is a Matlab implementation of constrained Riemannian Hamiltonian Monte Carlo for sampling from high dimensional disributions on polytopes

PolytopeSampler PolytopeSampler is a Matlab implementation of constrained Riemannian Hamiltonian Monte Carlo for sampling from high dimensional disrib

9 Sep 26, 2022
WhatsApp Chat Analyzer is a WebApp and it can be used by anyone to analyze their chat. πŸ˜„

WhatsApp-Chat-Analyzer You can view the working project here. WhatsApp chat Analyzer is a WebApp where anyone either tech or non-tech person can analy

Prem Chandra Singh 26 Nov 02, 2022
A grammar of graphics for Python

plotnine Latest Release License DOI Build Status Coverage Documentation plotnine is an implementation of a grammar of graphics in Python, it is based

Hassan Kibirige 3.3k Jan 01, 2023
Sparkling Pandas

SparklingPandas SparklingPandas aims to make it easy to use the distributed computing power of PySpark to scale your data analysis with Pandas. Sparkl

366 Oct 27, 2022
NumPy and Pandas interface to Big Data

Blaze translates a subset of modified NumPy and Pandas-like syntax to databases and other computing systems. Blaze allows Python users a familiar inte

Blaze 3.1k Jan 01, 2023
Gaphas is the diagramming widget library for Python.

Gaphas Gaphas is the diagramming widget library for Python. Gaphas is a library that provides the user interface component (widget) for drawing diagra

Gaphor 144 Dec 14, 2022
Design your own matplotlib stylefile interactively

Tired of playing with font sizes and other matplotlib parameters every time you start a new project or write a new plotting function? Want all you plots have the same style? Use matplotlib configurat

yobi byte 207 Dec 08, 2022
Interactive plotting for Pandas using Vega-Lite

pdvega: Vega-Lite plotting for Pandas Dataframes pdvega is a library that allows you to quickly create interactive Vega-Lite plots from Pandas datafra

Altair 342 Oct 26, 2022
Python Data. Leaflet.js Maps.

folium Python Data, Leaflet.js Maps folium builds on the data wrangling strengths of the Python ecosystem and the mapping strengths of the Leaflet.js

6k Jan 02, 2023
Streamlit dashboard examples - Twitter cashtags, StockTwits, WSB, Charts, SQL Pattern Scanner

streamlit-dashboards Streamlit dashboard examples - Twitter cashtags, StockTwits, WSB, Charts, SQL Pattern Scanner Tutorial Video https://ww

122 Dec 21, 2022
An(other) implementation of JSON Schema for Python

jsonschema jsonschema is an implementation of JSON Schema for Python. from jsonschema import validate # A sample schema, like what we'd get f

Julian Berman 4k Jan 04, 2023
A python script and steps to display locations of peers connected to qbittorrent

A python script (along with instructions) to display the locations of all the peers your qBittorrent client is connected to in a Grafana worldmap dash

62 Dec 07, 2022
This is a place where I'm playing around with pandas to analyze data in a csv/excel file.

pandas-csv-excel-analysis This is a place where I'm playing around with pandas to analyze data in a csv/excel file. 0-start A very simple cheat sheet

Chuqin 3 Oct 05, 2022