Giter VIP home page Giter VIP logo

homm3bg's Introduction

Heroes of Might & Magic III: The Board Game ๐Ÿด ๐Ÿ›ก๏ธ โš”๏ธ๏ธ
Rule Book Rewrite Project ๐Ÿ“œ๐Ÿชถ

Please see the original thread on BoardGameGeek ๐Ÿค“

Efforts are ongoing to translate the rule book to languages other than English. Please reach out if you'd like to help with translating. Click in the table to download the most recent builds in the chosen language:

Progress ๐Ÿ“œ Rewritten Rule Book ๐Ÿ–จ๏ธ Rewritten Rule Book - printable version
๐Ÿ‡ฌ๐Ÿ‡ง English 100% ๐Ÿ‡ฌ๐Ÿ‡ง๐Ÿ“œ ๐Ÿ‡ฌ๐Ÿ‡ง๐Ÿ–จ๏ธ
๐Ÿ‡ต๐Ÿ‡ฑ Polski 100% ๐Ÿ‡ต๐Ÿ‡ฑ๐Ÿ“œ ๐Ÿ‡ต๐Ÿ‡ฑ๐Ÿ–จ๏ธ
๐Ÿ‡ช๐Ÿ‡ธ Espaรฑol ~90% ๐Ÿ‡ช๐Ÿ‡ธ๐Ÿ“œ ๐Ÿ‡ช๐Ÿ‡ธ๐Ÿ–จ๏ธ
๐Ÿ‡ซ๐Ÿ‡ท Franรงais ~95% ๐Ÿ‡ซ๐Ÿ‡ท๐Ÿ“œ ๐Ÿ‡ซ๐Ÿ‡ท๐Ÿ–จ๏ธ
๐Ÿ‡ท๐Ÿ‡บ ะ ัƒััะบะธะน ~39% ๐Ÿ‡ท๐Ÿ‡บ๐Ÿ“œ ๐Ÿ‡ท๐Ÿ‡บ๐Ÿ–จ๏ธ
๐Ÿ‡บ๐Ÿ‡ฆ ะฃะบั€ะฐั—ะฝััŒะบะฐ ~50% ๐Ÿ‡บ๐Ÿ‡ฆ๐Ÿ“œ ๐Ÿ‡บ๐Ÿ‡ฆ๐Ÿ–จ๏ธ
๐Ÿ‡ฉ๐Ÿ‡ช Deutsch ~15% ๐Ÿ‡ฉ๐Ÿ‡ช๐Ÿ“œ ๐Ÿ‡ฉ๐Ÿ‡ช๐Ÿ–จ๏ธ

๐Ÿ–จ๏ธ The printable build appends page numbers to select clickable hyperlinks, and includes an index page at the end ๐Ÿคž

This repository used to host Comprehensive Components List listing all the cards, minis, tokens, etc. for every box, but after a while โš ๏ธ ๏ธ๏ธArchon released their own version of it, and you should use it instead. Find it on ๐Ÿ‘‰ their website ๐Ÿ‘ˆ called "Content Guide".

๐Ÿ’ก What Is This?

This project aims to rewrite the original rule book, in which the amount of vague language was just too vast to ignore.

This repository hosts a document that aims to explain the rules clearly and concisely, and should eventually have an answer for any basic rules query you might have.

๐Ÿค” Why?

The content in the official English rule book is, simply put, insufficient as a teaching tool for the game or as a general rules reference. If you read the thread linked above you should understand how frustrating this has been for me.

๐Ÿ› ๏ธ How?

I am completely rewriting the rule book in LaTeX. It's possible that a finalized version will be later put together using other tools such as Adobe Visual Studio.

This is a communal effort. This repository serves both as a means for me to preserve my work, but also for others to contribute to it as writers, proofreaders, or layout designers. If you wish to contribute directly, please contact me on BoardGameGeek or discord, my username is Heegu on both platforms.

๐Ÿ”ฎ The Future

All new version of the rule book and their change logs will be published here and in the BGG thread. I will probably submit an indefinite number of changes before changing the version number again. The aim is to have a vastly superior "1.0" version ready before most people receive their pledges.

The current aim is to produce a document that's meant more for digital reading, as most references to other rules and sections within the document are accomplished by using hyperlinks in the text. I know most people would also love a version that's designed more for printing, I'll see if I later have the energy to create that as well. A printable document would probably be more of a shorter reference, this document will always have 30+ pages.

Please discuss any and all factual errors, bad language or other errors you've found by either contacting me directly or in the thread. You can do this by reaching out to me directly or by opening pull requests with suggestions.

๐Ÿ’ป Local Development

