Brutal Fighters - Vote on Steam Greenlight!!

The game is completely free, no micro transactions, no ads, first truly free to play multiplayer game!
Heck it’s even open source! JOIN US, FIGHTERS - www.brutalfighters.com!

Brutal Fighters is finally on Steam Greenlight! And a bunch of new updates are coming, I would really appreciate your vote on Steam Greenlight!
Vote and support Brutal Fighters on Steam Greenlight!

Trailer:
https://www.youtube.com/watch?v=MXCVy5i2ABg
Yup 60fps trailer is awesome!

What is Brutal Fighters?
The game that will blow your socks off!
Compete with real players in a fully action fighting game!
Master the skills, know your combos, and become a true fighter!

http://s4.postimg.org/6xfzfi3rx/img2.jpg

Technically, what is Brutal Fighters?
Brutal Fighters is a game made with Java, LibGDX, Kryonet, and other tools.
Works on Windows, Mac and Linux(and every other OS that is able to run JVM should be fine too).

Can we play the game?
Not currently, YES! Screw Steam Greenlight, you can download the game completely for free, no micro transactions, no ads, first truly real free to play multiplayer game.
Heck it’s even open source! JOIN US, FIGHTERS - www.brutalfighters.com!

Is it free?
Possibly, YES! The game is completely free, no in game transactions, no ads, as free as it gets, just click on the download button :slight_smile:
Yet, the game server runs on a great VPS, with Linux Debian, but I will take care of that for you!

Is the game open source?
Soon, YES! The game is so open source on Github, here is the game client, and here is the game server.

Sites:
brutalfighters.com - The main game site
blog.brutalfighters.com - The development blog that every fighter reads!

Facebook
Twitter
Google+

http://s4.postimg.org/nazyynjx9/img4.jpg

Sorry for the image quality, due to the lack of the resize feature, I reuploaded the images, and they lost some quality, here is an album on IMGUR with better quality pictures :slight_smile:

So what do you think? Comments will be much appreciated, especially constructive feedbacks! Because this game just really deserves it! :wink:

It looks really cool, I think you’re using the assets from Little Fighter 2, right?

Thanks!
And no, I am not using the assets from Little Fighter 2 directly, I use sprites that the community of Little Fighter 2 created, I asked the moderator, and he said if I attribute those sprites to the community site, then it’s ok to use them. And I did on my main game site.

Looks great on the videos. The graphics are bright and have a nice softness.
I’m not a fan of mortal-combat street fighter type games but this one looks interesting.
For noobs like me, maybe you could make the combos executable with on-screen buttons with icons so they can all be seen.
How did you implement the multiplayer code?

Looks really cool, great work :slight_smile:

Thanks a bunch! The graphics are somehow a bit more brighter in the videos actually.

Haha do not worry, I am not a fan of Mortal CKombat style either, this game is about strategy, capture the enemy flag and bring it to your base, using teamwork, dodging enemy skills and unleashing tons of damage while defending your flag. Not similar to Mortal Kombat actually, which lacks teamwork, in fact there aren’t any teams at all… :slight_smile:

Regarding making HUD for the skills, yep it’s right on my to-do list, and I even have already a basic concept of it ready.
Combos are not possible to show on the HUD, you probably meant skills, combos are a set of skills and actions that dish the most amount of damage in the least amount of time, combos are planned ahead, and are trained because executing them requires great timing, and fast decision making.

How did I implement the multiplayer code? (did you mean the netcode or the actual server code?)
Well that will take pages to explain, but briefly I have a matchmaking system implemented, similar to League of Legends, Dota 2, or CSGO…
Each match runs in the server completely, all the collision detection, velocity calculations, everything runs and calculated in the server, the client gets information(in the form of UDP Packets) and interpolates what will happens next till the next packet set of information.
I tested it with a pretty low amount of people, but it showed no lag or netcode problems nonetheless.

Got it, magic.

But seriously, this looks really fun :slight_smile: great work!

Haha thank you man! :slight_smile:

