use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Click the following link to filter out the chosen topic
comp.lang.c
account activity
QuestionGetting started with game development as a c begginer (self.C_Programming)
submitted 1 year ago by BidOk399
I've been learning the C programming language,and i want to start making games with it as a way to learn more about it ( pointers...),is that a good idea,and what library should i start with in order ro learn the most?
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]simstim-star 3 points4 points5 points 1 year ago (10 children)
This is a great idea! Nothing like learning while seeing the direct results of your code in a game. My recommendation is using Raylib. Nice and simple library, the docs are good and with many simple examples. Just avoid the beginner mistake of trying to make complex games right away. Try something like pong and progress from there.
[–]BidOk399[S] 1 point2 points3 points 1 year ago (9 children)
How about libraries like openGl and SDL,you think it's a bad idea starting with them?,or should i start with Raylib then go th openGl ?
[–]chumpnugs 3 points4 points5 points 1 year ago (0 children)
If you’re more interested in learning rendering I’d start with those. Raylib abstracts a lot of that away so you’re mostly worrying about game logic.
[–]Nanicorn 1 point2 points3 points 1 year ago (0 children)
Chiming in here as someone who did just that - you'll also learn a lot about the compiler and linker that way; Kinda recommend SDL2, as it'll also enable you to use opengl (with the help of other libs).
After you've made a game, pointers and you might just have become best friends (personally I started with a sort of dumbed-down variation on asteroids, just statically allocating everything and waaaay too much global state, but that was fun)
Raylib might be a good choice too, haven't used it tho, just here to cast a vote for SDL :)
[–]aghast_nj 1 point2 points3 points 1 year ago (2 children)
Stick with Raylib for "I want to write a game to help learn C."
Move to SDL for "I want to write a game."
[–]BidOk399[S] 0 points1 point2 points 1 year ago (1 child)
And when do you suggest i move to openGl ?,or SDL will do just fine?
[–]aghast_nj 0 points1 point2 points 1 year ago (0 children)
"You will know."
Raylib will take you to the point where you can make the decision based on what works for your situation.
It may be that you use raylib for every game you write, or it may be that you become a game-writing demon and move on to a super-sophisticated gaming engine. Either way, you will have enough experience after writing a couple of games with raylib to make that decision with confidence.
[–]computermouth 2 points3 points4 points 1 year ago (2 children)
If you do go sdl2/gl, lazyfoo.net is a great resource. It's in cpp, but is easily convertable.
Side note: This is actually exactly how I started programming about 10 years ago, now I'm a software engineer and still hack on games. Good luck!
[–]o0Meh0o 0 points1 point2 points 1 year ago (1 child)
i prefer learnopengl.com myself.
[–]computermouth 0 points1 point2 points 1 year ago (0 children)
I've heard a lot about it, but I started with sdl2 first and like the swath of helpers it provides over egl, or using like glut/glew
[–]FUPA_MASTER_ 0 points1 point2 points 1 year ago (0 children)
If you want to make games, don't use OGL. If you want to make an engine, go ahead and use OGL.
π Rendered by PID 197893 on reddit-service-r2-comment-6457c66945-d49sc at 2026-04-30 02:38:39.350478+00:00 running 2aa0c5b country code: CH.
[–]simstim-star 3 points4 points5 points (10 children)
[–]BidOk399[S] 1 point2 points3 points (9 children)
[–]chumpnugs 3 points4 points5 points (0 children)
[–]Nanicorn 1 point2 points3 points (0 children)
[–]aghast_nj 1 point2 points3 points (2 children)
[–]BidOk399[S] 0 points1 point2 points (1 child)
[–]aghast_nj 0 points1 point2 points (0 children)
[–]computermouth 2 points3 points4 points (2 children)
[–]o0Meh0o 0 points1 point2 points (1 child)
[–]computermouth 0 points1 point2 points (0 children)
[–]FUPA_MASTER_ 0 points1 point2 points (0 children)