After Java

[quote]You’re not allowed to do that. The source language has to be either C, C++, Objective C or Javascript. Anything else is prohibited, no matter how much to recompile it to other languages inbetween.
[/quote]
Uh uh. Take a look at Unity3D, then add C# and JavaScript to that list.

No, Unity3D is not allowed, and neither is C#. I did have Javascript in my list.

This is the relevant part of the license agreement:

[quote]3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).
[/quote]

So why haven’t they been ported yet? I wouldn’t hold my breath.

EA has already ported over a few of their big titles to mac (spore, sims, warhammer, battlefield, c&c, etc). However all the ports have been done by the third party company TransGaming, which basically just uses an advanced fork of wine to get the games to run on mac.

Well, personally, I still think Java is the language for me. It’s possible that something might look better latter on, but right now nothing does. Javascript is ubiquitous but would drive me insane (I code JS at work and it’s evil).

When people say that client side java is “dead” what do you mean? Applets and Webstart are hardly the definition of “clientSide”. Java client side in terms of applications that run on the “clients” computer are anything but dead. In fact I can’t stand applets/webstart much at all. C/C++ is popular but doesn’t have these “deployment” methods.

[quote]As for downloadable desktop games, as everyone has already said, it would be nice to be able to have a clear, legal way for indies to distribute HotSpot with their games.
[/quote]
There is. Unless i am missing something, I can distribute the full JRE+hotspots with my game without getting extra licenses or anything. They only rule. I can’t change it to be “M$ java” for example.

+1

Yeah you can distribute the proprietary JRE version along your application as long as you don’t modify it. There is limited option to remove some files as described in the readme file, but doesn’t help that much for size reduction. You can also (download and) install system-wide JRE if needed from your application installer.

On home computers C/C++ games generate less revenue than web based games written in Flash. This trend is increasing. Games are polarizing between hard-core big budget console gaming and light, casual, web-based pc and mobile gaming.

I’ve never heard that before. Any references?

It’s something I had read secondhand, and turned out to be untrue when I looked it up for you. Sorry about that. By the PCGA 2009 report, it looks like the MMORPG market is dominant.

If it’s not allowed… how come its on the front page

http://img62.imageshack.us/img62/3214/frontpage.png

This is one of the big issues I’ve had with Java. You build a 1mb to 10mb game and then have to slap a 35mb JVM (when compressed) into the installer or zip.

In their overview they say they can do scripting with JavaScript; one of the languages allowed on the iPhone.

the changes and ban only come into play with the new OS 4.0 which is not out yet.

Well, if Java doesn’t work out for me, I think I’m out of the game business.

I toyed with moving over to C/C++/Obj-C for years now, and I just hate it. I remember going from Assembly to Pascal, and thinking that Pascal was such a great leap forward. Then, I went from Pascal to ColdFusion and PHP for work, and then eventually to Java. Java felt like a generational leap forward again with it’s garbage collection and JIT compiler. I preferred writing my code once and then letting a VM optimize it for a given platform. Just like when computer hardware started allowing dynamic memory range allocation with early Apple computers (so two programs wouldn’t both try to grab the same memory addresses that had to be manually specified), Java opened the door for dynamic memory management and garbage collection; gone were the days of memory leaks and compiled applications that wouldn’t run on a given computer because it’s processor didn’t support some extension or another (like MMX, certain AMD chips, etc.). Gone were the long days of compiling and hard-to-read code.

Now, with that in mind, can you see how C++ seems like a major step backwards to me? I’d be going back to manual memory management (although I know there are a few GC libraries out there now), hard to read code, compiling for specific platforms or processors, and having to deal with platform specific libraries. I’ve been there, and I’m done with it. Programming should be getting easier, not harder. Coding languages should get easier to read, more open, and more dynamic… not harder. In my own bad attitude, I think C++ is an elitist language that has outlived it’s usefulness for everything but the most low-level of jobs (like kernel development or compilers). So there, bah humbug! :stuck_out_tongue:

Now, with that all vented out of my system. I do look forward to some future possibilities. Ruby is looking good, and if they can continue pushing ahead without stalling out, I think it’s got a good chance (version 1.9 just introduced a JIT compiler!). And who knows what the future might bring!? HTML5 is certainly moving in the right direction, and the whole web-browser as a VM concept is intriguing (although it makes me laugh at times, as it feels so much like what Java did in the early days, letting different operating systems build their own VMs).

I guess we’ll wait and see! Thanks for letting me rant… I really needed to get some of this out of my system.

yeah that

http://discuss.joelonsoftware.com/default.asp?joel.3.14708.52

Posted 6 years ago; I see not much has changed. :stuck_out_tongue:

revenue, there a misunderstanding.
Obviously, if you want to make money… yeah maybe going to the iphone and stuff is the way

for me, I am not interested in revenue or minigames. and java is the language I have the most experience and knowledge of.
with enough work I could do c++ SDL games too, but there is no advantage over java, even disadvantages like non cross platform (harder to do)

I’ve been playing around with the HTML5 canvas this weekend, and I’m really impressed. I hope this survives the politics and makes it into IE9. WebGL would be nice too, but I don’t think it has a chance.

There are lots of alternatives to C++ which have garbage collection.

You talking about YARV? Although it’s MUCH faster then the original, I believe it only compiles to an intermediate bytecode and not all the way down to native code.

One thing I really like the look of is GWT. Compiling Java to JavaScript and HTML. It could potentially be used with WebGL allowing people to continue to use Java, but without the JVM.

GWT has a very rigid project structure that integrates tightly with the webpage. Supposedly, you can use the java-to-javascript compiler to independently convert a module, but I’ve never been able to get it to work.

[quote]You talking about YARV? Although it’s MUCH faster then the original, I believe it only compiles to an intermediate bytecode and not all the way down to native code.
[/quote]
I think that’s the one. It was included in Ruby 1.9 by default. I’m still a total beginner with Ruby.

[quote]There are lots of alternatives to C++ which have garbage collection.
[/quote]
Yep, I’ve been looking into them. So far though, none that I’ve taken an interest in (D, Go) seem mature yet. They’re still lacking libraries, although I’m not sure what it takes to simply use C libraries with them.

Speaking of using existing C libraries, JNA certainly looks promising (on paper anyway). Does anyone have any experience with it yet? I think there’s a Java 6 implementation of it. Would be nice to run Java apps that can call the same C libraries as everyone else (without using the messy JNI method).