View previous topic :: View next topic |
Author |
Message |
Bob the Hamster OHRRPGCE Developer

Joined: 22 Feb 2003 Posts: 2526 Location: Hamster Republic (Southern California Enclave)
|
Posted: Tue Jul 07, 2015 2:31 pm Post subject: |
|
|
If there is even one midi, then we need a 30 megabyte soundfont.
Every single game I have packaged for Android so far has benefited from just converting all the music to .ogg
As long as the quality level isn't up too high, this works well
(anything over quality level 2 is "too high" because nobody can tell the difference between 2 and 10 unless they have been bitten by a radioactive bat) |
|
Back to top |
|
 |
FyreWulff Still Jaded

Joined: 02 Apr 2005 Posts: 406 Location: The Internet
|
Posted: Tue Jul 07, 2015 2:45 pm Post subject: |
|
|
Two questions then:
1) is there a utility to batch convert all midis to ogg
2) is there a way to easily or at least sanely extract the entire soundtrack and re-implant it back into the game, or will that have to be done one-by-one .. well yeah i guess i would have to do it one by one, since replacing midi with ogg
jade has like 95 tracks ... but it's also already at like 36MB, so not much choice there!
Quote: | (anything over quality level 2 is "too high" because nobody can tell the difference between 2 and 10 unless they have been bitten by a radioactive bat) |
i only listen to BAMs on vinyl. They have that nice, warm Creative-patented sound
Last edited by FyreWulff on Tue Jul 07, 2015 8:29 pm; edited 1 time in total |
|
Back to top |
|
 |
Ronin Catholic Deadliest of Fairies

Joined: 23 Jul 2007 Posts: 530 Location: My Girlfriend
|
Posted: Tue Jul 07, 2015 6:49 pm Post subject: |
|
|
I miss the days when computers would play BAM properly. _________________ "I didn't start the flame war;
I don't know what you thought here
'Twas that way when I got here"
"I didn't start the flame war;
I can't understand a word you're saying
nor the game you're playing~" |
|
Back to top |
|
 |
Bob the Hamster OHRRPGCE Developer

Joined: 22 Feb 2003 Posts: 2526 Location: Hamster Republic (Southern California Enclave)
|
Posted: Wed Jul 08, 2015 7:33 am Post subject: |
|
|
FyreWulff wrote: | Two questions then:
1) is there a utility to batch convert all midis to ogg
2) is there a way to easily or at least sanely extract the entire soundtrack and re-implant it back into the game, or will that have to be done one-by-one .. well yeah i guess i would have to do it one by one, since replacing midi with ogg
jade has like 95 tracks ... but it's also already at like 36MB, so not much choice there!
Quote: | (anything over quality level 2 is "too high" because nobody can tell the difference between 2 and 10 unless they have been bitten by a radioactive bat) |
i only listen to BAMs on vinyl. They have that nice, warm Creative-patented sound |
I actually have a script that lets me batch convert large numbers of .mid files into .ogg files. It occasionally gets stuck on certain midi files. (for some reason it has a hard time with songs 60 and 61) so those few need to be converted manually.
Also, it is actually pretty easy to convert the songs in-place in the .rpgdir without any need for exporting or re-importing.
However, I had totally forgotten that there were 95+ songs. With that many, I think the balance of efficiency tilts strongly back in favor of sticking with midi and a soundfont. I did some quick tests, and it was hard to get the .ogg files any smaller than 80 megabytes total.
I just did a test-build of the apk using midis and the soundfont, and the final apk size turns out to be just under 23 megabytes, which is delightful :)
The soundfont I have is actually 18 megabytes, not 30. I was remembering wrong.
Since you have plenty of space to spare underneath the 50mb threshold, if you spot any songs that sound particularly bad in the included soundfont, we can always cherry-pick those ones for conversion to ogg. |
|
Back to top |
|
 |
FyreWulff Still Jaded

