Skip to content
Multi-player spaceship bridge simulator. Captain your starship through adventures with your friends. See https://smcameron.github.io/space-nerds-in-space
Branch: master
Clone or download
smcameron Use fprintf not printf for shader error messages
Signed-off-by: Stephen M. Cameron <stephenmcameron@gmail.com>
Latest commit 51c0b84 Mar 18, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
debian
doc
man Improve syntax of joystick config file Mar 15, 2019
mikktspace
share/snis Improve syntax of joystick config file Mar 15, 2019
speech
ssgl
util
.gitignore Add build artifacts Aug 11, 2017
AUTHORS add smaa to 2x<pause> menu Feb 19, 2014
CC-BY-SA.txt Add missing copyright information for Debian and use correct version … Aug 12, 2017
CONTRIBUTING.md
COPYING
Makefile
Makefile.depend
README.md Update README Mar 14, 2019
TODO Update TODO 2019-03-18 Mar 18, 2019
a_star.c Fix use of uninitialized variable in A-star algorithm May 30, 2016
a_star.h
a_star_test.c
arbitrary_spin.c
arbitrary_spin.h Factor out asteroid rotation code Aug 2, 2015
arraysize.h Factor out arraysize macro Aug 20, 2015
bline.c Fix indentation of license blurbs Aug 20, 2015
bline.h Fixed prototype of plotting function Nov 15, 2012
build_bug_on.h
c-is-the-locale.c
check-endianness.c
check_for_termios2.sh
checkpatch.pl Replace strtok() with strtok_r() Dec 15, 2018
commodities.c
commodities.h
compat.h Add joystick support May 25, 2013
container-of.h add container_of macro Jan 20, 2014
corporations.c Add canonical corporations Sep 26, 2018
corporations.h Add canonical corporations Sep 26, 2018
crater.c
crater.h Add missing crater.h file Dec 24, 2015
cut-up-cubemap Add cut-up-cubemap script to cut up an all-in-one-image cubemap Feb 10, 2015
damcon-robot-points.h draw damcon robot properly May 3, 2013
device-io-sample-1.c Add sample device io program May 31, 2014
docking_port.c Fix file leak in read_docking_port_attachments() May 5, 2018
docking_port.h
earthlike.c
elastic_collision.c
elastic_collision.h Add function to compute elastic collision response Aug 7, 2015
entity.c
entity.h
entity_private.h
extract_docking_ports.awk
extract_scad_params.awk add thrust to ships that have an exhaust port Jan 23, 2014
fleet.c Reduce max ships per fleet to something reasonable Mar 5, 2015
fleet.h Reduce max ships per fleet to something reasonable Mar 5, 2015
gather_build_info Hide object files in object_files dir Feb 22, 2019
generate_skybox.c
graph_dev.h
graph_dev_gdk.c
graph_dev_mesh_stub.c
graph_dev_mesh_stub.h Make blocks calculate their radius Jan 4, 2017
graph_dev_opengl.c make smaller objects be shaded by planets Feb 20, 2019
heightdata.png earthlike: add source images May 27, 2014
infinite-taunt.c
infinite-taunt.h
joystick.c Avoid code duplication and magic numbers in joystick handling Jan 26, 2019
joystick.h
joystick_config.c
joystick_config.h
key_value_parser.c Enhance key_value_parser Jun 13, 2016
key_value_parser.h
killem.sh Make killem.sh and snis_launcher kill the limited client too Oct 22, 2018
land.png Update land and water png files for earthlike program Jun 5, 2014
liang-barsky.c Fix indentation of license blurbs Aug 20, 2015
liang-barsky.h
material.c Allow normalmap in textured and lit per pixel shader Sep 20, 2018
material.h remove point cloud noise intensity shader Feb 18, 2019
mathutils.c Fix bug in consistent_random_point_on_sphere() Sep 1, 2018
mathutils.h
matrix.c
matrix.h add mat44d x vec4 into vec3 Feb 16, 2014
mesh.c
mesh.h
mesh_viewer.c
mtwist.c
mtwist.h add mersenne twister Jan 15, 2014
my_point.c Fix indentation of license blurbs Aug 20, 2015
my_point.h
names.c Factor out arraysize macro Aug 20, 2015
names.h make random name generator use mersenne twister Jul 12, 2015
nebula_noise.c Add license header to nebula_noise Sep 1, 2018
nolobby-quickstart
nonuniform_random_sampler.c Add non-uniform random sampling code Jun 18, 2016
nonuniform_random_sampler.h Add non-uniform random sampling code Jun 18, 2016
ogg_to_pcm.c just include stdlib.h, not malloc.h too Oct 8, 2014
ogg_to_pcm.h
open-simplex-noise.c
open-simplex-noise.h add function to free noise context Oct 6, 2014
opengl_cap.c Add missing include for getenv Apr 7, 2016
opengl_cap.h
oriented_bounding_box.c
oriented_bounding_box.h Add oriented bounding box closest point function Jan 4, 2017
placeholder-part-points.h move damcon part and socket origin May 19, 2013
placeholder-socket-points.h move damcon part and socket origin May 19, 2013
placeholder-system-points.h
planetary_atmosphere.c
planetary_atmosphere.h
png_utils.c
png_utils.h Factor out read_png_image to png_utils Nov 8, 2015
power-model.c
power-model.h Model simple damage in the power model code Dec 19, 2013
print_ship_attributes.c
pronunciation.c Teach the computer about waypoints Jul 23, 2017
pronunciation.h
pthread_util.c
pthread_util.h
pull_request_template.txt Add pull request template Feb 25, 2018
quat.c Use torus distance function for player collision with warp gate Apr 5, 2018
quat.h
quickjoin
quickstart Building binaries directly in bin/ Feb 18, 2019
replacement_assets.c Do not thrash realloc so much in replacement asset reading code Mar 12, 2019
replacement_assets.h Do not thrash realloc so much in replacement asset reading code Mar 12, 2019
rootcheck.c
rootcheck.h Do not allow running as root Sep 15, 2018
rts_unit_data.c
rts_unit_data.h Limit which types of orders apply to which ships Oct 29, 2017
shader.c Use fprintf not printf for shader error messages Mar 18, 2019
shader.h
shape_collision.c
shape_collision.h
shield_strength.c
shield_strength.h
ship_registration.c
ship_registration.h Free ship_registry if necessary before initializing it Oct 3, 2018
snis-culture.h allow including snis.h without defining any static variables Jul 16, 2015
snis-device-io.c
snis-device-io.h
snis.desktop Add .desktop file Jul 20, 2014
snis.h
snis_alloc.c
snis_alloc.h
snis_asset_dir.c
snis_asset_dir.h Factor out asset_dir override code Feb 7, 2019
snis_bin_dir.c Factor out SNISBINDIR code Feb 20, 2019
snis_bin_dir.h
snis_bridge_update_packet.c Alert Comms if missile lock-on detected Oct 10, 2018
snis_bridge_update_packet.h
snis_button.c
snis_button.h
snis_cardinal_colors.h
snis_client.c
snis_damcon_systems.c Add life-support system to damage control May 2, 2017
snis_damcon_systems.h Add life-support system to damage control May 2, 2017
snis_debug.c
snis_debug.h
snis_dmx.c
snis_dmx.h
snis_entity_key_value_specification.h
snis_event_callback.c Add player-warp-travel-event and player-wormhole-travel-event Apr 25, 2018
snis_event_callback.h Add player-warp-travel-event and player-wormhole-travel-event Apr 25, 2018
snis_faction.c
snis_faction.h use faction hostility matrix Dec 6, 2013
snis_fixup_gnome_key_screwups.h
snis_font.c Add missing equals sign glyph Mar 25, 2018
snis_font.h work on font scaling Feb 15, 2015
snis_font_orig.c Fix indentation of license blurbs Aug 20, 2015
snis_gauge.c
snis_gauge.h Allow fonts to be specified for gauges May 2, 2017
snis_graph.c
snis_graph.h Allow server to color messages on demon console Sep 9, 2018
snis_hash.c On __APPLE__, use crypt() since crypt_r() is not available. Feb 17, 2019
snis_hash.h Do not use openssl Sep 24, 2017
snis_keyboard.c Fix k and j keys scrolling on comms screen Feb 26, 2019
snis_keyboard.h Add external camera mode Nov 7, 2018
snis_label.c remove gtk from widget functions Jan 23, 2014
snis_label.h remove gtk from widget functions Jan 23, 2014
snis_launcher hack snis_laucnher Feb 17, 2019
snis_log.h Work on snis_server logging May 11, 2013
snis_marshal.c
snis_marshal.h
snis_multiverse.c Even more updates to hacking doc Feb 28, 2019
snis_multiverse.h Add autowrangle option to snis_multiverse Sep 15, 2018
snis_nl.c
snis_nl.h Add the notion of auxiliary verbs and literal pronouns Dec 24, 2016
snis_opcode_def.c Allow lua scripts to play one shot sounds Feb 21, 2019
snis_opcode_def.h
snis_packet.h
snis_preferences.c
snis_preferences.h Streamline login process Mar 15, 2017
snis_pull_down_menu.c
snis_pull_down_menu.h
snis_server.c Remove rts_mode from struct ship_data; Mar 4, 2019
snis_server_tracker.c Suppress excessive debug code in server_tracker Apr 15, 2017
snis_server_tracker.h Document server tracker interface Apr 15, 2017
snis_ship_type.c
snis_ship_type.h
snis_sliders.c Add alarm sound to engineering Mar 19, 2018
snis_sliders.h
snis_socket_io.c
snis_socket_io.h
snis_strip_chart.c
snis_strip_chart.h
snis_test_audio.c Improve output of snis_test_audio Apr 27, 2017
snis_text_input.c Allow numpad to be used Feb 4, 2019
snis_text_input.h
snis_text_to_speech.sh
snis_text_window.c Allow disabling slow printing effect on text windows Sep 7, 2018
snis_text_window.h Allow disabling slow printing effect on text windows Sep 7, 2018
snis_tweak.c
snis_tweak.h
snis_typeface.c work on font scaling Feb 15, 2015
snis_typeface.h work on font scaling Feb 15, 2015
snis_ui_element.c
snis_ui_element.h
snis_version.h add version garbage Mar 2, 2014
solarsystem_config.c Improve diagnostics of solarsystem config file parser Jan 26, 2019
solarsystem_config.h
sounds.h Add missile launch sound effect Jul 26, 2018
space-part.c
space-part.h add 2d space partition code Sep 26, 2013
spelled_numbers.c Hack to make "fifty percent" work right Apr 17, 2016
spelled_numbers.h Hack to make "fifty percent" work right Apr 17, 2016
stacktrace.c
stacktrace.h
starbase-comms.c Factor out arraysize macro Aug 20, 2015
starbase-comms.h Add a little variety to starbase comm transmissions Dec 20, 2012
starbase_metadata.c Remove excess docking port related debug code Oct 11, 2015
starbase_metadata.h Add docking ports to other stations Jul 16, 2015
starcolors.png
starmap_adjacency.c
starmap_adjacency.h
stl_parser.c
stl_parser.h
string-utils.c Add debug info for starbases on demon console Aug 29, 2018
string-utils.h
termios2.h
test-mtwist.c
test-obj-parser.c Make test-obj-parser build Feb 22, 2019
test-quat.c
test_crater.c Add test_crater program Dec 5, 2016
test_snis_dmx.c
test_solarsystem_config.c
thrust_attachment.c Fix file leak in read_thrust_attachments() May 5, 2018
thrust_attachment.h
triangle.h Calculate tangent, bitangent and normal vectors for spheres Jan 17, 2016
turret_aimer.c
turret_aimer.h
ui_colors.c
ui_colors.h
vec4.c
vec4.h union vec initializer Jan 31, 2014
vertex.h
water.png Update land and water png files for earthlike program Jun 5, 2014
wwviaudio.c
wwviaudio.h Allow playing "one shot" sounds after which the audio data is discarded Feb 21, 2019

