Metrics
0
Watch 33 Star 162 Fork 35

sizeof(cat) / CivitasJavaScriptGPL-3.0

Sign up for free
Explore and code with more than 2 million developers,Free private repositories !:)
Sign up
Civitas is an empire-building game written in Javascript with the help of the jQuery library. spread retract

https://sizeof.cat/post/civitas-game/

Clone or download
Loading...
README.md

Civitas

Main game area

Description

Civitas is a free-to-play strategy empire-building browser game written in Javascript with the help of the jQuery library. Players develop and maintain their settlement from initial village to a fully grown metropolis, influencing and conquering the neighbouring settlements.

There is no set goal, game is played on an infinite-round basis and there is a server component planned. The focus of the game is to manufacture and trade resources in order to raise the level of your city.

Features

  • Over 80 types of buildings, each intertwined in the chain of production.
  • Custom climate zones, each with specific buildings.
  • Global market, player can trade goods with other settlements.
  • Army! Navy! Soldiers! Ships!
  • Fame system that allows your city to level up via trades, conquers and special buildings.
  • Prestige system that affects diplomacy.
  • Each city in the game world is linked via an influence system that needs to be maintained for diplomacy to work.
  • Random events that can change your diplomacy status with the other cities, give you coins or random resources.
  • Espionage, influence cities, destroy buildings, sabotage.
  • Ranking screen, where cities get ranked according to their status in the world.
  • Declare war, propose alliances and pacts, ask other settlements to join your city, propose cease fire.
  • Heroes, unique classes and items, attributes.
  • Server component, no actual data is saved externally, only in your browser's localStorage.
  • Jailer component that assures game data integrity (no cheating).
  • Any player interaction since no data is transmitted to the server component.
  • Artificial Intelligence (AI) for computer-controlled cities.

Playing

In development, Civitas is using several assets that are copyrighted by Bluebyte, so I cannot redistribute them with the game. In the future, the game will have a brand new set of graphics but for now those will be enough for testing. You can find a link to the said assets in this Gitee or this GitHub issue. All the other game resources are freely distributed under the GPLv3 license, same as the code.

1. With Docker

$ docker-compose up --build

And point your browser to http://localhost (or even better, add the line below to your /etc/hosts file and browse http://civitas.test.

127.0.0.1	civitas.test

2. Local

Choose an archive format from below, download and uncompress it. Point your browser to dist/index.html, you don't need a game server to play.

Development

Start by installing all the prerequisites:

$ npm install

Run the main script that will load gulp and proxy the requests from civitas.test to localhost:3000.

$ npm start

Releases

License

Civitas is written by sizeof(cat) and distributed under the GPLv3 license.

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.

Contributing

Pull requests are always welcome!

I am always thrilled to receive pull requests, and do my best to process them as fast as possible. Not sure if that typo is worth a pull request? Do it! I will probably appreciate it.

If your pull request is not accepted on the first try, don't be discouraged! If there's a problem with the implementation, hopefully you received feedback on what to improve.

Always sign your commits and make sure you read the Coding Style and the Code of Conduct.

Source code

Civitas is written using Javascript, has ~22000 lines of code (including comments and whitespace), ~290Kb minified and can be downloaded from GitHub.com, Gitee.com or by using git to clone the repository:

GitHub:

git clone git@github.com/sizeofcat/civitas.git

Gitee

git clone git@gitee.com/sizeofcat/civitas.git

Dependencies

Thanks

The music/track1.mp3 song is named Glandula Pinealis by Shantifax.

Screenshots

Comments ( 13 )

You need to Sign in for post a comment

Help Search