[GAME] Space Nerds In Space

2456789

Comments

  • smcameron said:

    Segfaults how? Can you capture a core file?

    Here's the output of the commands for the SegFault. Let me know if I goofed something up, or missed something.
    https://gist.github.com/kwadroke/9576b0c3a7b3e8de6a9f39d94e81077d
    smcameron said:

    BTW, if you're itching to try the speech recognition thing... try it first just with pocketsphinx by itself -- you'll probably be somewhat disappointed. It can't recognize "warp drive", for example, and the error rate is quite high. It has no built in support for a trigger word. I simulated the trigger word "computer" in the video by just filtering everything pocketsphinx recognized with my script. The script deleted every line that pocketsphinx output which did not contain the word "computer", and for every line that did contain the word computer, it deleted everything except what came after "computer." Which approximates having a trigger word of "computer". If you try some google speech api, or something like that for the recognizing, you'll probably have better results.

    I noticed that the "magic" script was missing from the GitHub repo. :) I've seen various degrees of success & failure with speech recognition. Still, the TTS & STT would be a cool option for a single player ship. Even if it is just TTS.
    I wonder if some of the work that the Jasper project has done might help with the recognition.



  • Hmm, so it appears to be having trouble in the code to set up for rendering to textures. Possibly the driver in the virtual machine doesn't actually support rendering to textures, or is buggy, -- or maybe there's something wrong with my render to texture code, and my laptop doesn't support it, so I don't hit that case. In any case, now you can:

    export SNIS_SUPPRESS_RENDER_TO_TEXTURE=1
    export SNIS_SUPPRESS_RENDER_TO_FBO=1
    export SNIS_SUPPRESS_MSAA=1

    and run it and it will suppress the use of certain opengl features. Maybe this will allow it to run.

    I added the "magic" script, but renamed it to queeg500.
  • daid said:

    Funny, I tried speech recognition with the google chrome API:
    https://developers.google.com/web/updates/2013/01/Voice-Driven-Web-Apps-Introduction-to-the-Web-Speech-API
    (With the idea of setting up an example for EE's webserver and javascript interaction)

    Which uses the google servers to process the speech. However (maybe due to my dutch accent) it had a hard time recognizing anything. I tried something sentences like "Computer, set heading to 200", but it produced something useless 70% of the time.

    When I tried that demo, it did pretty well -- not perfect, but much much better than pocketsphinx. It tended to think "warp drive" was "network drive", actually got it right most of the time, and seemed to handle numbers pretty well, and mostly worked for me. As dancers go, the bear does not dance all that well, I suppose, but it is a dancing bear.

  • smcameron said:


    When I tried that demo, it did pretty well -- not perfect, but much much better than pocketsphinx. It tended to think "warp drive" was "network drive", actually got it right most of the time, and seemed to handle numbers pretty well, and mostly worked for me. As dancers go, the bear does not dance all that well, I suppose, but it is a dancing bear.

    Well, your word list can just handle "network drive" as "warp drive" :-)

    EE's render textures seem to work for Kwadroke. As I'm also using rendering to textures in some cases. However, mine are SFML based, which contains a lot of different code paths depending on what features are supported.

    I looked a tiny bit at the code, and may I point out that I find you have an odd mix of dependencies? SDL and Portaudio for example, SDL can already do audio? Same for having both GTK and SDL. And then talking directly to libpng, while you could also use SDL_Image or GTK to load images.

    Note, I do think you could build the game for windows. All the libraries you use are reported to have windows builds. But due to GTK being a complex beast I didn't try.
    Having windows binaries at hand will boost the amount of players that will try your game. Right now the barrier for entry is very high.
  • SDL is actually only used by mesh_viewer, a utiltity for viewing the models. It's not a requirement for the game. The makefile fails to express this fact, I'm sure. Hm, I had failed to notice gtk could load images (in retrospect, seems obvious, since it was made for the gimp.) libpng's API is indeed utter madness, so maybe I'll revisit this.

    I suppose if someone thought that the game ought to run on Windows they could attempt a port.



  • More progress on the speech recognition front. I figured out how to give pocketsphinx a custom vocabulary which improves its accuracy considerably, and I wrote some code to convert written out numbers like "two hundred thirty eight" to "238" which enables a lot of things.

    https://www.youtube.com/watch?v=3EZNzcF4_4g&nohtml5=False
  • Awesome job! I have been wanting to play your game , but I only have windows computers. Guess I will have to try and do the mod for Windows!
  • Awesome job! I have been wanting to play your game , but I only have windows computers. Guess I will have to try and do the mod for Windows!
  • More voice recognition from smcameron.
    https://www.youtube.com/watch?v=tfcme7maygw
  • Around the end of August[1] of 2015 I had made a proof of concept of traveling between multiple "universes" (really, more like solar systems) within the game. Over the last 8 months or so I have been slowly trying to get this code stable and working, and doing all the things it needs to be able to do (mostly having to do with maintaining state of the player ship) to be something worth committing. There turned out to be quite a lot of code for this, around 75 patches. I didn't clean them up quite to the level of my usual standards, but carrying around ~70 patches for ~8 months was getting to be a little tiresome (although stgit[2] made it tolerable). This new code is still disgustingly hacky in the way that it works, but it is nonetheless committed, and you can try playing with it.

    There is now a new process, snis_multiverse, which maintains the state of all bridges in a small "database". This means that when you run snis_client (either manually, or via the quickstart script) there is now a "create ship" checkbox. The first time you use a ship name, you need to check this box, and subsequent times, you should leave it unchecked -- that is to say, your ship is now persistent between runs, and its state is preserved in the "database" maintained by snis_multiverse.

    I am quite sure there are a lot of bugs lurking in this new code -- some I already know about, and undoubtedly some that I don't know about. I expect there are some races in the hand-over code when all the snis_clients on a bridge switch to a new snis_server, and I expect there is still some ship state that is not preserved across such switches, but at least the infrastructure to preserve that state exists now.

    By default, the quickstart script will only start a single instance of snis_server, and there will not be any warp gates in the game. But, if you "export MULTIVERSE_TEST=1" prior to running quickstart, it will create 3 instances of snis_server -- that is to say, 3 solar systems -- and will put warp gates near each planet, and you can buy warp gate tickets to different solar systems from the starbases via the comms station. You are advised to use additional art assets[3] in the space-nerds-in-space-assets repository on github if you run multiple solar systems.

    When running in multiverse mode, every planet currently has a nearby warp gate, and from any warp gate, you can get to every other known solar system. The warp gates correspond 1 to 1 between every pair of solarsystems, so if you depart from warp gate X in solarsystem A to solarsystem B, you will consistently pop out of the same warp gate in solarsystem B, and if you depart from warp gate X+1 in solarsystem A, you will pop out at warp gate N+1 in solarsystem B. In the future, I think I would like to be able to have some kind of graph to establish the possible paths of travel between warp gates to enable building a more interesting topology of solar systems than this kind of automatic and fully connected graph we have now.

    [1] http://forum.freegamedev.net/viewtopic.php?f=22&t=3710&start=175#p65665
    [2] http://procode.org/stgit/
    [3] https://github.com/smcameron/space-nerds-in-space-assets

  • Finally got around to making a 3D variant of the "demon" screen for Space Nerds In Space:

    https://youtu.be/ju8pDrY6Tos
  • The Demon & credits are looking good.
    Finally got Linux back on my main rig. Compiling now. Might have a GH Issue coming your way on a SDL1/2 include.
  • edited June 2016
    Hi,

    first, awesome job on this game!

    I tried to sell some ores to a station, but the options didn't work. I navigate in the station menus until I have a screen telling me the contents of my cargo, with A: stuff B: stuff C: stuff etc contents. But no numbers to chose except the "0: go back" one. In the end I coudn't sell it. So I wonder if selling ores is implemented or not...
  • sirvela said:

    Hi,

    first, awesome job on this game!

    I tried to sell some ores to a station, but the options didn't work. I navigate in the station menus until I have a screen telling me the contents of my cargo, with A: stuff B: stuff C: stuff etc contents. But no numbers to chose except the "0: go back" one. In the end I coudn't sell it. So I wonder if selling ores is implemented or not...

    Definitely sounds like a bug. I have filed an issue to track it.
    https://github.com/smcameron/space-nerds-in-space/issues/87

    Hopefully I can get to this on the weekend.



  • Ok, digging into this, it does work (mostly), but it is just completely non-obvious what you're supposed to do. This is a case of me implementing the minimum stupid thing that could possibly work, with no polish whatsoever.

    Here's how it works. When you hail a starbase, type "7" to "arrange transport contracts", and under there is an option to "sell cargo". Choose that. Then you're presented with a list of things in your cargo bays, with letters, A, B, C, D, etc. denoting each bay, and a number denoting the quantity.

    So you might see:

    A. 0002 tons gold ore ...
    B. 0002 tons germaninum ...

    or whatever.

    Now here is the completely non-obvious part. To sell it, you have to type, eg.

    "sell 1 a"

    meaning, sell 1 ton of gold ore.

    Buying is similar.

    Now there is a bug. The quantity of ore you have is a floating point value, so you can have 0.9 tons of gold ore, but this is shown as 1 ton. You try to sell 1 ton, and you get "INVALID SELL ORDER" because you don't have 1 ton, but there's no way to sell 0.9 tons.

    So... the bug here is that the implementation is just kind of terrible. :(
  • edited June 2016
    Lately I have been working on the Lua API for space nerds in space. Quick summary of changes:

    You can now set the speed of asteroids (between 0 and 1) and set the ratios of "ingredients" contained within asteroids. This is mainly to enable stationary asteroids.

    There's a proximity callback that you can register to get called whenever two specified objects are within a specified distance of one another.

    There is a "show_timed_text" function which can be used for such things as mission intro screens, mission completion screens, or for providing other information in interstitial screens.

    Lua scripts can now be chained with enqueue_lua_script() function to enable creating campaigns of missions, etc.

    Many, many ship attributes may be queried with get_ship_attribute() function.

    More details here: http://forum.freegamedev.net/viewtopic.php?f=22&t=3710&start=225#p69307
    (sorry, couldn't be bothered to reformat all that here.)

    And the official SNIS Lua API documentation is here:
    https://github.com/smcameron/space-nerds-in-space/blob/master/lua-api.txt

  • Demo of a simple mission lua script in which you must travel a circuit docking at each of four starbases in a specific order finally returning to the first starbase.



    https://www.youtube.com/watch?v=nc1n_4vaOSQ
  • Cool. Will have to play around with the Lua scripting now. Hopefully will have something for BridgeSim Wednesdays in a few weeks.
  • Very cool. I'm going to have to get a pi here soon to play snis!! Looks fun!
  • edited July 2016
    Fair warning: 1) I don't think a raspberry pi can run it well. 2) There really aren't any decent mission scripts to speak of yet.
  • smcameron said:

    Fair warning: 1) I don't think a raspberry pi can run it well. 2) There really aren't any decent mission scripts to speak of yet.

    Ah okay. Then maybe I will try the mod for Windows. Thanks!
  • edited July 2016
    @Flea11, please be aware that my info on the running on the Pi as well as accessing SNIS in Windows via a remote X session is quite old, and probably won't work.

    I haven't tested the OpenGL drivers on the Pi2 & 3, but it there might be a slight chance that it could work.
  • Okay. No problem, what's the best way to run it, I'm not to familar with lunix
  • Flea11 said:

    Okay. No problem, what's the best way to run it, I'm not to familar with lunix

    That could be an obstacle for you. It's a linux game, and for now, distributed only in source code form from github and you have to build it yourself.


  • edited July 2016
    Ahhh that's right. That would be a problem for me!! Well I guess I have to wait ! Still looks amazing! You are making a really cool bridgesim! Thanks for the notes!

    Sorry, Linux***
  • I would say give it a go in a virtual machine, but, I haven't been able to run it in VirtualBox.
  • I looked into compiling it for windows, but the dependencies are a hell for windows.
  • kwadroke said:

    I would say give it a go in a virtual machine, but, I haven't been able to run it in VirtualBox.

    True, but I need make sure I can compile a build if there isn't one readily available, since I'm not that far along in doing things like that.
  • edited July 2016
    Flea11 said:

    kwadroke said:

    I would say give it a go in a virtual machine, but, I haven't been able to run it in VirtualBox.

    True, but I need make sure I can compile a build if there isn't one readily available, since I'm not that far along in doing things like that.
    There is instructions on how to build on in the Readme on smcameron's GitHub repository.

    Also, I have an old build script that I need to make sure that still works, if you want it.
Sign In or Register to comment.