jrx Posted August 21, 2023 Posted August 21, 2023 (edited) Today I would like to introduce you to my latest MOC: The PortaBrick Arcade. It is a fully functional mobile arcade game console built entirely out of LEGO®. The PortaBrick Arcade consists of 432 parts and weighs about 520 grams including the battery. The software is based on the @Pybricks project. Quite unlike any other game console currently on the market from the Danish bricks, the PortaBrick Arcade is 100% functional. The whole thing came out of a university project and was supposed to be just a small demonstrator for driver development and as a tool to brush up my Python skills. But as it is sometimes, things turned out differently. So I had a lot of fun writing games for the demonstrator. Thus, it was quickly decided that I would build a nice case around the naked basic framework. And with this then complete game console the first "test persons" played, were quite excited and so it came that I threw all original plans overboard and concentrated completely on the game console. The result is now the PortaBrick Arcade. I created the console in Python/MicroPython. As software I had to resort to the source-open framework Pybricks, because LEGO software only recently started to support programming in Python again. If everything works out, I will (eventually) port the program code to the LEGO platform (LEGO Spike App). The heart of the PortaBrick Arcade is the Spike Prime Hub (nearly identical to the Mindstorms Hub from set 51515). The game console has two displays: Below a monochrome one with a resolution of 5x5 pixels. The upper display can show colors and has a resolution of 6x6 pixels. This upper display is also one of the special features of the MOC. It is composed of four single modules of the Spike ColorLightMatrix. For this I had to write my own driver to be able to control all four displays as one. When the first game ran, it quickly became apparent that the whole thing was nice, but poorly usable. While playing, it became evident that input via the two buttons was poorly recognized. The program's flow is to blame for this. All instructions are processed one after the other. And so that a human being can recognize and play something at all, I worked with a short pause in the program flow. Problem: During the pause and during the instructions, which have nothing to do with the input, no input is accepted. So I needed something like concurrent programming or a way to process instructions in parallel (called multi-threading). However, Micropython does not support this out of the box and the used framework Pybricks does not support it at all. I found the solution in the concept of so-called generators. If you want to read more about this, you can visit my blog. Enough of the technology, on to the content: Currently, the game console runs two games. One is the Nokia classic Snake, and the other is Pong, one of the arcade veterans of all time. Both are currently solo player games. If there should ever be a second console like this (who will have the heart to build the second one??), then Pong can be switched to multiplayer. Two players, double the fun! Also part of the project was a "Pixel Art Painter", a small application that allows you to paint pixel images for the PortaBrick Arcade and then transfer them to the program code. The source code of the whole project is available on Github for anyone interested. If you have any questions about the project, just ask! Otherwise I'm looking forward to your feedback. P.S. If you like the project, feel free to support me on LEGO Ideas. There I have posted the PortaBrick Arcade as a project and keep my fingers crossed. To all who support me and to those who supported me right after the start, thank you very much! Edited October 8, 2024 by jrx Quote
2GodBDGlory Posted August 21, 2023 Posted August 21, 2023 That's an impressive project, and nice presentation! Do you have a video of it playing? Quote
Davidz90 Posted August 21, 2023 Posted August 21, 2023 Very unique and impressive! 5 minutes ago, 2GodBDGlory said: Do you have a video of it playing? Lego Ideas page has a video. Quote
jrx Posted August 21, 2023 Author Posted August 21, 2023 (edited) 3 hours ago, 2GodBDGlory said: That's an impressive project, and nice presentation! Do you have a video of it playing? The pics showing "P" and "S" are videos hosted at flickr. Or as @Davidz90 mentioned you'll see them at the ideas page. In a few days a more technical video will come where I share more insights. Edited August 21, 2023 by jrx Quote
Mr Jos Posted August 21, 2023 Posted August 21, 2023 (edited) Cool project, but I think it would have been better on Rebrickable to have people enjoy it. As I think it will make no chance on ideas, basically just a prime hub with extra parts. People already having these hubs might have remade it, don't think anyone not having the hub yet will buy a 400€+ ideas set. Is it still 2 years of waiting before allowed to publish on other sites once you have submitted to Ideas? It's like the Johhny5 build, it was doing really good on Rebrickable, but had to be pulled from RB as it was on Ideas submitted. As it was to close to an already existing set, and had lots of electronics it made no chance to become a set. 2 years people asking for the instructions to be back on RB, and now it is, and still popular. I think for all MOC's using hubs it's best to just submit online instructions. People already owning 1 or more of them will buy the extra needed parts if interested in the model. Edited August 21, 2023 by Mr Jos Quote
jrx Posted August 21, 2023 Author Posted August 21, 2023 3 hours ago, vascolp said: Pretty cool indeed! Thx a lot! 2 hours ago, Mr Jos said: Cool project, but I think it would have been better on Rebrickable to have people enjoy it. I thought hard and long about it. Point is that the ColorLightMatrix modules are really expensive. Can't imagine that someone will buy them for more than a hundred bucks. The hub is not the point. 2 hours ago, Mr Jos said: Is it still 2 years of waiting before allowed to publish on other sites once you have submitted to Ideas? We'll see. In my opinion it's maybe a set that's more appealing to young users than robots. It's computer gaming – with opportunity to create your own games with ease. That's a novelty in the LEGO universe for now. Quote
howitzer Posted August 21, 2023 Posted August 21, 2023 Nice work! Too bad there's no chance it would ever get released as an official Ideas set - no Technic entry has ever been accepted and this is a lot more niche than other Technic Ideas entries. It reminds me of another gaming console made out of Lego which I stumbled upon a while ago: Quote
jrx Posted August 21, 2023 Author Posted August 21, 2023 Hey @howitzer, thx for the video! That machine is incredible! And the soundtrack is nice too :) Quote
Mikdun Posted August 22, 2023 Posted August 22, 2023 Incredible project. This made my jaw drop. ;-) Quote
jrx Posted August 24, 2023 Author Posted August 24, 2023 Thanks a lot @Mikdun! Update on project: Yesterday I made a major update to the codebase. Most important change: From now on more than the first two games are supported. -> https://github.com/lc-jrx/PortaBrick_Arcade Besides this I'm really happy that the project reached the first milestone on LEGO Ideas. I would like to thank everyone who cast their vote. Quote
jrx Posted October 15, 2023 Author Posted October 15, 2023 On 10/3/2023 at 12:06 AM, ellencarnallajya99 said: The idea sounds exciting and innovative. This can be a great project for learning and developing skills in programming, engineering and design. So I'll be looking forward... Thank you very much. And yes, the learning aspect is part my the idea :) Unfortunately the counter is rising only very very slowly :/ Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.