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].