README.md

Space Nerds In Space is an open source multiplayer networked spaceship bridge simulator game inspired by another game called "Artemis Spaceship Bridge Simulator" It is still a work in progress, but it is substantially far along, and reasonably free of bugs as far as I know (the game should not crash, in other words.)

Here is some video from February 2019, at HackRVA in Richmond, Virginia:

Watch the video

Features:

  • Terminals for Navigation, Weapons, Engineering, Damage Control, Comms, Science, and Game Master.
  • Multi-crew (multiple bridges) supported
  • Terminals may join/leave/re-join games at any time.
  • Asteroid mining
  • Bounty hunting
  • Travel between instances of the game via warp gates in an arbitrarily large universe of solar systems.
  • Dock at starbases to repair your ship, buy/sell various commodities, sell mined ore, obtain warp gate tickets, etc.
  • And of course, fly around and shoot stuff.
  • Lua scripting API for mission scenarios.

Note: This game is meant to be played on a LAN with all players in the same room. Bandwidth requirements are on the order of 100k/s per client.

  1. How to build the game from source:

    https://smcameron.github.io/space-nerds-in-space/#buildinstructions

  2. How to run the game on a single machine (single player):

    https://smcameron.github.io/space-nerds-in-space/#singlemachineinstructions

  3. How to run with a multi-player LAN setup:

    https://smcameron.github.io/space-nerds-in-space/#multiplayerinstructions

If you would like to help work on this project, see CONTRIBUTING.md

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.