What now?

Started by
17 comments, last by realh 9 years, 8 months ago

Hello!

I have created some programs using Java, this year. (CD-Key Generator, Calculator with a GUI etc.)

However, I want to create games. The thing is, I don't know where I can learn to do this.

I understand how to program in Java to a certain level, and I know the basics of a game (Refreshing the screen 60 times each second, game loops etc.) I just don't know how to do this in Java.

So, my questions are:

- How can I learn to do this in Java?

- If I decide to use another language, like C++, would it be any different?

- I have also heard that if you are to use C++, you usually want to create your own engine, is this true?

- This is not very relevant yet, but if you are to create a 3D game, how do you load models etc.? (I am aiming at simple 2D games first though)

Advertisement

You have programmed, so you understand that programming concepts remain the same, but the language you choose will impose restrictions or syntax that needs to be understood. Making games is the same way. There are core game programming concepts, and then you have the language/engine/platform stuff to worry about. When you're just starting out, it can be hard to figure out where to start.

The good news is, the best way to start is to just make some games.

If you're looking for Java stuff, check out my web site: http://www.indiegameprogramming.com

Whatever language you choose, there will be stuff to learn. You don't need to make your own engine. People do this just to learn more about how engines work and to improve their programming experience.

I think, therefore I am. I think? - "George Carlin"
My Website: Indie Game Programming

My Twitter: https://twitter.com/indieprogram

My Book: http://amzn.com/1305076532

I forgot these if you're ready to start right away.

http://www.gamedev.net/page/resources/_/technical/general-programming/java-games-active-rendering-r2418

http://www.gamedev.net/page/resources/_/technical/general-programming/java-games-keyboard-and-mouse-r2439

I think, therefore I am. I think? - "George Carlin"
My Website: Indie Game Programming

My Twitter: https://twitter.com/indieprogram

My Book: http://amzn.com/1305076532

Hello! Welcome! Pull up a chair and read every link Glass_Knife suggested.


However, I want to create games. The thing is, I don't know where I can learn to do this.

Just start making games. Really. Jot down some ideas -- a simple Pong or maybe Space Invaders clone, whatever -- then use your programming experience to make them happen. You've got the tools you need, just "woodshed" (a term we use when musicians spend time practicing) for a while. Get some experience just working on anything that comes to mind.

Then re-read all of those links, shake out your hands, and start on another idea!

Edited to Add: More specific thread titles will serve you better on this forum.

Indie games are what indie movies were in the early 90s -- half-baked, poorly executed wastes of time that will quickly fall out of fashion. Now go make Minecraft with wizards and watch the dozen or so remakes of Reservior Dogs.

I have some ideas for some games, but they are too advanced for me to create at this point.

Still, I want to create the engine myself, for the knowledge.

Where can I possibly learn this?

I have also heard that to make games with C++ you need DirectX or OpenGL.

What are these, and why do you need them with C++, and not Java?

Also, thank you for the links! I will read them!

Morrowa,

You never want to start off writing a "game engine." A "game engine" is just a bunch of reusable and time-tested code. Write a game. When it comes time for a second game, recycle some of the code and improve upon in. Repeat that cycle. I have found that if you plan on building a "game engine" from the beginning, you end up wasting more time implementing features just for the sake of features.

OpenGL and DirectX are graphics API's. They are the bridge between low-level rendering operations/talking to the hardware and you.

EDIT:

To answer one of the questions in your first post: learning to create games in Java is really no different from creating games in other languages. As someone else noted, languages do different things. Regardless, there are common "core" principals that drive games. For example, all games (no matter what language) run in a loop. This loop usually handles user input, updating, and rendering. When a game starts up, some initial data is usually loaded to get ready for the game to run. When a game shuts down, systems are usually released. Regardless of the language, a loop is a loop. Loading data is loading data. Releasing data is releasing data. How these things are done may change, however, the principals are the same for all languages.

"The code you write when you learn a new language is shit.
You either already know that and you are wise, or you don’t realize it for many years and you are an idiot. Either way, your learning code is objectively shit." - L. Spiro

"This is called programming. The art of typing shit into an editor/IDE is not programming, it's basically data entry. The part that makes a programmer a programmer is their problem solving skills." - Serapth

"The 'friend' relationship in c++ is the tightest coupling you can give two objects. Friends can reach out and touch your privates." - frob

This:


I have some ideas for some games, but they are too advanced for me to create at this point.

doesn't fit with this:


Still, I want to create the engine myself, for the knowledge.

I'd worry about your ability to make an entire game engine if you can't blast out a Pong clone in Java.

Best of luck!

Indie games are what indie movies were in the early 90s -- half-baked, poorly executed wastes of time that will quickly fall out of fashion. Now go make Minecraft with wizards and watch the dozen or so remakes of Reservior Dogs.

Still, if I am going to make a pong game, I need in one way or another to load sprites etc.

Wouldn't that be a very primitive engine if the code does all the basic stuff?

When it comes to engines like Unity, I have no idea how they are made.

(Could anybody explain how?)

Either way, I guess I will start out simple with some Tic Tac Toe, Tetris and Pong.


Still, if I am going to make a pong game, I need in one way or another to load sprites etc.

Wouldn't that be a very primitive engine if the code does all the basic stuff?

Someone didn't read the provided links.


If you're looking for Java stuff, check out my web site: http://www.indiegameprogramming.com

Click that. Your answers are there. If you can't make a game with your Java experience and the information on that site, then nothing I can type will be of value.

Indie games are what indie movies were in the early 90s -- half-baked, poorly executed wastes of time that will quickly fall out of fashion. Now go make Minecraft with wizards and watch the dozen or so remakes of Reservior Dogs.

Thanks for asking this question. I actually learned a lot from the links given.

This topic is closed to new replies.

Advertisement