Starting a small handheld software biz

Rolf N

Recurring Membmare
Veteran
I have prowled through some old software I've written way back and found some nugget of pet project. It's a very lightweight audio codec with fixed compression ratios (including the infamous one byte per three samples mode), quality way beyond MSADPCM/IMAADPCM, maybe a kilobyte of object code and a few kilobytes of data. IIIRC it hit 100x realtime decoding speed on my olden 600MHz Athlon back then. I never did anything with it on the PC because MP3 or Vorbis can have better quality/size ratios and the decoding performance reqs of these aren't that much of a factor on the PC.

But I wonder if that thing (plus maybe a little extra, such as a mixer'n'stuff) would be fit for handheld games or some such, with tiny and slow CPUs that suck at floating point and have little bandwidth. I sure wouldn't mind trying if this can make me some extra $$$, so I can buy lots of coffee and sugar. Problem is I have absolutely no clue about how this industry works, what the platforms look like (CPUs, OSes, and which ones are most important to support), who does what and how, and which license models are appropriate for something like this.

I figure I need some PDA or similar mobile gadget to get me started.
Questions start now:
Which one should I get? Are there any other tools or SDKs I need to buy for cross-development and packaging/deployment?
Does 40$ for a per-product license (unlimited copies) sound like a reasonable idea?
Is it expected/commonplace to deliver software components as static library, .DLL, .so ..?
 
Nothing? :-|

After reading through some Google searches, I figure I should get myself a Symbian Smartphone (Nokia most likely), because from the looks of it that's where the market share is.
 
Visual Studio has the dev env for Windows CE, so that's the easiest option there is (I guess you use VS regularly anyway).
 
zeckensack said:
After reading through some Google searches, I figure I should get myself a Symbian Smartphone (Nokia most likely), because from the looks of it that's where the market share is.
Who were you imagining as the market for this product? Even the oldest Symbian smartphones had no problem decoding OGG (unless they had to do sample-rate conversion as they supported max 16KHz output, and for the newer ones this isn't an issue). There may be other issues (like the existing Symbian decoder implementation being GPL) making it unsuitable for commercial games, though.

For the downloadable games market it would appear that ease of portability and size tend to draw them towards the lowest common denominator - so that adding higher quality sound (or more sound) will cause them to exceed these constraints even if the compression ratio is good and the decoding is fast. In many ways they're hardly pushing the capabilities of these phones as it is. Personally' Id love to get better/more sound in mobile games, but for that to happen I think the phones standard storage space will have to go up and more users will have to use PC connectivity (or data tariffs must go down while average data rate must go up). As long as GPRS is the targeted content carrier I don't see how better compression will make the extra effort worth it for the developer, but I'd be happy to be wrong.

Perhaps a proof of concept showing off how much better sound you can get in a, say 500KB, interactive demo could incite some developers to throw some cash your way, especially if the added effort of supporting your tech is small.
 
Zaphod said:
Who were you imagining as the market for this product?
Developers of handheld games that care for minimum CPU load in sound with reasonable storage space and quality.

Developers that currently use 8 bit PCM or ADPCM because they must keep storage down but can't afford to use more fancy codecs because of CPU concers. If they use PCM, I can give them two to three times the amount of samples in the same space. If they use ADPCM I can give them higher quality or slightly better compression or (with a little luck) both.

I agree that it makes little sense to compete with OGG/Vorbis or MP3 for just playing music.
But I think that some games of this kind might want to use (or already do use) multiple simultaneos sound streams mixed together. Doing this directly with more expensive codecs may not be feasible.

E.g. a Bethesda Elder Scrolls Travels game might want to be able to play a "swing clank" sound for an attack that overlaps with an "ouchie" sound from a fiend that overlaps with some footstep sounds all the while playing background music. Stuff like that. And these games target pretty low end hardware AFAICS.

Doing three or four simultaneous MP3 streams may just not work, even though you can play one or two fine. Edit: and I reckon your average game uses CPU cycles for much more than just sound.
Zaphod said:
Even the oldest Symbian smartphones had no problem decoding OGG (unless they had to do sample-rate conversion as they supported max 16KHz output, and for the newer ones this isn't an issue). There may be other issues (like the existing Symbian decoder implementation being GPL) making it unsuitable for commercial games, though.

For the downloadable games market it would appear that ease of portability and size tend to draw them towards the lowest common denominator - so that adding higher quality sound (or more sound) will cause them to exceed these constraints even if the compression ratio is good and the decoding is fast.
You're partly contradicting yourself but that's good (for me) :)
The mentality of targetting the lowest common denominator is exactly what I wish to take advantage of. It is exactly the reason why MP3s for realtime sound mixing are still far from a widespread concept on the PC today, even though I anticipated it would happen "just about now" when I shelved my codec more than five years ago.
Zaphod said:
Perhaps a proof of concept showing off how much better sound you can get in a, say 500KB, interactive demo could incite some developers to throw some cash your way, especially if the added effort of supporting your tech is small.
Good idea.
I'd still like some advice on which platform I should get. It appears you're playing some mobile games ... what's the name of the gadget that gets all the games?
 
Last edited by a moderator:
zeckensack said:
Developers of handheld games that care for minimum CPU load in sound with reasonable storage space and quality.

[...]

But I think that some games of this kind might want to use (or already do use) multiple simultaneous sound streams mixed together. Doing this directly with more expensive codec’s may not be feasible.

[...]

Doing three or four simultaneous MP3 streams may just not work, even though you can play one or two fine.
Hmm. Of the open source engines both the Symbian ScummVM port and c2Doom are built with SDL, and I believe sound mixing speed is an issue for those as well as for some of the emulators. (But this may be more of an issue with emulation than actual mixing performace, though).
zeckensack said:
You're partly contradicting yourself but that's good (for me) :) The mentality of targeting the lowest common denominator is exactly what I wish to take advantage of. It is exactly the reason why MP3s for real-time sound mixing are still far from a widespread concept on the PC today, even though I anticipated it would happen "just about now" when I shelved my codec more than five years ago.
I meant to imply that if the space allocated for sound to begin with is small then the savings, no matter how good the codec is will be small as well, and thus under the paradigm of "programmer efficiency" might not seem worth it. If it was me I'd look for either a noticeably better sound experience at the same footprint, or for a reduction large enough to allow me to improve my art assets or game design goals in general. Personally I think that mobile games will have to be a bit bigger to begin with for this to be true. From experience I'll say that if constraints prohibit me from implementing the two features foo and bar I’m not too bothered by it, but it really tends to annoy me if I have to choose between them.
zeckensack said:
I'd still like some advice on which platform I should get. It appears you're playing some mobile games ... what's the name of the gadget that gets all the games?
I've been using Nokia Symbian smarthpones since their beginning. They're quite powerful and Nokia isn't too bad about developer support. Perhaps you could look at the docs for the Symbian multi-threaded multimedia framework (MMF). Can't offer any specifics as I haven't had a Nokia/Symbian SDK installed for quite some time. (I decided that I suck too badly at C++ for it to be a worthwhile endeavor...)

I don't play all that many commercial games on it though, as I find most of them too 'samey'. Probably for exactly the reasons of distribution and device compatibility. Personally I wouldn't mind a >15MB downloadable mobile game with lots of sound, but 'my' market segment is way in the minority and probably isn't profitable (yet?).

I know I've seen others offering multi channel sound engines for Symbian before, so maybe there is a market if there are developers out there who wish they could be more ambitious but think they can't.

Good luck. I'll be among the first to applaud if you can help drive mobile gaming forward.
 
Back
Top