whats the best proggramming language for online games?

link_jr97
Unregistered
 
Post: #1
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

2:
where can I get a Free compiler to go with it

3:
where can I find info for begginers
Quote this message in a reply
Moderator
Posts: 608
Joined: 2002.04
Post: #2
Quote:Originally posted by link_jr97
1:
does anyone know what language I should learn for proggramming online games run outside the web browser on mac
Objective-C/Cocoa.

Quote:
2:
where can I get a Free compiler to go with it
Project Builder. You can get it from Apple.

Quote:
3:
where can I find info for begginers
Right here, in the developer docs and on Apple's site.
Quote this message in a reply
Zoldar256
Unregistered
 
Post: #3
I'd actually recommend Java. Course it's the programming language/API I have the most experience programming online applications with.

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.
Quote this message in a reply
Nibbie
Posts: 2
Joined: 2012.06
Post: #4
if your intention is just to build networkable applications. you could try TNT Basic. it has a straight forward system for networking, though somewhat limited UI to go with it.

kevin
Quote this message in a reply
Member
Posts: 509
Joined: 2002.05
Post: #5
Hes in OS 9 I think, so Project Builder is out of the question Sad
Quote this message in a reply
Founder
Posts: 1,139
Joined: 2002.04
Post: #6
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.

Cheers

Carlos A. Camacho,
Founder
iDevGames
Quote this message in a reply
Member
Posts: 370
Joined: 2002.04
Post: #7
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 Grin)
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?
Quote this message in a reply
Patrick
Unregistered
 
Post: #8
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 Sad

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.

Once you know C/C++ you have a couple options:
Allegro Cross-platform game framework - sprites, etc.
It has a port to MPW ( see docs/build/macos.txt in the download ).
SDL Cross-platform game framework - handles stuff like metal's copyrect, setting up the screen, loading images, etc.
This also has a MPW port ( see ReadMe.MacOS in the source files ).

you can combine either SDL or Allegro with the SDL_net library which will help you with networked game programming.

Skills with SDL/Allegro/SDL_net and C or C++ will be portable to almost any platform including OS X with projectbuilder.

OK that's my little pitch for MPW Wow
Quote this message in a reply
Member
Posts: 110
Joined: 2002.04
Post: #9
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 Grin)
4) The AWT is butt-ugly


This is all wrong Rolleyes

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.

- Mac Lead ZeniMax Online Studios
- Owner Plaid World Studios
- Resume: http://www.chrisdillman.com
Quote this message in a reply
Member
Posts: 110
Joined: 2002.04
Post: #10
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 Sad



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

- Mac Lead ZeniMax Online Studios
- Owner Plaid World Studios
- Resume: http://www.chrisdillman.com
Quote this message in a reply
link_jr97
Unregistered
 
Post: #11
I'll be sure to check those things out
one other question, is it possible to design a tile engine using javascript?...
Quote this message in a reply
Member
Posts: 110
Joined: 2002.04
Post: #12
Quote:Originally posted by link_jr97
I'll be sure to check those things out
one other question, is it possible to design a tile engine using javascript?...


JavaScript combined with Dynamic HTML might be able to do it.
Not sure JS in a browser can read key input on the fly.

But really a tile based game/engine is best done in flash for the web...
much easier, much faster to make and will run faster.

But if you want to try you can probably do it.
Be a great hack Smile

- Mac Lead ZeniMax Online Studios
- Owner Plaid World Studios
- Resume: http://www.chrisdillman.com
Quote this message in a reply
Patrick
Unregistered
 
Post: #13
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 Sad

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 Sneaky "do unto others as you would have them do unto you" and all that.
Quote this message in a reply
Member
Posts: 370
Joined: 2002.04
Post: #14
Quote:Originally posted by ChrisD
This is all wrong Rolleyes

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

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 Wink

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 this message in a reply
Member
Posts: 110
Joined: 2002.04
Post: #15
Quote:Originally posted by Steven
That's what I get for not programming in Java for years... Grin

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 Wink


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 Smile

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.

SWING can change themes on the fly also.

- Mac Lead ZeniMax Online Studios
- Owner Plaid World Studios
- Resume: http://www.chrisdillman.com
Quote this message in a reply
Post Reply 

Possibly Related Threads...
Thread: Author Replies: Views: Last Post
  Whats the best way to prepare for a programmer? Lord Blue 5 3,802 Jul 23, 2006 03:33 PM
Last Post: ia3n_g