Giter Club home page Giter Club logo

solaris's Introduction

Solaris

Solaris is a slow-burn browser game heavily inspired by Neptune's Pride and Subterfuge.

  • Build economic, industrial and scientific infrastructure to improve your empire.
  • Build carriers to travel to new stars or to fight your enemies.
  • Research new technologies to gain an edge over your opponents.
  • Hire specialists which grant special abilities to stars and carriers like increased weapons and speed.
  • Set up trade with your allies to get ahead of the curve.
  • Play games with up to 32 players at a time.
  • Participate in group chats with your allies to discuss strategy.
  • Fight other players and capture stars to win the game.
  • Games last around 2-3 weeks, and you don't need to commit a lot of time to play!
  • Play on any device that has a web browser.
  • Its completely free!

Visit solaris.games to play now!

Server

The server uses the following tech:

Client

The client uses the following tech:

Development Environment Setup

  1. Install the prerequisites.
  2. Clone the repository.
  3. Checkout master.
  4. npm install in both client/ and server/ directories.
  5. Create a .env file in server/ (See .env.example).
  6. Create a .env file in client/ (See .env.example).
  7. npm run start-jobs:dev in server/ to start the automated jobs and setup new games.
  8. npm run start-api:dev in server/ to start the API.
  9. npm run serve in client/ to start the client application.
  10. Browse to the site locally (default http://localhost:8080).

Note: Development work is to be based on the dev branch, for a new feature or bug fix, create a branch from dev.

Database Migrations

To keep up to date with the latest changes, you must run the database migations to ensure that your database is compatible.

  1. npm run start-db-migrate:dev in server/ to update your local database to the latest schema.

Note: This script assumes that you have a solaris database on your system. If not, perform the Development Environment Setup above first.

Development Environment Automation (Optional)

To automate the development environment, it is recommended to use PM2.

  1. Install pm2.
  2. pm2 start pm2.config.js to register pm2 apps.

The above script will create the server jobs, API and client applications, watch for changes and restart those applications when necessary.

You can make use of debugger attach for VS Code defined in the .vscode/launch.json configuration file to easily attach the debugger to running apps.

Once configured, you can browse to the site locally (default http://localhost:8080) as using the normal way detailed in the section above and any changes you make will automatically restart the applications.

Contributing

See here.

License

See here.

solaris's People

Contributors

a1cypher avatar antoinecremel avatar fekha avatar filius-patris avatar gordon5k avatar highrs avatar ihateattackmaps avatar johnhkoh avatar jwright707 avatar kurtzmusch avatar levitatingbusinessman avatar lordratte avatar marauzi avatar metritutus avatar mike-eason avatar moustachiomario avatar nevisking avatar ogrergo avatar pisanovo avatar redthing1 avatar scorpioneorzion avatar spacialcircumstances avatar theblocks avatar tristanvds avatar tsangares avatar unshelled12 avatar up-level avatar uristmcdorf avatar vickykoblinski avatar william-schutte avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

solaris's Issues

Joining a game does not load the map.

Repro steps:

  • Open a game that the player hasn't joined yet.
  • Set an alias and join.

Expected result:
The game should load the map and the player details.

Actual result:
Nothing happens, blank map.

As a developer, I want the dev branch pushed to a development environment.

  • Must use a GitHub action that pushes build artifacts to a server.
  • Need to set up the infrastructure of the target server.
  • Should run on Ubuntu Server.
  • Will need an SSL cert preferably a wildcard one so we can do api. and www.
  • Will need to register a domain name
  • For now, everything should go on the same server.

As a player, I want to be able to view details about another player.

A screen displaying:

  • The player name
  • Their colour
  • Total stars
  • Total carriers
  • Total ships
  • Total ships being built per tick
  • Their infrastructure
  • Their infrastructure compared to yours
  • Their achievements (victories, rank, renown)
  • Their badges
  • A button to compare stats (see #31)
  • A button to message the player (see #27)

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.