Making a background & a character

Started by
4 comments, last by vaironl 12 years, 10 months ago
Hello guys vaironl here , trying to take my basic iostream fuctions a bit more advance.

If you have read posts I which are currently not too much I am pursing a dream of becoming a game programmer which is not easy, and I feel like I won't be able to do even though I'm still trying to achieve it. Going into the main point I have been teaching myself programming with youtube videos and a C++ book called Programming principles and practice using C++.
I also have been seeing alegro video but I haven't tried since it looks a bit complicated for me. So where would you guys tell me / suggest me to start?
Advertisement

Hello guys vaironl here , trying to take my basic iostream fuctions a bit more advance.

If you have read posts I which are currently not too much I am pursing a dream of becoming a game programmer which is not easy, and I feel like I won't be able to do even though I'm still trying to achieve it. Going into the main point I have been teaching myself programming with youtube videos and a C++ book called Programming principles and practice using C++.
I also have been seeing alegro video but I haven't tried since it looks a bit complicated for me. So where would you guys tell me / suggest me to start?


Small and defined.

Pick a game concept, something extremely "simple", at least by your expectations, then have it at. Pick whatever language you want, although I would suggest other languages would get you further/faster, but C++ is perfectly workable if you set about learning it the right way.

The biggest thing is, achievable; but expect failure. It is through failure you will most likely learn to program, but it is through success that you will be motivated to continue. This is why I suggest you pick a defined, demonstrative but attainable game to start with, success motivates like no other factor!

If you have no idea where to start, I would suggest one of two things. Either build a card game or a combat clone. Both will give you the proper foundations to learn more difficult subjects, but will be do-able enough to motivate you to keep going. To be completely honest, take your estimation of timeline and difficulty to make a "simple" game and triple it! Unless of course you view the task as completely impossible!

Regardless to how you spend your time, or how successful you end up being, I guarantee you will gain a hell of a lot from the experience. Unless of course you set out to make WoW from the start, in which case you are just set for extreme heartache.

Small and defined.....


Thanks for the suggestion sounds like something should expect and it gives me a base to start.
I'm curious about 'Other languages making the process easier' Which would you recommend.

By the way sorry to get into this sub topic, but does a game programmer require math ( I believe it is needed . but is it needed at a high rate and is it complicated math) I like math but usually get frustrated in class and now I'm afraid by the fact that I might fail because of only this subject.

I know I should first try to make some things on my own to know if I'll really be interested in game programming but I was just wondering ... Thanks!.

[quote name='Serapth' timestamp='1307316843' post='4819902']
Small and defined.....


Thanks for the suggestion sounds like something should expect and it gives me a base to start.
I'm curious about 'Other languages making the process easier' Which would you recommend.

By the way sorry to get into this sub topic, but does a game programmer require math ( I believe it is needed . but is it needed at a high rate and is it complicated math) I like math but usually get frustrated in class and now I'm afraid by the fact that I might fail because of only this subject.

I know I should first try to make some things on my own to know if I'll really be interested in game programming but I was just wondering ... Thanks!.
[/quote]

Oh, I'm totally not going to open the whole "which programming language to start with" can of worms, more than I already have! ;) I'll just say, if you are learning to program and learning to program games at the same time, other languages might be a better choice. Again, C++ is a valid choice, just not the one I would choose. If you do decide to go the C++ route, start of learning HOW to use the language, not HOW the language works. Trust me on this one. What I would say, if it was me, knowing what I know now and could go back and talk to past me that knew nothing other than the fact he wanted to be a programmer... I would probably recommend LISP or F#, purely because once your mind learns to program a certain way, these languages are a right bitch to learn ( and functional programming is the future, even though LISP is > 30 years old! ).

As to math, yeah, hate to tell you but math is very much a big part of learning to program games. Now the brightside, you will probably find math a hell of a lot easier to learn when you have an application for it. I had a bitch of a time getting interested in Algebra during my advanced high school years, but then once I started applying it, I realized that I was more or less learning and using a superset of the exact same subject. It is all about how it is taught and the motivation for learning it. To put simply, if you are motivated enough, you will be able to conquer the math. There are some very good textbooks that will guide you through the process. That said, a simple card game will require minimal math, while a 2D game like combat will only require around an advanced grade 11 ( Canadian standards ) level math understanding.
www.lazyfoo.net check out his SDL tutorials. SDL makes it very easy to make your program handle user interaction by giving you a standard set of functions (the SDL API) with which you can check for user input and set graphics modes and other things. SDL is cross-platform compatible, so it will be relatively easy to get your code to run on other systems besides Windows, and whether or not that matters to you it will greatly simplify development of your project regardless.

SDL is admittedly somewhat dated but it gets the job done. Alternatives like SFML and QT are basically the same, but newer and perhaps cleaner in some ways, but they demand that you incorporate them using an object-oriented approach, which is probably somewhat of a hinderance for someone who doesn't know much about anything.

