Multi-player spaceship bridge simulator. Captain your starship through adventures with your friends. See https://smcameron.github.io/space-nerds-in-space
Clone or download
smcameron Fine tune asteroid rotation
I think most asteroids should spin more slowly than they currently do.
Only a very few should spin at the current rate.

Signed-off-by: Stephen M. Cameron <stephenmcameron@gmail.com>
Latest commit da0e6d0 Nov 8, 2018
Permalink
Failed to load latest commit information.
debian Do not use openssl Sep 24, 2017
mikktspace Add mikktspace code for calculating tangent and bitangent vectors Sep 11, 2018
share/snis Add damage script Oct 29, 2018
speech Update speech recognition files Jun 29, 2018
ssgl Remove use of variable length arrays and add -Wvla compiler flag Oct 29, 2018
util Fix memory leak in generate_openscad_starmap() May 5, 2018
.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 Update contributing Mar 23, 2018
COPYING initial add Nov 3, 2012
IDEAS.txt Update IDEAS 2018-09-13 Sep 13, 2018
Makefile Remove use of variable length arrays and add -Wvla compiler flag Oct 29, 2018
Makefile.depend Remove gaseous-giganticus (it moved to https://github.com/smcameron/g… Oct 22, 2018
README Update readme Oct 17, 2018
TODO Add TODO: move client-side demon commands server-side where possible Aug 12, 2018
a_star.c Fix use of uninitialized variable in A-star algorithm May 30, 2016
a_star.h Improve A-Star API Apr 28, 2016
a_star_test.c Improve A-Star API Apr 28, 2016
arbitrary_spin.c Factor out asteroid rotation code Aug 2, 2015
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 fix guard macro in build_bug_on.h Oct 10, 2013
c-is-the-locale.c Modify cast of lvalue storing dlsym return value Aug 22, 2017
check-endianness.c transmit build info to server Mar 3, 2014
check_for_termios2.sh Deal with presence or absence of struct termios2 Mar 2, 2018
checkpatch.pl Fix unescaped left braces in checkpatch.pl Feb 9, 2017
commodities.c Fix underflow bugs around fgets() Oct 5, 2018
commodities.h Add scans_as field to commodities for how things should show up on sc… Mar 27, 2018
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 Remove unused variable in crater.c Apr 1, 2017
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 Add missing files docking_port.[ch] Jul 21, 2015
earthlike.1 earthlike: fix default name of normalmap files Apr 17, 2017
earthlike.c earthlike: fix default name of normalmap files Apr 17, 2017
elastic_collision.c Add function to compute elastic collision response Aug 7, 2015
elastic_collision.h Add function to compute elastic collision response Aug 7, 2015
entity.c Remove unused static sqr() function from entity.c Aug 21, 2018
entity.h Allow emittance intensity to be varied per entity Mar 14, 2018
entity_private.h Allow emittance intensity to be varied per entity Mar 14, 2018
extract_docking_ports.awk Add docking ports to c-base shaped starbase Jul 21, 2015
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 Add game version on screen for demos Nov 20, 2017
generate_skybox.1 Add the beginnings of a skybox generation program, generate_skybox Sep 1, 2018
generate_skybox.c generate_skybox: adjust number and size of stars Sep 1, 2018
graph_dev.h Enable mipmapping (should have done this a long time ago) Jan 22, 2017
graph_dev_gdk.c Enable mipmapping (should have done this a long time ago) Jan 22, 2017
graph_dev_mesh_stub.c Make blocks calculate their radius Jan 4, 2017
graph_dev_mesh_stub.h Make blocks calculate their radius Jan 4, 2017
graph_dev_opengl.c Allow normalmap in textured and lit per pixel shader Sep 20, 2018
heightdata.png earthlike: add source images May 27, 2014
howto-add-new-solarsystems Remove gaseous-giganticus (it moved to https://github.com/smcameron/g… Oct 22, 2018
howto-generate-earthlike-planets.txt Remove gaseous-giganticus (it moved to https://github.com/smcameron/g… Oct 22, 2018
infinite-taunt.c Add procedurally generated crime descriptions Sep 29, 2018
infinite-taunt.h Allow bounties to be set on ships Sep 29, 2018
joystick.c Fix memory leak in joystick test program May 5, 2018
joystick.h Add support for HOTAS Warthog joystick and throttle Feb 24, 2018
joystick_config.c Fix underflow bugs around fgets() Oct 5, 2018
joystick_config.h Add mode to joystick config Nov 9, 2017
key_value_parser.c Enhance key_value_parser Jun 13, 2016
key_value_parser.h Enhance key_value_parser Jun 13, 2016
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 take floats into sng_*graph library so that resolution is not lost be… Oct 16, 2013
lobbyless-operation.txt Mention firewall in lobbyless operation docs Jun 24, 2018
lua-api.txt Notify lua scripts when a bounty is collected Oct 20, 2018
material.c Allow normalmap in textured and lit per pixel shader Sep 20, 2018
material.h Allow normalmap in textured and lit per pixel shader Sep 20, 2018
mathutils.c Fix bug in consistent_random_point_on_sphere() Sep 1, 2018
mathutils.h Improve space monster behavior Mar 4, 2018
matrix.c Fix indentation of license blurbs Aug 20, 2015
matrix.h add mat44d x vec4 into vec3 Feb 16, 2014
mesh.c Remove use of variable length arrays and add -Wvla compiler flag Oct 29, 2018
mesh.h Allow mikktspace calculation of tangents and bitangents Sep 11, 2018
mesh_viewer.6 Allow mesh viewer to use cylindrical texture mapping Feb 24, 2018
mesh_viewer.c Allow normalmap in textured and lit per pixel shader Sep 20, 2018
mtwist.c add mersenne twister Jan 15, 2014
mtwist.h add mersenne twister Jan 15, 2014
my_point.c Fix indentation of license blurbs Aug 20, 2015
my_point.h calculate bounding boxes for vectorized objects May 4, 2013
names.c Factor out arraysize macro Aug 20, 2015
names.h make random name generator use mersenne twister Jul 12, 2015
nebula_noise.1 Add nebula_noise program Aug 31, 2018
nebula_noise.c Add license header to nebula_noise Sep 1, 2018
nolobby-quickstart Allow snis_client to avoid lobby Aug 29, 2015
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 Added audio code Nov 9, 2012
open-simplex-noise.c add function to free noise context Oct 6, 2014
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 test for texture srgb support Mar 17, 2014
oriented_bounding_box.c Add oriented bounding box closest point function Jan 4, 2017
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 Add damcon systems May 4, 2013
planetary_atmosphere.c Fix common realloc failure leak May 5, 2018
planetary_atmosphere.h Add better model of planetary atmosphere composition Dec 11, 2016
png_utils.c Fix uninitialized return value in png_utils_write_png_image() error p… May 5, 2018
png_utils.h Factor out read_png_image to png_utils Nov 8, 2015
power-model.c Add life-support system to damage control May 2, 2017
power-model.h Model simple damage in the power model code Dec 19, 2013
print_ship_attributes.c Allow getting various ship attributes from lua Jun 13, 2016
pronunciation.c Teach the computer about waypoints Jul 23, 2017
pronunciation.h Teach the computer how to pronounce SB-01 Dec 10, 2016
pthread_util.c Fix warning in pthread_util.c from gcc-4.6.3 Aug 9, 2018
pthread_util.h Add pthread_util library Feb 26, 2017
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 Use torus distance function for player collision with warp gate Apr 5, 2018
quickjoin allow disabling saving state to lua script Aug 8, 2014
quickstart Add autowrangle option to snis_multiverse Sep 15, 2018
rootcheck.c Do not allow running as root Sep 15, 2018
rootcheck.h Do not allow running as root Sep 15, 2018
rts_unit_data.c make RTS resupply ship use the tanker model Oct 29, 2017
rts_unit_data.h Limit which types of orders apply to which ships Oct 29, 2017
shader.c Remove use of variable length arrays and add -Wvla compiler flag Oct 29, 2018
shader.h allow defines to be passed to load_shaders Jul 7, 2014
shield_strength.c Make player ship shield profile reflect damage to components Mar 12, 2018
shield_strength.h Add "depth" to shields (magnitude of shield flaw) Nov 29, 2012
ship_registration.c Fix bad for-loop increment in free_ship_registry Oct 5, 2018
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 add snis-device-io library May 31, 2014
snis-device-io.h Allow player to fire missiles Jul 26, 2018
snis-protocol.html Add sparks when black holes eat something Mar 11, 2018
snis.desktop Add .desktop file Jul 20, 2014
snis.h Make chaff confuse missiles Oct 10, 2018
snis_alloc.c Throttle allocator exhaustion messages Mar 12, 2018
snis_alloc.h allow freeing all objects in a pool Oct 16, 2013
snis_bridge_update_packet.c Alert Comms if missile lock-on detected Oct 10, 2018
snis_bridge_update_packet.h Alert Comms if missile lock-on detected Oct 10, 2018
snis_button.c Change how checkbox buttons work to match how pull down menu checkbox… Jul 20, 2018
snis_button.h Change how checkbox buttons work to match how pull down menu checkbox… Jul 20, 2018
snis_cardinal_colors.h Allow server to color messages on demon console Sep 9, 2018
snis_client.6 Add external camera mode Nov 7, 2018
snis_client.c Fine tune asteroid rotation Nov 8, 2018
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 Allow bounties to be collected Oct 1, 2018
snis_debug.h Add some ship registration system Sep 26, 2018
snis_dmx.c Add u16 support to dmx library Mar 3, 2018
snis_dmx.h Add u16 support to dmx library Mar 3, 2018
snis_entity_key_value_specification.h Begin separating server-only and client-only data Sep 6, 2018
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 Fix underflow bugs around fgets() Oct 5, 2018
snis_faction.h use faction hostility matrix Dec 6, 2013
snis_fixup_gnome_key_screwups.h fix some gdk key defines for Fedora Nov 7, 2013
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 Allow fonts to be specified for gauges May 2, 2017
snis_gauge.h Allow fonts to be specified for gauges May 2, 2017
snis_graph.c Fix underflow bugs around fgets() Oct 5, 2018
snis_graph.h Allow server to color messages on demon console Sep 9, 2018
snis_hash.c Remove use of variable length arrays and add -Wvla compiler flag Oct 29, 2018
snis_hash.h Do not use openssl Sep 24, 2017
snis_keyboard.c Add external camera mode Nov 7, 2018
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 Make killem.sh and snis_launcher kill the limited client too Oct 22, 2018
snis_log.h Work on snis_server logging May 11, 2013
snis_marshal.c Fix cppcheck error in snis_marshal.c Aug 21, 2018
snis_marshal.h Use 32 bit quantity for packed buffer length Oct 1, 2018
snis_multiverse.6 Add autowrangle option to snis_multiverse Sep 15, 2018
snis_multiverse.c snis_multiverse: fix bug in calculation of location and server_nickna… Oct 29, 2018
snis_multiverse.h Add autowrangle option to snis_multiverse Sep 15, 2018
snis_nl.c Break ties in natural language scores by length of syntax Apr 27, 2018
snis_nl.h Add the notion of auxiliary verbs and literal pronouns Dec 24, 2016
snis_nl.txt Add the notion of auxiliary verbs and literal pronouns Dec 24, 2016
snis_opcode_def.c Allow engineering to deploy chaff Oct 10, 2018
snis_opcode_def.h Make runtime opcode format checking handle sub commands Mar 12, 2017
snis_packet.h Allow engineering to deploy chaff Oct 10, 2018
snis_preferences.c Fix out-of-bounds array reference to default_ship_name Aug 21, 2018
snis_preferences.h Streamline login process Mar 15, 2017
snis_pull_down_menu.c Allow pull down menus to be semi-transparent Sep 3, 2018
snis_pull_down_menu.h Allow pull down menus to be semi-transparent Sep 3, 2018
snis_server.6 Remove gameinstance option from snis_server Apr 9, 2017
snis_server.c Fix bad assert in push_cop_mode() Oct 31, 2018
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 Fix underflow bugs around fgets() Oct 5, 2018
snis_ship_type.h Add canonical corporations Sep 26, 2018
snis_sliders.c Add alarm sound to engineering Mar 19, 2018
snis_sliders.h Add alarm sound to engineering Mar 19, 2018
snis_socket_io.c Improve some diagnostic messages Jun 18, 2018
snis_socket_io.h Improve socket io debugging support Dec 23, 2017
snis_strip_chart.c Add self-scaling strip chart Feb 9, 2017
snis_strip_chart.h Add self-scaling strip chart Feb 9, 2017
snis_test_audio.1 Add man page for snis_test_audio Apr 9, 2017
snis_test_audio.c Improve output of snis_test_audio Apr 27, 2017
snis_text_input.c Detect, report, and suppress potential keypress related bug Feb 12, 2018
snis_text_input.h Allow getting text input buffer Dec 23, 2017
snis_text_to_speech.sh Allow snis_text_to_speech script to have variable volume Jun 18, 2018
snis_text_to_speech.sh.6 Document snis_text_to_speech.sh better Jan 21, 2017
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 Do not print so many decimal places in vars command Aug 30, 2018
snis_tweak.h Use vsnprintf to build up demon console output Aug 29, 2018
snis_typeface.c work on font scaling Feb 15, 2015
snis_typeface.h work on font scaling Feb 15, 2015
snis_ui_element.c Add pull down menu UI feature May 31, 2018
snis_ui_element.h Add pull down menu UI feature May 31, 2018
snis_version.h add version garbage Mar 2, 2014
solarsystem_config.c Allow solarsystems to have associated random seeds. Apr 6, 2018
solarsystem_config.h Allow solarsystems to have associated random seeds. Apr 6, 2018
sounds.h Add missile launch sound effect Jul 26, 2018
space-part.c add 2d space partition code Sep 26, 2013
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 add stacktrace code Jun 20, 2013
stacktrace.h add stacktrace code Jun 20, 2013
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 Improve star colors Sep 1, 2018
starmap_adjacency.c Add autowrangle option to snis_multiverse Sep 15, 2018
starmap_adjacency.h Add autowrangle option to snis_multiverse Sep 15, 2018
stl_parser.c Allow normalmap in textured and lit per pixel shader Sep 20, 2018
stl_parser.h Make stl parser program read wavefront obj files Sep 12, 2018
string-utils.c Add debug info for starbases on demon console Aug 29, 2018
string-utils.h Add debug info for starbases on demon console Aug 29, 2018
termios2.h Add (completely untested) DMX lighting library Mar 2, 2018
test-mtwist.c add mersenne twister Jan 15, 2014
test-obj-parser.c Start on a wavefront obj file parser, mostly untested. Jan 29, 2014
test-quat.c Add tests for heading mark vec3 conversions Apr 11, 2018
test_crater.c Add test_crater program Dec 5, 2016
test_snis_dmx.c Add dmx test program Mar 2, 2018
test_solarsystem_config.c Add test_solarsystem_config. Feb 28, 2016
thrust_attachment.c Fix file leak in read_thrust_attachments() May 5, 2018
thrust_attachment.h Add docking ports to starbases Jul 13, 2015
triangle.h Calculate tangent, bitangent and normal vectors for spheres Jan 17, 2016
turret_aimer.c Fix misleading comment in turret aiming code Mar 9, 2017
turret_aimer.h Fix misleading comment in turret aiming code Mar 9, 2017
ui_colors.c Factor out arraysize macro Aug 20, 2015
ui_colors.h Add high gain antenna aiming to comms Apr 23, 2018
vec4.c make random spins and orientations consistent across clients Jan 15, 2014
vec4.h union vec initializer Jan 31, 2014
vertex.h restructure entity rendering pipeline to do full clipping and optimiz… Dec 2, 2013
water.png Update land and water png files for earthlike program Jun 5, 2014
wwviaudio.c Allow volume of audio segments to vary smoothly Jun 27, 2018
wwviaudio.h Allow volume of audio segments to vary smoothly Jun 27, 2018

README

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.)

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