Just writing to note that work will resume after I finish my exams (I plan to work on fixing FNT loading, improving input handling and Wiimotion Plus support).
Anyway, if you are new to the project and speak french, you might want to check out beredezebe's tutorial about working with BennuGD in the Wii here.
Showing posts with label wiimote. Show all posts
Showing posts with label wiimote. Show all posts
Monday, January 31, 2011
Monday, August 16, 2010
EEEEK! EEEEEK! HOOOOOOK!!! version 1.2 released for Wii!
I've just committed the last changes to EEEEK! EEEEEK! HOOOOOOK!!! and I've finished uploading it.
We're calling this version 1.2 and includes quite a few changes from what you could see in the preview version. Most of them are small bug fixes, but there are a few graphical changes that are important for the game consistency too (Wii specific controls in the tutorial, for example).
You should also expect a minor update soon which should bring a few extra features such as warning the user when the batteries of the Wiimote are about to drain.
You can get the game from here, and it should be soon in the Homebrew Browser, too.
We're calling this version 1.2 and includes quite a few changes from what you could see in the preview version. Most of them are small bug fixes, but there are a few graphical changes that are important for the game consistency too (Wii specific controls in the tutorial, for example).
You should also expect a minor update soon which should bring a few extra features such as warning the user when the batteries of the Wiimote are about to drain.
You can get the game from here, and it should be soon in the Homebrew Browser, too.
Wednesday, July 14, 2010
Beta 1 released!!
I've just uploaded the first binary beta to the new project page.
I'm in a bit of a hurry, so I'll write about it later, but it basically has all the official modules in BennuGD, and the wpad library (used to handle Wiimote input, it was inside the previous builds) has been extended to support Nunchuk input and gravity detection for both your Wiimote and your Nunchuk (i.e: how your controllers are oriented in the real world). Readings are only valid on some axis, but that's a limitation of the controllers' hardware, not a bug.
More wpad support should follow, as to be able to handle more controllers, like: Classic, Wii MotionPlus, Guitar Hero....
There are a few bugs here and there, but nothing is critical and the port is working pretty well :)
I'm in a bit of a hurry, so I'll write about it later, but it basically has all the official modules in BennuGD, and the wpad library (used to handle Wiimote input, it was inside the previous builds) has been extended to support Nunchuk input and gravity detection for both your Wiimote and your Nunchuk (i.e: how your controllers are oriented in the real world). Readings are only valid on some axis, but that's a limitation of the controllers' hardware, not a bug.
More wpad support should follow, as to be able to handle more controllers, like: Classic, Wii MotionPlus, Guitar Hero....
There are a few bugs here and there, but nothing is critical and the port is working pretty well :)
Labels:
bennugd,
binary,
classic controller,
guitar hero,
motionplus,
wii,
wiimote
Monday, July 12, 2010
Rearchitecturing the port for the future
The day for the big news has arrived!
Today I've finally completed integrating all the modules inside the new architecture. This new architecture has a lot of advantages over the previous one, to name a few:
Today I've finally completed integrating all the modules inside the new architecture. This new architecture has a lot of advantages over the previous one, to name a few:
- The code is much easier to mantain now (it involves many less modifications to the original BennuGD source).
- The interpreter (bgdi) can now be compiled without the modules you don't need, so it can be a lot smaller.
- Up to where the endianess issues in BennuGD allow us, the DCBs generated with this new version are completely compatible with the official standard version.
- This new version includes all the modules from the official Bennu version (minus mod_crypt).
- Modules only get loaded when you import them (they were always loaded, which meant more unused RAM in a system without resources to waste).
- Me messing around less with the code means a much more stable version.
- This new architecture is much more friendly to others creating monolithic ports for other platforms.
And here is where I wanted to arrive; in some quick tests, this new version is extremely more stable: it fixes random crashes and misbehaviours of the previous versions whose origin I couldn't trace. Please understand that this new version has been completely rewritten in under a week -so there are still some bugs- but when bugs get fixed, this new version should be as solid as upstream BennuGD.
I'll comment on some particular examples; take a look at the screenshot below:
EEEEK! EEEEEK! HOOOOOOK!!! by Gabriel Garrote
In the latest build with the old architecture, the left eye appeared in the upper-left corner of the screen, for no particular reason. This works now just fine, as you can see from the screenshot above.
I'll probably "test" Pixbros later (and for "test", I mean play). Pixbros used to crash after a certain amount of playing time. I'm pretty confident it'll work just great now.
As for another example, Puzsion used to crash horribly when loading, so it was completely unplayable. As you can see from the screenshot below, it's now working perfectly.
Worked great until my Wiimote ran out of battery :'(
Also, speaking of better mantainability: I've been working with Daniel Franzini and we're now hosting a common code repository for both the Wii port and the PSP port (the new architecture is awesome :).
You can find the new code here, and this new repository superseeds the older one.
There are no released binaries yet because mod_wpad has not yet been integrated, but I'll probably dump the old code and start using Grisendo's mod_wpad, which is much more complete.
Anyway, don't take my word, as soon as I upload the new binaries, download & start using them, you'll see how much better they work compared to the previous version.
Hope you find the news interesting :)
Have fun!
Wednesday, April 28, 2010
Progress
Even if I've not written about it lately, there's been some very interesting progress lately.
I released alpha 5 of Bennu, which includes and improved version of mod_wpad. This new version allows you to query your Wiimote for the raw accelerometer data, make it vibrate...
A few days later, my brother found the cause of the bug that was triggered when using save and load. I released alpha5~1 which solved it and integrated mod_iconv (a wrapper around iconv I created some time ago).
For alpha 6, I'm working on making module loading dependant on your code. Right now, all the bits from all the supported modules are loaded when you fire the interpreter.
This is suboptimal as you may end up initializing things you won't be using later; and memory is an important concern in this particular platform. So, from alpha 6 on, if you want to use the functions in -say- mod_wpad, you'll have to import it.
This'll make the code more compatible with upstream Bennu, and less cluttered.
Also, mod_wpad will be expanded to allow reading the data from the Nunchuk's accelerometers and a way to find the appropriate resolution for each Wii.
Now, some people have been working with the latest alphas in the BennuGD forums, and they've shown the things is quite usable, already.
Have a look at this video by BomberLink that shows an arcade game he's currently working on where he's using accelerometers to control the main character.
Also, Me Matsusaka has ported his KOF Flames of Courage v5 (a King of Fighters clone) to the Wii. You can get it here:
http://www.megaupload.com/?d=ZZKFY5VL
I have not tried it myself, but hope to do it this evening :)
I released alpha 5 of Bennu, which includes and improved version of mod_wpad. This new version allows you to query your Wiimote for the raw accelerometer data, make it vibrate...
A few days later, my brother found the cause of the bug that was triggered when using save and load. I released alpha5~1 which solved it and integrated mod_iconv (a wrapper around iconv I created some time ago).
For alpha 6, I'm working on making module loading dependant on your code. Right now, all the bits from all the supported modules are loaded when you fire the interpreter.
This is suboptimal as you may end up initializing things you won't be using later; and memory is an important concern in this particular platform. So, from alpha 6 on, if you want to use the functions in -say- mod_wpad, you'll have to import it.
This'll make the code more compatible with upstream Bennu, and less cluttered.
Also, mod_wpad will be expanded to allow reading the data from the Nunchuk's accelerometers and a way to find the appropriate resolution for each Wii.
Now, some people have been working with the latest alphas in the BennuGD forums, and they've shown the things is quite usable, already.
Have a look at this video by BomberLink that shows an arcade game he's currently working on where he's using accelerometers to control the main character.
Also, Me Matsusaka has ported his KOF Flames of Courage v5 (a King of Fighters clone) to the Wii. You can get it here:
http://www.megaupload.com/?d=ZZKFY5VL
I have not tried it myself, but hope to do it this evening :)
Friday, April 16, 2010
Alpha 4 released
Today, I'm releasing alpha 4.
This version changes the way mod_say works: until now, it'd just do a printf(). This caused artifacts onscreen. From now on, mod_say will output text to a file named "stdout.txt"
Also, this version includes a new module: mod_wpad. This Wii-specific module tries to provide much more info about the controller input than what the normal Bennu version would.
This is a very preliminary set of functions, and seems to not be working perfectly right now:
This version changes the way mod_say works: until now, it'd just do a printf(). This caused artifacts onscreen. From now on, mod_say will output text to a file named "stdout.txt"
Also, this version includes a new module: mod_wpad. This Wii-specific module tries to provide much more info about the controller input than what the normal Bennu version would.
This is a very preliminary set of functions, and seems to not be working perfectly right now:
- WPAD_IS_READY(int channel). Will return 1 if channel channel is available and started. Otherwise, it'll return <0.
- WPAD_IS_BALANCEBOARD(int channel). Will return 1 if channel channel corresponds to a Wii Balance Board.
- WPAD_QUERY_BALANCEBOARD(int channel, int data). Will query info from a balanceboard. Data can be:
- 0: X position of the center of gravity.
- 1: Y position of the center of gravity.
- 2: Weight measured on the TOP-LEFT base.
- 3: Weight in TOP-RIGHT.
- 4: Weight in BOTTOM-LEFT.
- 5: Weight in BOTTOM-RIGHT.
- WPAD_BATTERY_LEVEL(int channel). Will return the battery level for a particular channel. 0
<level<256.
Other functions will come, and you'll be able to get info on Wiimote acceleration, and other data. Also, as I said, the function names or return values are not done yet. It's a beginning, though.
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 :)
Subscribe to:
Posts (Atom)

