How to become a Good Game programmer

Hi ,
I want to devleop games using java … and i want to be this as my career. tell me what should i do to develop in this gaming field. Currently i have developed java 2d games using swings timer … Next what should i do to reach my goal. Please give your valuabe suggestions.

whatever you wanna do.

in short, if you think “hey that is a really cool idea for a game” DO IT

thinking of ideas can be hard sometimes though.

welcome to java-gaming.org

I don’t think java game programmer is a terribly realistic career choice right now.

There are pretty much zero big gaming companies that write games in java, and the java games that exist and make money are made by very small independent teams. There are also open source/free games, but those aren’t exactly career material.

I would say your best options are:
a) Start your own company that makes java games.
This is Not Easy. Considering Puppygames aren’t rich yet, I doubt most mortals will be able to pull it off.
b) Learn J2ME and write games for cell phones.
Unfortunately, J2ME on cell phones started out as a small market and is quickly dying. Cell phones are getting too fast for J2ME.
c) Learn actionscript and get a job as a flash game developer.
This is what I did. Because of how wide spread and light weight the flash player is, this is currently by far the most accessible way of getting games out there at the moment.
Java has better performance and can do more, but that doesn’t seem to matter much to business people.
d) Learn C/C++ and get a job at one of the big studios.
Heavy competition, and the money’s not that good.

Thank u very much for ur replies… but i want to become a 3d game developer like in gta, spiderman, etc…in gud companies… am very much interested… in java programming…so which one is better to continue my games either java 3d games or j2me…

There are only handful singificant java games for pc. You should probably learn j2me and android, but to be honest probably about 90% of java programmers does boring enterprise applications so this seems to be only realistic career choice for a java developer ;).

Though it seems counter-intuitive, I know exactly what you mean.

Perhaps; “Cell phones are getting too fast for J2ME’s restrictive APIs.
Afterall, a faster platform should be beneficial regardless of the programming language used.

e) Learn C#/XNA and target the XBOX arcade market.

If you want to make commercial high class 3D games using java, I am afraid, option a) might be your only option.

I suggest learning android if you want to stay in the Java range.
I don’t know if JavaFx will be big on mobile but that’s another option, and maybe JavaFx will go on android in the future anyway.

ok from u r discussions… i decided to start learning j2me first…then android… can any one tell me what is android…

[quote]Though it seems counter-intuitive, I know exactly what you mean.

Perhaps; “Cell phones are getting too fast for J2ME’s restrictive APIs.”
Afterall, a faster platform should be beneficial regardless of the programming language used
[/quote]
+1 about restrictive API

It is possible to get rich at it… it just requires perseverance and full-time dedication. We’ve persevered so far but only had short stints of full-time dedication. Or you could just strike it lucky like Sillysoft and be made for life from just one main game and its many addons and derivations (all written in pure Java). Who knows how the cookie will crumble? We’ve got another stab at it this year.

Cas :slight_smile:

I think that there is still hope in java.

I mean there is runescape. that is written in java. and jagex is RICH because of it.

I agree with you and some companies are using Java for commercial games on PC, especially Ankama Games.

For the moment, the FGF is still under construction and can only afford paying one person for a full-time job between 2 and 3 months per year. This is not enough to maintain a frequent activity but the situation is slowing being improved; when I started, I had no money. I hope I will be able to share this adventure with some other people.

I personally think that even if java is the best language that wont matter.

It is the same as fire wire and USB, fire wire is faster, but USB just took of better.

besides, I think that people jsut dont realize how much people depend on java.

Yes, it’s absolutely possible to make successful games in java. But most “big” companies seem to focus on other technologies, and with very good reasons.

Just make sure your doing something you like doing, the rest I wouldn’t worry about until it is right in front of you.

a cupple of years ago competing on game with Java was nearly impossible, this is no more true nowadays, game compagny have focused on C++ & directx as it has been the good choice for severals years. but the growing place of linux as a desktop & the increasing powerfull of java (and also because powerfull is no more a problem today for standard game programming), will probably make java a good choice for game programming in the near futur.

Any statistic data on this?

Also established companies have invested a lot of money into C/C++/DirectX engines/libraries and tools, so they won’t switch anytime soon. Only chance is an independent startup or your own company.

I would say “go for it”, but finding an employment as java desktop game developer is highly unlikely.

I don’t think anybody is giving you great advice. Here is what I did to land a job in the game industry:

  1. I made games as a hobby all through high school and college, mostly in Java (in the latter half).
  2. Just before I went job hunting I made a giant portfolio on a website http://www.otcsw.com/
  3. I originally just applied to Three Rings (threerings.net) as it was the only successful Java game studio I had ever heard of. The application process for them took over 2 months and involved countless interviews. In the end I didn’t get the job because I bit off more than I could chew in terms of the final “challenge assignment” I had to write for them. Most people who did one made a simple board game, I made an entirely new dungeon crawler game from scratch and as such there were a lot of bugs adapting it to their API.
  4. I went and did a job at Adventures Cross Country for a month because it was sweet going to Costa Rica for free.
  5. When I got back I applied in earnest to all sorts of positions, only about 1/10 of which were game studios, and many of which were in languages I wasn’t entirely familiar with (but I could learn any language pretty quickly).
  6. I ended up being offered 3 jobs at the same time: one as a tester for Java enterprise apps (hell no!), one as a software engineer for a retail experience company (really cool company, actually), and one as a game developer for a startup.

I took the third option, so now I’m working for Raw Meat Games, publishing our first game in June. I haven’t used Java at all at this company - I’ve used C# and Objective-C, mostly. But I didn’t know either before I joined, so I wasn’t hired for my expertise in Java or another language. It was because of my portfolio. I have like 20 at least half-finished games on there, all of which I’ve made entirely on my own with no prompting from anybody. That’s great incentive for a company to hire you, because what’s really important to them is that they have someone who’s passionate and will do good work for them. When you amass a giant hobby portfolio you’ve already proven that you’re passionate. Then if your games are any good then you prove that you can do good work.

So, in conclusion, make games in whatever language you want (I wouldn’t recommend J2ME because it sucks and by the time you learn it there will be no use for it), just make sure that when you’re applying you’ve got an impressive portfolio, or at least an extensive one. It will set you apart more than anything else could.

As for where the market is for independent developers: try the iPhone (Objective-C) or Flash (AS3 / Flex). You’ll be able to land jobs in those areas pretty easily. If you want to use a powerful language just to make a game for fun, definitely go with Java. You can also check out Unity (unity3d.com) which uses C#/Javascript/Boo but can result in some very easy-to-make 3D games of any kind. Costs money, though.

That’s all from me. :slight_smile:

hows that different from what I said :slight_smile:

I haven’t seen anyone make a portfolio that didn’t like what they we’re doing.
Liking what your doing is pretty much a pre-requirement for being passionate, prove me wrong if you must :slight_smile:

Also note that I said ‘doing’ - not - liking the prospect of making games(or fill in random other thing) or (just) playing them.