Sign in to follow this  

Never learn games programming!

This topic is 2954 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

You should never learn games programming You should never start learning DirectX.. It's very complicated and works only on Windows.. OpenGL is multi platform and simpler. You should never start learning OpenGL.. It's only used in rendering and you can never use it for sound, input and networking (like DirectX). Never switch back to DX, remember the comlexity and the single platform issues.. Actually you should never start learning any low level graphics API. Are you re inventing the wheel or what? Get an engine and start using it. You should never start using SDL, it's only 2D You should never start using ORGE3D. It is only a rendering engine. You should never use any engines because you should understand the low level concepts of graphics before developing something big.. Noo. Don't think again about DX and OGL.. They are low level, they are hard to learn and you have to write 100s lines of codes to draw a sqaure. You better do nothing. That what I got from people few months after deciding to start learning games programming. That I should not do this step. I have to stay as I am, developing boring applications and never try to do something I like.

Share this post


Link to post
Share on other sites
And you listen to them? Who cares what their opinion on what you should/shouldn't do is, it's easy for them to make decisions for you because they don't have to live with the consequences, just ignore them and go for whatever you want. If you work hard enough, you will definitely get it, full stop.

Share this post


Link to post
Share on other sites
Quote:
Original post by Samuelson
And you listen to them? Who cares what their opinion on what you should/shouldn't do is, it's easy for them to make decisions for you because they don't have to live with the consequences, just ignore them and go for whatever you want. If you work hard enough, you will definitely get it, full stop.


I have to get an advice from someone.

And every time I get convinced with an opinion, I find 1000 people proving it to be wrong.

Frustrating.

Share this post


Link to post
Share on other sites
Welcome to the internet. An unfortunate side effect of being able to talk to loads of different people with ease is that the more people, the more opinions. And as the number of opinions grow they have the annoying habit of having an empty intersection set.
The trick is learning to see which opinions carry more weight than others (for example "X is useless" carries much less weight than a three paragraph discussion about the problems X has in relation to Y) and which opinions are more applicable to the current situation.

Share this post


Link to post
Share on other sites
hehe, I think your post is quite amusing. I don't think you could go very wrong starting any of the things you mention. Just pick one, and go with that. If you’re having a hard time, try something else. Everything has it's pros and cons and you actually name some of them. There are lots of people in the world and it’s impossible to have everyone agree on anything. If you want quick results, pick something high level (the fun part comes sooner). If you want to understand what’s underneath these high level engines, go with something more low level, but expect a higher learning curve. After hearing all the pros and cons it’s up to you to make a decision.

Share this post


Link to post
Share on other sites
The onlyone whose opinion counts is yours. You have to decide what you want to reach and you have to choose the right tools, APIs, languages for that. Everything has pros and cons. If you think it is worth to do it than do it. Don't give up!

Share this post


Link to post
Share on other sites
You have to pick something and stick with it if you want to get anywhere. Any tool, technology, technique or approach you might choose will have both advantages and disadvantages, and these may or may not apply to you to differing degrees depending on your personal goals.

Trying to start out and looking for advice, it's an unfortunate reality that you're going to get a lot of conflicting opinions, and even at times arguments where both sides seem perfectly logical; when this happens, think about how the listed benefits or problems effect you personally, and if there's still no clear 'better' choice then just pick either option and stick with it.



Considering for example DirectX vs. OpenGL, you've been told not to choose DirectX because it isn't cross platform. Does that matter to you? If you use or wish to target other platforms then you might want to avoid it, but if you're a Windows user and don't immediately want to target other platforms then this particular disadvantage -- although perfectly valid -- doesn't matter to you.

Always match any advice you've been given back to your own situation and you'll often find that even though someone may be presenting a valid reason not to use an approach you've chosen, it may not apply specifically to you.

Hope that helps.[smile]

Share this post


