Archive for the 'Homebrew' Category

WorldWiideWeb – A Wii homebrew web browser

So, I’m starting to develop Wii homebrew, and I felt that one thing the Wii lacks is an easy way to download homebrew that isn’t on the Homebrew Browser. I decided that the best solution for this would be to make a web browser. I had also wanted to make an RSS reader, so I will be including that as well. I decided upon the painfully creative name “WorldWiideWeb” because it seemed somewhat appropriate. I apologize for the name, but it was the best I could come up with.

To date, I have made a simple app that downloads a specified file. Now, I’m going to focus on the presentation aspect, and I’ve decided that I might as well make a general-purpose library type thing for Wii homebrew application GUIs, which easily allows the developer to make windows and such. Unfortunately, I’m now away from my Wii on weekdays so I’ll have to learn SDL/C++ to make some mockups of the windowing system. But hopefully, this should end up being very useful for the Wii homebrew community. I don’t expect anything useful to be completed before summer, though.

Nintendo DSi

So Nintendo announced the third iteration of the DS this week. Unfortunately, it seems like two or three steps forward and a couple steps back. However, I have a feeling there’s more to the DSi than has been announced as of yet. This is my opinion on the DSi:

Pros:

  • Slightly slimmer, which is kind of nice but the DS Lite is already pretty slim.
  • Bigger screens, although the resolution doesn’t seem to have been upgraded.
  • Internal NVRAM and SD card expandability for downloadable games and content- this is the major improvement in my mind, because it allows the firmware to be upgraded to add new features like other modern consoles and handhelds, although if the Wii is any indication feature additions might not be so forthcoming. Downloadable games are pretty cool to have, and this might be an easily exploited vector for homebrew, depending on how well Nintendo has protected their system- but more on that later.
  • Integrated web browser- this on its own is kind of useful, but the DS had this through homebrew and/or Opera. The more interesting things about this are the implications of a web browser- again, more on that later.
  • Cameras- not that useful to me, but it would be nice to have. The ability to edit photos on the other hand, as well as the webcam-looking one, also have some interesting implications that I’ll speculate on.
  • Matte finish- this is more of an aesthetic thing, but anyone who had a DS Lite, especially the black ones, knows how irritating it is to have something so glossy.

Cons:

  • No GBA slot- this is more annoying for people who had an extensive GBA library, or one of the DS games that use the GBA slot as expansion. Neither of those apply to me, so I don’t care too much.
  • No announced hardware upgrades- this might not be completely accurate, as I’ll speculate on later. But lack of hardware upgrades kind of implies that the real next generation DS is at least two years off, which is fairly annoying.
  • Lower battery life- this is a real WTF, because the projected battery life at highest brightness is a mere 3-4 hours, whereas the DS Lite’s projected life is 5-8 hours on high. This is really frustrating, but I guess you can always just turn the brightness down to get longer life.

The stuff we know about the DSi seems to imply a few things that might not have been announced. This is all speculation on my part, but I’d be surprised if none of these things are true.

  • Since the original Opera browser came with a RAM expansion, and now there’s no GBA slot, I’d be fairly surprised if there wasn’t a RAM upgrade to accommodate the browser. This could have nice implications for games and homebrew as well, and DSLinux might be easier to run. The other alternative is that they use the built in NVRAM as cache like homebrew browsers use SD as cache, but I do remember them saying the new browser would be faster than Opera, and I don’t think it would be possible to do that without the RAM upgrade.
  • The faster browser and the increased connectivity in general could mean that the WiFi chip has been upgraded. The WiFi in the DS/Lite is pretty pathetic, being a cut-down version of 802.11b that works at 2Mbps, and in practice is really slow. Homebrew downloads through DSOrganize’s homebrew database top out around 30kbps, although this might be due to the reverse engineered dswifi libs.
  • This one’s more of a stretch, but image editing might require a beefier processor than that currently in the DS. This might also be the reason the battery life is weaker, although that could also be attributed to the slimming of the case. This would of course be welcome.

I’ll add to this as I think up more wild guesses. Hey, I’m a market analyst!

MAsteroids

I was playing around with homebrew on my Wii the other day, checking out new software on the excellent Homebrew Browser, when I came across something called MAsteroids. It purported to be a multiplayer version of Asteroids, something like what I did with LANeroids, but with local multiplayer and actual asteroids (!), which I thought was pretty cool so I downloaded it right away. It actually was very nice, it supports every control method available on the Wii and I realized it could be very fun. I’m thinking of contacting the developer once I get my feet wet with homebrew development on the Wii and asking if I could join him as a developer or something like that. I’d love to add wifi capabilities to it, although as of yet I don’t know how sockets work in C++, so that will take some learning.

By the way, the idea of multiplayer asteroids wasn’t mine, there was this really old game my friend had a long time ago which was basically multiplayer asteroids, with lots of crazy powerups and stuff. It was one of those Cosmi games, which I later learned were all on the same disc and you just needed the proper word from the manual to install all the games. In fact, a search for multiplayer asteroids turns up quite a few results. Funnily, the flash version was actually made after I made my project for APCS. http://digg.com/playable_web_games/Multi-Player_Asteroids_Game_Hits_The_Internets Unfortunately, I can’t find that original game that was so much fun back then. I remember it had wormholes and several types of powerups or something like that. Bleh.

Text Invaders Plans

So I’ve got a handful of free time this summer, between robotics, getting a driver’s license, and trying to get back in shape, and I’ve decided to start working on a Java port of Text Invaders. Hopefully I’ll be able to finish the game this time. Unfortunately with the original VB6 version it languished for a while, and when I was actually interested in completing it I had learned Java and Visual Basic seemed too primitive. VB6 isn’t even fully object-oriented. For example there are classes and inheritance, but it’s only interface inheritance and not implementation inheritance, so any subclasses have to rewrite inherited methods, which kind of defeats the purpose of inheritance in my opinion. And my code for Text Invaders was so sloppy, and mostly in one file, that I just couldn’t bear to edit it anymore.

Now, I’ve taken the basic drawing code I used for my APCS final project, named LANeroids now, and modified it to use text instead of polygons. By moving to Java I gain a lot of nice things like true object orientation and instant cross-platform capabilities, but sadly I also give up some nice things like DirectX support. I think it might be possible to add DirectX to a Java app, but that would make it cease being cross-platform, so I don’t know if that’s worth it. OpenGL is a nice alternative I guess, but I’d also need to use OpenAL for sound most likely. And I was so proud of my 3D positional effects, too. Once I’ve gotten a definitive Java version done, complete with actual levels with perhaps multiple waves per level, bosses, online high score boards, automatic updates, and such, I’m considering doing a Wii or DS homebrew port. A post-1.0 version might also add in co-op multiplayer. Anyway, this is all speculation right now. Back to coding!