ROLL BOSS RUSH -{Homebrew Project}- (PSX/PSone/Playstation)

PSXDEV homebrew Projects that are listed on the homepage and homebrew link
Forum rules
Do not submit your PlayStation games or programs here!
Please submit them under 'Homebrew (General)'.
isufje
Psy-Q Enthusiast
Psy-Q Enthusiast
Posts: 64
Joined: Apr 11, 2012

Post by isufje » March 23rd, 2014, 7:44 am

Gimme the sound bank and midi and i'll see what i can do. Awave studio seems to do the trick. Once i've converted it over, i'll document the steps, ok :)

Yagotzirck
Verified
Extreme PSXDEV User
Extreme PSXDEV User
Posts: 131
Joined: Jul 17, 2013

Post by Yagotzirck » March 23rd, 2014, 9:00 am

http://www.speedyshare.com/kxCc3/d-e1m1.mid
http://soundfonts.homemusician.net/files/Scc1t2.zip

I use awave studio as well, but i just can't get things right. I can upload my failed attempts if necessary (for what they're worth)

isufje
Psy-Q Enthusiast
Psy-Q Enthusiast
Posts: 64
Joined: Apr 11, 2012

Post by isufje » March 23rd, 2014, 9:04 am

ur sound font link is a bit confusing. can u direct me to the file "Scc1t2.zip"

Yagotzirck
Verified
Extreme PSXDEV User
Extreme PSXDEV User
Posts: 131
Joined: Jul 17, 2013

Post by Yagotzirck » March 23rd, 2014, 9:09 am

uops, that site's dumb and doesn't allow direct linking. here you go http://www.speedyshare.com/YdN9b/Scc1t2.sf2

isufje
Psy-Q Enthusiast
Psy-Q Enthusiast
Posts: 64
Joined: Apr 11, 2012

Post by isufje » March 23rd, 2014, 9:10 am

ok thanks. I'll see what i can do

isufje
Psy-Q Enthusiast
Psy-Q Enthusiast
Posts: 64
Joined: Apr 11, 2012

Post by isufje » March 23rd, 2014, 10:03 am

I can't do anything until u can give me an SF2 file that's real/recognized by Awave...

Image

Yagotzirck
Verified
Extreme PSXDEV User
Extreme PSXDEV User
Posts: 131
Joined: Jul 17, 2013

Post by Yagotzirck » March 23rd, 2014, 10:22 am

oh well that's weird:
Image
which awave studio version are you using?

EDIT: try again with this one http://www.speedyshare.com/r8jNz/Scc1t2.zip
I'm guessing some CRC error occurred during hosting

isufje
Psy-Q Enthusiast
Psy-Q Enthusiast
Posts: 64
Joined: Apr 11, 2012

Post by isufje » March 23rd, 2014, 8:08 pm

Sorry dude, https://dl.dropboxusercontent.com/s/3f1 ... d_e1m1.iso <- was the best i could do. (the drum kit is off by 1 octave btw) It's not bad (i thought it sounded pretty cool with that jungle beat), but not what the original sounds like. I'm sure Awave Studio can still do it, (I've done simple conversions before with 1 wav per instument), but an SF2 with 5-6 wav files per instrument and a midi that accesses the drum kit is not a simple tuning job.

Have you ever heard of Sound Delicatessen? If u can get that tool you'd probably be better off.

http://www.doomworld.com/vb/doom-genera ... es-info/2/

The guy who made the Music for PSX DOOM used that tool. I'm not sure if it works without the sound board tho, but u never know :|

Yagotzirck
Verified
Extreme PSXDEV User
Extreme PSXDEV User
Posts: 131
Joined: Jul 17, 2013

Post by Yagotzirck » March 23rd, 2014, 8:45 pm

I don't see much sense in bothering with hard to find, expensive hardware relics such as Sound Delicatessen(I've actually thought about grabbing one at first, then I've been aware of its cost + the fact it's designed for Macintosh systems :\)

Can you explain the steps you took to achieve that anyway? It's pretty close to the original(minus the weird-sounding guitar, but still pretty acceptable)

I was also wondering how to use samples with a bigger resolution than 4 bits(not necessarily to associate with SEQ files, there are some audio files such as the ones used in dialogues that I think are at least 8/16 bit.. voice recorded as 4 bit would sound like garbage)

Thanks for the help anyway, much appreciated :)

isufje
Psy-Q Enthusiast
Psy-Q Enthusiast
Posts: 64
Joined: Apr 11, 2012

Post by isufje » March 24th, 2014, 12:00 am

Yeah, u can use samples of any resolution. I've used a couple for Roll's voice samples. I believe they're straight 44.1 khz 16bit. The steps are pretty simple too. If u change the pitch, u can save on space too. In the end, just use VAGTOOL for the final VAG file output. And in VABTOOL u can change the pitch back to the original or close to the original sound.

