Gameduino Project Aims To Game-ify the Arduino 83
beckman101 writes "Gameduino is a DIY game platform built on a shield for the Arduino. It's open source hardware (BSD and, for the code, GPL). Okay, that's fairly cool. But what makes this project special is that this inexpensive board has hardware that's capable enough to be interesting. The result is a lo-fi game console built on an FPGA that gives you retro graphics without being, you know, too retro. Games actually look good."
Minecraft (Score:3, Interesting)
Re: (Score:2)
I'm pretty sure that adding occlusion culling would increase the size of MC's codebase, not decrease it. The issue isn't that MC has too many lines, it's that certain useful technical tricks are missing.
Occlusion culling (Score:2)
The world of minecraft has a basic geometry (a huge 3D grid of cubic blocks) that makes occlusion culling almost trivial, given that the engine is re-adapted to that.
See Cube and Sauerbraten, for engines which were written with occlusion culling in mind from the ground up, and which support way much more complicated geometry at quite impressive framerates.
The problem is that the minecraft engine was probably written in a completely different way and adding this feature would require a complete rewrite of th
Re: (Score:3)
is that the same as minesweeper? :)
Re: (Score:1)
No. Minecraft is a completely different game. See http://www.minecraft.net/ [minecraft.net]
-- hendrik
Re: (Score:2)
It's completely useless for 3D (sprites and scrolling only!)
Re: (Score:2)
Since the display is actually 2D, the camera's view of the 3D scene could be represented as a collection of sprites generated from the surfaces of the 3D polygons by the perspective-appropriate transformation...
Given the relatively low ceiling on number of sprites, and the fairly limited RAM and computational capacity of the arduino, you might well have real trouble getting good 3D; but I can
Re: (Score:3)
It's not the graphics output speed that would be the limiting factor, it would be calculation of the actual 3D scenes. I expect even running Wolfenstein would be pushing it to its limits. With the memory limitations you'd probably have to do with very very basic textures if any, and without an FPU it would be very slow to calculate the movement and rotation of a lot of vertexes.
Re: (Score:2)
With storage being so cheap and capacious now,
Re: (Score:2)
Actually I saw a really interesting level for LittleBigPlanet2 where the guy had hacked the 2D gameworld into a very basic FPS that drew everything by painting sprites on the screen. You could only turn at 90 degree angles, everything rendered very slowly, so obviously not exactly the best gaming experience ever, but it was incredibly clever.
Re: (Score:2)
...like that arcade game XYbots from the early '90s. Later, after I learned about 3D graphics, I realized the origin of the name.
Re: (Score:2)
No, it's got less to do with the computing speed (you could use one of the pin-for-pin-compatible ARM boards) and more to do with the Gameduino not having an actual framebuffer.
Re: (Score:2)
Re: (Score:2)
I guess you *could* render a scene entirely on the host controller then upload it to sprite memory when it's ready - use the gameduino just as a frame buffer. It would be limited to a four color image though.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
It's fashionable with the people who think Legos are cool.
Re: (Score:2)
Re: (Score:2)
The trees don't have to be regenerated but rather updated. It's not that difficult with kd-trees. Surely, it's not optimal, but can give reasonable results.
New hardware supports occlusion testing on the GPU. There's a query method to test how many or if any fragments were actually drawn between the beginning of the query and its end. You can then hierarchically draw bounding boxes and only actually draw the geometry you want.
Check this [nvidia.com] out.
Not bad ! not bad !!! (Score:2)
this thing can actually develop into a more powerful gaming platform if people just concentrate on it.
and, its actually free !!
Re: (Score:2)
Hate to admit it but yes, this thing looks very cool. To an 80s game programmer (like me) it would have been a dream machine - four-way hardware scroll and a ton of sprites.
Re: (Score:2)
And, as a bonus, all data to/from the graphics engine is sipped through a SPI pipe. If you thought that old AGP 4x was slow, wait until you go through SPI.
Wait.... PCI-express is a serial protocol... SPI is a serial protocol. Doesn't that mean that they have the same performance ;-)
The CPU-PPU parallel port on the NES (Score:3)
Re: (Score:2)
I don't think bandwidth is an issue in this design. I mean, once the initial data is copied to the RAM on the gameduino, how much really has to change per frame for the average sprite based game with a scrolling background? If you're just scrolling horizontally, you only need to change less than 40 bytes for each 8 pixels moved, and updating the coordinates and character mappings for a few sprites isn't exactly a massive task, nor is checking for collisions as it's hardware based.
I think one thing that coul
Re: (Score:2)
this thing can actually develop into a more powerful gaming platform if people just concentrate on it.
I think the point is kinda that it's *not* powerful. It's about the right speed to natively run retro games.
:D
In a way it sorta reminds me of the Dingoo A320 [wikipedia.org]. I've got one of those, it's pretty awesome. What's not to love about Metal Slug 2 in your pocket?
Re: (Score:2)
Re: (Score:2)
if enough time and money was spent on it, they may have made it work well.
point is, there are many ways to expand a platform/technology. possibilities are as varied as one's imagination.
Re: (Score:2)
Re: (Score:2)
Is the Dingoo A320 powerful enough to run Neo-Geo games in native resolution with full audio at 30p/60i FPS?
Re: (Score:2)
Re: (Score:2)
YouTube is now completely useless. It keeps asking me to log into my account but I don't remember the password and it was created with a throw-away email account.
If I click "sign out", then try to click on your link to view the video, it remembers my username and ask me to login again.
The worst part? I deleted all YouTube cookies, so why does it remember me?
Re: (Score:2)
Ah, I see... had to delete all cookies which contained "Google". Next up: making YouTube completely useless by forcing WebM down our throats.
And even Slashdot buttons look like crap now...
Re: (Score:2)
Even worst, HTML5 playback doesn't work anymore. Good-bye YouTube, Google is officially the new Microsoft.
Re: (Score:2)
As for GooTube, try logging out of Gmail.
Re: (Score:2)
I don't have a GMail account.
Deleting both the YouTube and Google cookies worked. but their HTML5 playback in H.264 no longer works in Safari. Are they starting to sabotage H.264 support on YouTube to try and push WebM? Safari doesn't do WebM and I deleted Flash from my system. Vimeo works fine in HTML5, in fact better than YouTube (when it used to work, for the handful of videos that had HTML5 support to begin with).
Re: (Score:2)
If someone could port MAME to it (for at least most of the earliest 2D games) and they'll sell thousands instead of hundreds.
A coprocessor which runs FORTH? (Score:4, Funny)
The thing has a compressor with access to the video RAM which runs FORTH? I bet the guy who came up with that design has a beard....
Re: (Score:2)
"coprocessor"...
Not just for games (Score:5, Insightful)
Having video output from an arduino would be useful for all sorts of projects, not just games.
Re: (Score:2)
...also very true (but I have no mod points today).
400x300 isn't massive resolution but I bet there's a lot of uses for something like that in public information displays, or just showing debug info for your Arduino project.
Re: (Score:2)
It's an FPGA on there with verilog code available. Go grab the Xilinx WebPack (free, windows/linux), get a JTAG cable (I've seen Xilinx USB-clones for less than $50 on eBay) and get cracking.
Getting to know the tools is hard, learning to think in VHDL/Verilog is hard (at least if you're not used to thinking in terms of logic gates and other hardware) but you can transform that board into pretty much any hardware you'd like and control it from the arduino. The reason for the 400x300 is probably memory limita
Re: (Score:2)
Well, I guess you could do that...
There's only 32k of video RAM though so you won't be able to go *too* crazy.
400x300 only : Games oriented display (Score:2)
32k is small for the intended usage :
- a gaming device.
Games need the caracter map to be able to display full-colour tiles, using several palette, features truckloads of sprites (up to 256) collision detection, etc.
(==the equivalent of rather good console/arcade video chip of the late-8bit to 16bit era)
That's purely overkill for debugging, where one only needs to display ASCII (a 256 character set of monocrhome tiles - no palettes, except maybe for selecting a different foreground colour on specific charact
Re: (Score:2)
Re: (Score:2)
XGameStation also provides retro-gaming hardware (Score:4, Interesting)
Another option for retro-gaming hardware is Andre LaMothe's XGameStation [xgamestation.com] line of DIY kits.
Looks like they now have a "Chameleon" [xgamestation.com] line of kits, in both 8- and 16-bit flavors, which are similar to Arduino or BASIC Stamp systems.
I have not personally used these, but they appear to be pretty cool.
Enjoy.
- -
Pete
Re: (Score:2)
The Uzebox [belogic.com] is another one, which has a bigger developer folllowing than the Chameleon boards and even has an emulator for development use.
Is there a point? (Score:2)
I mean, cool factor is always cool, but does this really provide better capabilities than what is possible with homebrew on some other system that would cost you no more to get started on?
Re: (Score:1)
Are you like, 14? Try to escape the gravity of your short sightedness and put some imagination into the invisible world around you.
Yes, yes there's a point, but you aren't privy to it because your imagination is dead and clings limply over you as faux-darkness.
Maybe it costs a lot more than the next cheapest identical solution. Can we find a repose that uses more than black, and white?
If you really are 14, you have no right being uncreative. You seriously need to look beyond yourself for where your creat
Re: (Score:2)
Maybe it costs a lot more than the next cheapest identical solution. Can we find a repose that uses more than black, and white?
That was what I was asking, almost; s/identical/similar/
If you really are 14, you have no right being uncreative.
If you really registered that UID all by yourself, you have no right thinking I'm 14 after all the years we've both been here.
This won't get you sued (Score:3)
does this really provide better capabilities than what is possible with homebrew
This won't get you sued, unlike homebrew where Nintendo and Sony routinely sue companies that deal in homebrew-related hardware. If the video can be redone into more consumer-electronics-friendly formats (composite, S-Video, component), it might even be possible to use this as a platform for developing and selling your own standalone TV games [wikipedia.org].
Re: (Score:2)
This won't get you sued, unlike homebrew where Nintendo and Sony routinely sue companies that deal in homebrew-related hardware.
It's interesting that this list doesn't include Microsoft. I know there to be a homebrew scene at least on the original Xbox. I imagine there to be less of one on the 360 (XNA aside) but I've never even looked into it so I honestly have no idea. I can't recall anyone ever getting into trouble for using the official XDK, although there were plenty of hoops jumped through for the sake of avoiding such unpleasantness... and because I don't recall doesn't mean it didn't happen.
Re: (Score:3)
Nintendo and Sony routinely sue companies that deal in homebrew-related hardware.
It's interesting that this list doesn't include Microsoft. I know there to be a homebrew scene at least on the original Xbox.
Hence present tense. In the past tense, Microsoft was one of the companies that sued Lik Sang out of existence.
I imagine there to be less of one on the 360 (XNA aside)
As I understand it, the far smaller 360 homebrew scene is due to XNA and Media Center Extender. XNA is an official way to make and sell homebrew games, and MCE does much of what the Xbox version of XBMC did.
Re: (Score:2)
so it is more like a souped-up NES (with higher resolution and less problems with sprites-per-line)
So in other words like a TurboGrafx.
Re: (Score:2)
This is an open platform, with a great software interface. Complete documentation that is written by the guys who made it (not some reverse-engineered stuff).
Also, try to homebrew on a NES. Guess what? You also need a cartridge with some FLASH memory on board. Those are not free. I would imagine that the homebrew "development kit" is not nearly as polished as the Arduino & Gameduino.
Re: (Score:2)
Also, try to homebrew on a NES. Guess what? You also need a cartridge with some FLASH memory on board.
You really can't just ZIF an EEPROM? You can get a prom burner for like ten bucks. You can get a ZIF for about that. You can get an iron for about ten bucks. You can get a NES for about ten bucks. You can get solder and braid for about ten bucks. IIRC this shield is about fifty bucks and you still need some kind of Arduino to attach it to. Either way you need some kind of PC, too. Anyway I'm not suggesting that this device has no purpose, I'm asking if this device has no purpose.
Re: (Score:3)
And using a SPI interface to control it is like using Lego as a drive train from the V8 to the rest of the car.
But, you see, anything with Arduino in the name is instamagically popular. As stupid as using an Arduino is, this project has a much bigger chance of success as an Arduino shield than as a standalone board.
I'm too lazy to check, but I'm willing to bet there are Arduino shields out there that only use the Arduino for power.
Re: (Score:2)
The Prius needs gasoline, not vegetable juice!
Re: (Score:2)
Well, using a digital systems control chip to run a gaming engine is about the same thing as using a Prius to play polo.
But the game folks seem to think it's cool, so as long as they are happy, I guess... doesn't set the cause of open source robotics forward much, though.
Uzebox (Score:2)
The Uzebox [belogic.com] is another ATMega-based game console, except this one doesn't cheat with a big FPGA on top of it. They cheat by overclocking the AVR.
One thing that seems missing from a quick overview of the Gameduino... what about the gamepads? They talk about video, audio, sprites, registers, etc... but nothing about controllers.
Gamepad options (Score:2)
Re: (Score:2)
Another option is to pick up an old arcade machine from an operator for next to nothing and canibalize the sticks and buttons from that (or just buy them from Ebay, they're not expensive)
Re: (Score:2)
Just because it uses the same connection doesn't mean the SEGA Genesis gamepad isn your typical dumb switches Atari-style joystick. It uses a 74HC157 internally.
My point was that the Gameduino should have specified an interface from the start to simplify the whole thing. Some people will go with an Atari interface, others with a SNES interface, and so on... Games will be compatible on everything except controllers, which is kind of dumb since it's the easiest part to do.
Re: (Score:2)
Just because it uses the same connection doesn't mean the SEGA Genesis gamepad isn your typical dumb switches Atari-style joystick.
Yet switches muxed by a 74HC157 are compatible with a lot of devices expecting common-ground dumb switches and vice versa.
My point was that the Gameduino should have specified an interface from the start to simplify the whole thing.
There are really only two standards that need support: SNES (SPI) and Genesis (multiplexed parallel switches). Have you mentioned this to the Gameduino folks?
Re: (Score:2)
I believe it says they're using a sparkfun control pad. It seems there are a bunch on their site.
Re: (Score:2)
Not too retro is quite apt (Score:2)
We're talking about a processor that can reach up to 66MHz. Which isn't too stellar from the point of view that we share today concerning Processor speed, but consider:
No need for a heavyweight OS (no need for multitasking, no need to consider other programs running).
No need for a hypervisor or other DRM (seriously, nobody but the maker of commercial software wants it)
No need for "generalist" hardware (just plug in the hardware your current game needs).
The result is surprisingly little overhead. Almost 100%