Link to post
Share on other sites
Not to laugh at your plight, but I did find your post humorous, OP. If you have to get advice from someone, take the advice of the people who have posted here and ignore what everyone is saying. Choose something you want to do and go for it, no matter what the opinions of other people are. If everyone only did what popular opinion says to do, nothing much would ever get done.

Share this post


Link to post
Share on other sites
As for the DirectX vs OpenGL part I really don't see the point in making a cross platform game since windows holds 90% of the market and the only real market for indie games is on steam which only works on windows. It's an insane amount of work to make a game function on more then one platform, not many large corporations even do this because it requires you to almost rewrite everything even if you used cross platform libraries.

Just do what works for what you want!

Share this post


Link to post
Share on other sites
Quote:
Original post by CodaKiller
As for the DirectX vs OpenGL part I really don't see the point in making a cross platform game since windows holds 90% of the market and the only real market for indie games is on steam which only works on windows. It's an insane amount of work to make a game function on more then one platform, not many large corporations even do this because it requires you to almost rewrite everything even if you used cross platform libraries.

Just do what works for what you want!


As someone who works on a multi-platform terrain renderer (both a local running version and a streaming internet application) as his professional job, I would like to call this as incorrect. Given a suitable multi-platform library (Qt does it well for our purposes) and developers who are aware of the multi-platform requirement, the "insane amount of work" is mostly reduced to
* making sure header names have the proper case
* adding typename in templates where MSVC did not require them
* adding new lines at the end of files as required by the standard.

Share this post


Link to post
Share on other sites
Quote:
Original post by Hinch
Haha, it's almost poetry

ROFL!
Yeah, I must've seen hundreds of threads about how to go about learning game programming but I think this is the first one I've ever seen where someone actually posted the opposite. It's a refreshing change from all the "how do I learn game programming in a week" threads LOL!

Plus you have to give the OP credit not only for his prose but it looks like, unlike all the other newbie postings, he actually did some research and tried it before asking for the easy and royal road to game programming!
Having said that I don't agree with the OP's views because to paraphrase Kennedy's going to the moon speech I choose to do game programming exactly because it is hard, not because it is easy.

Share this post


Link to post
Share on other sites
Quote:
Original post by tonysameh
I have to stay as I am, developing boring applications and never try to do something I like.


No, don't stay as you are. Developing boring applications is always bad. And make sure to try something else, something you like.

Share this post


Link to post
Share on other sites
A good programmer, regardless of which industry their in, should always use the right tool to get the job done.

If you decide your game is to be cross-platform (i.e. Windows, Mac, Linux) then consider all cross-platform API's to accomplish the features you want in your game (i.e. Use OpenGL for your graphics rendering). In some cases you might need to use multiple libraries to develop your game, but this is common (i.e. OpenGL is a graphics library, perhaps FMod for audio, XInput for Xbox360 controller support, etc...).

If you design your game first, then begin programming after you know what you want, you'll be able to select API's which most fit your requirements without wasting time writing all sorts of code which might be thrown away.

And remember, games are fun and developing them should be the same way. If you make a mistake and use the wrong library, who cares, you can always change code to accommodate new features. The important part is to have fun and learn. Good luck with everything.

Share this post


Link to post
Share on other sites
Quote:
Original post by tonysameh
You should never learn games programming
You should never start learning DirectX..
You should never start learning OpenGL..
You should never start using SDL
You should never start using ORGE3D

Sounds like a classic case of somebody who did a mini-poll.
When you ask for opinions, you inevitably get a lot of opinions.
And those opinions are invariably all over the map.
My advice?
You should never conduct a mini-poll. Or if you do,
You should never neglect to weed out the contradictory replies.
You should never forget that you can think for yourself.
You should never lose faith in your own ability to learn by experiment.
You should never stop blazing your own trails.

Share this post