But anyway, here are the Awave steps...

Open the Midi and see what instruments are being called. Make a note of them and also if the percussion channel is being used and what program # it calls. I use Cakewalk for this, but u can use whatever u want.
Image
NOTE: Instruments used: 029. 030. 034. + DRUM KIT 000.

Now open Awave Studio and Convert your SF2 into VAB. Close the file and reopen it. Open the original SF2 file and put both windows side by side.
Image
NOTE: Notice how the files are not the same anymore? When Awave does the conversion, it eliminates a lot of the sample's resolution. 5-6 samples for instrument 29 became 2 samples of shitty quality.

Delete the samples in the new VAB file and replace them with the ones from the original (Cut / Paste)
Image
NOTE: Only do the ones in which the Midi file uses, 29. 30. and 34... but since this midi uses drum kit, you have to find what instruments are being used and where the hell the drum kit is (it took me a while :P)

Image
NOTE: with Cakewalk you can view Piano Sheet and see what notes are being used for Drum Kit.

Image
NOTE: find the drum kit in Awave and Cut/Paste instrument samples used to instrument 000 in the VAB file. (it turns out to be notes c3 to a4).

Now save the new VAB and close the windows.

Open the new VAB file with VABTOOL.
Image
NOTE: u don't have to do this, but I always save VAB files as separate VH/VB. Mostly because that's how it's loaded in my source code (I never bothered with loading VAB files :shrug )

Open each program (the one's that are being used -> 000. 029. 030. and 034.) and scroll thru each tone to see which VAGs are being used. *you can also use Awave Studio to do this.
Image
NOTE: u will notice that the VAGs are pretty much ordered from 1 to 33. If not, you can reopen the VAB file in Awave Studio and delete unused VAGs and rename a high number VAG to a lower number. (i.e. ->if VAG 255 is being used by a program 030. and the second highest VAG #being used is 32, delete VAG # 33 and rename VAG 255 to VAG 33. What u want to do is get all the VAGS in sequential order.

Now open VABTOOL and go to view VAGs.
Image
NOTE: u will need to delete all unused VAGs. Just click on "Delete Last VAG" and hold Enter. (just make sure u stop at VAG 33 or whatever the Last VAG is.)

Now go back and open Program # 029.
Image
NOTE: U will have to change the value "Centre" of every tone by 12. (going up) So if Tone #0 has a "Centre" value of 33, it's new value will become 45. U have to do this for every tone. (For some reason Awave Studio knocks every tone off by 1 octave. If you use your ears carefully, you can probably tune it better then the standard 12 octave that i use. I could swear playing back one SF2 note and the same VAB note at 11 dif was actually more accurate then 12 :shrug who knows)

Now double click on the tone '0'
We have to change the ADSR envelope/
Image
NOTE: I'm not sure if i'm correct here, but I believe Awave Studio is backwards when converting the values of Decay and Sustain. Awave Studio is doing something (since there are values in there) but those values are wrong. If you play the VAB with it's SEQ right now, the instruments will not be heard, or barely heard. If you look at Sustain, you will notice that there is no Sustain. It's set at ZERO (even tho is says 127). So if an instrument is Called, it is immediately gone since it has a ZERO Sustain Rate. Just change the value to 0 <-which is MAX. --- Now as for Decay, I don't know. could a 9 value really mean 5? If Awave Studio thinks 15 means MAX when in fact ZERO mean MAX, could changing these Decay values bring more accuracy?? :shrug ?? (I just changed them all to ZERO <- MAX :crying )

And that's it. Once you've done that to every single instrument. You're done. You have the option of Enabling Reverd (Which i did) but that's your call. After everything is done, just load it into source and you're off. :)

Yagotzirck
Verified
Extreme PSXDEV User
Extreme PSXDEV User
Posts: 131
Joined: Jul 17, 2013

Post by Yagotzirck » March 24th, 2014, 1:12 am

Ahhh, you're my savior :D
Just one more thing: you keep programs from 1 to 28 and 31-32-33 just to keep correct program numbers, right?
If so, is it possible to delete those unused programs as well and change program numbers in the SEQ from 0 to 3 to match new programs' names?
Awave studio is a bitch and gives program names in a sequential order from program#0 to program#n-1, disallowing to change program names to a value higher than the n-1 program numbers... :x

isufje
Psy-Q Enthusiast
Psy-Q Enthusiast
Posts: 64
Joined: Apr 11, 2012

Post by isufje » March 24th, 2014, 5:41 am

u could, but i did not. i usually try to keep the actual hacking 2 a minimum, but yeah, you can modify the SEQ all u want to get more space if u want.

Yagotzirck
Verified
Extreme PSXDEV User
Extreme PSXDEV User
Posts: 131
Joined: Jul 17, 2013

Post by Yagotzirck » March 25th, 2014, 7:01 am

Yeah, seems to work.. vab header gets shrunk big time(like 10x smaller) :)
Thanks again, and sorry for having derailed the thread so badly

isufje
Psy-Q Enthusiast
Psy-Q Enthusiast
Posts: 64
Joined: Apr 11, 2012

Post by isufje » March 25th, 2014, 9:55 pm

Yagotzirck wrote:sorry for having derailed the thread so badly
Like anyone cares :P
j/k

Derail away... I like it :)

