pubble - homebrew puzzle bobble game for PS3

Investigation into how Linux on the PS3 might lead to homebrew development.

Moderators: cheriff, emoon

Post Reply
ralferoo
Posts: 122
Joined: Sat Mar 03, 2007 9:14 am
Contact:

pubble - homebrew puzzle bobble game for PS3

Post by ralferoo »

As I frequent these forums more than anywhere else, I thought I'd start off here and get a few people's opinions on this release before I publicise it more fully.

Some of you will remember I've mentioned my python-ps3 games library on here a couple of times. I've been pretty quiet about it recently, because I wanted to have it in a state where games were easy to install on the PS3 and I thought a decent demo of it in action was required too.

So, finally I get to supercede that stupid breakout game I wrote ages ago as a demo with a game that's actually fun to play! It's still not finished - I need to do some more work on the credits / instructions screen and write the internet version, but it's more than fun enough to play multiplayer with up to 5 people on a single machine...

So, if you want to take a look at http://downloads.sourceforge.net/python ... b-full.zip, I'd appreciate any and all feedback. I know it currently doesn't boot from kboot, but it does boot from mcload and of course directly from the game OS.

I'm not yet announcing this outside of ps2dev forums as I'd like to make a start on the website before making it public, but I'd certainly like comments from you guys on what works and what doesn't work. In particular, if you don't mind overwriting the otheros bootloader, I'd definitely like feedback on the installation / running process and the associated documentation. Ultimately, I want this to be accessible to everyone, not just Linux geeks!

It's also the first version of the bootloader for python-ps3, which you'll notice as you have to go through the bootloader to get into the game. This is extensible by adding a .SQF (squashfs archive) to a USB device - there's also that old clock demo included as it's a tiny file. The plan is to incorporate kboot into this lot too so it can boot regular linux kernels and become useful as a default boot loader - it'd certainly be good to have a bootloader that allows a wireless controller for navigation!

There's a website at http://pubble.ranulf.net/ and of course, all source is available from the project page at https://sourceforge.net/projects/python-ps3/. Currently the bootloader source is only available via subversion and silently copies some files from a running Ubuntu system. Soon, this will build everything from source.

Thanks for listening and I look forward to getting some feedback!

Cheers,
Ralf.

pubble: http://downloads.sourceforge.net/python ... b-full.zip
Toadzter17
Posts: 5
Joined: Sun Dec 02, 2007 2:16 pm

Post by Toadzter17 »

Great game ^_^

Player select was a bit confusing. Don't see why the icons are at the bottom of the screen when the option is at the top. Also, it's not immediately apparent that a player has successfully joined the game. The flashing icon is a bit deceptive.

Also, no way to back out to the main menu other than completing the current game. I'm sure there will be a return to main menu option later as this is an alpha build.

Controllers don't turn off after returning to game OS so they have to be synched with the system via USB cable.

Audio got a bit annoying >_> Maybe just some sound effects instead of the voices.

Great game. Looking forward to seeing more like this ^_^
mitran
Posts: 19
Joined: Fri Nov 30, 2007 6:03 am

Post by mitran »

wowo nice :D when i get my pay pal il will donate a full 3$ ( as much as a PSN of thies typ cost ) also way do you not sedn the game to sony so thay add it on psn ?
is ther a limit on to how big a other os file can be ( sorry for the nobb Q ) ( i have yet soo se a other os bld file bigger then ca3.2m
ralferoo
Posts: 122
Joined: Sat Mar 03, 2007 9:14 am
Contact:

Post by ralferoo »

Thanks for the feedback... It's all much appreciated and good to know people are enjoying the game!
Toadzter17 wrote:Player select was a bit confusing. Don't see why the icons are at the bottom of the screen when the option is at the top. Also, it's not immediately apparent that a player has successfully joined the game. The flashing icon is a bit deceptive.
Yeah, I got used to this because I always had a USB keyboard and wheel plugged, so I wanted to make it so you opt into the game to start. However, I've asked a couple of my friends to install and boot the game from scratch and watched all of them cope with the installation and then fall over at this main menu... So definitely something to change for the next release!
Toadzter17 wrote:Also, no way to back out to the main menu other than completing the current game. I'm sure there will be a return to main menu option later as this is an alpha build.
Yeah, interesting. I'll need to add some kind of self-destruct button, but I didn't want to just pause the game for everyone... I'll think about how that can be done.
Toadzter17 wrote:Controllers don't turn off after returning to game OS so they have to be synched with the system via USB cable.
Hmm, I thought I'd fixed that one by forcibly disconnecting the controllers before reboot; obviously there's not a long enough pause...
Toadzter17 wrote:Audio got a bit annoying >_> Maybe just some sound effects instead of the voices.
:) Yeah, all the sound effects are all just me making noises into a microphone... I was trying to copy the arcade game feel where each level has a different character with a Japanese catchphrase. But actual sound effects are probably better.

