Geen omschrijving

bzt 4ec1f17b15 emscripten workaround not needed any more 1 jaar geleden
android-project 5b97208ed9 Initial commit 2 jaren geleden
aur 2ec9548a6d Locking free textures and AUR 2 jaren geleden
docs df9fd70839 Added altitude 1 jaar geleden
emscripten 4ec1f17b15 emscripten workaround not needed any more 1 jaar geleden
src d288eb66e5 Emscripten hud stuff 1 jaar geleden
.gitignore a77cabb28c Dump utility initial version 2 jaren geleden
LICENSE e4990f0f39 Added readme 2 jaren geleden
README.md 27fe0c92b8 Launcher 1 jaar geleden

README.md

TirNanoG Role Playing Game Player

TirNanoG Player is designed to play Adventure and Action RPG Games. For more information, visit the homepage.

Installation

Step 1: Download

Platform Link
Windows tngp-i686-win-static.zip
Linux tngp-x86_64-linux-static.tgz
Ubuntu tngp_1.0beta-amd64.deb
RaspiOS tngp_1.0beta-arm64.deb
Android org.tirnanog.app.apk
Emscripten tngp-wasm-emscripten.tgz

Step 2: Unpack

Extract to: /usr (Linux, BSDs), C:\Program Files (Windows); or in a webserver's public folder (Emscripten).

This is a portable executable, no installation required. Alternatively if you've downloaded a deb file then you can install that with

sudo dpkg -i tngp_*.deb

Step 3: Add Some Games

You can find demo games on the homepage, but you can also create your own with the TirNanoG Editor.

Sadly the diretory where the games should be extracted differs on each platform, see docs/paths.md for the default locations. In a nutshell by default it is /usr/share/games (on Linux, BSDs etc.), but C:\Program Files on Windows, and the Download folder on Android. For Emscripten, you drag'n'drop the game file into the browser window, so location doesn't matter.

To get some help about how to navigate in a game, see docs/controls.md.

Dependencies

  • libc

Yeah, no mistake! This is how a suckless project looks like! For compilation from source, see the readme in the src directory.

Unlike the tarball, the deb version depends on the SDL2 shared library too, but that's where the list of dependencies ends.

Multiplayer Mode

Normally you add a game file to the TirNanoG Player, and play it locally. However you could add it to the TirNanoG Server instead, and then you can use your TirNanoG Player to connect to that server to play together with friends.

Platform Link
Windows tngs-i686-win-static.zip
Linux tngs-x86_64-linux-static.tgz
Ubuntu tngs_1.0beta-amd64.deb

If you run the tngs application from the application menu, then it will display a very basic launcher window to specify the bind address (tries to autodetect that) and to select the game file (from the default games directory).

But you really should run it from a terminal (or CMD.EXE) instead, because then you'll have lot more options:

tngs [-f] [-p <port>] [-b <ip>] [-a <ip>] [-m <num>] [-l <log>] [-s <save>] [-S <sec>]
  [-t <config>] [-r] [-v|-vv] <game file>

-f            run in foreground, do not daemonize
-p <port>     port to listen on (default 4433)
-b <ip>       bind server to this IP
-a <ip>       allow admin connection from this IP
-m <num>      number of maximum player connections
-l <log>      redirect log to this file
-s <save>     save game state to this file
-S <sec>      autosave game every N seconds (default 3600)
-t <config>   use translator config file (in JSON format)
-r            disable new player registration
-v|-vv        set verbosity level

The TirNanoG Server is only supported on Linux, although should work out-of-the-box on Windows too, but no guarantees.

You can administer the server and manipulate the game world on-the-fly using a simple JSON based REST API, and you can also configure an automatic chat translator webservice.

License

The TirNanoG Player is a Free and Open Source software, licensed under GPLv3 or any later version of that license.

Authors

  • SDL (zlib) Sam Lantinga
  • SDL_mixer (zlib) Sam Lantinga
  • libtheora (BSD-3clause) Xiph.org Foundation
  • libvorbis (BSD-3clause) Xiph.org Foundation
  • mbedtls (Apache-2.0) various contributors
  • NetQ (MIT) bzt
  • stb_image (PD) Sean Barrett and others
  • SSFN2 (MIT) bzt
  • zlib (zlib) Jean-loup Gailly, Mark Adler
  • on-screen touch controls (CC0) Nicolae Berbece
  • Celtic md font (free, even for commercial use) unknown origin, modified by bzt
  • univga (MIT) Dmitry Bolkhovityanov
  • unifont (GPLv2+ with the GNU font embedding exception) Roman Czyborra, Paul Hardy and others
  • all the other assets (GPLv3+) bzt
  • TirNanoG Player (GPLv3+) bzt
  • TirNanoG File Format (dual licensed CC-by-nc-sa or anything else, including proprietary) bzt

NOTE: by the terms of GPL section 5c, all these libraries and assets embedded in the TirNanoG Player are re-licensed under GPLv3+ (or any later version of that license).

Known Bugs

The DLC expansion system (where you load further .tng files to patch or replace contents in the main .tng file) is implemented and should work, but hasn't been tested throughfully yet. Best to stick to one game .tng file for now.

Likewise, big endianness is implemented, but hasn't been throughfully tested yet, because I don't have any big endian machines. The networking code (little endian client connecting to big endian server or vice versa) and game save files will work for sure. I've implemented both with the outtermost care. Loading .tng should work too, all the necessary macro calls are in place, but there could be bugs with the latter on big endian machines. Definitely needs more testing.

Cheers, bzt