Joined: 02 Apr 2005 Posts: 406 Location: The Internet
|
Posted: Wed Jul 08, 2015 1:48 pm Post subject: |
|
|
Sounds like a plan, then! Email me a test version.
Wonder why those two have issues. Maybe some esoteric midi notes are used in them. |
|
Back to top |
|
 |
TMC On the Verge of Insanity
Joined: 05 Apr 2003 Posts: 3240 Location: Matakana
|
Posted: Wed Jul 08, 2015 6:53 pm Post subject: |
|
|
Bob the Hamster wrote: | 2) The long load time on the first-run. I think this is no longer an issue. I already have it as fast as it is going to get, and it is especially not an issue after we have solved #1 |
Huh? How does that work? I take it that you mean that since the .rpgdir is packaged rather than an .rpg, the .oggs are stored without compression in the .apk. However, we can still do a lot better than that: reading data files directly from the .apk rather than extracting them on first run. That adds runtime overhead for any compressed lumps but not for .ogg.
However I assume the soundfont isn't in a compressed format, so it should be stored compressed, and reading it directly from the .apk is doubly impractical (it would also require patching timidity). It's probably quite practical to read some other lumps direct from the .apk, like maps, but not others. _________________ "It is so great it is insanely great." |
|
Back to top |
|
 |
Sparoku Pyrithea Amethyst.

Joined: 02 Feb 2004 Posts: 467 Location: Washington State
|
Posted: Thu Jul 09, 2015 5:59 am Post subject: |
|
|
Ronin Catholic wrote: | I miss the days when computers would play BAM properly. |
Me too. _________________ "There will always be people who will tell you they hate what you made, or like what you made, and will tell you that what you did was wrong or right."
My Discord ID: SparDanger#0305 |
|
Back to top |
|
 |
Bob the Hamster OHRRPGCE Developer

Joined: 22 Feb 2003 Posts: 2526 Location: Hamster Republic (Southern California Enclave)
|
Posted: Thu Jul 09, 2015 6:30 am Post subject: |
|
|
TMC wrote: |
Huh? How does that work? I take it that you mean that since the .rpgdir is packaged rather than an .rpg, the .oggs are stored without compression in the .apk. However, we can still do a lot better than that: reading data files directly from the .apk rather than extracting them on first run. That adds runtime overhead for any compressed lumps but not for .ogg.
However I assume the soundfont isn't in a compressed format, so it should be stored compressed, and reading it directly from the .apk is doubly impractical (it would also require patching timidity). It's probably quite practical to read some other lumps direct from the .apk, like maps, but not others. |
I should have said "I already have it as fast as it is going to get without a big re-write that I am unlikely to have time or energy to do myself before both my girls have moved out to college in the year 2033" :)
I know we can certainly come up with much better schemes than what we have right now, but what we have right now is still pretty good, and for any game that fits under the 50 mb threshold, I don't think the first-run-load-time is a big enough problem to justify holding the game back. |
|
Back to top |
|
 |
FyreWulff Still Jaded

Joined: 02 Apr 2005 Posts: 406 Location: The Internet
|
Posted: Thu Jul 09, 2015 9:44 am Post subject: |
|
|
While it'd be nice to not have the initial superload Jade is
1) old as hell
2) an edge case for the engine in more ways than one
3) this version of it will never be sold anyway
so for age, weirdness, and free, I think people will be fine with the loadup time. Android devices will keep getting faster, there was a point where Jade was actually set up as an rpgdir by default for desktops to make it load in a sane amount of time, but now everyone's computers are fast enough I was able to just make it an .rpg again. |
|
Back to top |
|
 |
TMC On the Verge of Insanity
Joined: 05 Apr 2003 Posts: 3240 Location: Matakana
|
Posted: Fri Jul 10, 2015 4:51 am Post subject: |
|
|
You have two children now??
I think you're enormously overestimating the amount of work it would be to switch to reading certain lumps via the Java API. I even started writing code for it 6 years ago, in lumpfile.bas. I would refactor it before using any of that. _________________ "It is so great it is insanely great." |
|
Back to top |
|
 |