Cool, I’m looking forward to giving it a go! Multiplayer games are the best.

A few questions about your multiplayer implementation:

  1. Do the clients’ simulations run some milliseconds behind the server or do they all run concurrently with the server but the clients do “dead reckoning” to simulate where the game state would be assuming nothing has changed.
  2. When a new packet arrives which shows an enemy player did a mouse click and a change in direction, do the other clients ‘teleport’ the enemy player to his new position instantly or do you smooth the transition?
  3. How do you stop the clients’ game worlds becoming out of sync with the server? Does the server send the whole world every few frames?
    Sorry for the detailed questions. No need for detailed answers.
    I’m always interested in how multiplayer code works under the hood. I find it one of the hardest and most interesting things.

I appreciate the questions, and discussing about how multiplayer works under the hood is always helpful.

  1. I suppose the clients do “dead reckoning” although it’s a bit more than just extrapolation and updating the players position using their velocity and direction, clients also calculate collision detection and such, so the clients won’t be “extrapolated” into a wall for instance.

  2. Good question, thanks to a good client prediction, this rarely happens, although flickering is starting around 220ms latency, which in most competitive games is a death sentence anyway.
    However, if a client is experiencing a bad lag spike, the other players in his screen are teleported, I suppose in a competitive game, players want to recover as fast as possible from a lag spike, transition and “lerping” may take too long compared to teleporting. Please correct me if I am wrong :slight_smile:

  3. By the whole world you mean all players info? Then yeah, the server sends all players info every few frames in the client, the client always extrapolate all players and sync accordingly after each server packet.

I agree, multiplayer it’s one of the most interesting things in game development!
I hope it’s clear, let me know if you got more questions or something is not clear.
Thanks!

Sounds like a well thought-out design. Thanks for explaining it.
In a first person shooter I think it’s easier to hide lag since the player can shoot at a lagged enemy and still score a kill that the enemy will not protest against since he can’t easily tell if he was within view of the shooter or not. So interpolating (lerping) and avoiding teleportation is a good choice.
But in side-scrollers or top-down view games where all players can see the same thing, I can see why you chose to align the clients’ game worlds as close as possible, despite the possible occurrence of teleportation due to lag.

I wonder how you would sync the clients if you added destructible terrain or some other large-data client-modifiable feature? Because then sending updates with all the terrain data might be too much.

I updated the thread, the game is available now for free! and it’s a great fun! feel free to download it really takes a second,
and queue up for matchmaking.
Not so many players playing the game currently so matchmaking may take a few minutes.
Although you can always just ALT+TAB the game if you wish and come back when the match is just about to begin(warmup phase).

No game guide currently, the controls will be displayed at every match warmup, like a mini tutorial, it’s really pretty straightforward, take it as a challenge ;D

All right, I am always in queue, see you out there fighters!

Note: The server is in San Francisco, which means players outside NA may experience delay between inputs, but my friends told me it’s not that bad, when(if) the game will get more popular, I will definitely set up another VPS game server for Europe and maybe even another one for Asia.

If you wish to support the game, there is a donation link at the bottom of the main site.
If you really want to show support, please contribute to the game’s Github repositories, it will be even better than a donation, everything will be appreciated though :slight_smile:

Please comment! :wink:

Nice job making a release!
I played and managed to steal a flag, died to a blue dude, then I killed him a few times. I think the enemy and allied players were AI since they weren’t very pro-active in killing me back.
The graphics, window, menu and sounds all worked flawlessly.
I was playing from Australia and though i did notice a lag of about 200 - 500ms, it was still very playable which is impressive.

Some things that you might consider improving:
-Implement a loading screen after choosing a character. I actually thought the game hung when all I could see was the game logo for about 3 minutes. It was only after I tried running the game on the CMD prompt to post the error for you that I heard sound effects and noticed that the game actually loaded.
-More obvious tips about the controls. I had no idea how to fight until I died and it showed the keys.
-The arrow key controls work well, they never jammed. But it is a little frustrating that you can’t seem to attack while jumping or moving.
-LAN play option

