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.
Posted on reddit here: http://www.reddit.com/r/linux_gaming/comments/1vhino/want_to_do_some_combat_on_six_wheels_give_this/
ReplyDeleteLooks 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. :)
ReplyDeleteVersion 1.1 is up, with a fix for vsync.
ReplyDeleteTime to dust off my linux box and get some updates going. Very Excited to test this.
ReplyDeleteUbuntu 13.10 NVIDIA: OK
ReplyDeleteUbuntu 13.10 Intel: OK
Thank you, Evandro.
ReplyDeleteconsole output:
ReplyDeleteUnable 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...
Emam.... I've put up v1.3 which probably fixes that error. Could you please try again? Thanks!
DeleteThanks Emam,
ReplyDeleteI 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.
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.
ReplyDeleteBen, good point. It would probably be more natural, yes.
ReplyDeleteHowever, 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.
New version 1.5 has full screen support.
ReplyDeleteAlso, uses proper game speed on machines that render at 30fps.
Debian 64bit:
ReplyDeleteOPTIMIZED 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.
Thanks. Is the file 'libsounddata.so' there?
DeleteIf so, somehow the dynamic library loader will not look in the current directory?
hmm, problems:
ReplyDeleteflyingfisch@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
Oh sorry, i am an idiot. I don't have SDL2 installed. sorry :-\
DeleteAnyone know how to get libsdl2-2.0 for Ubuntu 12.04?
DeleteI 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?
ReplyDeleteThe terminal output was:
Deleteflyingfisch@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.
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