Giter Club home page Giter Club logo

spacefortress's Introduction

   ____                 ____         __
  / _____ ___ ________ / _____  ____/ /________ ___ ___
 _\ \/ _ / _ `/ __/ -_/ _// _ \/ __/ __/ __/ -_(_-<(_-<
/___/ .__\_,_/\__/\__/_/  \___/_/  \__/_/  \__/___/___/
   /_/

spacefortress

Spacefortress is a science fiction command line space ship simulator. The main inspiration for this project comes from the dwarf fortress game.
image

Build Instructions

make sure you have the requirements installed:

# Ubuntu/Debian only:
sudo apt install build-essentials cmake libncurses-dev

# Arch only:
sudo pacman -S base-devel cmake ncurses

# MacOS
# install command line tools and cmake (via brew or directly)
xcode-select --install
brew install cmake

#if cmake can't find ncurses, try setting
export CMAKE_INCLUDE_PATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include

# Windows 
# make sure you have your favourite build tools installed
# you need: compiler(gcc, vs), cmake, ncurses, git
# cygwin or mingw32 work fine

clone the repository:

git clone https://github.com/cbacon93/spacefortress.git
cd spacefortress
git submodule  update --init --recursive

build the project:

cmake .
make

Ship

Your character is already inside your ship when the game starts. If your ship gets destroyed, the game is over. You will also be able to share a ship with others via a crew code.

Modules

Modules provide the main functionality for the space ship. Modules can be installed, removed, switched online and offline, damaged, repaired and upgraded.

ShipOs

The ShipOs is the main interface between human and ship. It provides the crew with several programs and a terminal to control modules and systems.

Ideas

World:

  • Strategy - SciFi
  • Multiplayer Client-Server
  • Open World
  • Procedurally generated?

Ship:

  • Ship Controlle
  • alone - possible
  • multiplayer - more efficient
  • Ship upgrade with materials (crafting?)
  • Ship repair with materials
  • Planet / Stars - resources/fue
  • Scientific core - research?
  • Get tasks - get rewards - channelges

Systems:

  • Jump drive - consumes fuel, jump fatigue?
  • Star gates - quick travel between systems
  • Safe systems w/ police
  • Dangerous systems with high reward

spacefortress's People

Contributors

mahaupt avatar dekerwer avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

dekerwer

spacefortress's Issues

Server

  • Server connection
  • Async client handler
  • Async Client receiver
  • Async Client sender
  • Crew handling (ship sharing)
  • Ship synchronisation
  • World generation
  • Environmental synchronisation
  • Environmental interactions (persistent storage)
  • Auto connection loss handling

NetMsgObject wrong size and byte alignment

0000   00 00 03 04 00 06 00 00 00 00 00 00 bb 90 08 00   ................
0010   45 00 00 92 16 fb 40 00 40 06 25 69 7f 00 00 01   E.....@.@.%i....
0020   7f 00 00 01 eb 96 1f 90 69 c8 80 cd 3b ea a0 4f   ........i...;..O
0030   80 18 02 00 fe 86 00 00 01 01 08 0a b1 40 ed 1b   .............@..
0040   b1 40 ec b6 81 00 5a 00 d8 dc 1c c7 1d 56 00 00   [email protected]..
0050   10 00 00 00 00 00 00 00 f0 bf 9a 99 99 99 99 99   ................
0060   b9 3f 00 00 00 00 00 00 00 00 00 00 00 00 00 00   .?..............
0070   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0080   00 00 4f 6d 65 67 61 00 00 00 00 00 00 00 00 00   ..Omega.........
0090   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
00a0   00 00                                             ..

Game Menu

  • Display game menu on start
  • Settings adjust server ip (yaml settings file)
  • Select (Create crew, Join crew (code))

ShipOS Programs

  • Systems Monitor
  • Terminal
  • Map
  • HELMS
  • Engineering
  • Communications
  • Offensive

Render Engine

  • Wrap ncurses in engine
  • Render split screen
  • Handle dynamic opening and closing of programs

Add Elements to the game

  • Add Ship movement and sensors
  • Add Objects to interact (Planets, Stations)
  • docking to stations
  • Add AI Ships
  • landing on planets
  • space creatures

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.