isufje
Psy-Q Enthusiast
Psy-Q Enthusiast
Posts: 64
Joined: Apr 11, 2012

Post by isufje » June 24th, 2014, 9:08 pm

Here's a quick beta test i did yesterday. I got the AI done and all, but i still need to do a couple of things to get better optimization. I still need to make the Polygons too, so i'm not done yet but should be done soon.

[youtube]http://www.youtube.com/watch?v=KeH2XlKcF2g[/youtube]

User avatar
Shadow
Verified
Admin / PSXDEV
Admin / PSXDEV
Posts: 2670
Joined: Dec 31, 2012
PlayStation Model: H2000/5502
Discord: Shadow^PSXDEV

Post by Shadow » June 25th, 2014, 1:39 am

Last time I played this the loading times were absolutely terrible. Did you fix that?
Check your LBA addresses are sequential for what needs to be read in. There is a good document about it from Sony.
If you're loading in large files, you should also look into compression and read-ahead buffering techniques.
Development Console: SCPH-5502 with 8MB RAM, MM3 Modchip, PAL 60 Colour Modification (for NTSC), PSIO Switch Board, DB-9 breakout headers for both RGB and Serial output and an Xplorer with CAETLA 0.34.

PlayStation Development PC: Windows 98 SE, Pentium 3 at 400MHz, 128MB SDRAM, DTL-H2000, DTL-H2010, DTL-H201A, DTL-S2020 (with 4GB SCSI-2 HDD), 21" Sony G420, CD-R burner, 3.25" and 5.25" Floppy Diskette Drives, ZIP 100 Diskette Drive and an IBM Model M keyboard.

Orion_
Verified
Legendary Programmer
Legendary Programmer
Posts: 240
Joined: Aug 13, 2012
I am a: Programmer
PlayStation Model: Net Yaroze
Location: France
Contact:

Post by Orion_ » June 25th, 2014, 4:50 am

isufje > your ability to invent different gameplay each time is amazing!
I saw the code of your game one time, it was, from my point of view, a real mess (too much lines, fixed memory address, etc...)
but I have to admit, the result is awesome ! keep on going, who cares about the code, I really hope you can get a final version one day !
I think this is the most advanced psx homebrew out there.
Retro game development on Playstation and other consoles http://orionsoft.free.fr/

isufje
Psy-Q Enthusiast
Psy-Q Enthusiast
Posts: 64
Joined: Apr 11, 2012

Post by isufje » June 25th, 2014, 5:54 am

Thanks for you kind words. I hope i get a final version one day too. Hopefully soon ;-D
I might end up cutting the overall character count short just to finish this game and add extra characters as add-on's whenever i have extra time (sort of like downloadable content that games use now.) This is actually, honestly, my plan. I'm shooting for anytime before the end of this year. (but don't tell anybody ;-D

isufje
Psy-Q Enthusiast
Psy-Q Enthusiast
Posts: 64
Joined: Apr 11, 2012

Post by isufje » August 11th, 2014, 11:10 pm


isufje
Psy-Q Enthusiast
Psy-Q Enthusiast
Posts: 64
Joined: Apr 11, 2012

Post by isufje » November 21st, 2014, 9:32 am

http://youtu.be/TDI6QA_TWdk

I recently took a video with my smartphone of this game running on real hardware after converting over to a better polygon sorting function, GsSortobj5. I was reading thru documentation and never realized this function was faster than GsSortobj4. According to documentation this function is twice as fast when fully loaded, which i am most of the time, so i thought I'd give it a try and see how it is. Well im glad to say that it is a lot faster. I was actually able to play some bosses in melee mode at full speed but only when too many sprites weren't on the screen. I still haven't found a replace for GsSortsprite and that seems to be the function that really bottlenecks the works. Unfortunately GsSortobj5 is not without its downsides. While using it i found you couldn't duplicate/iterate one polygon model. Each polygon model has to have it's own seperate packet, something that GsSortobj4 didn't need. Also, transparency is not available. But other than those shortcomings, it is faster. The video shows actual speed on hardware, both game speed and loading speed. Hopefully i can try to get everything sorted as a polygon under this function in the future. 2

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest