9 ms·
Show HN: Hacker League – Open-Source Rocket League on Linux
- indigodaddy 2y agoNot that similar except for the retro graphical style, but I immediately thought of bzflag after I clicked the video
- squarefoot 2y agoSame here, maps like bzmatchball or passtheflag came to mind. Whoever makes a more modern, still free, simple and equally fun, version of bzflag will probably win a good number of players among people from under 20 to over 50. Not that bz isn't fun as it is today, but I miss the much bigger community it had many years ago.
- molli 2y agoBut I don't use textures :P
- tomtom1337 2y agoOh my god! Thank you for reminding me of bzflag! Those are great memories!
- klaussilveira 2y agoCurious: why Eigen for math? Isn't it oriented towards academic purposes? Wouldn't something like Terathon be faster? https://github.com/EricLengyel/Terathon-Math-Library https://github.com/EricLengyel/Terathon-Math-Library
- shortrounddev2 2y agoI see glm more commonly
- molli 2y agoBecause I use it only for the physics. For Vulkan I used glm. Ideally, we should only use one library.
- superkuh 2y ago[flagged]
- deleted 2y ago[deleted]
- verandaguy 2y agoWhy on earth would an open source Rocket League made by an unrelated-to-Epic author be responsible for mitigating some bad actions by Epic?
- superkuh 2y ago[flagged]
- verandaguy 2y agoRight, but who’s trying to mitigate Epic’s actions? This is just a fun side project for someone.
- superkuh 2y ago[flagged]
- verandaguy 2y agoThis... is a Rocket League clone, yeah, in the loosest sense of the word. I don't think the author's deeply involved in political wheelings and dealings around Epic's past actions and trying to whitewash something they did. People make side projects all the time that port "missing" software to new platforms, regardless of the reason that software is missing from that platform. There's a good chance OP didn't even know about the Epic backstory here.
- Handprint4469 2y ago
- LorenDB 2y agoSuperTuxKart also has a soccer mode available.
- marcodiego 2y agoAnd it is very funny. I used to play it sometimes and then I told a friend about it, he then introduced me to rocket league which I didn't knew at the time.
- Toorkit 2y agoSick, when is HLCS?
- molli 2y ago:D
- nazgulsenpai 2y agoLooks just like Rocket League! Seriously though, this is awesome and the single source file makes it much easier to poke around the source without cloning. Thanks for sharing!
- molli 2y agoYou're welcome. The binary is only ~100kb and no game engine etc. is used.
- polyvisual 2y agoI've been playing different styles and genres of video games ever since Wolfenstein 3D and I consider myself pretty adept at playing them. However, Rocket League is one game that I just can't master. I've tried, really really tried, but I just can't play it with any amount of skill. It's a shame, as it looks really fun and I hear my son and his mates having a ball when they play.
- richrichardsson 2y agoI basically suck at Rocket League (can't get beyond Plat.III in any mode), but I still enjoy playing it daily. Turn off ALL chat except tactical team quick chats, otherwise it's a toxic quagmire.
- amenhotep 2y agoWhat a save! What a save! What a save! What a save!
- bigstrat2003 2y agoCalculated.
- vonunov 2y agoCentering! Take the shot! Take the shot! Take the shot! Wow! Wow! Nice shot! Thanks! vote to forfeit 1/2
- harryvederci 2y agoThanks! Thanks! Thanks! Thanks! Thanks! This is rocket league!
- mh- 2y agoIt's very weird seeing RL discussed on HN - worlds are colliding! But, yes, this is good advice. Also consider playing 1v1. I'm Diamond I-II there. It's a lot of fun, and probably the only mode where turning off the chat doesn't put you at a disadvantage.
- ProteanLabsJohn 2y agoDo a flip reset :)
- deberon 2y agoI just ran a test and I was able to do just as many flip resets in Hacker League as I was in Rocket League.
- JasonSage 2y agoI seriously, seriously think that in the future (possibly far future) various eSports will all be derived from a few open-source base games. The ability of game developers to leverage licensing, contracts with orgs, etc. to lock down a competitive ecosystem with exclusivity results in inability for a "free market" to develop around running events and broadcasts. Rocket League and League of Legends come to mind here, where the competitive scene is almost exclusively eSports content produced by the developer itself and doing all sorts of tricks to establish lock-in. If we look at how traditional sports work, it's much more organic. Leagues have the ability to negotiate their own game rules, TV rights, oversight, and more. Leagues compete with each other for viewership, because viewers naturally want to watch the best games (or their local games) and viewership drives revenue via sponsorships and TV licensing. Game developer lock-in prevents this economy from developing, prevents the competitive nature of leagues from working on improving the game from a viewership perspective, and the closed-source nature of the game prevents the game from being able to "move on" from bad rules, bad communities, bad design, etc. Many (most? all?) of these online competitive games have toxic online communities and in-game interactions. The game developers don't have the money to develop exhaustive anti-abuse mechanisms, or to pay a large support staff to sift through reports, so lots of times the best you get is a simple heuristic. And these companies are not financially incentivized to ban bad actors. In fact, they're incentivized to ban _as few as possible_ without damaging the player base. Players will quit over toxic interactions and cheaters, but cheaters and toxic players can also be the most reliable spenders in a game, so there's to reason to ban any more of them than absolutely necessary. But with an open-source game, communities can self-organize and self-moderate. If I play on a local soccer team and they're all racist or homophobic, I'll find a new team or a new league. But at present there's no "find a new Rocket League". So I think open-source games will have a big impact on the competitive online game industry. I think the resulting ecosystem has a lot more sustainability and player stickiness than current games do in light of the aforementioned toxicity and anti-competitive patterns, so there is much more money to be made than game developers are making currently.
- shard972 2y agowhen esports mostly exists as a loss leader to sell video games I don't quite see this vision anytime soon.
- BimJeam 2y agoVery very cool. Let's make a real game out of it. No steam no gigabyte large assets. Just that cool game. Maybe use some ai to generate some assets with stability ai / stable diffusion an let's get a lot of people on board. That could be a fantastic project.
- molli 2y agoYup, let's do it! The binary is ~100kb :D Join the Discord server that I posted here!
- a1o 2y agoI am amazed at how small the code is once you strip all the vulkan
- molli 2y agoYup, it's tiny (~100kb)
- _fat_santa 2y agoThough I don't play much anymore, I absolutely adore Rocket League. To me it's one of the few truly novel games out there.
- molli 2y agoI've created a Discord server for Hacker League: https://discord.gg/BbNH27st https://discord.gg/BbNH27st. Everyone is welcome! I'll also keep building in public on X: https://x.com/moritzthuening https://x.com/moritzthuening. I love you all.
- karaterobot 2y agoI played so much Rocket League before it went free-to-play. Seeing this repo made me watch some youtube videos, and remember what a great game it is. It's been tweaked and polished until it feels perfect. I think getting an open source version of the game to that level would require a lot of work, so I wish you well.
- molli 2y agoThanks! I'll keep it way simpler than RL - especially the graphics as you can see. But we can make the physics and multiplayer great, since we build everything from scratch.
- JohnMakin 2y agoIt's a great game - unfortunately the insane and obnoxious way they do ranked ladder means the experience is often miserable if you want to play competitively.
- samtheprogram 2y ago> way they do ranked ladder Could you elaborate? I play the game, but I don’t play much of anything else with ranks so I’m curious what ladder means here and the alternative examples.
- JohnMakin 2y agoI could write an essay on this (played since 2015) so I'm sorry if this is overly wordy and I hope it makes sense. A long time ago they had a pretty basic MMR/matchmaking system that was being gamed pretty badly by smurfs. So, in an attempt to deal with smurfs, Epic made a really opaque blackbox "internal" MMR, that determines what kind of teammates you get. The reason this exists is because everyone tends to get lumped into "chokepoint" ranks - Diamond 3/low champ, C3/GC, and from there I think there's another one closer to SSL but I've only been a GC1 before so I can't comment on that experience. The reason for this is you can have a 60+% winrate in diamond and never leave diamond. That results in tons of players being in a rank they clearly do not belong in - very ironically creating an unintentional smurf problem they were trying to addresss in the first place - and this is exacerbated by a draconian rank decay/reset every season which only lasts a quarter. So, it's not entirely uncommon to see players with a GC tournament tag from the previous season (means they won a GC tournament, which means they almost certainly are SSL players) in low champ or even diamond. This is made even WORSE by the way that placement games work every season - pros have worked out it's almost always better to just sit out the first few weeks of a season before doing your placements, because you may accidentally get a really high "internal" mmr (the only purpose of these placements) by beating other smurfs in a low rank ladder. As a result, epic has tried to balance this idiotic mess by pairing these types of players with lower "true" ranks. So, often when I am in high diamond/low champ I will have a literal carried platinum player with me every single time against another team with a guy who also has a higher "true" MMR and whatever "low" MMR player the matchmaking has decided he also gets paired with. I solo queue though, so this effect is basically a miserable experience trying to climb, as it's much more difficult for me to climb out of a low rank than other players closer to their "true" rank. And I have to repeat this process every 12 fucking weeks. when I play casual, within 10 games the matchmaking immediately puts me in high champ lobbies. So, they know how to match make fairly, clearly - there's simply no mechanism in ranked to quickly rank someone up who very obviously should not be in the rank. It should not be possible to win 15 games in a row and stay in the same rank - every other game addresses this by quickly ranking up people on win streaks. For whatever reason, epic does not, and for this reason and all of what I listed above, the experience is absolutely miserable.
- BigParm 2y ago[flagged]
- darajava 2y agoThere is a video
- deleted 2y ago[deleted]
- extraduder_ire 2y agoI like the name carball for this genre of game. Good choice.
- molli 2y agoThanks!
- bonestamp2 2y agoSoccar
- perihelion_zero 2y agoAutomoball
- Cieric 2y agoI find projects like this really fun, but when it comes to being a game I am seeing a lot of problems. - renderer and physics aren't synced in any way, physics shouldn't be tied to frame rate, but running as 2 separate threads with no synchronization means you might read garbage at some points if you render while the physics thread is updating. - physics using this_thread::sleep_for is not accurate and can sleep for longer than the specified time, assuming the period to be 1/60 isn't correct. The delta time needs to be measured. - using VK_PRESENT_MODE_FIFO_KHR or VK_PRESENT_MODE_MAILBOX_KHR force vsync, but vsync can be anything. With the physics system being locked to 60, you'll notice a stutter on non-mulitiple vsyncs like 144hz. There aren't many solutions I know for this, but the main ones I know of are interpolation and extrapolation of the physics state based on the framerate. I would bump the physics update rate to 120hz to match rocket league and then experiment from there. - Using both Eigen and GLM is overkill in this case, both are slow, but if sticking with one I would use switch solely glm. - More of a nitpick, but I would separate out all the code at least between rendering and physics to their own independent files. The vulkan api on it's own adds a lot of clutter, moving that to it's own file should make the project easier to navigate and explorer. There are more things, like how hard coded that shaders are, but I assume the vulkan renderer will be improved past just being from the vulkan-tutorial, so advice for that can't really be given till the renderer has been updated. P.S. Sorry if any of this sounds harsh, it's not my intention. I've just done a lot of work involving games, game engines and renderers. And I'm seeing a lot of the problems I made when I first started. I wish you the best of luck with your project.
- molli 2y agoThanks a lot for the feedback! I built it in ~2 weeks and it's really just a prototype at this stage. Some of the points I did on purpose to finish a prototype quickly (Eigen + GLM, one file, not syncing renderer and physics, hardcoding shaders etc.). But some things I didn't know - thanks for that :)
- guadalupe4151 2y ago[dead]