[GAME] Space Nerds In Space

1235789

Comments

  • Nice! Everytime you add something it makes the game so much better. I stopped trying to boot off a USB, and looking into just buying a computer strictly dedicated to Linux, soon. :)
  • Not to dissuade you at all, but, well, you'll need 4 or 5 of them won't you? That's the attraction of booting from USB -- that you can use the windows laptops that your friends own, just boot them off a USB temporarily. The (very very very few) times I've played this game properly were done this way.
  • edited July 2017
    Yeah, but my success was limited, I'm a firefighter / refrigeration tech...so my program ing skills are limited! I can try again. My best friend from high school might be if help now that I know he does some programming.
  • Experimenting with specular reflection on planetary rings.

    image
  • Finally got tired of faffing about with trying to record videos on linux via software methods and sprang for an HD video capture device. Audio is recorded with a Zoom H4N (but with low batteries, so it's a little distorted.)

    http://www.youtube.com/watch?v=weZMeTjVPro
  • edited October 2017
    I've been thinking about Comms again. Here's my idea to make Comms meaningful: Add a real time strategy mode into the game. I imagine something along the lines of the granddaddy of all RTS's, Herzog Zwei (Sega Genesis game from 1989 or so. Look it up, it's an important piece of video game history.) There are anumber (9) of bases, initially unoccupied, two opponents face off (one AI controlled if need be), with a "main base/planet" for each player. Goal of the game is to capture (or destroy) opponent's main base. You capture bases by sending some number (say 4) of your units to occupy the base. Once captured, an enemy has to occupy all (4) slots to take the base from you. Bases you occupy can manufacture further units, and generate money for paying for those units. So now Comms directs bases to build units, directs units to occupy bases, attack other units, defend bases, etc, and the player's ship is one of many in this RTS, so the crew can drive around and defend bases, shoot enemy units, perhaps act as a resupply ship, and participate as a unit that happens to carry the Comms officer, who acts as a general directing the overall battle.

    What do you guys think? I've got a set of patches implementing a little bit of this, I plan to take it a bit further and see how it goes, but do not have anything I'm ready to show yet.
  • The x universe games come to mind. Good games, and this idea is a lot of fun. But over whelming to an extent on a single player game.


    But with multiple people, one being comms doing the management, it could be rewarding. Especially with coordinatation from the crew and other ships.

    Would you consider adding the ability for additional players to jump in the game and control these new units? Either as a big crew or single pilot?
  • > Would you consider adding the ability for additional players to jump in the game and control these new units? Either as a big crew or single pilot?

    This would be a fairly big job to add, so it's not something I'm planning on. Way way back (2013 or so) we tossed around the idea of a "fighter mode" kind of single-person-controlled ship, and even put together a (very very rough) prototype (mashing nav and main screen views together, basically) but ultimately decided against it as it goes against the "bridge sim" idea a bit, and there are enough single seat pilot controlled spaceship games out there already (i.e. elite dangerous type games). So, never say never, but it's not something I'm too interested in right now.

    I'm still not even convinced the RTS game is a good idea, but I think, (like the damage control screen) it's one of those things I have to implement in order to get it out of my head, good idea or not, and I'm planning to do it in such a way that it can be essentially turned off (or rather, you have to explicitly turn it on to activate it.)
  • Here's a little demo of what I have working so far in the way of adding a Real Time Strategy mode into Space Nerds in Space:

    https://www.youtube.com/watch?v=8V8oLyaxsKo
  • Looks awesome! Are you, with the other ships, going to allow for fleet grouping? And waypoints or directions to send ships?
  • Waypoints, yes, definitely. I have some vague thoughts about "squadrons", where you could assign ships to squadrons, and assign orders to squadrons, but I haven't thought about it very deeply yet. My UI, such as it is, is suffering a bit from the "every problem is a nail", and my only hammer is "buttons."

  • So I thought I'd try some live code streaming... don't know if it's very interesting or not, but FWIW:
    https://www.youtube.com/watch?v=70dalJo83hg
  • So, I've been pecking away at the RTS implementation. Tough going. A few concerns:

    1) How do I balance things like:

    * rate that money builds up (and thus rate players can build units).
    * time it takes to build various units
    * time it takes ships to travel to their destinations.

    Currently, it seems that ships travel too slowly, ships are built too quickly, and before very long, there are *tons* of ships in the game.

    2) How do I make a UI that doesn't suck? Right now, I have a simple button based system that "works" in the sense that in theory, it is possible to command ships to do what you want. However, it has some shortcomings. The ships are all kind of a big homogeneous ball, and it's hard to know which ship is which. To some extent, it is desirable to have the comms officer (controlling the whole RTS, pretty much ) have to rely on other players (e.g. science, nav) to get the information to do the job, but, OTOH, I'm not sure that's really where the fun lies. Maybe the comms guy needs some UI something akin to the current 3d Demon screen, to give some spatial awareness of what is happening. It seems to be a pretty tough nut to crack.

    3) What about squadrons? One idea to reduce the micromanagement a bit is to have squadrons and units are assigned (by player? automatically?, some combo?) to squadrons and the player can command at the level of squadron, rather than unit. What does this UI look like?

    4) What does the UI look like for specifying (here I borrow a term from grammar school) "direct objects". That is, suppose I want to command a unit to move to a waypoint. How do I specify the waypoing (in this case, I could use the one that science currently has selected.) If I want a unit to occupy a starbase, how to specify which one? (Currently, you can't, it tries the nearest one.) How to specify which enemy unit to attack (again, you can't, it tries the nearest one.)

    5) What does it mean for a unit to be in a squadron? I already have in the game the notion of fleets, but this is currently not used in the RTS game. In the fleets, fleet members merely fly along, following the fleet leader in an assigned relative position. There is some logic along the lines of, "attack any unit that attacks any unit in the fleet", leading a fleet to be a formidable gang of firepower. I'm uncertain of exactly how, for example, if you command a fleet to occupy a base, and only some ships in the fleet are troop ships (the only ones able to occupy a base) what the other ships are meant to do (e.g. presumably escort, refuel, etc.) I mean, I know in a general way, but how to make it actually happen eludes me a bit so far.

    6) How does the comms officer, and the crew of the ship get some clear idea of what the heck is going on in the big picture of the RTS? I don't currently have a very good idea about this. demon screen is the best way currently, and that's not really supposed to be a part of the game -- more of a dungeon master type screen.

    7) How does the AI for the computer controlled opponent work? E.g. squadrons complicate things, how does the AI decide what units to build (e.g., that it has built 10 troop ships, and now it probably ought to build a resupply ship, or a gun ship, or whatever). How does it decide what orders to give to the ships. How does it behave when it gets into a jam, how does it decide to build defensive units rather than offensive units, etc. This last one seems... pretty daunting.

    Well, guess I've got my work cut out for me.
  • Looky what I got... Space Nerd accoutrements. Will probably take a few days before I get all this working with the game.

    image
  • Nice. Eagerly waiting to see what you do with them.
  • Awesome! I really need to get a bootable Linux.

    I've been wanting to respond to your last few posts but haven't had the chance. I don't like typing long messages on my phone... But it all looks great!!!
  • So I've got the basics working with this HOTAS joystick setup today-- not counting the rudder pedals -- my cheapo "open box special" turned out to be missing a RJ12 to USB adapter that's apparently needed for the rudder pedals. D'oh! (I suspect someone broke or lost their adapter, went to Fry's and bought this thing, extracted the adapter, then returned it, sans adapter, and then I bought it as an "open box special.")

    There is now a joystick config file (example default config here: https://github.com/smcameron/space-nerds-in-space/blob/master/share/snis/joystick_config.txt )

    Have to say, it's pretty cool!

    I still need to add more "functions" that are hookable to the joysticks (e.g. Currently it's not possible to connect "Reverse", "Engage warp", "toggle docking magnets", and other misc. things to the various joystick buttons, but there's no reason it couldn't be, and this sort of thing I will get to in the next few days.)

    In case anyone plays around with this (ha!) and adds some config for their particular joystick, I am trying to collect such configurations, and have an issue to do so here: https://github.com/smcameron/space-nerds-in-space/issues/118
  • So, while watching a review of this HOTAS joystick/throttle/rudder pedals combo, I realized that the missing RJ12 to USB adapter is actually not a problem after all because the throttle has an RJ12 socket into which you can plug the rudder pedals, and I tried it out, and it seems to work, with the rudder pedals showing up as an additional 3 axes on the throttle device.

    Also, I've committed changes to allow mapping almost everything on the Navigation screen to joystick buttons and axes.
  • Here's a little tutorial about how to use the Navigation screen. I'll probably make some more about the other screens soon.

    https://www.youtube.com/watch?v=-aUQsmFpOzM
  • I've been thinking about adding a "Warp Calculations" mechanic to the game, based on this scene from Star Wars (around 1m37s - 2m45s)

    https://www.youtube.com/watch?v=kOjjBj39h5s

    We see from this that in the Star Wars universe at least, warp calculations require apparently about 1 minute. Will have to play with this number a bit, that strikes me as a bit long for a game. 20 seconds or so might be a better number.

    Here's how I suppose it would work: I imagine space is filled with some warp distortion field, which you can imagine as a 3D vector field with every point in space having some "direction" associated with it, with a smooth gradient between. If you attempt to warp (jump to hyperspace) without accounting for this warp distortion field, this direction is added into your attempted direction and dominates it, effectively warping you in a random direction (probably not usually very harmful in open space, but hardly a good way to navigate). Perhaps there should also be some chance the warp drive gets damaged if you fire it off without doing the required calculations.

    On the science station, I imagine a button to do "warp calculations", which will report back the nature of this warp distortion field via 3 coordinates (gamma, sigma and tau). If some item is selected on the science computer, then these coordinates will be computed so as to travel towards the selected item. If no item is selected on the science station, then these coordinates will be computed so as to warp straight ahead on the ship's current course.

    On the navigation screen, these coordinates from science can be entered, and if entered correctly, the warp distortion field is compensated for, and warp navigation works as usual -- i.e., you do not warp in a random direction, but can navigate where you like.

    For the implementation, I don't imagine truly having a 3D vector field, instead, I can just compute a random warp field distortion vector for the current location of the ship either periodically (every 30 seconds or so) or only when the crew actually "looks at" the vector (by doing warp calculations or attempting to warp) and put a timer on it so it expires (is modified randomly) after 30 seconds.

    This implies also that warp calculations are only good from a certain time (30 seconds) after which the results expire, and attempting to warp with "old coordinates" will amount to warping without doing the required computations, leading to the aforementioned consequences.

    I also imagine perhaps the warp calculations taking some time (20 secs?) and maybe they could gradually become more precise, such that the longer you wait, the less your path will be randomly deflected. Maybe if you wait 10 secs, you get the first digit of each coordinate, 15 secs, you get the 2nd digit, 17 secs you get the 3rd digit... something like that?

    What do you guys think?

    I'll probably code something up and see what it's like.
  • Well, I coded something up for the "warp calculations" and got it working well enough to find out that I don't think I really like what it does to the game play, it was just kind of awkward and tedious. So I think I'm going to drop that idea for now, though I may revisit it some time later if I can think of a way to make it less annoying.
  • Space monsters... they don't do much but flail their tentacles around, but they're there.

    https://youtu.be/64CeCEq_IpI
  • Textured space monster...

    image
  • Added some emittance textures...

    image

    image

    image
  • Fixed a bug in my cylindrical texture mapping. Incidentally, the textures are derived from Gray Scott reaction diffusion patterns.

    image

    image

    image

    image

  • Cool! Reminds me a bit of some first ones from Babylon 5
  • @smcameron that is an amazing space monster.
  • I'm sitting here at HackRVA, the hackerspace in Richmond, Virginia, and guess what they've got...

    A HOTAS WARTHOG.

    image

    So I committed a config for it.
Sign In or Register to comment.