Skip to main content

Display battle maps for TTRPGs on a secondary tv

Project description

PyPI - Version Tests Mypy Ruff

Battle Map TV

Display battle maps for TTRPGs on a tv or monitor that lies flat horizontally on your table.

No more features than needed: just show an image the way you want. Optionally add a grid, initiative order and area of effect shapes.

For GM's with little time or who improvise their sessions: much easier to use in-session than a full blown VTT.

screenshot

Features

  • Works on Linux, macOS and Windows by using Python.
  • Doesn't use a browser.
  • Free and open source
  • Works offline
  • Simple UI
  • Two windows:
    • one on the TV with your map and grid on it
    • one on your GM laptop with controls
  • Import local image files to display on the tv.
  • Scale, pan and rotate the image.
  • Store the physical size of your screen to enable grid and autoscaling.
  • Overlay a 1-inch grid.
  • Automatically detect the grid in an image and scale to a 1 inch grid.
  • Save settings so images load like you had them last time.
  • Simple initiative tracker
  • Overlay area of effects
    • snap to grid
    • rasterize to grid

Installation

  • Open terminal or cmd.
  • Check that you have Python installed by running the python --version command.
  • Install Battle Map TV with this command: python -m pip install battle-map-tv
  • Then run it with: python -m battle_map_tv

Manual

  • Drag the TV window to your TV and make it fullscreen with the 'fullscreen' button.
  • Use the 'add' button to load an image.
  • You can drag the image to pan. Zoom with your mouse scroll wheel or use the slider in the controls window.
  • Close the application with the 'exit' button.

Set screen size

There are two text boxes to enter the physical dimensions of your secondary screen in milimeters. This is needed to display a grid overlay and autoscale the image to 1 inch.

Initiative tracker

In the controls window, you can add players and their initiative. The list will be sorted automatically. Just put a number and a name on each line.

The '+' and '-' buttons increase and decrease the font size.

Area of effect

Click on one of the buttons for a shape like 'circle' or 'square'. Then click and drag anywhere in the TV window to create the shape in the size you want.

The default color for shapes is white, but you can also toggle another color with the color buttons.

You can delete a shape by right-clicking on it, or by using the 'Clear' button.

If the grid is enabled, points will automatically snap to the grid.

If you click 'rasterize', the edges of the shapes you make will fit the grid.

When creating a shape, hold 'shift' to freeze the size of the shape, but keep rotating.

Technical

  • Uses PySide6 for the graphical user interface.
  • Uses OpenCV to detect the grid on battle maps.
  • Uses Hatch to build and release the package.

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

battle_map_tv-0.5.0.tar.gz (30.7 kB view details)

Uploaded Source

Built Distribution

battle_map_tv-0.5.0-py3-none-any.whl (35.4 kB view details)

Uploaded Python 3

File details

Details for the file battle_map_tv-0.5.0.tar.gz.

File metadata

  • Download URL: battle_map_tv-0.5.0.tar.gz
  • Upload date:
  • Size: 30.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for battle_map_tv-0.5.0.tar.gz
Algorithm Hash digest
SHA256 ee641fa79c2e4a608d56de24e9defdbcbe481e87c935eefef1527f77d8f82869
MD5 10174ae22986af7eb06fee9830e3f780
BLAKE2b-256 ff5d70d94a1e5a4d4631242d76c97180c31f0b57e88304d05fc05cf78a234729

See more details on using hashes here.

File details

Details for the file battle_map_tv-0.5.0-py3-none-any.whl.

File metadata

File hashes

Hashes for battle_map_tv-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 995f9d01d094feaf74859a9201fe28e838ce0db625a9d463e7a86fcce9f88df6
MD5 fd79bd053defb74824b60df91d3974cb
BLAKE2b-256 3db04a7dd2dd4475ecdb662d29227b91d12d5e1e6692cada5e8874fce95be814

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