Building a multiplayer network game with multiple Raspberry Pis can be very difficult. Doing it in assembly is outright insane! This is exactly what a group of first year students at Imperial College London did; they created a network based multiplayer Tetris game for the Raspberry Pi.
[Han], [Piotr], [Michal], and [Utsav] have created this entire game from bare metal assembly, and it only consists of 4000 lines of code! The code is well documented, so be sure to look through their Github repository. This project is a great reference for those looking to learn bare metal assembly and networking. They even chose to use the old NES controllers, a very nice touch. While we have featured what seems like a million different Tetris games in the past, this is the first multiplayer version. See Tetris Duel in action in the video after the break!
This is a shout-out to all of you students out there. Take the time to create quality documentation for your class project, and upload it to the internet. Not only is it a great resume boost, but it could very well end up on Hackaday!
Continue reading “Tetris Duel with the Raspberry Pi”
Have engineers stopped putting Easter eggs into technology lately? It’s always been a fun way to connect with your more advanced customer base (i.e. hackers) — anyway, here’s a great Easter egg you can find on the Hewlett Packard 54600B Oscilloscop — Tetris!
[RaffttaM] discovered this trick when a coworker let him know that one of the oscilloscopes in the lab had the hidden feature. A little fiddling later and a game of Tetris was revealed. If you press the Print/Utility button on the 54600B oscilloscope, followed by pressing the second and third button below the screen at the same time, you can launch the game!
Another cool embedded Easter egg is in the Game Boy Printer — If you hold the feed button during power up it spits out a Mario themed image! One of our readers even managed to hack the printer to show the Hack a Day Logo instead!
Do you know of any more modern tech with cool (and sneaky!) Easter eggs? Let us know by sending in a tip!
[Eduardo Zola] has been playing around with Arduinos, and ever since he started, he wanted to try making a game. Having fond memories of playing Tetris back on Windows 3.1, he decided to try giving a handheld version of it a shot.
He started with two 8×8 Neopixel Matrices due to their simplicity — not to mention the massive library of code available! To make it truly portable, he’s also included a 3.7v 4400mAh lithium ion battery which will keep him gaming for hours. He found a 5-way navigation switch on eBay which makes up the joystick. A small LED bar display tells you what level you’re on, and he’s even included a smaller speaker for music, and a vibrating motor for successfully completed lines in the game!
He borrowed the Tetris algorithm (and added some improvements) from the source code by [Valentin Ivanov], who completed a similar project last fall. Stick around to see a demonstration video of it in action.
Continue reading “Handheld Tetris is Retro and We Love It”
[Sam] just finished off this awesome 6 foot tall Tetris game using National Instruments myRIO with FPGA.
The build makes use of a 10 x 20 grid of RGB LEDs controlled by the myRIO. It’s played by using a web interface on any device, as long as you have WebSockets support. [Sam] had originally built it using an Arduino at the heart, but wanted a stand-alone device to do everything — no extra computer or Raspberry Pi for the web interface. That’s when he discovered the myRIO — it’s a pretty cool piece of hardware that we haven’t seen too much of yet, other than the recent Picasso with a Paintball gun project…
Don’t forget to watch the following video to see the game in action!
Continue reading “Giant Tetris Adds some Retro to your Room”
Check out this sweet-piece of homemade handheld gaming! [Jianan Li] has been hard at work on the project and published the updates in two parts, one that shows off the PCB he had fabbed for the project, and another which details the 3D printed case. This is, of course, is the culmination of the Tetris project we first saw as an incredbily packed, yet thouroughly tidy breadboarded circuit.
We really enjoy the 8-sided PCB design which hosts all the parts and gives you a place to hold and control the unit, all without seeming to waste much real estate. The case itself is quite impressive. The openings for the square-pixel LED matrices (the original design had round pixels) and the bar graphs all have nice bevel features around them. The control area has a pleasant swooping cutout, with blue buttons which stand out nicely against the red. Check out the slider switch by his left thumb. He printed matching covers for this slider, and the two that stick out the bottom. Also on the bottom are female pin headers so that you don’t need to disassemble the case to interface with the electronics.
All of this and more are shown off in the clip after the break.
Continue reading “Update: Tetris Handheld Get PCB and Case”
Back in 1989, Nintendo released Tetris for the NES. This detailed article first explains the mechanics of how Tetris works, then builds an AI to play the game.
To understand the mechanics of the game, the ROM source was explored. Since the NES was based of the MOS 6502 microprocessor, this involves looking at the 6502 assembly. The article details how the blocks (called Tetriminos) are created and how they move across the screen. The linear feedback shift register used for random number generation is examined. Even details of the legal screen and demo mode are explained.
After the tour through how Tetris works, an algorithm for the AI is presented. This AI is implemented in Lua inside of the FCEUX NES/Famicom emulator. It works by evaluating all of the possible places to put each new Tetrimino, and choosing the best based on a number of criteria. The weighting for each criterion was determined by using a particle swarm optimization.
The source for both the Lua version and a Java version of the code is available with the article. Everything you need to run the AI is available for free, except the Tetris ROM. If you’re interested in how 8 bit games were built, this dissection is a great read.
[Vince] teaches an Embedded Systems class at the University of Maine, and some of his students were working on video games for their finals. He decided to “test the hardware” that the students were using by putting two 8×8 displays, one 4×7 segment display, and a Wii Nunchuck on the I2C bus. He then wrote a version of Tetris that accepts trigger presses and accelerometer input for control. Judging by the video (embedded after the break), the Raspberry Pi runs the game without issue. The bus is, of course, more than capable of handling everything.
Unfortunately, [Vincent] had some trouble getting the controls just right. Sometimes dropping a piece can cause the next to drop too quickly, and the accelerometer control seems a bit too sensitive. We imagine using the joystick for rotation and adding some strategic pauses in the game could help. He graciously released the source code for the project, so maybe we’ll see some embracing and extending in the near future.
Continue reading “Wii Nunchuck-Controlled Tetris on a Raspberry Pi”