Original Game Boy Gets Display “Upgrade”

Before LCD and LED screens were ubiquitous, there was a time when the cathode ray tube (CRT) was essentially the only game in town. Even into the early 2000s, CRTs were everywhere and continuously getting upgrades, with the last consumer displays even having a semi-flat option. Their size and weight was still a major problem, though, but for a long time they were cutting edge. Wanting to go back to this time with their original Game Boy, [James Channel] went about replacing their Game Boy screen with a CRT.

The CRT itself is salvaged from an old video conferencing system and while it’s never been used before, it wasn’t recently made. To get the proper video inputs for this old display, the Game Boy needed to be converted to LCD first, as some of these modules have video output that can be fed to other displays. Providing the display with power was another challenge, requiring a separate boost converter to get 12V from the Game Boy’s 6V supply. After getting everything wired up a few adjustments needed to be made, and with that the CRT is up and running.

Unfortunately, there was a major speed bump in this process when [James Channel]’s method of automatically switching the display to the CRT let the magic smoke out of the Game Boy’s processor. But he was able to grab a replacement CPU from a Super Game Boy, hack together a case, and fix the problem with the automatic video switcher. Everything now is in working order for a near-perfect retro display upgrade. If you’d like to do this without harming any original hardware, we’ve seen a similar build based on the ESP32 instead.

Continue reading “Original Game Boy Gets Display “Upgrade””

Robot Arm Gives Kids The Roller Coaster Ride Of Their Lives

Unfortunately, [Dave Niewinski]’s kids are still too little to go on a real roller coaster. But they’re certainly big enough to be tossed around by this giant robot arm roller coaster simulator.

As to the question of why [Dave] has a Kuka KR 150 robot in his house, we prefer to leave that unasked and move forward. And apparently, this isn’t his first attempt at using the industrial robot as a motion simulator. That attempt revealed a few structural problems with the attachment between the rider’s chair and the robot’s wrist. After redesigning the frame with stouter metal and adding a small form-factor gaming PC and a curved monitor in front of the seat, [Dave] was ready to figure out how to make the arm simulate the motions of a roller coaster.

Now, if you ever thought the world would be a better place if only we had a roller coaster database complete with 4k 60 fps video captured from real coasters, you’re in luck. CoasterStats not only exists, but it also includes six-axis accelerometer data from real rides of coasters across Europe. That gave [Dave] the raw data he needed, but getting it translated into robot motions that simulate the feeling of the ride was a bit tricky. [Dave] goes into the physics of it all in the video below, but suffice it to say that the result is pretty cool.

More after the break.

Continue reading “Robot Arm Gives Kids The Roller Coaster Ride Of Their Lives”

Docker-Powered Remote Gaming With Games On Whales

Cloud gaming services allow even relatively meager devices like set top boxes and cheap Chromebooks play the latest and greatest titles. It’s not perfect of course — latency is the number one issue as the player’s controller inputs need to be sent out to the server —  but if you’ve got a fast enough connection it’s better than nothing. Interested in experimenting with the tech on your own terms? The open source Games on Whales project is here to make that a reality.

As you might have guessed from the name, Games on Whales uses Linux and Docker as core components in its remote gaming system. With the software installed on a headless server, multiple users can create virtual desktop environments on the same machine, with each spawning as a separate process on the host computer. This means that all of the hardware of the host can be shared without needing to do anything complicated like setting up GPU pass-through. The main Docker container can spin up more containers as needed.

Of course there will obviously be limits to what any given hardware configuration will be able to support in terms of number of concurrent users and the demands of each stream. But for someone who wants to host a server for their friends or something even simpler like not having to put a powerful gaming PC in the living room, this is a real game-changer. For those not up to speed on Docker yet, we recently featured a guide on getting started with this powerful tool since it does take some practice to wrap one’s mind around at first.

How Additional Aerodynamic Drag Helped Make GTA III Work On PS2

The PlayStation 2 was a revelation when it hit the market in 2000, and yet by modern standards, it’s almost hopelessly weak. In fact, it’s so under-powered, Rockstar developers had to pull every trick in the book to make Grand Theft Auto III even work on the platform.

The story comes to us from developer [Obbe Vermeij]. He explains that the PlayStation 2 couldn’t keep the entire open-world game map in its tiny 32 MB of RAM. Instead, models had to be streamed from the DVD drive as the player moved around the world. However, even the DVD drive wasn’t fast enough. If the player moved too quickly, they would outpace the system’s ability to load new assets, and the world would fall apart. Roads would vanish, buildings simply wouldn’t appear before the player passed by them.

According to [Obbe], getting around this challenge was the job of one [Adam Fowler]. He notes that even optimizing the layout of data on the DVD wasn’t enough to help. Nifty hacks had to be employed to slow the player down. Road networks were changed to stop the player speeding towards areas that needed lots of new models. In other areas, vehicles in the game would experience a nearly-imperceptible 5% increase in air drag to dull their speed. This was chosen as a more invisible solution; cutting engine power directly was audible to players as the audio changed.

