Hacker News new | past | comments | ask | show | jobs | submit login
An Open Source Multi-Player Starship Bridge Simulator for Linux (smcameron.github.io)
326 points by marcodiego on Aug 29, 2021 | hide | past | favorite | 64 comments



This web page does a terrible job representing the necessary install steps. It looks super combined but can be combined into three or maybe four commands.

I think it would be massively helpful if the devs would upload a DEB/Flatpak file somewhere instead of having compilation instructions as the primary install method. Sure, if you run a funky Linux like OpenSUSE you need to follow and convert installation instructions, but for Ubuntu (which the guide is targeting) you really don't anymore.

That being said, on Arch (and Arch-derived) systems you can find this in the standard software store under the name snis-git if you've enabled the AUR.


>This web page does a terrible job representing the necessary install steps. It looks super combined but can be combined into three or maybe four commands.

  git clone <git-repository>; make; make update-assets
It's literally three commands, assuming you have all the dependencies like I did, all of which is written clearly on the project page. Even if you don't have the dependencies, it's trivial to install them. I don't understand what's so terrible about it.


Maybe worth sending a Request For Package[1] in Debian? (that process involves sending an email, or running 'reportbug' at the command-line if you have it installed). Most of the install steps would be rolled into the dependency list by the maintainer, I imagine (and many of them look like they're only required at compile-time).

No guarantees on when it might appear as a package, of course, but it doesn't take long to ask (and hopefully not too long to implement, either).

[1] - https://wiki.debian.org/RFP


> I think it would be massively helpful if the devs would upload a DEB/Flatpak

Providing AppImage[0] would be enough for mostly all Linux users.

[0] https://en.wikipedia.org/wiki/AppImage

[1] https://github.com/AppImage/AppImageKit/wiki/Similar-project...


If I understand the point of it, having a militantly unfriendly install process would be a feature, not bug. A Kobayashi Maru if you will. In that sense they probably hit the right audience. Almost enough to make me try it. Problem is I can't justify nerding out on a spaceship ...even if I actually had to work to get there.


I created a little container image to help building snis: https://github.com/fgerling/snis-builder

My goal is to build a linux iso image with snis preinstalled.


Hi, author here. I'm a little hesitant to wade into these comments, but I'll try to answer a few questions I see popping up, and some that I just made up.

1. Why do I have to compile the thing myself?

Because packaging on linux is a nightmare. For a long time, Linus Torvalds did not offer linux binaries for his "subsurface" diving program, but did offer them for Windows and Mac. Now there are linux subsurface packages, but Linus doesn't do them himself. If Linus can't be bothered to make linux binaries, you know the situation is messed up. I figure, if the game is good enough, then someone (besides me) will make packages. If that doesn't happen, well, I guess the game isn't good enough. And I'm ok with that.

2. Why don't the devs do this or that?

"The devs" is mostly just me. I do what I feel like, this is my hobby project that I do for fun.

3. How does this compare to Artemis/Empty Epsilon etc.?

It's more properly 3D than Artemis or Empty Epsilon. It has a much nicer Lua API for making mission scripts than Artemis's XML based system. It doesn't have as many mission scripts as Artemis or EE. It feels a little more "millenium falcon" than "Enterprise", mainly due to the turret gun, I suppose. I think the planets, especially the gas giants[1] in SNIS look cooler than anything in Artemis or EE.

4. Why does the game design suck?

It's hard to make a cooperative bridge simulator that's fun at every station all the time. Back in 2012, I heard about Artemis, and thought it was a cool idea, and it seemed like a neat project, so I started working on my own interpretation of the genre. It's hard to know how things will turn out without just trying it. It came out the way it came out (so far). A lot of the fun in this type of game has to come from the participants. With the right participants with the right attitude, it can be pretty fun. Some parties are fun, some are dull. Alcohol sometimes helps.

5. Why doesn't it run on Windows or Mac?

It used to run on Macs, but then support for OpenGL on Macs became problematic. Maybe someone could get it to run on Macs again, but not me. It will run on Windows using the Windows subsystem for linux, however, the graphics will be software emulated, which is generally not good enough. Trying to compile natively on Windows would be a big job. It uses pthreads extensively, and some other various linux-isms here and there. Windows and Mac were not a priority for me because I don't have either of those machines, and I was mainly interested in playing the thing with my friends. Besides, Windows and Mac already have enough games.

6. Can you run the game remotely, or does it have to be on a LAN?

Maybe. I've never seriously tried to run it remotely. I have tried it once or twice, with the server running on a digital ocean server in New York, with my clients running in Virginia, and it worked better than I expected it to. It does have a voice chat feature built in (added after COVID appeared), and that seemed to work. But my test was limited to about 5 minutes of messing around, and only a couple of clients. Each client will require about 100k/s of bandwidth. This can be greatly reduced by reducing the number of objects (asteroids and NPC ships) floating around in the simulation, but I haven't really experimented much with running this thing other than on a LAN.

7. Will it work on a Raspberry Pi 4?

Yes and no. Some stations will work. SCIENCE, COMMS, and ENGINEERING seem to work alright. More graphics intense stations don't work so well (MAIN SCREEN, NAVIGATION, WEAPONS, GAMEMASTER).

[1] https://github.com/smcameron/gaseous-giganticus


FWIW, OpenGL on macOS is deprecated, not removed. This means they ship an ancient version and won't provide support.

I messed around for an hour or so, and managed to get it to compile fully on my older macOS 10.12 system. It seems to mostly work, but snis_client just throws up a black screen. Clicking on certain regions on the bottom left/right corners does emit a sound effect, so it is running. Further investigation is in order! I'll submit patches if I figure out some nice fixes, of course.


> Because packaging on linux is a nightmare

I don't like to be contrarian, but, for Debian-based distros specifically: it's not!

Use `dpkg-deb` to create a `deb` file from your executable and upload for distribution. Generate different executables for different target architectures from your compiler toolchain, package them separately as different deb files, and share. It's a one-liner to do this.


Thanks for sharing your project! I've been messing around with it for the past couple of hours and I gotta say, it's a lot of fun! I really enjoy the aesthetics of it too. You clearly put a lot of thought into it and it really shows. I'm excited to see where it goes. :)

I was wondering, is there any interest in implementing a kind of single/two player mode? Something where, for example, you can operate the weapons systems while being able to do simple navigation durring a battle (essentially evasive maneuvers). I can see something like this being handy with limited players. Maybe this is already feature that I haven't discovered yet.

Either way, it's really cool and I've been having fun with it!


> I was wondering, is there any interest in implementing a kind of single/two player mode?

It's not the first time such an idea has been floated. If you go onto the "demon" screen (gamemaster screen) and type in "set MAIN_NAV_HYBRID=1", you'll then see both the "main view" and the usual navigation stuff on the navigation screen. That's about as far as I've gone down that road though. The thing is, what makes this game a little bit unusual is the multiplayer cooperative aspect of it. You get a bunch of linux nerds in a room with a projector and a bunch of computers and it's like you're captain of a star ship (hence the name "space nerds in space".) Obviously, it could conceivably be possible to run the whole ship from a single screen by a single person, as demonstrated by countless other space games in which ships are piloted by a single person. But then, it's just another space game just like all the other space games, as you've removed the one thing that makes it kind of different. So, I've kind of resisted that path. If I were to pursue such a path, I'd probably fork the project and make a different game out of it.


For Debian-based distros, just use `dpkg-deb` to bundle your executables into a `deb` and distribute the `deb`. It takes one line to do this.


If it's a one liner, send me a patch.

BTW, there's a hell of a lot more to package up than just a few executables.


Also, there's already debian packaging stuff: https://github.com/smcameron/space-nerds-in-space/tree/maste...

But I'm not really too interested in distributing packages that will just get out of date.

"git pull; make" is easier anyway.


And I'm pretty sure that debian stuff is out of date, because I switched from gtk to sdl2 some time ago, but the control file still mentions gtk. But I never use this debian stuff, so I didn't notice until now. Perhaps someone will fix it.


How does this compare with Empty Epsilon? https://daid.github.io/EmptyEpsilon/


This game appears to be more simulation-based, as opposed to EE's more arcade-y style.


The long installation steps are a feature. Seems like the ideal foreplay.


I met the developer of Artemis at an Ohio game developer meetup. Nice guy. The Ohio game dev scene is pretty cool.


This looks interesting for hacker/gamer spaces, probably also hacker themed pubs, but I wonder if it could be easily adapted to allow the crew to operate their stations remotely, that is, each one at their home. If remotely networked, it could be expanded to have more ships fighting against each other; the kind of game and related voice communications should suffer less from latency which usually plagues first person shooters etc.


The author tells about it in this comment section


Another game in this genre, but 2D is Lovers in a Dangerous Spacetime.


I’ve always wanted to try Star Wars bridge simulator but haven’t due to the high cost and mediocre reviews.


For a somewhat more directed and engaging experience, I recommend Pulsar: Lost Colony (1). It actually just recently (two months ago) saw a 1.0 release after 8 years in early access (2). The best way I can describe the game is that it's a 5-player cooperative FTL-meets-Star-Trek-RPG.

The dev team is pretty small, but from the perspective of having that "Star-trek like experience" they have actually done a pretty good job of really capturing it and making it engaging and fun. Up to 5 people can play cooperatively, but myself and two friends have sunk probably 30-50 hours into the game exploring and progressing (the AI controls the roles that you aren't able to fill). It's also got a pretty active community with games to jump into but it's kind of hard to find other people with equal skill level as you when you are just starting out.

The gameplay is there, but it feels pretty unpolished in terms of bugs and graphical assets and it would really be something special if a AAA studio bought the game and added in some professional-grade assets because it's otherwise a really well-made experience.

[1]: https://en.wikipedia.org/wiki/PULSAR:_Lost_Colony

[2]: https://www.youtube.com/watch?v=_-XbLEvhI_s


You're probably talking about Star Trek, but I can confirm. Me and a few friends got this (some of which with VR) and it feels like a fantastic premise, but it's very linear and it has very little content. It feels more like a demo than a full game.

Desperate for more in this genre we ended up playing a bunch of Pulsar: Lost Colony. It has a lot more depth (but can be a bit rough around the edges).


I think it's a fundamental limitation of video games. Unless you are playing against other people, you are never really somewhere and I think that shatters the illusion. The same way that "holding" a gun in VR is really impressive, but the headset can't mimic the wind in your face or cool spray of the sea - these issues, I think, don't arise with 2D games because there are too far away from the uncanny valley.

You and your friends in charge of a spaceship would probably feel like commanding a PBR in Vietnam, but I don't think a game can capture that Vibe (it's a cheap term but I genuinely think it fits).

Pulsar looks cool though, will check it out.


> I think it's a fundamental limitation of video games.

I don't think so. Game design is a whole art form in itself. Some games suck at it and some games succeed. I haven't played with the linked game, but played with Artemis. That one sucked. The good part of it was being nerdy and role-playing out a fantasy with friends. The bad part was that after the first "battle" engagement we quickly learned that the enemy is very predictable and the game won't provide any challenges to us. Basically yelling "Aye captain, proton torpedo loaded" was fun, rolling up to the next sprite and demolishing it within seconds no matter what "tactic" we employ was not fun. Basically our mistakes didn't matter, and we just had to shoot down everyone who was moving about. There were no commercial traders, everyone comms contacted immediately opened fire on us. Furthermore there was nothing we were protecting other than our own skin. The game forced us to be amnesic murderhobos going nowhere, doing nothing of value.

> You and your friends in charge of a spaceship would probably feel like commanding a PBR in Vietnam

I never commanded a PBR in Vietnam, but I don't think you did either. Probably you have a feeling of what you think it means, maybe action? Daring charges? High speed chases? Maybe inspired by the plot of Apocalypse Now?

In reality it was probably 95% boredom, batting mosquitos and flies away, trying to stay hydrated, and maintaining the bilge pump while doing routine boring work. Punctuated with 5% "damn, we are dead because we just got ambushed" or "damn they are dead because we got the jump on them".

A realistic PBR simulator would suck. One written to follow the feeling or vibe you were thinking when you wrote that sentence? Now that would rock!

Making a bridge simulator is really hard. You are not just balancing one experience but a different one for each crew member. In a real ship if engineering is bored out of their mind 99% of the time that's not a bad thing, in a game that means you just ruined the experience to one of the players. You have to keep all of your players busy, and occupied with meaningful choices, while not pushing them accidentally into task saturation. If you want to make it fun you have to treat each station as a separate game interacting with the others. Which is naturally harder than just making a single game.


> In a real ship if engineering is bored out of their mind 99% of the time that's not a bad thing, in a game that means you just ruined the experience to one of the players.

Sea of Thieves solves that pretty cleverly, by having fewer players than roles but letting people switch roles as required. There's no point having anyone man the cannons while you're not in combat.


> There's no point having anyone man the cannons while you're not in combat.

Well, until you find yourself in combat and the cannons won't fire.


The feeling I was trying to capture was really a notion of "this is my seat" rather than a sense of action. I had long periods of boredom in mind, when I wrote that, and I don't think the game can capture it. I picked a PBR because it came to mind, but really even a large RV would work, if you think about it.

Maybe it can if you have a different brain to mine, that's entirely possible, but I just don't think it can work. I hit a point where the only thing I want is more detail, so you need a holodeck in effect.


>>> Basically yelling "Aye captain, proton torpedo loaded" was fun, rolling up to the next sprite and demolishing it within seconds

Basically every battle sequence in the original Star Trek. It's why they had to invent Tribbles.


these issues, I think, don't arise with 2D games because there are too far away from the uncanny valley

Yeah. This is why I can spend hundreds of hours with a game like FTL: Faster Than Light. Its 2D and very simple pixel art give way to fantastic gameplay rife with difficult decisions and lasting consequences! It would be really cool to have the gameplay of FTL with immersive, high-end VR but I think such a game would never be made due to the risks of alienating the audience.


I think that the best bridge simulator we have is FTL.


FTL is just purely good game design, but with simplified UI model. If they can integrate with 3D or VR, the atmosphere, and multiplayer we might have a playable bridge simulator.


Hey, check out Artemis. It's the exact same genre as Star Trek: Bridge Simulator, but takes the concept seriously.

https://www.artemisspaceshipbridge.com/#/


I’d imagine Bridge simulation is pretty close to actual naval vessel operations. If something like this doesn’t exist then someone should make a naval vessel simulator and adapt it.



Wow. That must’ve one of the longest gaps between releases.


Just in case some additional decision-making functionality would be useful, we're working on a Lua mod for that. https://gitlab.com/medlabboulder/modpol


I wonder if this could be set up at some kind of conference. I think that would be fun, especially to be the game master and throw the players for a loop. :D


I've seen Artemis run at a hacker camp before, complete with a tent full of touch screens, a big projector as the main display, and of course an overly large seat for the captain. It was great fun, highly recommend it if you get the chance.


How does this compare to Artemis?


It doesn't. If you want something closer to Artemis, try EmptyEpsilon.


Well, there went my weekend


Interesting Roll20 and other TTRPG clients could do with a better support for Starship combat for Traveller Starfinder and the Expanse


It looks like there is more gameplay in getting the thing installed than the actual game.


As they say, "I love games, my favorite it the multiplayer text adventure called Unix."


I never liked vi or emacs, but when I learned the basics of vi, I was amazed how similar it is to nethack.


The final boss is really hard.


What a low effort way to put down someone's efforts. Is your issue with Linux? That's not up to the dev. Is your issue with the game? How about some constructive criticism?


It's really just:

1. apt-get install some deps 2. get the source 3. call make a few different ways 4. run the binary

Really not that complicated. If you wanted to, you could make a flatpak, docker container, appimage, snap, deb, rpm, or whatever for your OS in a few minutes and save everyone else the install.


My idea of a simple intuitive process is ./configure; make; make install.

Is that deprecated for some reason these days?


That's still kind of nuts when you compare it to how you install application on the other major desktop operating systems.


It’s not the OS’s fault that the developer’s application is hard to run out-of-the-box. If the developer wanted to make it easy, he could just build a .deb, host it on his own PPA and ask people to install it with apt-get.


Seems fun!

>for Linux

Is there a reason that it cannot run on other Unix/Unix-like systems or even Windows?


Because it wasn't developed for those platforms? The code itself will probably mostly be portable but there's tons of libraries that also need to be pulled in. Some programs were developed for Windows, some were developed for macOS, and this was developed for Linux, simple as that.

Windows should be able to run it with WSL2 with some extra setup. If you can get all the other dependencies in place, macOS might also be able to run it, I don't know how compatible the macOS windowing system is with the Linux ones. Same goes for the *BSDs.


[flagged]


So, one of my neighbors is a car enthusiast. Can you imagine me walking into his garage, looking at the car he's working on and starting to whine about why I'd need all his tools and special machines in order to get the same car? Who in his right mind wouldn't want to just sit in the car and turn the key?!

That is why it isn't the year of the custom car yet. That person is clearly a part of the problem!


I've been a Linux enthusiast for eighteen years. I started off trying to evangelize it to everybody. At some point I switched my opinion to not recommending it, while still using Linux on all of my home desktop/laptop machines.

I have never quite been able to express why I insist on using Linux while at the same time I don't recommend it to other people until I read this comment.


I almost never recommend linux. People will have problems regardless of the OS, they will hardly find help to solve their problems if they are using linux. Then someone will arrive and blame linux for the problem and then, the user form now on will avoid and bad mouth it.

These days I only recommend linux for people I know they can handle it AND will have some fun learning how to handle it. Or on the "gramma" computer case where usage scenario is very well defined.

But I still find it fun that people get impressed about how it is possible to efficiently use the computer. For example, copying a file to/from a keychain and unmounting it with a single command and with just a few more touches on the keyboard I can open and start editing the file. For people who expect intrusive warnings when an usb drive is plugged in and lots of clicks to find and copy files, doing all that with a few keystrokes is impressive.

Another trick I use to impress more seasoned users and even developers is the cycle of "apt-get build-dep", "apt-get source", configure, compile and run. People get so impressed that they consider start using linux.

But yes, if you really like it, you'll find people for whom you can recommend it.


Neal Stephenson's essay "In the Beginning was the Command Line" might resonate with you as well. It's got batmobiles and tanks and people who break into your garage to upgrade the tanks when you aren't looking.


> Here's a specific sequence of 21 shell commands

Almost all of those are just "apt install" and could be easily done with no command line.

Then there is "run this command or get this zip".

Then you run the only mandatory command, "make".

> that may or may not work

It will work fine on ubuntu but the dependencies might have different names elsewhere.

It's not great, but at the same time it's better than "Oh this only works on windows X."

> and is certainly incomplete, and you have to modify some of the source of course, we don't say how but don't worry it is really easy, oh and it won't work on these systems, just hack it until it works.

I don't see any of this?


> Space Nerds In Space was designed with hackerspaces in mind -- where else are you going to find enough people to run a linux-based multi-player LAN game spaceship simulator for Star Trek nerds but a hackerspace?

Doesn't sound like it targets users who expect one-click installs.


I’m tired of these kind of space themed exploration games. Why not do some kind of exploration game where you get shrunk down to microscopic size and explore a human body and fix problems or deep sea exploration aboard a submarine?


Because space is fuckin rad

Also, Subnautica. Also also, barotrauma. And piles of submarine combat games.

I don't think people want to play human body repair games, typically. Putting existential woes on hold is usually a nice side effect of games.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: