Skip to content

Tartary Nova strategy game implemented in HTML5 and WebGL, Your goal is to build Free Electric Towers, collect resources, organize your confederation, and build an assembly, with the ultimate goal of creating the best Tartarian Empire. Can be played online against other players, or in single player mode against AI opponents.

License

Notifications You must be signed in to change notification settings

tartaria-nova/tartarynova-webgame

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tartary Game

Build Status Code Quality: Javascript Total Alerts

Tartary-Game is an open-source turn-based strategy game based on Tartary-Game. It can be played in any HTML5 capable web-browser and features in-depth game-play and a wide variety of game modes and options. Your goal is to build cities, collect resources, organize your government, and build an army, with the ultimate goal of creating the best civilization. You can play online against other players (multiplayer) or play by yourself against the computer. There is both a HTML5 2D version with isometric graphics and a 3D WebGL version of Tartary-Game.

Tartary-Game is free and open source software. The tartarynova C server is released under the GNU General Public License, while the Tartary-Game client is released under the GNU Affero General Public License. See License for the full license document.

Currently known servers based on Tartary-Game:

tartarynova WebGL 3D: Tartary-Game

tartary HTML5 version: Tartary-Game

Overview

Tartary-Game consists of these components:

  • Tartary-Game - a Java web application for the Tartary-Game client. This application is a Java web application which make up the application viewed in each user's web browser. The Metaserver is also a part of this module. Implemented in Javascript, Java, JSP, HTML and CSS. Built with maven and runs on Tomcat 8 and nginx.

  • Tartary Nova - the Tartary Nova C server, which is checked out from the official Git repository, and patched to work with a WebSocket/JSON protocol. Implemented in C.

  • tartarynova-proxy - a WebSocket proxy which allows WebSocket clients in Tartary-Game to send socket requests to tartarynova servers. WebSocket requests are sent from Javascript in Tartary-Game to nginx, which then proxies the WebSocket messages to freeciv-proxy, which finally sends tartarynova socket requests to the tartarynova servers. Implemented in Python.

  • Publite2 - a process launcher for tartarynova C servers, which manages multiple tartarynova server processes and checks capacity through the Metaserver. Implemented in Python.

  • pbem is play-by-email support.

  • freeciv-earth is code to generate tartarynova savegames from a map captured from mapbox.

tartarynova WebGL

tartarynova WebGL is the 3D version, which uses the Three.js 3D engine. More info about the WebGL 3D version can be found for developers and 3D artists. Developer: Andreas Røsdal @andreasrosdal

Running Tartary-Game on your computer

The recommended and probably easiest way is to use Vagrant on VirtualBox.

Whatever the method you choose, you'll have to check out Tartary-Game to a directory on your computer, by installing Git and running this command:

 git clone https://github.com/freeciv/Tartary-Game.git --depth=10

You may also want to change some parameters before installing, although it's not needed in most cases. If you have special requirements, have a look at config.dist, copy it without the .dist extension and edit to your liking.

⚠️ Notice for Windows users

Please keep in mind that the files are to be used in a Unix-like system (some Ubuntu version with the provided Vagrant file). Line endings for text files are different in Windows, and some editors "correct" them, making the files unusable in the VM. There's some provision to recode the main configuration files when installing, but not afterwards. If you touch shared files after installation, please use an editor that respect Unix line endings or transform them with a utility like dos2unix after saving them.

Running Tartary-Game with Vagrant on VirtualBox

Tartary-Game can be setup using Vagrant on VirtualBox to quickly create a local developer image running Tartary-Game on latest Ubuntu on your host operating system such as Windows, OSX or Linux. This is the recommended way to build Tartary-Game on your computer.

  1. Install VirtualBox: https://www.virtualbox.org/ - Install manually on Windows, and with the following command on Linux:
sudo apt-get install virtualbox
  1. Install Vagrant: http://www.vagrantup.com/ - Install manually on Windows , and with the following command on Linux:
sudo apt-get install vagrant
  1. Run Vagrant with the following commands in your Tartary-Game directory:
vagrant up

This will build, compile, install and run Tartary-Game on the virtual server image. Wait for the installation process to complete, watching for any error messages in the logs.

  1. Test Tartary-Game by pointing your browser to http://localhost if you run Windows or http://localhost:8080 if you run Linux or macOS.

To log in to your Vagrant server, run the command:

vagrant ssh

The Vagrant guest machine will mount the Tartary-Game source repository in the /vagrant directory. Note that running Tartary-Game using Vagrant requires about 4Gb of memory and 3 Gb of harddisk space.

System Requirements for manual install

Install this software if you are not running Tartary-Game with Vagrant:

When in a tested system, you may run scripts/install/install.sh and it will fetch and configure what's needed.

Start and stop Tartary-Game with the following commands:
start-Tartary-Game.sh
stop-Tartary-Game.sh
status-Tartary-Game.sh

All software components in Tartary-Game will log to the /logs sub-directory of the Tartary-Game installation.

Running Tartary-Game on Docker

Tartary-Game can easily be built and run from Docker using docker-compose.

  1. Make sure you have both Docker and Docker Compose installed.

  2. Run the following from the Tartary-Game directory:

    docker-compose up -d
  3. Connect to docker via host machine using standard browser

http://localhost/

Enjoy. The overall dockerfile and required changes to scripts needs some further improvements.

Tartary-Game continuous integration on Travis CI

Tartary-Game is built on Travis CI on every commit. This is the current build status: Build Status

Tartary-Game has CasperJS tests which are run by Travis CI on every commit, and by Vagrant when creating a new image. The tests can be found in tests/Tartary-Game-tests.js. Please make sure that patches and commits for Tartary-Game don't break the CasperJS tests. Thanks!

Developers interested in Tartary-Game

If you want to contibute to Tartary-Game, see the issues on GibHub and the TODO file for some tasks you can work on. Pull requests on Github is welcome!

Contributors to Tartary-Game

Andreas Xirtus [@xirtus] (http://tartarynova.com)

Thanks to Freeciv Andreas Røsdal @andreasrosdal
Marko Lindqvist @cazfi
Sveinung Kvilhaugsvik @kvilhaugsvik
Gerik Bonaert @adaxi
Lmoureaux @lmoureaux
Máximo Castañeda @lonemadmax
and the tartarynova.org project!

About

Tartary Nova strategy game implemented in HTML5 and WebGL, Your goal is to build Free Electric Towers, collect resources, organize your confederation, and build an assembly, with the ultimate goal of creating the best Tartarian Empire. Can be played online against other players, or in single player mode against AI opponents.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 79.8%
  • Java 6.3%
  • CSS 5.7%
  • Python 5.0%
  • Shell 1.6%
  • GLSL 0.9%
  • Other 0.7%