Book Teaches Gaming Math

If we knew how much math goes into writing a video game, we might have paid more attention in math class. If you need a refresher, [Fletcher Dunn] and [Ian Parbery] have their book “3D Math Primer for Graphics and Game Development” available free online. The book was originally a paper book from 2011 with a 2002 first edition but those are out of print now. However, math is math, so regardless of the age of the book, it is worth a look. For now, the online version is a bunch of web pages, but we hear a PDF or E-reader version is forthcoming.

There’s quite a bit of discussion about vectors, matrices, linear transformations, and 3D graphics. The last part of the book covers calculus, kinematics, and parametric curves. Some of these topics will be of interest even if you don’t care about graphics but do want to learn some math with practical examples.

Continue reading “Book Teaches Gaming Math”

Assistive Tech And Video Games

Assistive technologies have a pretty big presence here on Hackaday, and this hack is nothing short of interesting. [kerchoo_22] is working on a hands-free video game controller as a final project for her engineering class and we think it’s worth sharing.

The basic premise of the circuit is pretty simple. She DIY’d a few contact switches using conductive plates made of cardboard, duct tape, and aluminum foil. The output of the switch is read by analog input pins on an Arduino Leonardo. When the switches are off, the analog input pins are pulled HIGH using 1 MegaOhm resistors. But when the user hits their head on one of the four conductive pads, the switch is engaged, and the analog input pins are shorted to ground.

The Arduino Leonardo, having a native USB port, is able to directly emulate a keyboard. Each conductive pad is mapped to a different key press corresponding to different functions within the game. Left, right, shoot, etc. And there you have it, gameplay without using hands or a controller!

Now, it seems as though [kerchoo_22] put an appropriate amount of cushion on the head pads, so there probably isn’t much danger of a concussion. Either way, you can never be too careful.

My Major Is Gaming…

Times have changed. You can now take a university class in writing games. In fact, YOU can now take a university class about writing games because [Dave Churchill] of Memorial University has put all 22 of his lectures up for your enjoyment. [Dr. Churchill] isn’t planning on releasing the assignment files, but you can still get a lot from watching the videos. Apparently, the classes were also live streamed on Twitch.

The games build on SFML so the resulting games can be portable. The library abstracts input, graphics, sound, and networking.

Continue reading “My Major Is Gaming…”

Fixing A Broken Game Installer By Sheer Force Of Will

These days, we seldom purchase games on physical media. Even when buying titles from yesteryear, we usually download them from an online service. Some of these older games haven’t been properly ported to their new delivery platform, as [Slortibort] found out. Thus, it was time to dive into the game files and sort the problem out.

The game in question was the Hammers of Fate expansion pack for the base game Heroes of Might and Magic V. [Slortibort’s] partner bought it from Ubisoft, and ran the installer. However, the installer would report that it couldn’t find the original files from the base game, and fail to start.

Fixing the issue was no mean feat, requiring use of the Sexy Installshield Decompiler to dive into the guts of the installer to see what was going wrong. In the end, it came down to some registry key shenanigans, but the route of how [Slortibort] got there is well worth the read.

It’s a fine example of some of the issues around moving games to digital distribution; proper attention must be paid to do it right. Even then, there’s always the risk you’ll lose your games down the track. There are benefits, of course, but there’s always a tradeoff to be made.

A Look Back On A Decade Of Kerbal Space Program

Just a few weeks before Atlantis embarked on the final flight of the Space Shuttle program in 2011, a small Mexican company by the name of Squad quietly released Kerbal Space Program (KSP) onto an unsuspecting world. Until that point the company had only developed websites and multi-media installations. Kerbal wasn’t even an official company initiative, it started as a side project by one of their employees, Felipe Falanghe. The sandbox game allowed players to cobble together rockets from an inventory of modular components and attempt to put them into orbit around the planet Kerbin. It was immediately addictive.