Bob the Hamster OHRRPGCE Developer

Joined: 22 Feb 2003 Posts: 2526 Location: Hamster Republic (Southern California Enclave)
|
Posted: Fri Jul 10, 2015 7:01 am Post subject: |
|
|
TMC wrote: | You have two children now?? |
I do! I will henceforth refer to them as Mini-bobette (the smart, energetic bundle of 2.5 year old that my wife and I are adopting) and Micro-bobette (the 4-month old who loves to coo and gurgle and lovingly spit formula on my shoulder)
TMC wrote: | I think you're enormously overestimating the amount of work it would be to switch to reading certain lumps via the Java API. I even started writing code for it 6 years ago, in lumpfile.bas. I would refactor it before using any of that. |
That is true, I probably am overestimating it a lot-- I am comfortable with that! :) |
|
Back to top |
|
 |
FyreWulff Still Jaded

Joined: 02 Apr 2005 Posts: 406 Location: The Internet
|
Posted: Mon Jul 13, 2015 9:39 am Post subject: |
|
|
rolling change log:
- added proper targeting cursor data to 700 enemies
- tweaked menus for future android exports
- added hotkey reference menu to game's main menu (obviously only useful on non-mobile)
- added 5 death sounds for enemies
- added 2 attack sounds for attacks
- increased max save slots to 32 |
|
Back to top |
|
 |
Bob the Hamster OHRRPGCE Developer

Joined: 22 Feb 2003 Posts: 2526 Location: Hamster Republic (Southern California Enclave)
|
Posted: Mon Jul 13, 2015 10:28 am Post subject: |
|
|
FyreWulff wrote: | - added hotkey reference menu to game's main menu (obviously only useful on non-mobile) |
Are any of these keys appropriate for console controllers? If so, you can map them in "Edit General Game Data" -> "Platform Specific Options"
The button mappings work on OUYA, Gamestick, Amazon FireTV, and at least some models of the Sony XPeria Play
There is also a "Button Names" menu where you can set up ${B#} codes that will be expanded to the name of the correct button for the current platform
So your hotkey reference could say something like
"Press ${B3} for Foo"
And depending on which platform you are running on it might say
"Press PageUp for Foo"
"Press L1 for Foo" |
|
Back to top |
|
 |
Ronin Catholic Deadliest of Fairies

Joined: 23 Jul 2007 Posts: 530 Location: My Girlfriend
|
Posted: Mon Jul 13, 2015 3:34 pm Post subject: |
|
|
Bob the Hamster wrote: | TMC wrote: | You have two children now?? |
I do! |
As one rodent to another, are you intending to have hundreds or stop at a few dozen? _________________ "I didn't start the flame war;
I don't know what you thought here
'Twas that way when I got here"
"I didn't start the flame war;
I can't understand a word you're saying
nor the game you're playing~" |
|
Back to top |
|
 |
FyreWulff Still Jaded

Joined: 02 Apr 2005 Posts: 406 Location: The Internet
|
Posted: Mon Jul 13, 2015 8:27 pm Post subject: |
|
|
Bob the Hamster wrote: | FyreWulff wrote: | - added hotkey reference menu to game's main menu (obviously only useful on non-mobile) |
Are any of these keys appropriate for console controllers? If so, you can map them in "Edit General Game Data" -> "Platform Specific Options"
The button mappings work on OUYA, Gamestick, Amazon FireTV, and at least some models of the Sony XPeria Play
There is also a "Button Names" menu where you can set up ${B#} codes that will be expanded to the name of the correct button for the current platform
So your hotkey reference could say something like
"Press ${B3} for Foo"
And depending on which platform you are running on it might say
"Press PageUp for Foo"
"Press L1 for Foo" |
i'll look into it, i'm discovering new features that have been added to the engine since was last deep into it every day. |
|
Back to top |
|
 |
|