DevC++ itself has been largely left for dead by the developer, the latest release I believe dates back to 2005, and it has bugs which will cause it to crash unexpectedly (unless you know what to look out for!) and even though I still use it to this day I recently found an awesome equivalent with some additional features (like code folding, oh god how I would have loved to have code folding in DevC++ all these years).. It's called MinGW Developer Studio, and it's very nice and compact and just as easy to use as DevC++, I almost feel that it might be based off of DevC++ itself, but it's more likely that it's a complete new IDE developed from scratch.

A lot of coders will tell you to use some professional tools like Microsoft's Visual Studio, but I'll have you know it's not beginner friendly for someone who wants to compile an EXE that will immediately run on another machine without first going in and disabling all sorts of run-time dependancies (thanks Microsoft) that your program will require end-users have installed and up-to-date.

I'm a huge fan of making my end users happy, and thus have always followed a very simple coding style that makes not only my life easier, but also the lives of my end-users happy by eliminating as many run-time dependancies and external libraries as possible. I've been writing a whole variety of desktop applications over the past decade, and I can tell you that my applications will run on any version of windows from 98 to 7, and sometimes even 95. Now I know that this doesn't matter to most, but whenever I personally download and install a program that an independent developer has released and it expects me to have very specific DLL's that require me to hunt down what the root of the problem is via google, I opt for uninstalling/deleting the program and just finding an alternate. I don't have time to hold the hands of other programmers because of their ignorance.

Anyhow, enough of this ranting, lazyfoo.net will show you a lot of the basics for using SDL, as well as getting DevC++ set up to properly link your program to the SDL libraries that you will need to be able to develop projects which use it. Don't listen to super-hyper-mega experts who have been coding forever professionally, they will suggest you take a path that they themselves did not take, and sadly they do not realize that telling newbies to do what it is that they do currently is not going to suffice nearly as well as pointing them toward the foothills of the beginner programmer's journey.

I learned the basic concept of C-style syntax from Quake back in the late 90's by writing mods for the game in the scripting language that it runs on called QuakeC. Shortly thereafter I found a copy of an old C++ compiler my father had in his storage and some Win32/OpenGL tutorials to make rainbow triangles and texture-mapped quads. Reading and playing with existing open-source projects will help you far more than asking lots of questions, this I know from experience. With the advent of google, anybody can become a programmer purely by self-teaching. GameDev.net has always been a great resource just to get answers from people who have experience in specialized aspects of coding, and developing games of all kinds, but don't expect anybody to become your own personal mentor, there's a reason these positions are jobs that people get paid for, it's not a simple task teaching someone all they wish to know.. It's far easier to fire up google and find the websites of good natured folk who take the time to write articles and tutorials. They are few and far in-between, but they are there, and there are enough of them to help anybody get started.

Remember, google is your best friend, you just have to practice your abilities at figuring what search terms will help you find what you want. Search for what you think you're looking for, and see what sort of terms show up on the results, try using those search terms because sometimes what you're looking for has a name and all you need to do is find that name with what you do know about what you're looking for.

Good luck, and stay motivated and positive, don't let anything discourage you but try to develop a realistic sense of what you can do in a time frame that won't cause you to lose your job or fail your classes, etc..

Oh, and don't get mad at anybody who isn't willing to help, or tries to insult you, it's not their fault you have dreams.

[quote name='vaironl' timestamp='1307317719' post='4819908']
[quote name='Serapth' timestamp='1307316843' post='4819902']
Small and defined.....


Thanks for the suggestion sounds like something should expect and it gives me a base to start.
I'm curious about 'Other languages making the process easier' Which would you recommend.

By the way sorry to get into this sub topic, but does a game programmer require math ( I believe it is needed . but is it needed at a high rate and is it complicated math) I like math but usually get frustrated in class and now I'm afraid by the fact that I might fail because of only this subject.

I know I should first try to make some things on my own to know if I'll really be interested in game programming but I was just wondering ... Thanks!.
[/quote]

Oh, I'm totally not going to open the whole "which programming language to start with" can of worms, more than I already have! ;) I'll just say, if you are learning to program and learning to program games at the same time, other languages might be a better choice. Again, C++ is a valid choice, just not the one I would choose. If you do decide to go the C++ route, start of learning HOW to use the language, not HOW the language works. Trust me on this one. What I would say, if it was me, knowing what I know now and could go back and talk to past me that knew nothing other than the fact he wanted to be a programmer... I would probably recommend LISP or F#, purely because once your mind learns to program a certain way, these languages are a right bitch to learn ( and functional programming is the future, even though LISP is > 30 years old! ).

