Is it really cheating if the aimbot you’ve built plays the game worse than you do?
We vote no, and while we take a dim view on cheating in general, there are still some interesting hacks in this AI-powered bot for Valorant. This is a first-person shooter, team-based game that has a lot of action and a Counter-Strike vibe. As [River] points out, most cheat-bots have direct access to the memory of the computer which is playing the game, which gives it an unfair advantage over human players, who have to visually process the game field and make their moves in meatspace. To make the Valorant-bot more of a challenge, he decided to feed video of the game from one computer to another over an HDMI-to-USB capture device.
The second machine has a YOLOv5 model which was trained against two hours of gameplay, enough to identify friend from foe — most of the time. Navigation around the map was done by analyzing the game’s on-screen minimap with OpenCV and doing some rudimentary path-finding. Actually controlling the player on the game machine was particularly hacky; rather than rely on an API to send keyboard sequences, [River] used a wireless mouse dongle on the game machine and a USB transmitter on the second machine.
The results are — iffy, to say the least. The system tends to get the player stuck in corners, and doesn’t recognize enemies that pop up at close range. The former is a function of the low-res minimap, while the latter has to do with the training data set — most human players engage enemies at distance, so there’s a dearth of “bad breath range” encounters to train to. Still, we’re impressed that it’s possible to train a machine to play a complex FPS game at all, let alone this well.
PC gamers consider their platform superior for the sheer processing power that can be brought to bear, as well as the inherent customisability of their rigs. Where they’re let down perhaps is in the typical keyboard and mouse interface, which tends to eschew fancy features such as haptic feedback which have long been standard on consoles. Aiming to rectify this, [Neutrino-1] put together a fancy haptic feedback system for FPS games.
The hack is quite elegant, using a Python app to scrape the GUI of FPS games for a health readout. The health numbers are gleaned using OpenCV to do optical character recognition, and the resulting data is sent to an ESP12E microcontroller over a USB serial connection. The ESP12E then controls a series of Neopixel LEDs and vibration motors, providing color and haptic feedback in response to the user’s health bar changing in game.
Using image recognition allows the system to be quickly reconfigured to work with different games, without the mess of having to learn different APIs for every different title. It’s a really fun way to quickly get a project interfacing with a piece of software that we’d love to see more of in future. It makes a nice complement to other hacks we’ve seen in this space, like the gaming mouse with recoil feedback. Video after the break.
Continue reading “Haptic Feedback For FPS Games Relies On OpenCV”
We didn’t think we’d see another hack involving the aging iPod Classic here on Hackaday again, yet [Franklin Wei] surprises us with a brand new port of Quake for the sixth-generation iPod released some thirteen years ago. Is Quake the new 90s FPS that’ll get put into every device hackers can get their hands on?
The port works on top of RockBox, a custom firmware for the iPod and other portable media players. This isn’t the first game on the device. A source port of Doom has been available for years. [Franklin] decided to use Simple DirectMedia Layer (SDL) to make his job easier. That doesn’t mean this was an easy task though, as [Franklin] describes very interesting bugs that kept him from finishing his work for about two years.
The first problem was that the GCC compiler he was using was apparently not optimizing time-critical sound mixing routines. [Franklin] decided enough was enough and dug into ARM assembly to re-write those parts of the code by hand. He managed to squeeze out a speed increase of about 60%. Even better, he ran into a prime example of a bug that would get triggered by a very specific sound sample length running through his code. Thankfully, with all of that sorted, the port is now released and we can all enjoy cramping our hands around tiny screens to frag some low-poly monsters.
If you need to repair your sixth-generation iPod before you can do that though, no need to worry since they seem to not be so hard to service by yourself. And if the battery life and disk space aren’t quite what they used to be, there’s also the option to bulk it up for winter. Check out the Quake port in action after the break.
Continue reading “Porting Quake To An IPod Classic Is No Easy Task”
Choices matter. You’ve only got one shot to fulfill the objective. A single coordinated effort is required to defuse the bomb, release the hostages, or outlast the opposition. Fail, and there’s no telling when you’ll get your next shot. This is the world that Counter-Strike presented to PC players in 1999, and the paradigm shift it presented was greater than it’s deceptively simple namesake would suggest.
The reckless push forward mantra of Unreal Tournament coupled with the unrelenting speed of Quake dominated the PC FPS mind-share back then. Deathmatch with a side of CTF (capture the flag) was all anyone really played. With blazing fast respawns and rocket launchers featured as standard kit, there was little thought put towards conservative play tactics. The same sumo clash of combatants over the ever-so inconveniently placed power weapon played out time and again; while frag counts came in mega/ultra/monster-sized stacks. It was all easy come, easy go.
Counter-Strike didn’t follow the quick frag, wipe, repeat model. Counter-Strike wasn’t concerned with creating fantastical weaponry from the future. Counter-Strike was grounded in reality. Military counter terrorist forces seek to undermine an opposing terrorist team. Each side has their own objectives and weapon sets, and the in-game economy can swing the battle wildly at the start of each new round. What began as a fun project for a couple of college kids went on to become one of the most influential multiplayer games ever, and after twenty years it’s still leaving the competition in the de_dust(2).
Even if you’ve never camped with an AWP, the story of Counter-Strike is a story of an open platform that invited creative modifications and community-driven development. Not only is Counter-Strike an amazing game, it’s an amazing story.
Continue reading “Counter-Strike At 20: Two Hackers Upend The Gaming Industry”
In first-person games, an effective way to heighten immersion is to give the player a sense of impact and force by figuratively shaking the camera. That’s a tried and true practice for FPS games played on a monitor, but to [Zulubo]’s knowledge, no one has implemented traditional screen shake in a VR title because it would be a sure way to trigger motion sickness. Unsatisfied with that limitation, some clever experimentation led [Zulubo] to a method of doing screen shake in VR that doesn’t cause any of the usual problems.
Screen shake doesn’t translate well to VR because the traditional method is to shake the player’s entire view. This works fine when viewed on a monitor, but in VR the brain interprets the visual cue as evidence that one’s head and eyeballs are physically shaking while the vestibular system is reporting nothing of the sort. This kind of sensory mismatch leads to motion sickness in most people.
The key to getting the essence of a screen shake without any of the motion sickness baggage turned out to be a mix of two things. First, the shake is restricted to peripheral vision only. Second, it is restricted to an “in and out” motion, with no tilting or twisting. The result is a conveyance of concussion and impact that doesn’t rely on shaking the player’s view, at least not in a way that leads to motion sickness. It’s the product of some clever experimentation to solve a problem, and freely downloadable for use by anyone who may be interested.
Speaking of fooling one’s senses in VR environments, here is a fascinating method of simulating zero gravity: waterproof the VR headset and go underwater.
Solar Freakin’ Roadways! There’s been a lot of talk about how solar freakin’ roadways are an ill-conceived idea, and now [Dave Jones] is weighing in on the subject. Highlights include a quarter of the solar power generated being used to light the LEDs that form the lane markers, something that could easily be accomplished with paint. Oh, the solar freakin’ roadway campaign is over. Just over $2.2 million, if you’re wondering.
The Game Boy Micro is the best way to play GBA games, but finding one for a reasonable price just isn’t going to happen. [John Sparks] is making his own Macro Micros by casemodding a DS Lite.On the subject of Game Boy mods, [koji-Kendo] is improving the common frontlight Game Boy Color mod with optically clear UV curing glue. Without glue on the left, with glue on the right.
Need to label a panel with the function of all your switches and dials? Yeah, you could drop the panel into an engraver, till the engraved letters with enamel, or do some electroetching. You can also buy a pack or rub-on letters, available in any Michaels, Hobby Lobby, or the like.
MSI Afterburner is a utility that allows you to play with settings and monitor performance on MSI graphics cards. [Stephen] made a little device for MSI Afterburner that displays the current FPS and GPU load on an external LCD. Handy, seeing as how FPS and GPU load is the one thing you’ll want to know when you’re gaming fullscreen.
Realtime cloudmaps of the Earth. Using reasonably recent images take from five geostationary satellites, you can stitch together a real-time cloud map of the entire Earth. Here’s the software to do it. Now all you need is a projector and pair of frosted acrylic hemispheres, and you have a real-time globe.
Say you have a Kickstarter in the works, and you’re trying to figure out all the ways to get some buzz from the Internet public.. Here’s how you get it to the front page of hackaday.io using a bit of Perl. “So far, this page has been updated 02578 times.”
From this still image you’d think the hose dispensing the water is being moved back and forth. But watch the video after the break and you’ll see the hose is quite steady, as is the standing wave of water. It’s bizarre to be sure. Knowing how it works makes cognitive sense, but doesn’t really diminish the novelty of the demonstration.
This is the second time [Brasspup] has posted a video of this phenomenon. The newest version does a great job of showing several different patterns. But even the first segment from a year ago, which has over 4 million hits, shows the water moving against gravity. We also saw a similar rig in a links post a year ago.
We’d call it an optical illusion but it’s really more of a technological illusion. The water is falling past a sub-woofer speaker which is tuned to 24 Hz. At the same time, the camera filming the demonstration is capturing 24 frames per second. As was mentioned then, it’s much like flashing a light to freeze the water in mid-air. But the flashing of the frames is what causes this effect.
Continue reading “Camera Trick Lets You See Sound Waves In Falling Water”