To work on the document on your machine, you need the following:

  • MiKTeX for Windows, MacTeX for MacOS, TeX Live for Linux (required) to build the PDF file from LaTeX files
  • Inkscape (required) to render glyphs in the document (while installing on Windows, make sure to tick Add Inkscape to the System Path option)
  • TeXstudio (optional) to edit LaTeX files and rebuild the PDF file quickly
  • po4a (optional) to work on translating the document to other languages
  • pdftoppm (optional) to make screenshots of rendered PDF pages
  • ImageMagick (optional) to combine screenshots into convenient diffs
  • GIMP or Krita (optional) to edit some images in assets directory
  • aspell (optional) for spellchecking

To build the document in English, either run this in the command line:

latexmk -pdf -silent -shell-escape "main_en"

or use the script:

tools/build.sh en

or press the Build & View โ–ถ๏ธ (F5) button in TeXstudio on the main_en.tex file.

To build the document in any language (currently, pl, es, fr, ru, ua and de are supported), make sure you have po4a (version 0.70 or higher) and use the script:

tools/build.sh <LANGUAGE>

or press the Build & View โ–ถ๏ธ (F5) button in TeXstudio while having any main_<LANGUAGE>.tex file open, after running po4a (see Translations below for details).

To build the printable version in a given language, make sure you've built a regular one first at least once. Then, use the script:

โš ๏ธ Be careful, as it edits all the files! Also, you'll need Python for this ๐Ÿ

tools/make_printable.sh <LANGUAGE>

๐ŸŒ Translations

Make sure you have po4a installed (MacOS instructions).

To translate a particular section:

  • Go to translations/<section_name> and open <lang>.po file, e.g., translations/introduction.tex/pl.po

  • Choose a fragment to translate. Those start with msgid. Write your new text in the line below starting with msgstr. Example:

    msgid "\\addsection{Introduction}{\\spells/magic_arrow.png}"
    msgstr "\\addsection{Wprowadzenie}{\\spells/magic_arrow.png}"

    This text (msgstr) will replace the original (msgid) in your translation.

  • Regenerate your localized section:

    po4a --no-update po4a.cfg

    Disregard the errors about mismatched multicols, as this is an upstream parser issue.

  • Rebuild your PDF file (or press Build โ–ถ๏ธ in TeXStudio).

    latexmk -pdf -silent -shell-escape "main_<lang>"
  • Commit and repeat!

Finding fuzzy translations

In case an already translated text is changed, po4a marks such a translation as fuzzy in the *.po files. Those excerpts will be compiled just as they are in the original (English), until the translation is corrected, and the fuzzy mark is removed. To facilitate finding them, use the script:

tools/find_fuzzy.sh <lang>

It will show all the fuzzy translations in the *.po files for the specified language.

๐Ÿ“ธ Screenshots

It is a good practice to share screenshots of your work in pull requests. You can the script to make PNG images of specified page(s):

tools/pdf2image.sh <LANGUAGE> <FIRST_PAGE> <LAST_PAGE>

Example:

tools/pdf2image.sh en 5 7

To process a single page, use:

tools/pdf2image.sh en 5

๐ŸŽญ Comparing two pages side by side

If you'd like to show a single image of two instances of the same page side-by-side (before|after style), you can use the following script:

tools/compare_pages.sh <FILE_COMPARED_AGAINST> <LANGUAGE> <FIRST_PAGE> <LAST_PAGE>

Let's assume you have main_en.pdf in your home directory downloaded from GitHub, and in your current working directory you have a build you're working on. You'd like to have images comparing pages 38 through 41. Here's how to use it:

tools/compare_pages.sh ~/main_en.pdf en 38 41

It will produce files: en-38.png, en-39.png, en-40.png and en-41.png.

This script requires pdftoppm and imagemagick utilities.

๐Ÿ”Ž Spellchecking

TeXstudio has built-in spellchecking, but the first steps have been made towards automated spellchecking with aspell. For local development, after installing the tool, you can run it from the command line for example with

aspell -d en_US -p=./.aspell.homm3.pws --mode=tex --dont-backup check main.tex

or when wanting to check all .tex files then with

find . -type f -name "*.tex" -exec aspell -d en_US -p=./.aspell.homm3.pws --mode=tex --dont-backup check {} \;

Please note that currently the tool will flag many parameters in LaTeX commands. We are currently looking into how best to remediate this.

The personal dictionary .aspell.homm3.pwd currently contains only game-related words. It does not contain names (e.g., "BoardGameGeek") or parameter values (e.g., "px", "svg") in order to minimize the chances of false-negatives in the main body of text.

โœจ Assets

All assets come from publicly available sources. Some of the images in the rule book (all in the assets/examples directory as of writing) were generated by GIMP. Their respective XCF files reside in assets/gimp-files directory.

homm3bg's People

Contributors

qwrtln avatar darthgandalf avatar heegu-sama avatar luischos avatar gastonia02 avatar evilmint avatar ohgodnotagain avatar csagataj2 avatar sebecco avatar rickardni avatar jorischkovich avatar legrecofr avatar baritoshi avatar afulgens avatar artoftesting avatar serhiisur avatar krazanas avatar matt-le-fou 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.