It shows you just how hard developers had to work back when resources were far more constrained than they are today!

Upgrading PC Cooling With Software

As computing power increases with each new iteration of processors, actual power consumption tends to increase as well. All that waste heat has to go somewhere, and while plenty of us are content to add fans and heat sinks for a passable air-cooled system there are others who prefer a liquid cooling solution of some sort. [Cal] uses a liquid cooler on his system, but when he upgraded his AMD chip to one with double the number of cores he noticed the cooling fans on the radiator were ramping quickly and often. To solve this problem he turned to Python instead of building a new cooling system.

The reason for the rapid and frequent fan cycling was that the only trigger for the cooling fans available on his particular motherboard is CPU temperature. For an air cooled system this might be fine, but a water cooled system with much more thermal mass should be better able to absorb these quick changes in CPU temperature without constantly adjusting fan speed. Using a python script set up to run as a systemd service, the control loop monitors not only the CPU temperature but also the case temperature and the temperature of the coolant, and then preferentially tries to dump heat from the CPU into the thermal mass of the water cooler before much ramping of cooling fans happens.

An additional improvement here is that the fans can run at a much lower speed, reducing dust in the computer case and also reducing noise compared to before the optimizations. The computer now reportedly runs almost silently unless it has been under load for several minutes. The script is specific to this setup but easily could be modified for other computers using liquid cooling, and using Grafana to monitor the changes can easily be done as [Cal] also demonstrates when calibrating and testing the system. On the other hand, if you prefer a more flashy cooling system as a living room centerpiece, we have you covered there as well.

Swapping Nunchucks For A Steering Wheel

Rather than chasing pure performance and high quality graphics like other gaming companies, Nintendo has made a name for themselves over the last few decades by favoring not only artistic design and gameplay, but the physical design of the game systems. Of course the hybrid handheld Switch console is among these, but it also includes things like the novel design of the Nintendo 64 controller and, of course, the Wii nunchuck controllers. They’re not always met with resounding approval, though. Some of us tend to prefer more traditional gamepad design, and will go to extreme lengths to get it like this D-pad for playing Mario Kart Wii.

Rather than simply building a compatible controller for the Wii, or even using a GameCube controller, this controller setup takes a more roundabout approach. A Wiimote is placed in a holster built from Lego, and the game is set up to recognize it as if it were being used in its steering wheel mode. The Lego holster has a servo attached which can tilt the Wiimote from side to side, mimicking a player holding it to play the game, with another set of servos set up to press the various buttons. To control the controller, a homebrew D-pad built on perfboard with an Arduino at its core is used to send commands to the servos, allowing for a more standard controller layout to be used for the classic kart racing game than the steering wheel Wiimote allows.

While it’s quite obvious that there are simpler, easier solutions that avoid the sometimes awkward nature of using Wiimotes, we certainly appreciate the Rube Goldberg-like approach to setting up your gaming experience exactly the way you like. Whether that’s setting up an antique CRT effect for the authentic retro gaming experience or building a complete racing simulator from scratch, the gaming experience is ripe for personalization and unique builds like this one.

Continue reading “Swapping Nunchucks For A Steering Wheel”

Hilarious Security Flaw In Counter Strike 2 Is Now Patched

Normally, when we talk about video games having bugs, it’s some kind of item duplication glitch or a hilarious failure in the jacket equip code of some tedious first-person-shooter online wardrobe simulator. Counter-Strike 2 has had a more embarrassing faux-pas, however, with a security hole allowing bad actors to theoretically capture the IPs of their fellow players in a server. You won’t believe how this came to happen.

The exploit has already been making its way around the forums, with one [Crouch9706] raising the alarm. It’s all down to the way Counter-Strike 2 renders the names that players have entered in their Steam gaming profiles. In certain menus and other parts of the UI, the game will actually parse HTML in a player’s name. Typically, the way to trigger it is to join a game and vote to kick yourself. This brings up a dialog for other players that shows them your player name and parses the HTML. The only limitation is you only get 32 characters for your HTML.

There’s a nifty little extra trick to this, though, in that you can use this technique to snag another player’s IP. By putting in HTML that links to your own server, you can log any player IPs that connect to the server seeking an image, for example.

Of course, it’s not the biggest risk, with many players being behind ISPs that use CGNAT, making the harvested IPs rather useless. However, this sort of unexpected code injection is really not acceptable from a security standpoint. At the very least, it has the potential to expose players to nasty imagery.

Word on the street (Nitter) is that the exploit has now been patched. Meanwhile, if you’re working on a game that for some mad reason, executes code based on player names or any other such data, consider patching your work ASAP. If you find similar exploits in the wild, don’t hesitate to hit up our tipsline—and notify the developers, too!