Bit Raiders (multiplayer) by Hexicube

[raw]
made by Hexicube for LD31 (COMPO)
A simple battle-arena with a non-moving screen so that the entire game is on the screen at any given time.

Important note:
The master server is subject to not being up 24/7, when it is down nobody will be able to play. You can go into settings and edit your binds and if predictors show up, but the client will fail to connect. I'm usually up at 2pm-2am GMT+0 (weird sleep pattern). If you're unable to connect at 6pm-12am GMT+0, leave a note as it's either a bug or I forgot to put the server up.

Additionally, if the game crashes a lot, put this batch file (windows only) into the same place and run it through that:
https://dl.dropboxusercontent.com/u/13281778/LD31.bat
When it crashes you can provide the error so that I can pinpoint the cause and fix it.

Controls:
- WASD to move around and jump (rebindable, down does nothing)
- Left mouse to fire (hold to charge, peaks at 0.5s then drops to 80%)
- Right mouse to launch (same mechanics as firing)
- Click anywhere when dead to respawn at that location

Tips:
- Damage dealt is based on the velocity of the shot fired, shoot downwards for more damage
- The velocity of the shot fired ignores your own velocity when you get hit, try to dodge entirely instead of reducing damage
- Headshots deal double damage, aim for the face
- Fired shots (and the predictor) take your own speed into account, move towards your target when firing for more damage
- Launch upwards and jump at the same time for a super jump
- Launch upwards in mid-air to get higher
- Shots pierce, try to line up as many enemies as you can

Known issues:
- The game doesn't start because it can't find the main class, no idea how to fix that
- Client refuses to connect, either the master server is down (more likely) or there's something wrong your end (less likely)
- Bumping your head removes all lateral velocity, not a major issue
- Launching down through a platform you're standing on makes you go through it, not removing as it's useful and fun
- When falling and near the ground (about 5px), you instantly drop down the remaining distance, leaving it as fixing it could remove going through platforms
- Players float 1px above the ground, not fixing, artifact of the collision code
- Game crashes a few seconds after starting a game, no idea what the cause is, start the game with the batch file linked at the top so you can give an error for it

Notes:
- The entry is multiplayer only, which means I have to run a master server to manage everything
- Matchmaking is automatic, you should be able to press "Start Game" and be dropped directly into a match once the indicator at the bottom states you are connected to a server
- Matchmaking takes your option for shot prediction into account, matching you against opponents with the same setting (if you have prediction off nobody else you fight has it, unless they hacked their client to do so)
- No goals, just shoot your opponents and feel good about it
- All matches have a cap of 10 players in that match, I have yet to test what happens when two matches are running at once so expect a couple bugs here and there


I used another one of my in-progress games as a starting point for some of the client code (the entire gui package, the key handler, the font holder/char, parts of the game class, and the desktop starter class, as well as all the images that are in sub-folders). You can find that code at github:
https://github.com/Hexicube/RTRL
I'm pretty sure this is allowed, since that's open source, but if not I'll have to enter the jam instead.

