whats the best proggramming language for online games?

I am going to try to switch over from metal basic proggramming into a whole new language
preferebly with internet commands,script embedding etc etc etc
don't get me wrong I'll still be using metal but I want to learn a new language for online gaming purposes

I know the best way to learn somthing knew is to start off small which is what I'm going to be doing
I'm going to start off by making a few really simple games once I learn the basics
I'll try to learn about 15 commands a day and then I'll put them together and make a simple game
then after a while I will learn more complicated stuff
and so on until I get good enough to actually do a real project

1:
does anyone know what language I should learn for proggramming online games run outside the web browser on mac

Java's API seems the most geared toward online use. There are tons of examples of making simple client/server programs. Really not too bad to do at all. Plus if you are migrating from METAL Java would be the easiest transition.

As for tools... Well, install the Mac OS X dev tools and you got all you need. I'd also recommend Black Art of Java Game Programming. Out of date, but does have several java games and a whole chapter on making online components. Their example is a high score server, but could easily be expanded.

From what you said, which is a bit confusing, I recommend you learn JAVA. Forget everything else. You will find numerous documents, how-tos and books for JAVA. Go to Amazon right now and look for JAVA game programming.

To use JAVA on the Mac, you should really have Mac OS X, since JAVA for Mac OS 9 was made before Apple really cared about JAVA. Your profile says Mac OS 9 user. So that may be an issue. Don't moan, just get Mac OS X.

The other choice is CodeWarrior. Judging from your posts (which jump around more than a mexican jumping bean), I gather you are young. If so, my guess is that you don't have the $$ for CodeWarrior 9, so in that case GO AND READ OUR REVIEW OF CODEWARRIOR 3 LE. Note that it is now up to version 4. You can program in C/C++ AND JAVA if I recall. Works on Mac OS 9 and Mac OS X. More importantly, it contains the hand-holding which I think you really need.

BTW, I think you are mixing things up. Far be it for a nearly-blind mouse to give advice to a blind mouse, but when you want to run applications/games on a platform, you will need a compilier to turn the code into machine language. (Speaking in general here.) So, I am unsure why you are looking for a solution tht allows you to compile games if you plan to make them online games. (Unless you are looking to make servers-clients, which I think -- judging by your past posts, you are about 2 years from tht stage.)

Speaking of online games, I recommend you forget them for now. I don't know everything that is locked away in your brain, but creating online games is no small task if you don't even have the basics down. My advice is to work on desktop games for a bit before you consider "online" games. In fact, make a few single player games first and show they here. (I mean make your own and not modify someone's code.) Then we will give you our thumbs up and support for online game dev.

Last option is for you to consider FLASH or Shockwave games. For that, you will need FLASH or Director. There are TONS of tutorials and books for game dev with those two.

Finally, I am sure someone will say, you can use this IDE or that IDE. Sure, there are many options. But I think I know what is best for you. Recap: Use JAVA under PB/CW/CWLE or Flash/Shockwave, but work on single player games first. Translation: Learn to walk before you attempt to run.

Java is definitely nice, with a few major downfalls:
1) No standard 2d/3d APIs besides what Java gives you (basic drawing/image handling) (no OpenGL, SDL, or even Quartz)
2) Ditto for audio
3) Somewhat on the slow side, although it's not too bad (just don't expect the next Q3 or UT )
4) The AWT is butt-ugly

And, of course, everything else about Java is nearly pristine-perfect. I used to use it, until I discovered Cocoa. I wanted my applications to be more Mac-like, so I switched to Objective-C, which is also a very nice language. I'd recommend either of those, although if you want to learn Objective-C learning C first may help a bit (not necessarily required, though)

Did you ever wonder why we had to run for shelter when the promise of a brave new world unfurled beneath the clear blue sky?

Since you asked for a free compiler( presumably for OS 9), you want either TNT Basic or MPW.