Link to post
Share on other sites
Quote:
Original post by CodaKiller
As for the DirectX vs OpenGL part I really don't see the point in making a cross platform game since windows holds 90% of the market and the only real market for indie games is on steam which only works on windows. It's an insane amount of work to make a game function on more then one platform, not many large corporations even do this because it requires you to almost rewrite everything even if you used cross platform libraries.

Just do what works for what you want!


This is only interesting if you plan on releasing something that will actually be interesting to that big chunk of gamers. You'd be surprised how well indie games work on platforms like mac and linux (e.g. World of Goo). Most indie games won't be interesting for 89% of the market that windows holds anyway.


I say look at your own needs and requirements. If you only use Windows anyway and your friends do too, then just develop with either DirectX or OpenGL, whatever floats your boat. If you'd rather not get all specific on one of those two lower level libraries, get an engine like Ogre3D for example and start programming an actual game without worrying about how the things work behind the scenes too much. Added benifit of using an engine is that when you do start using the lower level libraries, you'll have a good idea of what functionality you need to create.


Personally, I started with SDL. It wasn't too complicated, provided only 2D stuff which was just what I wanted to get my foot down in programming in general. Now I started learning some OpenGL, because the 2D capabilities of SDL were too simple and I want to learn something new too. Seeing I use Linux OpenGL was a natural choice for me.

Anyhow, just go with whatever would work for you. There is things to say for all sides of the argument. If you'd rather put together a cool game for friends to see right now, just get a ready engine and go wild. If you'd rather create some tech demos and improve your programming in general to maybe work on a proper game later, go for something more low level.

Share this post


Link to post
Share on other sites
Grumpy old man moment... May the flames make you stronger...

This reminds me of the AskReddit problem. People these days are making the hordes on the internet make very basic decisions for them. "Dear Reddit, what should I have for breakfast today?"

It's not the responsibility of the internet to tell you what to do. Go out and do something for yourself.

Ask for advice but be able to pave your own road.

Pick either a language or an engine.
Choose either 2D or 3D
Pick a graphics API
Make a game design
Finish it.

There's no wrong way to go. Different people find different things easy or hard. My first game was a 3D First Person Shooter. I finished it fine. Some people choose Pong. They finished it fine.

Everything is relative, just do something and stop whining that no one is adequately running your life for you. You're in charge, you only have yourself to blame. It's all your fault.

-me

Share this post


Link to post
Share on other sites
OH!
You guys are really wonderful.
Your replies are the best ones I got among all my posts in all forums.

I wanted to reply to each one of you but I'll waste a lot of time. I need it after you all gave me a lot of energy to continue reading my OpenGL book.

Thanks for every one, really.

Share this post


Link to post
Share on other sites
Yeah, its quite confusing which API to use.
The way i did it was...
Spend a week learning OpenGL.
Spend next week learning DirectX.
See what you can do with a weeks worth of knowledge.
In the end OpenGL won my favor.
I was able to get up and running much easier.
But now i still want to learn DirectX also.
A good game programmer should be versed in all the popular APIs.
But this is just my humble opinion...

Share this post


Link to post
Share on other sites
Another thought: You appeared to be worried about doing things "the wrong way." Using the wrong library, using the wrong engine, using the wrong platform. You need to stop worrying so much. You are going to do things the wrong way, at least until you get some actual experience. That's not a bad thing; that's actually how you learn. I could show you some code from when I was first starting out that would make some of the forum-ers howl in agony.

Making mistakes is not going to stop you from writing games, and its not going to stop you from learning. The important thing is that you are able to analyze why something was wrong, and learn from that mistake. You're not going to die in a fire if you use, say, DirectX, and then find out that you really prefer OpenGL, or should have used something like Ogre. At worst, you've lost some time and learned a few things about game development.

Yes, try to find people who actually know what they're talking about, take their advice, and then make your own decision. Its good to get advice, but in the end you need to figure out what you want to do.

Share this post


Link to post
Share on other sites

This topic is 2954 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