Skip to main content

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 tracker and area of effect shapes.

For GM's with little time or who improvise. Much easier to use during your session than a full blown VTT.

  • Works on Linux, macOS and Windows
  • Free and open source
  • Works offline

IMG_4856

My GM laptop that also runs controls and a TV showing the map. Add minis, tokens or gummibears yourself.

Features

  • Application with 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, center and rotate the image.
  • Overlay a grid that you can scale to 1 inch.
  • Automatically detect the lines in an image and scale it to the grid overlay.
  • 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

There are two options: use a fully ready executable or use Python.

Windows executable

If you are on Windows, you can get an executable from the latest release. Look for 'battle-map-tv.exe' under 'Assets' on https://github.com/Conengmo/battle-map-tv/releases.

Using Python

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

User guide

  • 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.

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, for example "1 barbarians" and "20 heroes".

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

The 'move' button moves the lists to different positions and rotations on the screen.

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.
  • Uses Nuitka to create executables.

Create executables with Nuitka

Make sure you have a clean virtualenv, otherwise you may get errors. Use the commands below to install the requirements and call Nuitka to build a single executable.

pip install -r requirements.txt
pip install nuitka imageio

python -m nuitka battle_map_tv/__main__.py --enable-plugin=pyside6 --onefile `
--windows-console-mode=attach --windows-icon-from-ico=battle_map_tv/icon.png `
--include-data-files="battle_map_tv/icon.png=battle_map_tv/icon.png" `
--output-filename="battle-map-tv.exe"

Metadata

Release files for battle-map-tv 0.9.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for battle-map-tv 0.9.0
File Size Uploaded
battle_map_tv-0.9.0.tar.gz 26.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for battle-map-tv 0.9.0
File Interpreter ABI Platform
battle_map_tv-0.9.0-py3-none-any.whl Python 3 none any Details

Total release size: 55.2 kB

Release files / battle_map_tv-0.9.0.tar.gz

Download URL battle_map_tv-0.9.0.tar.gz
Size 26.3 kB
Tags Source
SHA-256 checksum
How to use checksums
f9eb2f7646ead38343dbf14202c7630963e0a02700e7825a00d436676d21d420
BLAKE2b-256 checksum
How to use checksums
2a114acb796f6f9dcfcc17ba8d629327583fb5c5e4a627071e7bdc2d0b618672
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 5, 2025.

Transparency log

Release files / battle_map_tv-0.9.0-py3-none-any.whl

Download URL battle_map_tv-0.9.0-py3-none-any.whl
Size 29.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
69076605cdb190c9ea8259adb1912a79010aebe0ba63001f8af72aa0e12a53f3
BLAKE2b-256 checksum
How to use checksums
bf9f52f2bc0e84eb1b6af2f7df071dc91fb7cee96e891216abfd618e1fb05f92
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 5, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.9.0 This release

2 release files

0.8.0

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page