Sign in to follow this  

Some direction, please?

This topic is 3303 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Please help! I'm completely stuck on what I should be spending my time learning. I've been trying to learn game programming for some time now, often getting out of practice for months at a time, often due to getting stuck on a decision of where to direct my learning. I have a solid understanding of the concepts within C/C++. After taking a C++ class in high school, I've continued with self study, and gained an immediate interest in game programming. I made several small text-based games and then started learning Allegro so that I could integrate graphics. (Please note the lack of direction I had in what I should be learning) I eventually felt I had made a mistake in learning allegro and decided that I should learn direct x instead. I could not get the direct x sdk to work with the dev-C++ compiler I was using at the time. I took a long break from game programming then, but eventually downloaded Visual C++ Express and was able to get the sdk to work with the tutorials I found on the internet. I also tryed out the Dark GDK and found it to my liking. I searched for modeler programs that could export to a .x file, and found Blender, which I became engrossed in learning for very long. However, even following specific instructions for the exporter, I cannot get an animated, textured model to successfully export to a .x file. I've been trying to fix that little problem for some time, and I think I could easily continue my education through directx and the Dark GDK if I could make my own models. I can't seem to fix my problem with the exporter, and I thought that making my own modeler specific towards .x objects would be a decent idea since it would help me learn more about directx anyway. Here's where I'm stuck. I still don't know much about directx, and I'd still give up what I've learned in it and go back and learn OpenGL or a graphics engine instead. For now, I'm only planning on doing game programming as a hobby, but I still want to make code that can be used by others, and even join an open project after I get some more experience, so I want to learn something that is going to be useful to me as an independent game programmer/designer but also something that I can take with me to work along with others. -I've read that OpenGL is more portable than directx, but I'm ok with aiming at a windows platform if it's going to be a better, faster, and cheaper learning experience for me. -I understand that I shouldn't be so concerned with making 3d games, since I can't make much on my own. I can make 2d games with allegro right now, and I'd be more than willing to go all the way back to the basic stuff again with another sdk. I just want to go back there and get on a path that doesn't dead end at 2d since I'd like to participate in bigger projects some day. I am now stuck with these concerns -I don't know whether to study directx, opengl, or a graphics/game engine. -I also don't know whether to use blender as a modeler, find another one, or create my own. -I know that I need to get some more books on game programming. I just need to decide what direction to take. In fact, I don't need answers to all of these problems. This is a chain of problems and if I can find a solid answer to any of them, I am sure I will be on my way to solving the rest. -I can spend SOME money on books etc, I just don't want to waste it on things I don't actually want/need (like a book teaching an sdk that I can't take anywhere) -I really need some direction so that I can find a path to follow. Please give me whatever advice you can and thank you for reading my lengthily described situation.

Share this post


Link to post
Share on other sites
I'd say: SDL.
SDL handles most of the things that can be used for making a simpler game. SDL is easy to learn and there is numerous of guides out there that can settle your interests. It will most likely give you a greater understanding of graphicprogramming, handling sounds, aswell as handling the keyboard. And when the time comes, jump onto the OpenGL's great world.

Share this post


Link to post
Share on other sites
Quote:
Original post by ender012345
I've been trying to learn game programming for some time now, often getting out of practice for months at a time, often due to getting stuck on a decision of where to direct my learning.

Not doing anything is one of the worst things you can do. ;)

Quote:
I eventually felt I had made a mistake in learning allegro and decided that I should learn direct x instead.

I've worked with OpenGL, DirectDraw, SDL, Panda 3D, Pygame, Flash, Ogre 3D... and I've created levels for shooters for 8+ years... and I think I've learned something from all of that. Granted, some were more useful than others, and I wouldn't want to use some of them anymore, but nothing was an absolute waste of time. The basic ideas behind them easily carry over to other API's, so to me it's just a matter of being flexible (being able to quickly get to work with yet another API). What I find important in libraries is how productive they make me: do I need to do a lot of gruntwork myself or do they save me a lot of time?

Quote:
Here's where I'm stuck. I still don't know much about directx, and I'd still give up what I've learned in it and go back and learn OpenGL or a graphics engine instead.

While I think that OpenGL and DirectX can be educative, I believe that for most projects using a graphics engine is far more productive.

Quote:
For now, I'm only planning on doing game programming as a hobby, but I still want to make code that can be used by others, and even join an open project after I get some more experience, so I want to learn something that is going to be useful to me as an independent game programmer/designer but also something that I can take with me to work along with others.

It is very useful to be able to finish projects. Once you've got a few projects under your belt, you'll be far more capable of writing code for others, because then you have a better idea of what's actually useful.

Quote:
-I understand that I shouldn't be so concerned with making 3d games, since I can't make much on my own. I can make 2d games with allegro right now, and I'd be more than willing to go all the way back to the basic stuff again with another sdk. I just want to go back there and get on a path that doesn't dead end at 2d since I'd like to participate in bigger projects some day.
I am now stuck with these concerns

Worry about the big projects later. Become comfortable with the basics first. Not just familiar, but comfortable. The main differences between 2D and 3D games are more complex math and different resources (usually more complex, too). Which is why I would advise you to create 2D games first. You'll learn the same basic principles, without the added complexity getting in the way.

Quote:
-I don't know whether to study directx, opengl, or a graphics/game engine.

If you want to get a game done, use an engine. Rewriting all that functionality takes a lot of time, so take advantage of what others have done already.

Quote:
-I also don't know whether to use blender as a modeler, find another one, or create my own.

Creating your own is a daunting task - I would not recommend it unless you know what you're doing. I'd say, use Blender, and get that exporter up and running - asking others for help if you're stuck - or write your own exporter.

Quote:
-I know that I need to get some more books on game programming. I just need to decide what direction to take. In fact, I don't need answers to all of these problems. This is a chain of problems and if I can find a solid answer to any of them, I am sure I will be on my way to solving the rest.

I think you just need to get some things done. Don't worry about it being the best way - you'll learn as you go and you'll find better ways eventually.

Quote:
-I can spend SOME money on books etc, I just don't want to waste it on things I don't actually want/need (like a book teaching an sdk that I can't take anywhere)

I'd highly recommend 'The pragmatic programmer' by Andrew Hunt and David Thomas.


Look at what others recommend or what they had success with and check if their situation applies to yours. But above all, pick *a* path and go for it. If it's a dead-end, learn from it and pick a path that appears to be better. Don't worry about not knowing enough - if that's the case, you'll find out soon enough, and it gives you something to investigate. :)

Share this post


Link to post
Share on other sites

This topic is 3303 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this