Browsed by
Category: Technical

Lightguns for LCDs

Lightguns for LCDs

We’ve all seen old standup arcade games that used guns – like one of the iterations of House of the Dead or VirtuaCop. At home, who didn’t play Duck Hunt on the NES?

Unfortunately, if you try those games today – they don’t work. The mechanisms they relied on only worked on old tube-type CRTs. People have tried to make alternative mechanisms – but they relied on having to attach messy sensor or light bars around the screen. Using mechanisms like sensor bars also means you must stay in the exact same spot or re-calibrate – something that is very annoying during a long gaming session. What to do?

Andrew Sinden decided to tackle the project and came up with a brilliantly simple solution. Simply render/detect the square around the border of the game being played determine your location from that rectangle. That input is converted to mouse input/direction and voila. It works on any size display, doesn’t need recalibration, and allows for multiple players. Andrew Sinden shows off how he developed it here:

He started an IndieGoGo project, and ended up raising a whopping $4.6 million of the desired $300,000 goal.

His startup project is now a full-fledged product and he sells them over at SindenShop. They make 2 guns: with and without recoil. They run about $170/$115 respectively and come in blue, red, black, and grey if you want different guns for different numbers of players. They also now make arcade-style foot pedals for games that use those.

Putting spell check in 64k of RAM

Putting spell check in 64k of RAM

Abhinav Upadhyay walks us through a wonderful bit of computer history. He talks about how Steve Johnson at AT&T wrote one of the first spell checkers. His method could encode a word in just 14 bits of memory; so a dictionary with 30,000 entries would take up a fraction under 52 kB. This is even better compression than gzip – and it can perform fast lookups.

Once the dictionary grew to 30,000 words, the Bloom filter approach became impractical. Douglas McIlroy’s solution was to store differences between sorted hash codes , after discovering these differences followed a geometric distribution. These followed a distribution that could be easily run length encoded with something called Golomb’s code.

It’s a fantastic examination of applied computer science. Definitely worth a read

Articles:

What the demo Scene teaches us

What the demo Scene teaches us

Plastic 195/95 is a 20mb demo made by a demo team on their picoEngine v2.1b in 2009

Not to be outdone, RGBA 195/95 is the same demo – done in 64k

These were shared in a presentation on lessons learned from Demo Scene coding:

Re-creating PS1 graphics with modern hardware

Re-creating PS1 graphics with modern hardware

Acerola has a bunch of great graphics videos. In this one, he talks about why PS1 graphics looked the way it did.

I learned that PS1 actually had realtime camera distance tessellation – something that wasn’t available to desktop GPUs until the introduction of tessellation shaders.