How did you find the music? I was searching for more creative commons music, but I couldn't find anything up to the standard of that track which seemed to fit the mood perfectly. After a few games, t does kind of get a bit annoying I guess... I have plans to let you add your own mp3 files to the flash disk, but just didn't have time. I've also got a last.fm system working, but that boot image I provided didn't include network support, again due to lack of time.
Toadzter17 wrote:Great game. Looking forward to seeing more like this ^_^
Cheers! I'm stupidly busy at the moment, but I hope to finish off all the rough parts of this game over Christmas (and I really want to get internet play in there too!) and I have a few other classic 8-bit games that I'd like to rewrite, so watch this space! I also have quite a lot of features I want to add to my library...
mitran wrote:(edited) also why do you not send the game to sony so they add it on psn ?
Currently, as the comments above show, there's still a fair bit of work before the game is up to that kind of standard. At some point, I'd love to be able to write games for the PSN, but it just costs too much for the development kit to really get started... :(
mitran wrote:(edited) is there a limit on how big an other os file can be ?
Yes, it's a bit less than 4mb. That's why my otheros.bld is a minimal boot image containing just enough to be able to bring up the second stage loader, which because it lives on the USB disk can be as large as required.
dskw
Posts: 2
Joined: Sat Dec 08, 2007 6:38 pm

Post by dskw »

ralferoo wrote:Cheers! I'm stupidly busy at the moment, but I hope to finish off all the rough parts of this game over Christmas (and I really want to get internet play in there too!) and I have a few other classic 8-bit games that I'd like to rewrite, so watch this space! I also have quite a lot of features I want to add to my library...
Could you sum up what additional features you're going to add to the lib?
I'm in the planning phase of making a game with your library (something similar to crimsonland)
There are also 3 functions I'd like to add to the lib instead of implementing them into my code:
- get the angle a stick points to
- a rotation function in the Sprite Class
- childlists for objects, so that children are placed relative to their parent
(ok the last one perhaps is something I should implement in my code and not the lib)

greetz dskw
ralferoo
Posts: 122
Joined: Sat Mar 03, 2007 9:14 am
Contact:

Post by ralferoo »

dskw wrote:Could you sum up what additional features you're going to add to the lib?
I have a fairly flexibly list, mostly in my head and also the TODO and I'm mostly looking at improving performance even more which will also have the side effect of adding support for 16:9 SD modes. I then planned on tidying up the distribution package so that development is made easier and network support is added out of the box. I also planned on improving the sixaxis support to support motion sensing and LEDs. After that, I wanted to get up to speed with the RSX work to see if I could offload some of the graphics work to the GPU.
dskw wrote:I'm in the planning phase of making a game with your library (something similar to crimsonland)
There are also 3 functions I'd like to add to the lib instead of implementing them into my code:
- get the angle a stick points to
- a rotation function in the Sprite Class
- childlists for objects, so that children are placed relative to their parent
(ok the last one perhaps is something I should implement in my code and not the lib)
Getting the stick angle is a fairly trivial change, I can easily add it in the next release as it's just a call to atan2(). There's no real reason why it needs to be in the library rather than your own code, but I guess if you need it then others probably will too.

Child sprite lists are also an pretty easy change (but will have consequences on the new work I'm doing). There was preliminary support for master sprite lists, although I took it out as I hadn't thought out a particularly good use or API for them at the time.

Rotation is a bit trickier, as I don't yet have an SPU optimised rotation function yet. As you'll see from pubble, I currently use PIL to rotate images before I convert them to blittable objects. If you can spare the memory required, this might be your best bet at least for an initial prototype. In my opinion, PIL doesn't do a particularly good job of smoothing the rotated image, and so this is one thing I wanted to rework anyway. Rotation and scaling are actually the main drivers for me looking at the RSX work, because they are almost "free" when using a GPU.

I appreciate that the documentation at the moment isn't very good - there's currently more in the library than in the documentation, but if you need help or have more suggestions of things then give me a shout. The library basically has things that I needed so far, so I appreciate that other people will need slightly different functionality. If you feel confident changing bits of the library yourself, I'm happy to accept patches!

I've also started up an irc channel, #python-ps3 on irc.freenode.net so you can chat to me there if you like. If I don't respond straight away, I'll check back on previous messages when I log on again, so I'll answer eventually!

I'm also incredibly busy for the next week but after that I'll be starting up again. It's quite frustrating that I've not been able to do any PS3 work for over a month now, but that'll all be changing in 8 days time... :)

If you have any other ideas for useful features, please let me know.
Post Reply