Hey, I was wondering if I could have some guidance from experienced SDL'ers or anyone who can offer help.
I am comfortable with c++ and this past summer I spent every day learning my first graphics API (SDL). I am almost at the point where I understand everything the library has to offer. I believe that I am at my next stage of development...
I am about to make my own games but I am not sure how I should go about it. Making easy games and progressively getting harder would be an easy choice, but I do not want to gain bad habits by doing everything from scratch.
I am aware of a few online tutorials and I will look at them but If there was a perfect way about learning game logic and creating games that would be awesome.
Maybe you can add how you made the jump from knowing an API to developing your own games?
Thanks for the help
SDL Guidance
Moderator: Coders of Rage
- Falco Girgis
- Elysian Shadows Team
- Posts: 10294
- Joined: Thu May 20, 2004 2:04 pm
- Current Project: Elysian Shadows
- Favorite Gaming Platforms: Dreamcast, SNES, NES
- Programming Language of Choice: C/++
- Location: Studio Vorbis, AL
- Contact:
Re: SDL Guidance
I mean no offense, but I am literally awestruck by this statement.Dramborleg wrote:[..]but I do not want to gain bad habits by doing everything from scratch.
Back when you decided how to first begin, you had essentially two options: use Java or C# (or even Unity3D) and use higher-level prebuilt engines, or learn lower-level C++ and a multimedia API and learn to develop things from scratch.
If you really have spent as much time as you say learning C++ and SDL, and you really do believe that "doing things from scratch" is a bad habit, then all of you progress so far has been a bad habit.
It is my personal opinion that you have made the right choice. It is my personal opinion that by starting at such a low level, you will build a firmer understanding of the game development process and will ultimately become a far more knowledgeable developer. But it is also by far the hardest, most roundabout way to learn that is completely incompatible with a belief that "doing things from scratch is a bad idea."
I don't know how to direct you from here. If you honestly believe that doing things from scratch are a bad habit, then you sure have chosen an odd path so far. As a matter of fact, you've come to a forum of mostly people who have "bad habits."
-
- Chaos Rift Newbie
- Posts: 3
- Joined: Wed Aug 24, 2011 5:07 pm
Re: SDL Guidance
Thanks for the help. That put everything into perspective. I wont even bother looking at tutorials and go straight into making games and learning how they work for myself.
- EccentricDuck
- Chaos Rift Junior
- Posts: 305
- Joined: Sun Feb 21, 2010 11:18 pm
- Current Project: Isometric "2.5D" Airship Game
- Favorite Gaming Platforms: PS2, SNES, GBA, PC
- Programming Language of Choice: C#, Python, JScript
- Location: Edmonton, Alberta
Re: SDL Guidance
I don't think doing things from scratch is a bad habit so much as one approach. The question is, what are you aiming towards?
If you want to learn low level fundamentals, writing stuff from scratch is great and you'll learn a lot of really good stuff. If you want to work on rapid prototyping or getting a completed game more quickly, work on something in a higher level and you'll still learn a lot - it'll just be different things. Both will teach you something valuable.
So the question is, what do you want to get out of it? If you're more concerned at this point with working on putting together something of production quality, and you're worried about not learning how to develop something whole because of the amount of time it takes, then try something like C# with XNA. Also, you could continue with SDL since, from what I understand, it's a pretty powerful library which you've familiarized yourself with and that'll be a good start to try making something more complete.
Or maybe, what you mean to say, is you don't want the coding habits associated with exclusive use of a particular API. In that case, try picking up another API and working with that. I keep hearing SFML mentioned here. There's also the OpenGL or DirectX route - both would be a good learning experience of working with a lower level API. Or you could try something like Qt and work with a platform that is geared towards an even wider range of applications including business and games.
The best way to learn how to make games is to make them yourself. Tutorials are also incredibly helpful, but ultimately, you will learn the most from putting what you learn from tutorials into practice with your own stuff and making it work with your own ideas. You learn through both trial and reflection - read that which is written for your all over the internet and in books, try it out, and then try doing your own thing with what you learned. When you've finished that step, ask yourself what worked well and what didn't. Repeat. The more you learn, the less you'll rely on tutorials - but they're not a crutch so long as you're trying to push yourself beyond them.
If you want to learn low level fundamentals, writing stuff from scratch is great and you'll learn a lot of really good stuff. If you want to work on rapid prototyping or getting a completed game more quickly, work on something in a higher level and you'll still learn a lot - it'll just be different things. Both will teach you something valuable.
So the question is, what do you want to get out of it? If you're more concerned at this point with working on putting together something of production quality, and you're worried about not learning how to develop something whole because of the amount of time it takes, then try something like C# with XNA. Also, you could continue with SDL since, from what I understand, it's a pretty powerful library which you've familiarized yourself with and that'll be a good start to try making something more complete.
Or maybe, what you mean to say, is you don't want the coding habits associated with exclusive use of a particular API. In that case, try picking up another API and working with that. I keep hearing SFML mentioned here. There's also the OpenGL or DirectX route - both would be a good learning experience of working with a lower level API. Or you could try something like Qt and work with a platform that is geared towards an even wider range of applications including business and games.
The best way to learn how to make games is to make them yourself. Tutorials are also incredibly helpful, but ultimately, you will learn the most from putting what you learn from tutorials into practice with your own stuff and making it work with your own ideas. You learn through both trial and reflection - read that which is written for your all over the internet and in books, try it out, and then try doing your own thing with what you learned. When you've finished that step, ask yourself what worked well and what didn't. Repeat. The more you learn, the less you'll rely on tutorials - but they're not a crutch so long as you're trying to push yourself beyond them.
- Falco Girgis
- Elysian Shadows Team
- Posts: 10294
- Joined: Thu May 20, 2004 2:04 pm
- Current Project: Elysian Shadows
- Favorite Gaming Platforms: Dreamcast, SNES, NES
- Programming Language of Choice: C/++
- Location: Studio Vorbis, AL
- Contact:
Re: SDL Guidance
Yeah, it's really hard to direct people these days. There's such a gradient with things like Unity3D, Java SDKs, and XNA. There didn't used to be so many options when I started. It was essentially either C++ and rolling your own or RPG maker.
But I don't think there's anything wrong with looking at C++ tutorials. As long as you aren't simply copy+pasting code, there's so much you can learn from them. Just make damn sure that you know understand the logic as you are implementing it, otherwise it's essentially useless to you bettering yourself as a programmer.
But I don't think there's anything wrong with looking at C++ tutorials. As long as you aren't simply copy+pasting code, there's so much you can learn from them. Just make damn sure that you know understand the logic as you are implementing it, otherwise it's essentially useless to you bettering yourself as a programmer.
-
- Chaos Rift Newbie
- Posts: 3
- Joined: Wed Aug 24, 2011 5:07 pm
Re: SDL Guidance
Yeah there are a lot of options. I don't want to be a hobbyist so that cuts down the options. I like the choice I made with c++ and sdl so far, I am loving it. After I feel like I have a good understanding of sdl I am going to take a stab at Opengl.
Finding reliable articles and useful information on the steps you should take is very hard. Which is why I cam here.
After all, a half of a year ago the "Game Development: Getting Started" series is what got me started.
I guess my next step would be to understand the games in these tutorials. and than try my hand at some of my own games from the logic I learned.
- http://cone3d.gamedev.net/cgi-bin/index ... xsdl/index
- http://www.aaroncox.net/tutorials/arcad ... ction.html
I should probably join a forum and talk with other programmers also. This is a good place to start.
Thanks again for helping, appreciate it.
Finding reliable articles and useful information on the steps you should take is very hard. Which is why I cam here.
After all, a half of a year ago the "Game Development: Getting Started" series is what got me started.
I guess my next step would be to understand the games in these tutorials. and than try my hand at some of my own games from the logic I learned.
- http://cone3d.gamedev.net/cgi-bin/index ... xsdl/index
- http://www.aaroncox.net/tutorials/arcad ... ction.html
I should probably join a forum and talk with other programmers also. This is a good place to start.
Thanks again for helping, appreciate it.