Friday, April 2, 2010

The future

After yesterday's post with some screenshots of different existing games running fine in the static version of Bennu, I wanted to share some thoughts/questions about the future of the port and the work that needs to be done.

  • First of all; soon after posting the message, I fixed the scrolls. This was particularly easy. Most of the times a module acts weird it's because I screwed something in core/includes/offsets.h. I just opened that file and changed [83+16=] 98 for [83+16=] 99. Problem solved :)
  • My brother sent some code that adds some support for bigendian systems. Will have to test it on a real Wii.
  • If you think about the Wii controls, I can think of at least 5 different ways of controlling your game in a Wii, depending on how many accessories you plug in your Wiimote and how you grab your Wiimote.
    I will have to write some helper code to make control handling easier for bennu newbies.
  • There are a few modules I'd like to create specifically for the Wii that add support for some very interesting Wii features. These include:
    • Reading Mii info. It'd be based on Matthew Bauer's libmii.
    • Reading Wiimote's and Nunchuk's accelerometer output.
    • Reading output from things like the Wii balance board. According to wikipedia, it creates a virtual device by emulating two joysticks.
    • I'd like to find out how easy/difficult it is to play sounds in Wiimote's integrated speaker.
    • Others? Stub implementation should also exist for your pc, to make game creation/debugging easier.
  • I'd like to integrate some video functionality into the port. Currently Bennu natively supports some prehistoric video format, but that's really not enough. I have created a video module based on VLC that works great on both Linux and win32, but I don't think porting that would be easy.
    I might go for mpeg support. We've got a couple of mpeg implementations that might fit in here perfectly.
  • I'd like to make the port's code cleaner and bring it closer to the upstream BennuGD code. Ideally this would mean that given the right compilation script, my code could generate both the upstream modular BennuGD release and the Wii-specific monolithic Bennu version. This would make it easier to keep sync with future upstream changes.
I think that's pretty much it :)

No comments: