I always wanted to make games, but did not know how I should start. I spent many hours looking for help on the internet but have not found anything that would be able to help me. But now I decided to ask someone on the forum because without any direction I can not achieve anything.

I can use: HTML, CSS, and understand the basis of JavaScript, Java, and Python. I would like to learn how to make games. I'm not a graphic designer, but my friend knows this well, and I'm sure he would help me.

I would like to start with a simple 2d game. I have a whole lot of ideas.

So I ask you for help - how should I begin?

And one more thing. I used the search option, but I have not found anything that would be able to help me.

Try looking through this site since you know HTML, CSS, and Javascript.

Beginner in Game Development? Read here.Super Mario Bros clone tutorial written in XNA 4.0 [MonoGame, ANX, and MonoXNA] by Scott Haley
If you have found any of the posts helpful, please show your appreciation by clicking the up arrow on those posts

Spoiler

How on earth can you go around telling lies, be shown that they are lies, then continue to ignore the evidence to the contrary. I'm not qualified to deal with this, sorry. - HodgmanNever crash to desktop. That's the equivalent of a Starbucks rep punching you in the face when you try to order a coffee with soymilk when they run out of soymilk. - KoobazaurFor programmers, R & D means "Research & Duplicate".Just remember... XML is like violence. If it doesn't work, you just aren't using enough of it... - MoeEvery time I go into my account settings I feel like I've never used the internet before. - booleanPerson X: Do you want to live forever?
Person Y: No, but I want to live a long life.
Person X: Only cowards live that long.
Person Y: And yet, we travel to seek the counsel of these "cowards".

You can start in many ways - all depending on your goals. If you're antsy to make games then you can start with something high level and pretty easy to use. This means things as Game Maker or maybe even Unity3d.

If you're not that antsy just to code games and you'd rather learn something "bigger" and more "heavy-weight" then you can try some language with an engine/library for coding games - you can choose whatever Basic, Python, Java, C++, C# etc. There are many libraries too, I'd recommend C++ and SFML. You can take a look at Blitz3d - it's the language I started with - it's really easy to code things with it, but you'll have to move away from it sooner or later if you ant to code soemthing serious.

If you want something even more heavy weight that will distance you even more from game programming but will give you great opportunities for learning you can try a serious language as C++ (and not just the basics) and maybe studying OpenGL or DirectX.

Since you know Java, go to the Java API read up on the Canvas, JPanel, Graphics2D, BufferStrategy, System and Image Class. This is the starting point in learning 2D game programming. Any 2D game uses these classes all the time.

I tell you bits of information on what the above class is all about and I allow you to figure more details on your own. Understand the methods of the above classes.

Canvas- this is the canvas that will create the buffer strategies for you. Usually you will just need 2 buffer strategies.

JPanel-the canvas will be added onto here.

Graphics2D- this is the graphics context where all your game objects(any thing that shows up on the screen) is drawn here.

Bufferstrategy-it gets and shows you a buffer strategy as well as get the graphic context for you.

System- you will need this to keep track of the time of your game objects are loaded during the game and when it was drawn.

Image- you will need this along with the graphics context in order for your image to show up on the graphics context.

The concepts are a lot to take in so I recommend learning the concept at your own pace. But since you know Java, you should be able to understand it fairly well. Not only read but start applying these Java classes.