Hi Thomas,

I have had no trouble with XAudio2.  That coupled with very low-level input 
handling using the Win32 API made for some awesome times.  Still, the 
disadvantage to such low-level work (I count XAudio2 as relatively low-level 
too), is that it takes more work to get things done - including more evaluation 
of your code to make sure it won't crash at run-time.  And the difference inr 
esponsiveness isn't too big anyway.  We're talking milliseconds here.  The one 
thing I did like about those components is that it was mostly event-driven.  
I'm not a big fan of polling for input.
Unfortunately, I've read that Microsoft dropped XNA, so I wouldn't be surprised 
if XAudio2 is going too.  That's two abandoned audio systems in five years.

And really, OpenAL isn't so bad.  There are devices with hardware support 
(though I'm disabling that to ensure a uniform user experience).  And with the 
rise of Steam, being able to target Linux is a good thing.  Then there is the 
iOS thing, they use OpenAL too.  Joal is a great option for Java developers.  
For iOS there is the excellent Object-AL.
Sadly Joal seems to have some issues acquiring the soundcard at times, but 
that's probably partly the fault of Windows and its drivers.  It's also a bit 
of a resource hog, it does a lot of memory copying that more low-level APIs 
avoid.  But hey, it does save you some resource managing.

DirectSound was great, and it's cool that it still works on modern systems, but 
just like with VB6 I'd strongly suggest new developers skip it altogether.  As 
you said the 3D part is very much broken unless you do your own tweaking (and 
even then), and to be fair the API really isn't that easy to use compared to 
XAudio2 or OpenAL.  The one nice thing is that you can easily script against 
it, but that's not too important for serious game developers.

Cheers,
Davy

-----Original Message-----
From: Gamers [mailto:gamers-boun...@audyssey.org] On Behalf Of Thomas Ward
Sent: Saturday, December 14, 2013 13:18
To: Gamers Discussion list
Subject: Re: [Audyssey] BGT, Mac and More

Hi Davy,

Well, the problem with XAudio2 is that a number of developers have reported it 
is buggy. Philip was working on a version of BGT that uses XAudio2, and found 
out it caused some instabilities in BGT and removed
XAudio2 support for the time  being. So that is why BGT does not presently 
support XAudio2.

However, I agree for a multi-platform game there is no better option than 
OpenAL. You can use Joal for Java or write your own custom wrapper for the 
library for a decent cross-platform audio library that works on Mac, Linux, and 
Windows. Truth be told I am looking at using OpenAL as a replacement for 
DirectSound on Windows anyway just because the 3d audio is broken big time on 
DirectSound in Windows 7, Windows 8, and Windows 8.1. Clearly I need something 
else other than DirectSound, and XAudio2 is rather up in the air at this point.

As far as license agreement stopping someone from reverse engineering code I 
just can not go with that option. To me that is like someone intentionally 
leaving their front door unlocked and than hanging a sign outside saying "do 
not enter." A person who respects you as a developer, has some decency, 
obviously won't reverse your code or pirate your software. However, sad to say 
a lot of people will not and it never hurts to add a few extra layers of 
security to keep the amateur wannabe crackers out of your code.

At the same time I am no fan boy of a lot of the security methods used out 
there to secure and license software. As you say anything can be cracked, 
stolen, etc by the right person so adding an insane amount of security won't 
work. What I feel is that there has to be a fair balance between reasonable 
security to keep amateur wannabe crackers out while not being intrusive to 
legitimate customers.

As you yourself said you should stop trying to create a false sense of security 
as nothing you try or do is perfect. The only thing you or I can do as 
developers is make a game good enough that people will want to buy it to own 
it, offer content only available to legitimate customers, and keep the cost 
reasonable so you make a decent income from it but not so high that people will 
want to turn to pirating to get it.

Cheers!


On 12/13/13, Davy Kager <m...@davykager.nl> wrote:
> Hi,
>
> Yes, it definitely seems that <some language> coupled with OpenAL is 
> the way to go.  For a Windows-only game I'd use XAudio2 (which BGT 
> doesn't do either), but for a multi-platform game OpenAL has a lot to 
> offer inspite of its quirks.  It makes transitioning to iOS easier as 
> well, unless you go and use the Papa Engine for full binaural audio in 
> your iOS games.  But the Papa Engine and BGT aren't free, which I 
> appreciate can be a bit of a problem for developers just starting out.  
> If you pay those $100 for BGT or your Apple iOS developer account you 
> practically have to come up with something that sells well in order to make 
> it, as you say, financially viable.
>
> The cross-platform applications I have developed so far worked 
> reasonably well on Mac, although I never made a serious effort to make 
> the Mac version as streamlined as the Windows version since demand was 
> low.  This seems to be rapidly changing now.
> So yes, coding your own engine in Java or C++ is a lot more work than 
> licensing BGT and using that, but I feel the benefits justify that 
> decision (provided you have the time and resources to take on such a project).
>
> Java's lack of security certainly stings.  It's understandable if you 
> look at Java's history and intended use, but still...  On the other 
> hand, the license agreement should legally stop any legitimate user 
> from prying.  Of course enforcing a license agreement is a bit of a 
> toughy for indie developers.  But even so, if you have an awesome 
> online back-end to your game, i.e. the bazaar in Entombed, users would 
> still have a good reason to buy the real thing.  Not to mention the 
> whole gratitude bit: I took the time to develop for a niche market, so saying 
> thanks by pirating isn't very nice.
>  The harsh truth is that any software can be pirated if the right 
> people get their hands on it.
> I'm especially concerned about my game's audio being stolen, partly 
> because I want my audio to be at least somewhat unique and partly 
> because it might get me into a legal corner if some kid steals my 
> audio and puts it up somewhere.  But then again, no encryption is 
> going to be perfect.  Java is the extreme example.  You can't properly 
> hide your decryption key in code, and externalizing it makes it even 
> easier for someone to do the decryption themselves.  You could 
> definitely store the key on a remote server and download it everytime 
> the game is started, but then your players can't use the game while 
> offline.  You could also code your own implementation of AES and push 
> your class files through an obfuscator.  That'd probably stop most 
> people, but it's very ugly indeed.  So Java is really bad.  Except 
> that memory dumping a BGT game also spills a lot of "interesting" 
> data.  So yes, it securely stores sound data on disk, but it has to be 
> played back at some point.  I guess you'd just have to make your game 
> good enough that people are willing to pay for it, much like true fans of a 
> pop star will still buy their songs instead of downloading them illegally.
> Oh, and obviously the more encryption runs you put in, the slower your 
> game is going to be.  And in the end, a determined hacker can still 
> get in.  I think I have to watch myself and stop trying to create a 
> fake feeling of security.  That doesn't mean I like how people can 
> decompile my classes, though.  I suppose I have to set priorities: 
> rapid development or better pseudo-security.
>
> Cheers,
> Davy
>

---
Gamers mailing list __ Gamers@audyssey.org If you want to leave the list, send 
E-mail to gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at 
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at 
http://www.mail-archive.com/gamers@audyssey.org.
If you have any questions or concerns regarding the management of the list, 
please send E-mail to gamers-ow...@audyssey.org.


---
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at
http://www.mail-archive.com/gamers@audyssey.org.
If you have any questions or concerns regarding the management of the list,
please send E-mail to gamers-ow...@audyssey.org.

Reply via email to