As to math, yeah, hate to tell you but math is very much a big part of learning to program games. Now the brightside, you will probably find math a hell of a lot easier to learn when you have an application for it. I had a bitch of a time getting interested in Algebra during my advanced high school years, but then once I started applying it, I realized that I was more or less learning and using a superset of the exact same subject. It is all about how it is taught and the motivation for learning it. To put simply, if you are motivated enough, you will be able to conquer the math. There are some very good textbooks that will guide you through the process. That said, a simple card game will require minimal math, while a 2D game like combat will only require around an advanced grade 11 ( Canadian standards ) level math understanding.
[/quote]



www.lazyfoo.net check out his SDL tutorials. SDL makes it very easy to make your program handle user interaction by giving you a standard set of functions (the SDL API) with which you can check for user input and set graphics modes and other things. SDL is cross-platform compatible, so it will be relatively easy to get your code to run on other systems besides Windows, and whether or not that matters to you it will greatly simplify development of your project regardless.

SDL is admittedly somewhat dated but it gets the job done. Alternatives like SFML and QT are basically the same, but newer and perhaps cleaner in some ways, but they demand that you incorporate them using an object-oriented approach, which is probably somewhat of a hinderance for someone who doesn't know much about anything.

DevC++ itself has been largely left for dead by the developer, the latest release I believe dates back to 2005, and it has bugs which will cause it to crash unexpectedly (unless you know what to look out for!) and even though I still use it to this day I recently found an awesome equivalent with some additional features (like code folding, oh god how I would have loved to have code folding in DevC++ all these years).. It's called MinGW Developer Studio, and it's very nice and compact and just as easy to use as DevC++, I almost feel that it might be based off of DevC++ itself, but it's more likely that it's a complete new IDE developed from scratch.

A lot of coders will tell you to use some professional tools like Microsoft's Visual Studio, but I'll have you know it's not beginner friendly for someone who wants to compile an EXE that will immediately run on another machine without first going in and disabling all sorts of run-time dependancies (thanks Microsoft) that your program will require end-users have installed and up-to-date.

I'm a huge fan of making my end users happy, and thus have always followed a very simple coding style that makes not only my life easier, but also the lives of my end-users happy by eliminating as many run-time dependancies and external libraries as possible. I've been writing a whole variety of desktop applications over the past decade, and I can tell you that my applications will run on any version of windows from 98 to 7, and sometimes even 95. Now I know that this doesn't matter to most, but whenever I personally download and install a program that an independent developer has released and it expects me to have very specific DLL's that require me to hunt down what the root of the problem is via google, I opt for uninstalling/deleting the program and just finding an alternate. I don't have time to hold the hands of other programmers because of their ignorance.

Anyhow, enough of this ranting, lazyfoo.net will show you a lot of the basics for using SDL, as well as getting DevC++ set up to properly link your program to the SDL libraries that you will need to be able to develop projects which use it. Don't listen to super-hyper-mega experts who have been coding forever professionally, they will suggest you take a path that they themselves did not take, and sadly they do not realize that telling newbies to do what it is that they do currently is not going to suffice nearly as well as pointing them toward the foothills of the beginner programmer's journey.

I learned the basic concept of C-style syntax from Quake back in the late 90's by writing mods for the game in the scripting language that it runs on called QuakeC. Shortly thereafter I found a copy of an old C++ compiler my father had in his storage and some Win32/OpenGL tutorials to make rainbow triangles and texture-mapped quads. Reading and playing with existing open-source projects will help you far more than asking lots of questions, this I know from experience. With the advent of google, anybody can become a programmer purely by self-teaching. GameDev.net has always been a great resource just to get answers from people who have experience in specialized aspects of coding, and developing games of all kinds, but don't expect anybody to become your own personal mentor, there's a reason these positions are jobs that people get paid for, it's not a simple task teaching someone all they wish to know.. It's far easier to fire up google and find the websites of good natured folk who take the time to write articles and tutorials. They are few and far in-between, but they are there, and there are enough of them to help anybody get started.

Remember, google is your best friend, you just have to practice your abilities at figuring what search terms will help you find what you want. Search for what you think you're looking for, and see what sort of terms show up on the results, try using those search terms because sometimes what you're looking for has a name and all you need to do is find that name with what you do know about what you're looking for.

Good luck, and stay motivated and positive, don't let anything discourage you but try to develop a realistic sense of what you can do in a time frame that won't cause you to lose your job or fail your classes, etc..

Oh, and don't get mad at anybody who isn't willing to help, or tries to insult you, it's not their fault you have dreams.



Thanks allot to both of you great resources I will slowly digest all of the information given, which looks great and is great since I researched it.
I have to thanks mostly for putting a tremendous amount of effort , lazyfoo gives good instructions I'll give it a bigger research and I downloaded minGW.

Serapth thanks for the languages listed, I'll try to stick with c++ for now. The reason is because I feel comfortable with it

This topic is closed to new replies.

Advertisement