GithubHelp home page GithubHelp logo

sharkwouter / tuxemon Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tuxemon/tuxemon

0.0 2.0 0.0 206.71 MB

Open source monster-fighting RPG.

License: GNU General Public License v3.0

Shell 1.06% Python 98.53% Go 0.07% Makefile 0.08% NSIS 0.22% Batchfile 0.04%

tuxemon's Introduction

Tuxemon 0.4.34

Tuxemon is a free, open source monster-fighting RPG. It's in constant development and improving all the time! Contributors of all skill and level are welcome to join.

Build Status Documentation Status

screenshot

Features

  • Game data is all json, easy to modify and extend
  • Game maps are created using the Tiled Map Editor
  • Simple game script to write the story
  • Dialogs, interactions on map, npc scripting
  • Localized in several languages
  • Seamless keyboard, mouse, and gamepad input
  • Animated maps
  • Lots of documentation
  • Python code can be modified without a compiler
  • CLI interface for live game debugging
  • Runs on Windows, Linux, OS X, and some support on Android
  • 183 monsters with sprites
  • 98 techniques to use in battle
  • 221 NPC sprites
  • 18 items

Installation

If you want to try the game, it's recommended to download and try the development branch first. The master branch should be stable, but is often out of date.

Windows Source

Requires Python 3.8+ and git. Install the latest version of Python 3 from here

Run:

git clone https://github.com/Tuxemon/Tuxemon.git
cd Tuxemon
python -m pip install -U -r requirements.txt
python run_tuxemon.py

Windows Binary

Check the release page for binaries.

Debian/Ubuntu with virtual environment

This is the recommended way to run because it will not modify the system.

sudo apt install git python3-venv
git clone https://github.com/Tuxemon/Tuxemon.git
python3 -m venv venv
source venv/bin/activate
python3 -m pip install -U -r requirements.txt
python3 run_tuxemon.py

Debian/Ubuntu

Not recommended because it will change system-installed packages

sudo apt install python python-pygame python-pip python-imaging git
git clone https://github.com/Tuxemon/Tuxemon.git
cd Tuxemon
sudo pip install -U -r requirements.txt
python run_tuxemon.py

Debian/Ubuntu optional rumble support

sudo apt install build-essential
git clone https://github.com/zear/libShake.git
cd libShake/
make BACKEND=LINUX; sudo make install BACKEND=LINUX

Fedora Linux

sudo dnf install SDL*-devel freetype-devel libjpeg-devel portmidi-devel python3-devel virtualenv venv
python3 -m venv venv
source venv/bin/activate
python3 -m pip install -U -r requirements.txt
python3 run_tuxemon.py

Arch Linux

Tuxemon is available in the AUR.

Smartphones

Android builds are highly experimental. Download and install the apk from the releases page and install to your device. You will need to manually install the mods folder. Connect your device to your computer and make a folder called "Tuxemon" in "Internal Storage", then copy the mods folder. Tuxemon will also need file system permissions, which you can set in your phones settings.

Mac OS X (Yosemite)

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew tap Homebrew/python
brew update
brew install python
brew install sdl sdl_image sdl_ttf portmidi git
brew install sdl_mixer --with-libvorbis
sudo pip install git+https://github.com/pygame/pygame.git
sudo pip install -U -r requirements.txt 
git clone https://github.com/Tuxemon/Tuxemon.git
ulimit -n 10000; python run_tuxemon.py

Controls

Game Controls
You can also set inputs in the options menu or config file
  • Arrow Keys - Movement
  • Enter - Select/activate
  • ESC - Menu/Cancel
  • Shift - Sprint
Debugging

You can enable dev_tools by changing dev_tools to True in the tuxemon.cfg file:

[game]
dev_tools = True

These keyboard shortcuts are available with dev tools enabled

  • r - Reload the map tiles
  • n - No clip
Map Editor

Use Tiled map editor: http://www.mapeditor.org/

CLI Interface

The CLI interface is a very convenient way to debug and develop your maps. After you enable the CLI interface, you can use the terminal to enter commands. You could, for example, give your self potions to battle, or add a monster directly to your party. It's also possible to change game variables directly. In fact, any action or condition that is usable in the map can be used with the CLI interface.

Setting up

You can enable cli by changing cli_enabled to True in the tuxemon.cfg file:

[game]
cli_enabled = True

Commands

  • help [command_name] — Lists all commands, or specific information on a command.
  • action <action_name> [params] — Execute EventAction. Uses same syntax as the map script.
  • test <condition_name> [params] — Test EventCondition. Uses same systax as the map script.
  • random_encounter — Sets you in a wild tuxemon battle, similar to walking in tall grass.
  • trainer_battle <npc_slug> — Sets you in a trainer battle with specified npc.
  • quit — Quits the game.
  • whereami — Prints out the map filename
  • shell — Starts the Python shell, that you can use to modify the game directly. For advanced users.

CLI Examples

Get Commands

> help
Available Options
=================
action  help  quit  random_encounter  shell  test  trainer_battle  whereami

Enter 'help [command]' for more info.

Get help on an action

> help action teleport

    Teleport the player to a particular map and tile coordinates.

    Script usage:
        .. code-block::

            teleport <map_name>,<x>,<y>

    Script parameters:
        map_name: Name of the map to teleport to.
        x: X coordinate of the map to teleport to.
        y: Y coordinate of the map to teleport to.

Test and give an item

> test has_item player,potion
False
> action add_item potion,1
> test has_item player,potion
True

NOTE! The CLI interface is new and the error messages are not very helpful. In general, you should be using the commands when the game is playing, and you are on the world map.

Check out the scripting reference for all the available actions and conditions for use with action and test!

Building

There are many scripts for various builds in the buildconfig folder. These are meant to be run from the project root directory, for example, to build the portable pypy build:

[user@localhost Tuxemon]$ buildconfig/build_pypy_portable_linux.sh

There will be a new directory called build, which will have the package if everything was successful.

WARNING! The build scripts are designed to be run in a dedicated VM. They will add and remove packages and could leave your OS in a bad state. You should not use them on your personal computer. Use in a vm or container.

License

With the exception of the lib folder which may have its own license, all code in this project is licenced under the GPLv3.

GPL v3+

Copyright (C) 2017 William Edwards [email protected],
Benjamin Bean [email protected]

This software is distributed under the GNU General Public Licence as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. See the file LICENSE for the conditions under which this software is made available. Tuxemon also contains code from other sources.

External links

tuxemon's People

Contributors

airon90 avatar andymender avatar bitcraft avatar ceo-of-insecurity avatar chillycider avatar clonewayx avatar dtdannen avatar dulsi avatar flydx1234 avatar freshreplicant avatar hugopghost avatar jaskrendix avatar kerizane avatar magmaus3 avatar mirceakitsune avatar murmele avatar novialriptide avatar pastaq avatar presstabstart avatar qiangong2 avatar rubberduck9999 avatar sandythelizard avatar sanglorian avatar shadowapex avatar superman2k5 avatar treetrnk avatar ultidonki avatar vnmabus avatar weblate avatar xirsoi avatar

Watchers

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