Giter Site home page Giter Site logo

linecode / space Goto Github PK

View Code? Open in Web Editor NEW

This project forked from starwolves/space

0.0 1.0 0.0 6.1 MB

A SCI-FI community game server simulating space(ships) in 3D. Built from the ground up to support decentralized moddable online action multiplayer and roleplay! Made with Bevy ECS.

Home Page: https://sf-docs.starwolves.io

License: Other

Rust 100.00%

space's Introduction

Space Frontiers pre-alpha

Continuous integration

forthebadge forthebadge

Screenshot of Space Frontiers gameplay

Description

Space Frontiers is an online multiplayer game in which players find themselves in a large spaceship operations crew who have to work together to run and maintain a spaceship. Crew members are assigned different roles with different levels of responsibilities and authorization. The manned spaceship will be tasked to jump from sector to sector which triggers random events; events will include player antagonists, traitor roles, alien infestations and more. Therefore player communication is key, putting emphasis on the chat with optional roleplay features. A wide variety of simulated spaceship and gameplay elements will be included to ensure these scenarios will be as fun as possible.

The repository of a modular and moddable multi-threaded sci-fi headless community game server written in Rust with the Bevy ECS game engine. Made to communicate exclusively with the official closed-source Space Frontiers client. Credits to Godot Engine and godot-rust!

There is an official Discord server.

You can see gameplay videos of Space Frontiers on YouTube.

There is also a work-in-progress documentation available for code contributors or modders.

Check out our Github project workspace for upcoming improvements to the game!

Features (All Moddable & Modular)

  • Decentralized gameplay, each community can host their own server. ๐Ÿ‘‘
  • Parallelized Entity Component System architecture. ๐Ÿ“ก
  • Pure Rust. No garbage collection. Fast code execution. ๐ŸŒŸ
  • Data-oriented and modular within a thread-safe and strictly compiled environment. It is easy to add and remove entities, systems, components, map cells and more simply by managing plugins that will get compiled with the project. ๐Ÿ”ญ
  • Using the cutting-edge Rapier 3D Physics engine. ๐Ÿš€
  • Character meshes and animations are integrated with Mixamo for rigging. โ˜„
  • Inventory system, pick up, wear, attach, place and equip items with character entities.
  • Melee & projectile combat systems, damage player, ship walls or other entities with various types of damage and the ability to target specific body parts.
  • Advanced bbcode chat, with support for examining entities, modular (radio) channels and proximity communication.
  • Actions and tab menu's to easily interact with the world while also offering protection against cheaters.
  • Configurable console commands, including rcon admin commands.
  • Clients can load in custom content on a per server basis thanks to a traditional automatically shared and downloaded content folder approach.
  • Godot Addressable references are used for efficient and dynamic netcode that works well with custom content.
  • Cell based map support with a graphical user interface map, world and entities editor with support for sizes up to 1km by 1km with 100,000+ dynamic (de)constructable ship cells.
  • Atmospherics simulation including temperature, pressure, diffusion, gravity and the vacuum of space.

Screenshot of Space Frontiers atmospherics simulation

Getting Started

Dependencies

Executing game server

To compile and run the game server:

  • Select latest versioned branch (not master) from this repository and clone it.
  • In your terminal navigate to the project folder you have just obtained and run:
cargo run

To run the game server, but optimized:

cargo run --release

Client

You can obtain the latest stable release of the client on Discord. Ensure your server has the right git branch with the same version as the obtained client and not the master branch!

The client is built on top of the latest stable Godot 3.4.x release. The client will be upgraded and moved to Godot 4 for better 3D rendering in favour of the Vulkan API.

Contributing

This project is oriented towards long-term development, meaning it is here to stay and to be developed for some years to come. Feedback, bug reports, suggestions and critique are very much appreciated. Github issues and pull requests will be reviewed and considered.

The hopes are to financially reward and/or hire the most suitable people for their contributions in the much further future.

Contributors of this project have to agree to our Collaberative License Agreement. Our automated CLA assisstant will give you instructions on how to agree the first time you contribute on Github.

It is recommended to develop on the latest snapshot branch and to submit pull requests. Snapshot branches get regularly merged with the master branch. Each time a merge with the master branch occurs a new snapshot releases. To stay up to date with this process check out our Discord and our Github project workspace.

Screenshot of Space Frontiers GUI project map and content editor

License

This repository is licensed under a special license.

space's People

Contributors

alainx277 avatar dotred108 avatar github-actions[bot] avatar starwolfy avatar

Watchers

 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.