Note that the server code connects to the hard-coded master server like the client does. You can compile and run that server and clients will connect to your server as well, once my server fills up (set to 10 players just in case there's bugs with multiple matches at once) people will be directed to yours instead.



Version history:
- Proto 7: Initial version
- Proto 8: Attempted to fix crashing issue based on suspected cause, also fixed minor aiming bug
- Proto 9: Fixed a crash relating to arrows moving off-screen (shouldn't happen normally)
- Proto 10: Attempted to fix a bug that caused maps to be shifted 1 block to the left for some players (which caused the arrow crash), older clients will be broken now

Ratings

Coolness 35% 1856
Overall 3.35 393
Fun 3.48 223
Graphics 2.18 1086
Innovation 3.09 585
Theme 3.60 557

Feedback

Absor
08. Dec 2014 路 12:23 UTC
Game just closes/crashes a lot for some reason but well done with the multiplayer, it actually worked without too much lagginess (2 players). Later I couldn't start the game even though it was connected to server.
FloatingGhost
08. Dec 2014 路 12:23 UTC
Just played against the creator for a while - I absolutely love it!

Now this is a great concept executed well, fun/10
馃帳 Hexicube
08. Dec 2014 路 12:24 UTC
Just so you both know, right mouse makes the game 5x better. :P
Random Abductions
08. Dec 2014 路 12:26 UTC
Game looks like fun, however after 5 seconds of play the game just crashes. I won't vote of course. But the idea is cool. Not very innovative but seems to work fine as for the rest. Shooting arc is very handy.
馃帳 Hexicube
08. Dec 2014 路 12:32 UTC
If it's crashing a lot download this, put it in the same folder, and run using it:
https://dl.dropboxusercontent.com/u/13281778/LD31.bat
That should make it give an error I can use to fix the issue(s).
berkano
08. Dec 2014 路 13:45 UTC
Seriously impressed to see a multiplayer game come out of LD! Great fun to play. Needs some SFX :-)
馃帳 Hexicube
08. Dec 2014 路 13:48 UTC
I wanted to add SFX, but the sound system would have taken too long. :<
andysolace
08. Dec 2014 路 13:55 UTC
Really good fun! Pity about the crashing. I entered several times to try and see what was causing it,but its definately related to the projectiles:

Error is actually caused by an ArrayIndexOutOfBounds exception :

java.lang.ArrayIndexOutOfBoundsException: -1 at org.tilegames.hexicube.LD31.entities.Arrow.tick(Arrow.java:43)
at org.tilegames.hexicube.LD31.map.Map.tick(Map.java:42)
at org.tilegames.hexicube.LD31.Game.tick(Game.java:355)
at org.tilegames.hexicube.LD31.Game.render(Game.java:132)

====
Hope that helps you out mate, game is pretty good fun otherwise :) Gratz on all the multiplayer stuff!

Will watch and rate if you manage to get this sorted out! Or leave a comment on my page when its fixed that I'll spot to get me to head over here :)
====

(Stack Trace cont:)

at com.badlogic.gdx.backends.jglfw.JglfwApplication.render(JglfwApplication.java:254)
at com.badlogic.gdx.backends.jglfw.JglfwApplication.frame(JglfwApplication.java:222)
at com.badlogic.gdx.backends.jglfw.JglfwApplication.start(JglfwApplication.java:197)
at com.badlogic.gdx.backends.jglfw.JglfwApplication.initialize(JglfwApplication.java:177)
at com.badlogic.gdx.backends.jglfw.JglfwApplication$1.run(JglfwApplication.java:87)
at java.lang.Thread.run(Unknown Source)
馃帳 Hexicube
08. Dec 2014 路 13:59 UTC
Exactly what I needed solace, I'll have a fix rolled out. I also appreciate you constantly trying to make it work! :D

Also, does the map wall have gaps in it for you? Seems like it might based on the error.
馃帳 Hexicube
08. Dec 2014 路 14:01 UTC
See if that fixes the issue, solace.
andysolace
08. Dec 2014 路 14:30 UTC
Well done mate. Tons of fun :D Glad to see its all fixed up! Thanks for leaving the comment - I can rate now :)
馃帳 Hexicube
08. Dec 2014 路 14:31 UTC
Good, also that drop shot you did actually made me laugh IRL and start playing hardball! :P
andysolace
08. Dec 2014 路 14:51 UTC
Oh the one when we were stood testing the collision on the walls? I was toooo tempted lol! xD

My favorite shot was the double thrust upwards, over the platform and boom! downwards headshot! Was about the only time I hit you though I think :P
馃帳 Hexicube
08. Dec 2014 路 15:09 UTC
The collision one was pretty funny too, you were basically like "Oh, that's the issue...FITE ME!".

That double-thrust one was the drop shot I think, just completely owned, at least until I started going for the spree! :3
brokenbeach
08. Dec 2014 路 17:00 UTC
Would have loved to play against someone. But the game seemed like a fun concept, particularly jumping around, so I will just rate the fun criteria.
馃帳 Hexicube
08. Dec 2014 路 17:13 UTC
Damnit, missed you by 10 minutes, was playing something else...
Mokosha
09. Dec 2014 路 19:27 UTC
Had trouble running on X64 ubuntu:

$ java -jar LD31.jar
libGL error: failed to load driver: swrast
X Error of failed request: 255
Major opcode of failed request: 155 (GLX)
Minor opcode of failed request: 17 (X_GLXVendorPrivateWithReply)
Serial number of failed request: 83
Current serial number in output stream: 86
sam101
09. Dec 2014 路 19:34 UTC
Ahah, your server/client protocol is fun. I liked the idea, even if I couldn't play a lot since there was no other players.
馃帳 Hexicube
09. Dec 2014 路 19:40 UTC
Moko, that's a very peculiar bug, I don't think I can fix that one. You could look up if you need a library?
Jupiter_Hadley
10. Dec 2014 路 01:07 UTC
Thanks for playing with me! cool game! I Included it in part 4 of my Ludum Dare 31 compilation video series, if you would like to check it out :) http://youtu.be/Kdfz6b6_ebE
RHY3756547
11. Dec 2014 路 03:03 UTC
Hey, glad to see someone else (other than my brother) who worked on an online game! I was the guy who was named something like sgdfs, I had fun playing! A few problems though, the damage system was hard to follow (like how low on hp you were, how low i was) and the trajectory system was quite hard to control and line up. For the jumps, it seems like it didn't follow the intended trajectory at all sometimes. Apart from that and lack of graphics and audio, the gameplay is there and it's mega fun. Great work setting up a reliable multiplayer server in 48h!

One thing though, not relating to the game. You said this in a rather sour post on the blog:

"After looking through the game list a couple times, I really can鈥檛 find any that interest me. I don鈥檛 want to vote because of bias against them"

This is extremely rude and uncalled for! The current system is set up so that you get as many ratings as you give out (to a point) and it's set up that way for a reason. You can't just say "everyone's games are terrible I won't bother"... There are literally 2500 of them! I've only played around 30 and I've already absolutely loved a few.
馃帳 Hexicube
11. Dec 2014 路 03:28 UTC
I really didn't mean the start of the post like that. It was more that they weren't to my tastes, and I didn't want to vote with an opinion that was skewed in a way that disfavoured games that didn't really deserve it. I'm not exactly a word artist, even though my posts tend to take on the size of one.

I'm by no means stating that some of them are terrible, I simply judged by the appearance and text post for the games that they simply didn't seem like the kind of game I would be able to give a fair vote on.

I wouldn't go around saying point-and-click adventure games all suck because RPG FPS games are so much better, that IS rude and IS uncalled for. Instead, it's more "I want to avoid giving an opinion that is unfair to the author because I don't like that genre".

Before making that post I really tried to find games that seemed to me like I would find them interesting. If I recall correctly, about 30 of them looked interesting, but I've only voted on 12 because a number of the other ones weren't for windows (one was even android only, not sure how that expects to get many votes). However, maybe I should reconsider my approach to that, after all I mind find an unexpected gem hiding in the pile that I really enjoy.



As for the feedback, I can respond with the following:
- I wanted to include health bars on people, but was for some reason fixated on the idea of uncertainty
- The damage system is 100% based on velocity, which follows a (slightly) quadratic curve and encourages skilled charge shots that go really fast
- Jumps don't line up because the predictor doesn't account for horizontal drag, you can use left/right movement to counter-act it though
Kitch
11. Dec 2014 路 06:13 UTC
Tried to give it a go... but I got a long series of "Connecting to Master Server" / "Unable to connect". I'll try again later.

BTW, +1000 for the key rebinding options. Us soutpaws really, really appreciate that. :)
馃帳 Hexicube
12. Dec 2014 路 00:35 UTC
I went to bed about an hour before you tried, was extremely tired and it was like 6am for me then. I really need to find a temporary dedicated server for it so people can play it with friends.
L0N3 W0LF
15. Dec 2014 路 16:55 UTC
Very awesome game ahhahaha great work :3
馃帳 Hexicube
16. Dec 2014 路 17:46 UTC
Um...pretty sure I never had the needed servers up at around 5pm yesterday for you to be able to play...
maxmetallica
17. Dec 2014 路 13:31 UTC
i loved it
01rafael
20. Dec 2014 路 21:33 UTC
Nice graphics! So minimalistic.
billrizer
26. Dec 2014 路 20:11 UTC
Couldn't connect :(
馃帳 Hexicube
29. Dec 2014 路 21:35 UTC
I've been struggling to find the time to keep servers up because of christmas, they should be up now.