The free requirement rules out CWLE ( which is only for personal use anyway, you can't give out any applications you make with it ) and CW academic version ( once again you can only distribute applications to the students and faculty at your school ). Java on OS 9 basically sucks from what little I've seen of it, and the last version available is 1.1.8.

BTW, Carlos, I looked at the CWLE3 review and the only mention of the distribution restrictions seems to be in:

Quote:For anything CWLE can't do, or if you wish to distribute your applications, the more expensive CodeWarrior Pro from Metrowerks should be used.

Maybe this should be featured a bit more prominently, since it seems a bit hidden as only a part of a sentence near the end of the review -- if you use Codewarrior you cannot distribute your games until you pay at least $400 for CodeWarrior Pro. This is a really really big drawback to the academic/LE versions, and at least when I bought CW8 Academic this information was NOT available ( or very well hidden ) on Metrowerks' site. I didn't find out about this clause until I had already bought the software, which has basically made it totally useless for me and a wasted $130

ProjectBuilder and the various frameworks available for it ( Cocoa, SDL, Allegro ... ) are not available because of the lack of OS X ( presumably you do not have $130 for the OS X upgrade )

TNT Basic ( tntbasic.com )
It is "free" ( $25 shareware fee if you want to distribute your games, but you can make stuff and run it from source for an unlimited period as far as i can recall... )
It supports up to 8-player TCP/IP or UDP/IP networking through the OpenPlay library. Nice sprite system, but code is interpreted and so a bit slow. It doesn't have any script embedding like you suggested ( basically for script embedding you want C/C++ )

MPW ( developer.apple.com/tools/mpw-tools/ )
This is really 100% free, there are no fees involved at any step. You can write games in it using either C or C++, networking can be done with Open Transport.

Now, some people may say that MPW is too hard to learn on but it's really not. Personally, the only application I've ever written was done by reading a C++ textbook and then writing it in MPW using the MacZoop framework (which I first had to partially port to MPW). Now it does take a bit of work and patience ( like reading at least parts of the 700+ page MPW manual ) but it is perfectly possible to learn to program C/C++ and games using only MPW. Or if you only get as far as learning C/C++ and then get your hands on Mac OS X, you will be able to easily switch your skills over to ProjectBuilder and either Carbon.framework or Cocoa.framework.

You probably should have a C/C++ textbook too -- you can skip most of the example stuff if you are good at remembering what you read. Do the examples for the first few chapters, and then for the struct/class introduction, and just read the rest throughly.

Quote:Originally posted by Steven Java is definitely nice, with a few major downfalls:
1) No standard 2d/3d APIs besides what Java gives you (basic drawing/image handling) (no OpenGL, SDL, or even Quartz)
2) Ditto for audio
3) Somewhat on the slow side, although it's not too bad (just don't expect the next Q3 or UT )
4) The AWT is butt-ugly

This is all wrong

1. there are libs for GL for java runs fast
you can probably make UT in it.
2. You can call from Java to C/C++
3. You can use all of Cocoa from Java.
Java + IB works great.
I make apps like that all the time.
4. AWT.. most people use SWING I believe these days.

Quote:
Maybe this should be featured a bit more prominently, since it seems a bit hidden as only a part of a sentence near the end of the review -- if you use Codewarrior you cannot distribute your games until you pay at least $400 for CodeWarrior Pro. This is a really really big drawback to the academic/LE versions, and at least when I bought CW8 Academic this information was NOT available ( or very well hidden ) on Metrowerks' site. I didn't find out about this clause until I had already bought the software, which has basically made it totally useless for me and a wasted $130

Umm you don't have to tell them what you are doing with it... nor do they mark your code as being made with a particular version of CW....

Im just pointing this out...

Also the license should have read that you could not make for profit games... but a non profit one you should be able to distribute.

Any how if you REALLY think the game would make $ then it should make enough to pay for its Pro upgrade of CW to make it all "legal".

Quote:Originally posted by ChrisD Umm you don't have to tell them what you are doing with it... nor do they mark your code as being made with a particular version of CW....

Im just pointing this out...

Also the license should have read that you could not make for profit games... but a non profit one you should be able to distribute.

Any how if you REALLY think the game would make $ then it should make enough to pay for its Pro upgrade of CW to make it all "legal".

Well the license for the academic version used to say that you could distribute freeware and shareware. Now with the new versions of codewarrior they have clamped down and made it all illegal

Anyway you are right that it's possible to just ignore the license, but really it's not very nice for a software developer to be illegally distributing other developer's copyrighted works ( the Metrowerks C/C++ libraries ). Sets a bad example for people to pirate your games "do unto others as you would have them do unto you" and all that.

1. there are libs for GL for java runs fast
you can probably make UT in it.
2. You can call from Java to C/C++
3. You can use all of Cocoa from Java.
Java + IB works great.
I make apps like that all the time.
4. AWT.. most people use SWING I believe these days.

That's what I get for not programming in Java for years...

I had no clue about the libraries, but calling from Java to C/C++ completely wipes out the cross-platform benefit; you may as well be writing in C/C++. Ditto for Cocoa; I was talking about pure Java.
And I've never used SWING, only heard about once or twice

Did you ever wonder why we had to run for shelter when the promise of a brave new world unfurled beneath the clear blue sky?

Quote:Originally posted by Steven That's what I get for not programming in Java for years...

I had no clue about the libraries, but calling from Java to C/C++ completely wipes out the cross-platform benefit; you may as well be writing in C/C++. Ditto for Cocoa; I was talking about pure Java.
And I've never used SWING, only heard about once or twice

Ah but the original author wanted to know about programming on a Mac.
At least that was what I was trying to apply answers to

SWING is basically a GUI toolkit made using Java drawing functions.
Unlike AWT SWING really does for the most part look and function the same on all platforms.

To see it in action and other cool stuff run the Java examples that shipped with PB.