Jump to content
  • Advertisement
Sign in to follow this  
jdub

Need Your Opinion about where to go next

This topic is 3786 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I have been programming for a while (about a year now). About a month ago I started building graphical programs using Java2D and managed to create a pong-like game. Upon building my next game: Space shooter like "Asteroids", I reallized that I had a problem on my hand: As I understand it, Java2D can't rotate sprites. I looked into some java game libraries on the web but it seems to me like java doesn't have a large user base for game programming, hence lots of tutorials online. My question is: Should I move to a different language with more 2D game development support (C++ or something else)? or Are my misinformed and it turns out that there is a good 2D java game library? if so could someone provide me with some links to a good tutorial on that library. All help is appreciated a lot. Thanks!

Share this post


Link to post
Share on other sites
Advertisement
I would ditch Java, but that's only my personal opinion.

For 2D games, Flash is what's really "hot" right now. Not only do you have the easiest access to your audience, but it makes a lot of things easy. There are some big performance downsides (even simple games at relatively low resolution perform poorly on even fast machines), but that's not really an issue for Asteroids.

If you really want to get into it, learn C++ or C#. I use C++ and OpenGL for 2D. It's extremely fast (compared to framebuffer libraries like SDL) and you get sprite rotation, scaling, transparency, etc for free. If you don't care about portability, DirectX would probably be your best shot.

Oh, and if you want to stick with Java (remember, it's what you want, not what other people tell you what you want), there are OpenGL wrappers available. There are even some "2D engines" built on Java and OpenGL that will wrap it all up in a nice abstracted interface. I've seen them, but can't remember any names for you at the moment.

Share this post


Link to post
Share on other sites
Well, if you are attached to Java, then I'm sure googling and using the links provided by the other posters would be fine.

Also, if you can find no way to rotate, you could always make a sprite sheet with 36 different sprites, each one being turned 10 degrees more than the last (i.e. one at 0 degrees, then 10, then 20 all the way to 350). This is how I used to handle rotation way back when I used GameMaker and had no idea what I was doing.

Or, if you aren't too attached to Java, there is always Python. I would personally recommend it over C++ or C# just because it is so much simpler. Get the Pyglet library (OpenGl wrapper) and you can be making games in no time. Remember, just because something is easier isn't always bad, the time you'd spend setting up low level stuff in C++ can be used to actually be making a game with Python. Another advantage of Python is that with Pyglet, it will run on Windows, Mac OS X, *nix, and probably anything else that supports Python 2.5 with ctypes.

Good Luck with whatever path you choose,
Cody

Share this post


Link to post
Share on other sites
Hmmm... Python. Thanks for the Idea but I think I want to go C++. The problem is that I don't know where to start. Should I start at the very beginning of my Textbook size book about C++ or should I start in the "Pointers" chapter and continue from there? I know the basic syntax for C++ because I started with as a language for about a month before I gave up and moved to java.

Share this post


Link to post
Share on other sites
Since you already know Java, you already have the major concepts down. Get a book (I recommend "The C++ Programming Language" by Stroustrup or "Thinking in C++" by Eckel) and start reading. You should probably read the chapters on things you already know, there's bound to be points you would have missed anyway. Reading isn't the time-consuming part anyway, it's the experimentation and application of what you've learned. There's almost never an excuse _not_ to read something.

Share this post


Link to post
Share on other sites
I agree with the read everything suggestion. It'll help you remember stuff, even if you just skim over it and don't read it with your full attention, your bound to pick up something you had forgotten or never known.

Share this post


Link to post
Share on other sites
If you already have a grasp on Java, I would actually suggest just delving into C++. HGE is a very nice 2D engine for C++ (DirectX) that you can probably start using very quickly. Plus there's a great tutorial that gives you all of the steps of setting up your C++ project and using the engine.
You will definitely find that there are things you don't understand in C++, but there are a lot of online resources where you can quickly look up whatever it is.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!