Friday, January 17, 2014

Beta Testers Wanted for GNU/Linux buggy combat simulator game.

So... I've done a lot of work to port my game Six Wheels and a Gun from Android to ASM.JS javascript in a browser. Just when everything was working, and only networking was left, I found out that Javascript cannot do UDP communication. This means that online play in a browser is not going to work. TCP is too high latency and too slow for running a distributed physics simulation.

I don't want my porting effort go to waste, so I made a derivative port to the 64 bit linux platform. (The Javascript version is built on SDL1.2 and the linux version on SDL2.) Everything works just fine as far as I can tell, and I am preparing a release on the itch.io portal. Before I release it, I could use some testing and feedback. Grab a copy of the game here: swaag-1.5-linux64.tar.gz or swaag-1.5-linux32.tar.gz

No installation necessary, just run ./swaag on the command line. It is dynamically linked and requires libSDL2 to be installed on your machine. (apt-get install libsdl2-2.0 on Ubuntu 13.10) In case of problems, please send me the console output.

20 comments:

  1. Posted on reddit here: http://www.reddit.com/r/linux_gaming/comments/1vhino/want_to_do_some_combat_on_six_wheels_give_this/

    ReplyDelete
  2. Looks like a great game, hope it gets some more beef- (something a bit more then 6 wheels and a gun (maybe 6 wheels and a gun meaning any SINGULAR turret.)) -I think that'd be a great idea, but other than that, I'll be giving it a once over an testing itout. :)

    ReplyDelete
  3. Version 1.1 is up, with a fix for vsync.

    ReplyDelete
  4. Time to dust off my linux box and get some updates going. Very Excited to test this.

    ReplyDelete
  5. Ubuntu 13.10 NVIDIA: OK
    Ubuntu 13.10 Intel: OK

    ReplyDelete
  6. console output:
    Unable to create window: Couldn't find matching GLX visual

    on Intel GMA 4500 MHD
    OpenGL vendor string: Intel Open Source Technology Center
    OpenGL renderer string: Mesa DRI Mobile Intel® GM45 Express Chipset
    OpenGL version string: 2.1 Mesa 10.1.0-devel (git-2dc35a6 saucy-oibaf-ppa+curaga)
    OpenGL shading language version string: 1.20

    every other games works such as Doom3, Half Life 2, Portal...

    ReplyDelete
    Replies
    1. Emam.... I've put up v1.3 which probably fixes that error. Could you please try again? Thanks!

      Delete
  7. Thanks Emam,
    I suspect an issue with MSAA.
    I will get a new version out that tries non AA if MSAA window creation fails.
    Thank you for testing.

    ReplyDelete
  8. I like it. My only thing, and this is just my preference, is for the gun to track the mouse rather than having to drag the screen and remove the on screen controls.

    ReplyDelete
  9. Ben, good point. It would probably be more natural, yes.
    However, I think this only works if the game is full screen.
    If it is in a window, the mouse pointer will leave the window, and the window loses focus.
    I may add it in a full screen mode.

    ReplyDelete
  10. New version 1.5 has full screen support.
    Also, uses proper game speed on machines that render at 30fps.

    ReplyDelete
  11. Debian 64bit:

    OPTIMIZED build
    ERR Could not load ./libsounddata.so (./libsounddata.so: cannot open shared object file: No such file or directory)
    ERR ASSERT FAILED at ../PI/soundkeeper.cpp(127): numLoaded == sz
    swaag: ../PI/soundkeeper.cpp:127: void soundkeeper_init(): Assertion `numLoaded == sz' failed.

    ReplyDelete
    Replies
    1. Thanks. Is the file 'libsounddata.so' there?
      If so, somehow the dynamic library loader will not look in the current directory?

      Delete
  12. hmm, problems:

    flyingfisch@flyingfisch-toshiba-laptop:~/Desktop/swaag-1.5-linux32$ swaag
    swaag: error while loading shared libraries: libSDL2-2.0.so.0: cannot open shared object file: No such file or directory

    ReplyDelete
    Replies
    1. Oh sorry, i am an idiot. I don't have SDL2 installed. sorry :-\

      Delete
    2. Anyone know how to get libsdl2-2.0 for Ubuntu 12.04?

      Delete
  13. I can't drive or move the turret in online mode and the space key is the only thing that works (it fires the gun). After a few seconds it says "opponent forfeits". Is this a bug?

    ReplyDelete
    Replies
    1. The terminal output was:

      flyingfisch@flyingfisch-Satellite-L855:~/Desktop/swaag-1.5-linux64$ ./swaag
      OPTIMIZED build
      Does support depth textures.
      Compiled vertex shader Hud
      Compiled fragment shader Hud
      Compiled vertex shader Main
      Compiled fragment shader Main
      Compiled vertex shader Shadow
      Compiled fragment shader Shadow
      Compiled vertex shader Edge
      Compiled fragment shader Edge
      Hud program loaded as 1
      Main program loaded as 4
      Shadow program loaded as 7
      Edge program loaded as 10
      Got a complete shadowFramebuffer object
      loading VBOs of geomdb containing 0 entries
      Loaded 0 geometry VBOs
      fd of lobbsock: 6
      Late swap tearing not available. Using hard v-sync with display.
      Cleared 26 textures from txdb
      Unloaded 0 geometry VBOs
      Shader programs deleted.
      Destroyed shadow framebufer
      Closed network socket
      VIDEORESIZE 1024x716
      Does support depth textures.
      Compiled vertex shader Hud
      Compiled fragment shader Hud
      Compiled vertex shader Main
      Compiled fragment shader Main
      Compiled vertex shader Shadow
      Compiled fragment shader Shadow
      Compiled vertex shader Edge
      Compiled fragment shader Edge
      Hud program loaded as 13
      Main program loaded as 16
      Shadow program loaded as 19
      Edge program loaded as 22
      Got a complete shadowFramebuffer object
      loading VBOs of geomdb containing 0 entries
      Loaded 0 geometry VBOs
      fd of lobbsock: 6
      We have entered the network lobby.
      Will start sending to peer at ip 84.0.79.64
      Got matched with opponent anonymous(148715) in slot 0 using protocol 1
      Starting round 0 with map 0
      geomdb cleared of 0 entries.
      world created for level -1
      objectOfInterest at 0x279e640 named 'player'
      SoundEngineStart()
      SDL_OpenAudio() succeeded.
      freq 11025 channels 2 samples 256
      Timeout on datagrams.
      world destroyed
      Left online match because of forfeit.

      Delete
    2. The hud control will not show up in case you or your opponent has a router that has a too restrive NAT. More here: http://thelittleengineerthatcould.blogspot.ca/2014/08/routers-with-restrictive-nat-spoiling.html

      Delete