Edit: The lag was only between when I pressed the controls and saw a reaction on the screen. There was no stuttering or anything else. By the way, one easy way to trick the player into thinking that there’s smaller lag than there is, is to make a little dust or smoke graphic at the player’s feet when he presses a key to move, which is instantaneous and gives the player feedback and distracts while the actual movement eventually starts.

I really appreciate it, thank you for playing!

I have played 3 matches in total, the first one was a set of 6 real players, they were seriously playing good, after a good fight my team lost 3-2.

After a while I couldn’t find anyone(hence the logo in the middle of the screen), so I launched a few other clients and queued them up, then suddenly we had enough to start a match, so it was me combined with 3 clients and you probably, I’ve played only with one client thus the afks ;D There isn’t any AI in the game at all.

  1. Everyone thinks it was a loading screen facepalm, it’s the matchmaking system, it searches for other players, you waited for 3 minutes because the system couldn’t find another 5 players who are searching for a match too.
    The game loads most of the resources during the warmup phase, which is occurring when the match is about to start, there is a 20 seconds warmup, it also shows all the controls for 20 sec like a mini tutorial.

  2. The game shows all the controls during the warmup phase for 20 seconds, you probably missed it, it looks like the death/respawn phase, just for 20 seconds.

  3. I definitely need to add dash attacks and such, few characters are able to attack while moving, Lust for example, he can do a jump attack. I am pretty limited to only a few sprites, and I am not an artist, but I am trying my best, thanks for the tip!

  4. Sounds like a good idea, it’s not my first priority but I looking forward into implementing this.

Again thanks for everyone who were playing! I am still in queue…

P.S >> Who were the first 5 players I played with?

Thanks! I don’t even know why I didn’t implemented it before, because the particle effects are ran on the client and so are the inputs, this idea will work really well, thanks for suggesting, that’s my first priority now.

Wow, that takes courage to develop a game this far and put it on github as open source and for everyone to download and play for free :slight_smile: But why am I your first twitter follower?? Downloading game right now and will try it out!

Fighters! hopefully you don’t mind me calling you that, that’s the spirit ;D
A new update was released for the game, be sure to re-download it as it doesn’t support auto update currently.

The new update features:

  • An improved version of the Matchmaking Screen, now you can read cheesy funny phrases while waiting for the game to find players to match with you.

  • The update also includes an idea CommanderKeith suggested me, client sided dust particle effect when the client is pressing a button to move, which is a great way to reduce lag notice.

  • A Multi-Kill notification was created from scratch and added into the game, it’s totally awesome!

  • And finally a few bug fixes and other improvements and refactors as always…(currently there aren’t any known bugs in the game!).

More details about the update can be found in my blog post here(I post regularly about updates), or directly through the source on my Github here.

You are awesome man! thank you for the kind words and the following on twitter and github.
Your game project - Asteroid Fight, looks awesome, I registered on the main game site, waiting for updates! :wink:

Hi, the loading screen is much better. But I’ve been waiting for players for a while and it seems that nobody’s online.
Perhaps you could have a lobby or show some information about how many players are online, or put some bots in so that a game can begin straight away.
This weekend I’ll give the game a go with my brothers and a friend and I’ll report back how the game went.

EDIT: Also, there’s no back button once the loading screen is encountered. I had to alt-tab and kill the game by right-clicking the icon and closing.

Thanks for the tips!
The game requires 6 players to start, because it’s a 3vs3 game, but you can always fire up multiple clients on one computer.
I am very happy to hear you are going to give the game a go with your brothers and friends over this weekend, hopefully everyone will like it, I am looking forward for an update :slight_smile:

I managed to start a match yesterday after waiting for about 15 minutes, we had one AFK, but overall the game was smooth and fun, now it seems nobody is online, as I was in queue for quite a while.

I will definitely add a back button very soon! It will probably be the logo of the game ;D

I tried playing it but couldn’t find a match in half an hour.
I think you should make an indicator showing the amount of online players, this way we know if it’s worth waiting lol.