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

-----Original Message-----
From: Gamers [mailto:[email protected]] On Behalf Of Thomas Ward
Sent: Friday, December 13, 2013 13:20
To: Gamers Discussion list
Subject: Re: [Audyssey] BGT, Mac and More

Hi Davy:

While it is true that Angelscript, the scripting language built into BGT , can 
be compiled and run on Mac OS X it is my understanding Philip Bennefall has no 
current plans to port BGT to Mac. Besides not owning a Mac, having to rewrite 
various components for the Mac, Philip has stated on more than one occasion he 
doesn't feel porting BGT to Mac is a solid financial investment. the market is 
still too small to make it financially worth while. So while he may change his 
mind in the future I think for the time being there are no plans for a Mac 
version of BGT.
I am also a Java developer, but in my experience cooking one executable in Java 
and having it work on Mac, Windows, and Linux as expected doesn't always work 
out as intended. Variations in JRE can cause unforeseen bugs or technical 
problems which is why I haven't relied on it for audio gaming. Although, I'd 
agree it is easier to make cross-platform versions of games and applications in 
Java than it would be to use something like C++.

Security is and has also been a concern of mine as well. I love the Java 
language, feel the speed is comfortable, but I don't like the fact some two-bit 
hacker can take my class files and convert them back to human readable source 
code in like two seconds flat. That makes me very weary of using Java for any 
of my commercial endeavors, because it is too easy to hack and any security 
keys or code generation in my code can be reversed engineered fairly easy by 
another Java developer.
Not good.

Still faced with a choice between Java or BGT I'd take Java because all of the 
options it gives me as a developer in terms of Windows, Mac, Linux, and of 
course Android development. BGT while a good product is in many ways a dead-end 
to anyone who wants to develop outside of the Windows environment which is 
becoming more and more necessary by the day. There is already a large and 
growing community of blind users who have switched to Mac OS, an even larger 
blind community of blind users now using iPhones, and a small but vibrant 
handful using Android phones. All of those are possible markets to target with 
accessible games, and BGT  is going nowhere in that direction in terms of game 
development. So Java or C++ is still your best bet for accessible game 
development.

Cheers!


On 12/11/13, Davy Kager <[email protected]> wrote:
> Whoa, has been ages since I last posted here!
>
> Anyway, nerd questions coming up.  I’d be interested to know if there 
> are any plans to turn BGT loose on Mac OS.  I believe the scripting 
> language it uses is capable of running on Mac OS, so that’s a start, isn’t it?
>
>
>
> Here is the background story, for those interested:
>
> I’ve been developing both “regular” applications and games, although 
> to be fair I’ve spent very little time on games over the last few 
> years.  I use mostly Java, occasionally C++ as well.  Recently I 
> figured I’d start being serious about games again.  The obvious thing 
> to do would be to turn to Java (which is what I did), since I have to 
> use that for more professional projects anyway so I might as well 
> stick to something I know.  Java is great for cross-platform work.  
> Except for a few nitty gritty details you can basically cook one executable 
> and run it on Windows, Mac OS and Linux.
> Java’s performance is good too, and with the upcoming Java 8 and 9 it 
> will become less painful to distribute the required JVM with your 
> source code, removing the need for your users to install extra 
> software.  Not to mention that debugging code is a breeze.  The single 
> disadvantage is that it is super easy to decompile Java, to the point 
> where the original source emerges, so encrypting user data is 
> virtually useless.  Things like TLS for secure Internet communication 
> still work of course, but all security keys you store in your code are 
> visible to anyone and everyone.  .NET kind of suffers from the same 
> thing, by the way.  Had some good times messing about with Entombed 
> back when.  J
>
> So then, I could use C++ (and optionally one of those executable 
> scramblers that the cool kids love to use).  To the trained 
> professional disassembling a program written in C++ to find a certain 
> bit of logic can be as straight-forward as decompiling Java, but it 
> definitely makes life harder for the average Joe who wants to hack 
> some sounds he particularly likes.  On the other hand, as a developer 
> you have to take a few extra steps to produce the required executables 
> for the platforms you want to support.  Debugging might also be a bit more 
> cumbersome.
>
> In comes BGT.  It’s very secure (although no software is truly 
> unbreakable), its syntax isn’t a problem if you know C++ already, and 
> it creates very efficient executables.  On the donw-side, I’m told 
> it’s only available on Windows, and you don’t get to use standards 
> directly (AKA OpenAL, Java runtime, standard C++ library).  I really 
> don’t mind about the standards, but I believe I’d upset a few people if I’d 
> leave out support for Mac OS.
>
>
>
> Actually, knowing standard things can be fun, too.  If you want to 
> develop for Android, Java would be an excellent choice, so it helps if 
> your products for PC and Mac are already using it.  Similarly, knowing 
> OpenAL is great for moving on to iOS games, since Apple natively 
> supports OpenAL.  But really, Java’s not good at running on the same 
> machine where the encrypted data lives without applying security on 
> the OS level.  I’m not too concerned about people coming up with their 
> own keygens.  If you have a members-only area inside your game that 
> requires authentication with a remote server you won’t get anywhere 
> with just a serial number anyway.  But not being able to securely encrypt 
> sounds is a bit of a boring thing to live with.
>
> So, I thought I’d check out alternatives, since I’ve not paid much 
> attention to recent developments and would like to know how things stand 
> these days.
> (Oh, and no, I don’t want to use Python, sorry.  At least, not just 
> right
> now.)
>
>
>
> There, your daily dose of nerdy musings.  Enjoy!
>
>
>
> Cheers,
>
> Davy
>
> ---
> Gamers mailing list __ [email protected] If you want to leave the 
> list, send E-mail to [email protected].
> 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/[email protected].
> If you have any questions or concerns regarding the management of the 
> list, please send E-mail to [email protected].
>

---
Gamers mailing list __ [email protected] If you want to leave the list, send 
E-mail to [email protected].
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/[email protected].
If you have any questions or concerns regarding the management of the list, 
please send E-mail to [email protected].


---
Gamers mailing list __ [email protected]
If you want to leave the list, send E-mail to [email protected].
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/[email protected].
If you have any questions or concerns regarding the management of the list,
please send E-mail to [email protected].

Reply via email to