View Full Version : PSP homebrew bowling
11-22-2006, 06:03 AM
A couple of friends and I were making this for a publisher (seriously) until the v.p. decided to kick us to the curb. His "excuse" was that although we had done a PS2 game for his company (and Xbox and Gamecube ports, along with internationalization for Europe), he didn't think we could handle the PSP. That's like telling someone that just because they won the Tour de France is no reason to think they're ready to ride a Huffy. We strongly suspect that the team he brought in to take over were friends from a previous project (I'm trying to be diplomatic here).
Anyway, it was made using mostly homebrew tools for the PSP, and very well may get dumped into the wild as a free homebrew game, though lacking many of the features we had originally planned. Here are some pics from an old build of the game (Should I ever find a reliable way to capture video off a 1.0 PSP, I'll put up a movie):
11-22-2006, 06:09 AM
Here are a few more screen grabs.
The opaque black shadows under some objects are actually translucent in game (vertex alpha).
11-22-2006, 06:38 AM
That looks quite impressive, especially on a PSP! I like the reflections a lot. The GUI might be improved upon a little, I think that could be a bit fancier.
I'm sorry to hear your team was taken of the development. That's just too harsh, and judging from this images, a really bad mistake too.
If I may ask, were you using a particular development tool for the PSP? If you have any addition information, I'd love to hear about it. Thanks, and good luck!
11-22-2006, 06:51 AM
This is the most graphically impressive homebrew PSP game I've seen! Pretty amazing what you can do with the hardware. The scene with the casino slots is the best. Have you made front page news in various sites yet?
I've dabbled in PSP homebrew work but programming isn't one of my greatest skills :D I guess you are using SceGU framework to display the graphics? I don't know if you did any of the graphics programming, but how did you do the reflections on the floor, with a stencil buffer?
11-22-2006, 07:30 AM
Looks stunning. Real sorry you got shafted on the game :(
Triple bonus points for The Big Lebowski bowling lanes, possibly the greatest film ever made :D
11-22-2006, 10:11 PM
Thanks for the compliments, everyone. Yeah, losing this really stung since we were going to use the dev money to do something much more exciting. I have seen enough of the backroom politics that go on in these negotiations to be unsurprised at how we were treated, but it still burns my toast. It all came down to the loss of one producer, who knew and trusted us, and the arrival of a new "producer" who, it turned out, was a V.P. and who hi-jacked the whole thing and passed it off to his cronies.
ArchangelTalon - Hey, somebody spotted the Lebowski lane. Excellent!
We were originally approached about doing a Lebowski themed game, actually, which is where the whole thing started (different publisher, though, from the one who dumped us). That publisher had NO idea what licensing such a property entailed, and after we spelled it out for them, they bolted toot sweet.
JustChris - Reflections were, for the most part, done with simple vertex alpha and mirrored geometry. The PSP is a polygon monster compared to the Nintendo DS, so there was a lot of leeway for tricks like that. Still, the mirrored geometry had to be heavily optimized to keep things at 60 fps. To give some idea of how much, the main alleys usually ran about 11k to 13k polys, but the mirrored geometry rarely broke 500 polys. We also adjusted the vertex color to make the reflected geometry appear to fade out. Things like the pins and the ball, though, were done with the stencil buffer, which worked out really well for animated objects.
I do all the graphics and any scripting, when necessary, but no heavy lifting where the programming is concerned. Our tools seem to change on a daily basis (the PSP homebrew scene is very robust), but I'll check in with our lead and find out what our current crop of tools are.
Dylan - The interface is mostly place holder just to test functionality. Similarly, we used an old 2 meter system (power/accuracy) for the throw, but were planning to shift to a new system once everything was in place. We wanted to try and work the analog stick into the game, but frankly, it sucks. It isn't very accurate and the placement is awkward, and the range of motion is so tiny many people have a hard time doing much more with it than pushing it all the way in any direction.
The "Pro Shop" stuff was fun to do since we could go hog wild with the models and dump a lot of resources into displaying them nicely. Models ran anywhere from 4,000 to 12,000 polys with some multi-pass texturing.
I posted this all up with the intent of trying to get some sort of deeper discussion about homebrew and related issues going (maybe even spawn a new forum), so definitely ask anything you like and I'll try to go into as much detail as I can.
And special credit to Shepeiro, whose Porco Rosso thread nudged me to begin this one.
11-22-2006, 10:54 PM
A big part of our design was a push to create a fully customizable character that would let you control virtually every aspect of their appearence (weight, height, race, clothing, and so on). We were about half way there (maybe even 3/4) when production stopped. Here are some examples of how you could customize the head. Hair, hats, and other accessories were linked to the head and their pivot points were matched to the head bone so that when they inherited the translations applied to the head, they would move along in perfect sync. Hats like the tall Aussie stove pipe hat used texture swapping to put just about any flag you wanted on it, along with some more generic designs. Nearly all allowed for palette swapping. The mohawk, for example, could be changed to blue, black, red, orange, you name it. Even the glasses (which you could see through in the game thanks to vertex alpha...again) could be tinted any color, frames included.
Faces were texture swapped and palette controlled, with the goal being to allow bones in the face to drive further changes (i.e. skull size and shape, noe and lip width, thickness, length, etc.)
We also had a basic facial animation rig in place to allow smiling, frowning, blinking, surprise (raised eyebrows), grimacing (compresed lips), and speech (jaw control). Full lip sync wasn't planned, so there were no controls for anything like puckering the lips. The basic idea was to create a library of "emotions" that could be called up on the fly depending on player performance.
11-22-2006, 11:24 PM
Though I expect nearly everyone knows what vertex color and alpha are, here are some examples of how they were used in game.
11-22-2006, 11:27 PM
And here is how we handled facial hair, hats, etc....
11-23-2006, 12:59 AM
It definately looks excellent for a PSP game! It's just to bad you got dumped by the publisher. I'd be interested in knowing what other homebrew tools you used to make it. If your interested I am also working on a homebrew project for the PSP, called Assault. You can check it out here. (http://forums.cgsociety.org/showthread.php?t=419459)
Good luck with this, I hope your fortunes turn for the better!
11-23-2006, 02:09 AM
Here are the wires of the main bowler guy (sans clothing mesh). At first glance he may appear to have some odd or unnecessary polys (and he probably does), but many of the changes to the mesh were made not for appearance but for functionality. For instance, he has an extra cut through his upper arm to accomodate loose short sleeve shirts and such and extra cuts in his waist so we can scale his gut. When the shirt mesh is "on," the polys for the torso and upper arm are turned "off" to ease the processing load and eliminate any z sort issues. Feel free to critique, though, since you never know when you'll spot something that could definitely be spruced up.
He's about 1500 polys, btw, sans accessories or clothing changes.
11-23-2006, 02:16 AM
And here's a wire of the Lebowski alley...
11-23-2006, 02:38 AM
Here's the Lebowski alley from the DS version of the game (the touch screen makes things WAYYYY more interesting).
Right off you'll notice the dramatic drop in poly count (from 12k+ on the PSP to about 1300 on the DS). The DS can only push 2048 polys under "normal" conditions (no display buffer tricks), necessitating a big drop in the number of environmental objects and overall alley size. However, the DS can tile a texture nearly infinitely and has solid hardware clipping. Oddly enough, the PSP lacks those features, so you'll waste more than a few polys compensating. The PSP, though, has proper texture filtering and hardware support for bone deformation with up to 8 bones per vertex (not to mention poly output as much as 10x the DS). In the end, the PSP looks better (sweet, sweet 480x272 resolution beats the living sh*t out of 256x193), but the DS isn't nearly as bad as it first appears on paper.
11-23-2006, 03:02 AM
Here are wires of the hi-res pro shop stuff...
11-24-2006, 01:08 AM
Amazing quality work and great documentation. Thank you for sharing your insights.
11-24-2006, 01:41 AM
Here are some new screen grabs from the current build...
11-24-2006, 01:57 AM
The effort you guys put into this is amazing. How long were you guys working on this before you got screwed over?
And that's better character customisation than I've seen on some top-end mmorpgs :|
11-24-2006, 03:36 AM
You know, I'm not sure how long we worked on it. I'd guess about 7 months or so. There were some spotty moments in the beginning and at the end (which came last summer), so all totalled, the time might be more like 9 months, but a fair portion of that was contract negotiations, document write ups, and so on.
11-25-2006, 04:41 AM
Right now things are at a bit of a stand still since we are all busy with other tasks. At the very least, we have to try and take out all the little dev hooks that make the code a wee bit too accessible. At most, we have to make sure we're on solid legal ground. This is proving to be much more effort than it at first seemed.
11-25-2006, 04:41 AM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.