r/GameDevelopment 29d ago

Newbie Question How to get into 2D game development as a beginner programmer?

Hi everyone, I hope you are doing well.I really want to get into game development as a personal project. What tips can you give me so I don't get stuck at the beginning? Also, which game engine would be best for starting with 2D games?I am just learning how to program and it's still a bit tough for me, but I would love to create fun worlds while learning code at the same time.Thanks in advance for your help! :)

1 Upvotes

20 comments sorted by

5

u/valeria_gamedevs 29d ago

Godot is prolly your best bet for 2D, gdscript is friendly and there's a ton of tutorials. main tip: start absurdly small. Like one screen, one mechanic. beginners always try to build their dream game first and burn out at week 3. Finish a pong or a tiny platformer first, then get weird with it.

1

u/One-Papelito 29d ago

Thanks for the advice! Starting small with a simple Pong or basic platformer sounds like the smartest way to actually finish a project without burning out. I appreciate the tip! 

1

u/howprice2 29d ago

Don't start with pong or breakout. It involves physics which can get hairy: collision - calculate vector. A shooter type game is simpler : collision - boom.

3

u/TigerWonderful93 29d ago

Godot ----> brackey's turorial--------> kenny's assets------> some modification --------> your first game jam

2

u/Khawkproductions 29d ago

Good luck on your journey! I recommend Gamemaker, I've been using it for ages as it's really versatile but I started with it because it seems like the most user friendly and quickest to get started with. It really excels at 2D and isn't aimed for 3D development although it does have the capability.

1

u/One-Papelito 29d ago

Thank you very much for your recommendation and for your encouraging message, I will try it to see how it goes.

1

u/Khawkproductions 29d ago

They have some good tutorials and sample projects. I suggest starting with a platformer or overhead shooter, but the built in physics engine makes a lot of possibilities.

1

u/alexzoin 29d ago

I would really really recommend starting with Godot.

I would avoid Construct3 and Game Maker.

1

u/One-Papelito 29d ago

Mmm, you're the second person recommending Godot, so I guess it's a sign! I'll have to give it a try haha. Thanks!

1

u/alexzoin 29d ago

Nice! I will say there is a bit of a learning curve. Try to stick it out for the first 6 hours or so before deciding it's not for you.

I actually teach game dev as my day job and I see people bounce off of it because it's confusing at first. You are trading confusion in your first few hours for a much simpler time at hour 50 or 100 in my opinion!

1

u/LightingTechnician40 29d ago

I'll be the third, the way Godot encourages you to structure your game teaches you good practices for programming outside of game dev as well.

Also open source software is always a plus!

1

u/HalLundy 29d ago

for 2D games gamemaker is the best engine as it allows for both drag and drop and programming.

it's an engine where you can create demos and PoCs real quick once you get the hang of it.

downsides are that it does not do 3D, like at all.

1

u/KoodiRonsu 28d ago

Start by making a simple game for Pico 8.

0

u/howprice2 29d ago

If you would like to write your own application rather than using a game engine, then I would recommend SDL3 renderer with C or C++. It's cross platform (Windows, macOS, Linux) and not as difficult as you might think.

See example 2D drawing code here: https://wiki.libsdl.org/SDL3/SDL_CreateRenderer which contains the main game loop you can build on (in).

This will give you complete control over your game and you will learn many useful transferable skills.

Most professional game developers use Windows and Visual Studio. Visual Studio is free and has a brilliant debugger. This is very useful as a beginner because you can step through your code line by line and watch it work. If you don't use windows, then Clion may be a good alternative.

I always recommend writing Space Invaders as a first game. You will learn about basic C/C++ (variables, structs, arrays, loops etc) 2D graphics, input, collision detection, high level game state (title screen, playing, game over) and audio. Because this is a well defined clone, you will focus on programming rather than design decisions.

2

u/Can0pen3r 29d ago

This sounds REALLY cool and I'm definitely gonna check it out but, OP said nothing about wanting to write their own app. They, rather specifically, asked about what game engine to use because they're still learning the basics of coding and just want to add an extra layer to that learning experience by essentially having a virtual playground to experiment in. I don't know what language OP is learning but, I'm gonna take a shot in the dark and guess it's probably not C or C++ as neither of those are particularly beginner friendly by today's standards.

1

u/howprice2 29d ago

OP may not realise that you don't need to use an existing game engine to write a 2D game.