There was no story to follow, or enemies to battle. The closest thing to a score counter was the altimeter that showed how far your craft was above the planet’s surface, and the only way to “win” was to put its little green occupant, the titular Kerbal, back on the ground in one piece. The game’s challenge came not from puzzles or scripted events, but from the game’s accurate (if slightly simplified) application of orbital mechanics and Newtonian dynamics. Building a rocket and getting it into orbit in KSP isn’t difficult because the developers baked some arbitrary limitations into their virtual world; the game is hard for the same reasons putting a rocket into orbit around the Earth is hard.

One of my early rockets, circa 2013.

Over the years official updates added new components for players to build with and planets to explore, and an incredible array of community developed add-ons and modifications expanded the scope of the game even further. KSP would go on to be played by millions, and seeing a valuable opportunity to connect with future engineers, both NASA and the ESA helped develop expansions for the game that allowed players to recreate their real-world vehicles and missions.

But now after a decade of continuous development, with ports to multiple operating systems and game consoles, Squad is bringing this chapter of the KSP adventure to a close. To celebrate the game’s 10th anniversary on June 24th, they released “On Final Approach”, the game’s last official update. Attention will now be focused on the game’s ambitious sequel, which will expand the basic formula with the addition of interstellar travel and planetary colonies, currently slated for release in 2022.

Of course, this isn’t the end. Millions of “classic” KSP players will still be slinging their Kerbals into Hohmann transfer orbits for years to come, and the talented community of mod developers will undoubtedly help keep the game fresh with unofficial updates. But the end of official support is a major turning point, and it seems a perfect time to reminisce on the impact this revolutionary game has had on the engineering and space communities.

Continue reading “A Look Back On A Decade Of Kerbal Space Program

Pi Pico Project Plays Pong Perfectly

Even as technology keeps progressing, we find ourselves coming back to the classics again and again. Pong is quite possibly the classic game, and the Raspberry Pi Pico is one of the latest microcontrollers. So [Nick Bild] combined them expertly in his Pico Pong project, which includes gesture controls and a custom VGA output.

Rolling your own VGA signal is no simple feat, and this project takes full advantage of the Pico’s features to pull it off. Display data is buffered in memory, while a Programmable I/O (PIO) program reads straight from the buffer via Direct Memory Access (DMA) and writes straight to the display. This allows for nanosecond-precision while leaving the CPU free to handle inputs and run the game. Even with the display work offloaded, the ARM processor had to be massively overclocked at 258 MHz, well over its 133 MHz specs, to make things run smoothly. And still [Nick] found himself limited to a 640×350 resolution and serendipitously-retro-accurate monochrome color scheme.

Gesture controls come from a pair of IR light beams hooked up to the GPIO. IR LEDs shine up toward reflectors, and the light bounces back down to detectors. Blocking one of the beams causes your paddle to move up or down, which looks pretty responsive in the video (embedded below).

We’ve seen [Nick] play Pong before, though at that time it was handheld and based on the venerable 6502. And just recently we wrote about the Raspberry Pi Pico powering another classic game: Snake.

Continue reading “Pi Pico Project Plays Pong Perfectly”

Solid Oak Arcade Cabinet: When Particle Board Won’t Do

Having an arcade cabinet of one’s own is a common dream among those who grew up during the video game arcade heyday of the 80s and early 90s. It’s a fairly common build that doesn’t take too much specialized knowledge to build. This cabinet, on the other hand, pulled out all of the stops for the cabinet itself, demonstrating an impressive level of woodworking expertise.

The cabinet enclosure is made with red oak boards, which the creator [Obstreperuss] sawed and planed and then glued together to create the various panels (more details are available on his Imgur album). The Mario artwork on the sides and front aren’t just vinyl stickers, either. He used various hardwoods cut into small squares to create pixel art inlays in the oak faces. After the fancy woodwork was completed, the build was finished out with some USB arcade controllers, a flat-panel screen, and a Raspberry Pi to run the games.

While the internals are pretty standard, we have to commend the incredible quality of the woodworking. It’s an impressive homage to classic arcade machines and we wouldn’t mind a similar one in our own homes. If you’re lacking the woodworking equipment, though, it’s possible to get a refined (yet smaller) arcade cabinet for yourself with a 3D printer instead.

Continue reading “Solid Oak Arcade Cabinet: When Particle Board Won’t Do”