All Projects → freeciv → Freeciv Web

freeciv / Freeciv Web

Licence: other
Freeciv-web is an Open Source strategy game implemented in HTML5 and WebGL, which can be played online against other players, or in single player mode against AI opponents.

Programming Languages

javascript
184084 projects - #8 most used programming language
java
68154 projects - #9 most used programming language
python
139335 projects - #7 most used programming language
CSS
56736 projects
shell
77523 projects
GLSL
2045 projects

Projects that are alternatives of or similar to Freeciv Web

Zen 3d
JavaScript 3D library.
Stars: ✭ 155 (-90.47%)
Mutual labels:  webgl, html5, canvas
Wechart
Create all the [ch]arts by cax or three.js - Cax 和 three.js 创造一切图[表]
Stars: ✭ 152 (-90.65%)
Mutual labels:  webgl, html5, canvas
Hilo3d
Hilo3d, a WebGL Rendering Engine.
Stars: ✭ 123 (-92.44%)
Mutual labels:  webgl, html5, canvas
Taro
A lightweight 3D game engine for the web.
Stars: ✭ 345 (-78.78%)
Mutual labels:  webgl, html5, canvas
Melonjs
a fresh & lightweight javascript game engine
Stars: ✭ 3,721 (+128.84%)
Mutual labels:  webgl, html5, canvas
Layaair discard
This is old LayaAir veriosn writetten by ActionScript 3.0 ,now LayaAir is using TypeScript as the Engine Script,Please use https://github.com/layabox/LayaAir instead.
Stars: ✭ 1,858 (+14.27%)
Mutual labels:  webgl, html5, canvas
Alien.js
Future web pattern
Stars: ✭ 141 (-91.33%)
Mutual labels:  webgl, html5, canvas
Three.js
JavaScript 3D Library.
Stars: ✭ 78,237 (+4711.62%)
Mutual labels:  webgl, html5, canvas
Phaser3 Docs
Phaser 3 Documentation and TypeScript Defs
Stars: ✭ 339 (-79.15%)
Mutual labels:  webgl, html5, canvas
Curtainsjs
curtains.js is a lightweight vanilla WebGL javascript library that turns HTML DOM elements into interactive textured planes.
Stars: ✭ 1,039 (-36.1%)
Mutual labels:  webgl, html5, canvas
React Ape
🦍• [Work in Progress] React Renderer to build UI interfaces using canvas/WebGL
Stars: ✭ 1,183 (-27.24%)
Mutual labels:  webgl, canvas
Wheel Of Lunch
HTML5 randomised spinning wheel to select a place to eat by using a RESTful API to fetch local places.
Stars: ✭ 70 (-95.69%)
Mutual labels:  html5, canvas
Hqchart
HQChart - H5, 微信小程序 沪深/港股/数字货币/期货/美股 K线图(kline),走势图,缩放,拖拽,十字光标,画图工具,截图,筹码图. 分析家语法,通达信语法,(麦语法),第3方数据替换接口
Stars: ✭ 1,126 (-30.75%)
Mutual labels:  html5, canvas
Tower game
💒 盖楼游戏 html5 canvas tower building game 🏢🏬🏦🏯🏰
Stars: ✭ 1,110 (-31.73%)
Mutual labels:  html5, canvas
Phaser Ce
Phaser CE is a fun, free and fast 2D game framework for making HTML5 games for desktop and mobile web browsers, supporting Canvas and WebGL rendering.
Stars: ✭ 1,186 (-27.06%)
Mutual labels:  webgl, canvas
Icon Machine
Web application for randomly generating pixel art icons.
Stars: ✭ 73 (-95.51%)
Mutual labels:  html5, canvas
Binari
Interactive code editor with a live binary tree visual designed to teach new developers the fundamentals of dynamic programming.
Stars: ✭ 82 (-94.96%)
Mutual labels:  html5, canvas
My Animate
使用 HTML5 / Canvas / CSS3 制作各种动画效果
Stars: ✭ 93 (-94.28%)
Mutual labels:  html5, canvas
Fe Daily Record
📚前端书籍汇集点 + 每日好文推荐 + 公开课学习资料 + 各种大会资料
Stars: ✭ 94 (-94.22%)
Mutual labels:  webgl, canvas
Deep Viz
A React component library, providing concise and beautiful diversity charts with Canvas, SVG, E-map, WebGL, Dom, based on data visualization experience and commercial data display practice.
Stars: ✭ 55 (-96.62%)
Mutual labels:  webgl, canvas

THE FREECIV-WEB PROJECT

License: AGPL v3 Build Status Code Quality: Javascript Total Alerts

Freeciv-web is an open-source turn-based strategy 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 Freeciv-web.

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

Live servers

Currently known servers based on Freeciv-web, which are open source in compliance with the AGPL license:

Freeciv-web screenshots:

Freeciv WebGL 3D: Freeciv-web

Freeciv-web HTML5 version: Freeciv-web

Overview

Freeciv-Web consists of these components:

  • Freeciv-web - a Java web application for the Freeciv-web 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 9 and nginx.

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

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

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

  • pbem is play-by-email support.

Freeciv WebGL

Freeciv 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 Freeciv-web 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 Freeciv-web to a directory on your computer, by installing Git and running this command:

 git clone https://github.com/freeciv/freeciv-web.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 Freeciv-web with Vagrant on VirtualBox

Freeciv-web can be setup using Vagrant on VirtualBox to quickly create a local developer image running Freeciv-web on latest Ubuntu on your host operating system such as Windows, OSX or Linux. This is the recommended way to build Freeciv-web 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 Freeciv-web directory:
vagrant up

This will build, compile, install and run Freeciv-web on the virtual server image. Wait for the installation process to complete, watching for any error messages in the logs. If you get an error message about Virtualization (VT) not working, then enable Virtualization in the BIOS.

  1. Test Freeciv-web 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 Freeciv-web source repository in the /vagrant directory. Note that running Freeciv-web 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 Freeciv-web 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 Freeciv-web with the following commands:
start-freeciv-web.sh
stop-freeciv-web.sh
status-freeciv-web.sh

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

Running Freeciv-web on Docker

Freeciv-web 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 freeciv-web directory:

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

http://localhost:8080/

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

Freeciv-Web continuous integration on GitHub actions

Freeciv-Web is built on GitHub actions on every commit. This is the current build status: Build Status

Developers interested in Freeciv-web

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

Contributors to Freeciv-web

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].