My plan for learning to program
Moderator: Coders of Rage
- JaxDragon
- Chaos Rift Junior
- Posts: 395
- Joined: Mon Aug 04, 2008 2:03 pm
- Current Project: Kanoba Engine
- Favorite Gaming Platforms: PS3, PC
- Programming Language of Choice: C++
- Location: Northeast NC
My plan for learning to program
This probrably won't interest the more experienced users, but I am really bored and this may interest some newer programmers.
First off, decide what kind of programs you want to make
There are 3 major ones that most people talk about
1)GUI Applications(level editors, text editors, etc.)
2)Game applications(should be self explanatory)
3)Hacking applications(applications made to mess with a program, or just make people mad)
If you chose GUI applications, heres how I think you should start
1)Learn a simple language like perl
2)Advance your language database to C/++
3)Google what framework you need to make the GUI's, as they all differ from operating system to operating system
If you chose game programming, heres how I think you should start
1)Learn C/++, the reason being, you will use this the most often, and it is good to start off in a good object-oriented rythum, otherwise you would have gotten the hang of a simple language, which will probrably mean a harder transition
2a)Learn a game oriented BASIC language, this will get you started into actual game programming.
2b)Learn Python and pygame
3)Learn a C++ game framework of your choice, each OS can have different frameworks
If you chose "hacking" programming, heres how I think you should start
1)Learn C++
2)Learn assembly
3)Learn about TCP/UDP sockets
4)Realise that it requires years of college in network safety, give up, and switch to game programming or GUI programming
Here are links to various tutorials that should help you get started:
SDL Tutorials:
http://www.lazyfoo.net
C++ Tutorials:
http://www.youtube.com/watch?v=Ad0wuvnMUSg, then continue with his series
And the best resource of all...
http://www.google.com
I hope this guide helps people!
First off, decide what kind of programs you want to make
There are 3 major ones that most people talk about
1)GUI Applications(level editors, text editors, etc.)
2)Game applications(should be self explanatory)
3)Hacking applications(applications made to mess with a program, or just make people mad)
If you chose GUI applications, heres how I think you should start
1)Learn a simple language like perl
2)Advance your language database to C/++
3)Google what framework you need to make the GUI's, as they all differ from operating system to operating system
If you chose game programming, heres how I think you should start
1)Learn C/++, the reason being, you will use this the most often, and it is good to start off in a good object-oriented rythum, otherwise you would have gotten the hang of a simple language, which will probrably mean a harder transition
2a)Learn a game oriented BASIC language, this will get you started into actual game programming.
2b)Learn Python and pygame
3)Learn a C++ game framework of your choice, each OS can have different frameworks
If you chose "hacking" programming, heres how I think you should start
1)Learn C++
2)Learn assembly
3)Learn about TCP/UDP sockets
4)Realise that it requires years of college in network safety, give up, and switch to game programming or GUI programming
Here are links to various tutorials that should help you get started:
SDL Tutorials:
http://www.lazyfoo.net
C++ Tutorials:
http://www.youtube.com/watch?v=Ad0wuvnMUSg, then continue with his series
And the best resource of all...
http://www.google.com
I hope this guide helps people!
Last edited by JaxDragon on Sun Oct 05, 2008 2:53 pm, edited 2 times in total.
Re: My plan for learning to game program
Nice, finally somebody capable of learning themselves. ;P
So which path you going to take? (assuming you're actually new and not just posting this as a kind of tutorial for nubz, which is fine. xD)
So which path you going to take? (assuming you're actually new and not just posting this as a kind of tutorial for nubz, which is fine. xD)
<qpHalcy0n> decided to paint the office, now i'm high and my hands hurt
- JaxDragon
- Chaos Rift Junior
- Posts: 395
- Joined: Mon Aug 04, 2008 2:03 pm
- Current Project: Kanoba Engine
- Favorite Gaming Platforms: PS3, PC
- Programming Language of Choice: C++
- Location: Northeast NC
Re: My plan for learning to game program
I myself have taken the path of the game developer. I have learned C++, and am working on BlitzBasic. I was foolish and tried to jump right in to graphical C++ API's and was given a ticket to an epic fail. Thats why I suggest you get the hang of something like blitz before moving on to SDL or something.
Re: My plan for learning to program
Why not learn a language such as python and ease into a program such as pygame which allows you to develop games with python. Also python would come in handy for many years to come long after you learned C++ as a scripting language among its many other important functions. Not to mention it would be cross compatible across operating systems and would give you more freedom of choice over what you develop should you mature as a programmer and seek a different sector of the programming industry or wish to broaden your horizons. Also Pygame uses SDL anyway so you would still be familiar with the environment and how it works when you switch over to C++. Which would be a great way to ease into development don't you think!
Links:
I took the liberty of grabbing some links for you:
http://www.python.org/ This comes with a lot of information on python and some tutorials on how to get started and download python.
http://www.pygame.org Find information about how to make games with python here.
Books / Ebooks:
At this point I would recommend buying yourself a nice book on python but take the following ebooks as a great way to get started and further your knowledge:
Dive into Python
http://diveintopython.org/toc/index.html This is a great book for someone that wants to get into programming fast, but be warned its a bit rough around the edges and may not be the best for a first time programmer you will want to look for a book stating Learn to PROGRAM with python and not Learn to program in python there is a key difference and if its your first language some would recommended a Sams 24 hours or 21 day book. Or an O'Reily the ones with the animals on front.
How to Think Like a Computer Scientist Learning with Python
http://openbookproject.net//thinkCSpy/ Is another great ebook source and it seems to be in depth maybe for beginners as long as you know your stuff about computers. Check it out this may also be for you.
Thinking in Python
http://www.mindview.net/Books/TIPython This is a great book also available in hard copy which is a good book to read once you have grasped the fundamentals of the language. Through Sams or O'Reily.
Now I am not criticizing your plan I am just providing an alternative that may work out better in the future for you. In the end do what you want but please respect that I went to the trouble of trying to help you out.
Examples of PYGames:
Note that a lot of hard work went into these projects.
Links:
I took the liberty of grabbing some links for you:
http://www.python.org/ This comes with a lot of information on python and some tutorials on how to get started and download python.
http://www.pygame.org Find information about how to make games with python here.
Books / Ebooks:
At this point I would recommend buying yourself a nice book on python but take the following ebooks as a great way to get started and further your knowledge:
Dive into Python
http://diveintopython.org/toc/index.html This is a great book for someone that wants to get into programming fast, but be warned its a bit rough around the edges and may not be the best for a first time programmer you will want to look for a book stating Learn to PROGRAM with python and not Learn to program in python there is a key difference and if its your first language some would recommended a Sams 24 hours or 21 day book. Or an O'Reily the ones with the animals on front.
How to Think Like a Computer Scientist Learning with Python
http://openbookproject.net//thinkCSpy/ Is another great ebook source and it seems to be in depth maybe for beginners as long as you know your stuff about computers. Check it out this may also be for you.
Thinking in Python
http://www.mindview.net/Books/TIPython This is a great book also available in hard copy which is a good book to read once you have grasped the fundamentals of the language. Through Sams or O'Reily.
Now I am not criticizing your plan I am just providing an alternative that may work out better in the future for you. In the end do what you want but please respect that I went to the trouble of trying to help you out.
Examples of PYGames:
Note that a lot of hard work went into these projects.
Re: My plan for learning to program
That is some good advice. I took the same aproch as you, try c++, fail with the graphics, switch to blitz, be happy...
- JaxDragon
- Chaos Rift Junior
- Posts: 395
- Joined: Mon Aug 04, 2008 2:03 pm
- Current Project: Kanoba Engine
- Favorite Gaming Platforms: PS3, PC
- Programming Language of Choice: C++
- Location: Northeast NC
Re: My plan for learning to program
Python is a good language, and easy to learn. Open source is the way to go. It's just that most python/pygame programs, don't have as much flexibity as C++ programs do. But I will edit my post and encourage to learn Pygame, as it is good to go from C++ to Blitz to Pygame. Python together with C++, with python as a scipting language, holds a lot of power.
BTW, You forgot the BEST pygame game of all, FRETS ON FIRE
BTW, You forgot the BEST pygame game of all, FRETS ON FIRE
Re: My plan for learning to program
Python and Pygame are an excellent starter combo! I'm familiar with it and I can tell you that
there are a few examples (that come with pygame) in which BlitzBasic code is ported. I can
remember a graphic swizzle that was ported to Python from Blitz and it was pretty awesome.
I definitely recommend it as a supplement to any Blitz coder, as its not difficult to learn at all.
there are a few examples (that come with pygame) in which BlitzBasic code is ported. I can
remember a graphic swizzle that was ported to Python from Blitz and it was pretty awesome.
I definitely recommend it as a supplement to any Blitz coder, as its not difficult to learn at all.
Re: My plan for learning to program
I however cannot talk from experience I learned C++ straight out and I am going to tell you now its possible however the learning curve is much larger than other languages and its much harder to make games right with C++ as apposed to python or another language. For your first programming language I would not recommend blitz basic, though it may give you quick results it may promote sloppy programming (I am only saying this in terms of the basic language itself you can rebut if you know the language). Also learning to program is different from learning a language. All programming languages have things in common and its the theory behind this that you really have to grasp. Anyway whatever you choose make sure you understand what the code your writing means and how it produces its results.
P.S When you open a source file and see you know almost nothing about how the code inside or how it works you should be happy because it means there is a lot of room for you to improve. Unless of course its that old text box used in Gyrovorbis engine I suppose no one will ever know what the hell that did.
P.S When you open a source file and see you know almost nothing about how the code inside or how it works you should be happy because it means there is a lot of room for you to improve. Unless of course its that old text box used in Gyrovorbis engine I suppose no one will ever know what the hell that did.
- MarauderIIC
- Respected Programmer
- Posts: 3406
- Joined: Sat Jul 10, 2004 3:05 pm
- Location: Maryland, USA
Re: My plan for learning to program
The same thing twice. Sometimes three times. I should know, I fixed it =)dejai wrote:P.S When you open a source file and see you know almost nothing about how the code inside or how it works you should be happy because it means there is a lot of room for you to improve. Unless of course its that old text box used in Gyrovorbis engine I suppose no one will ever know what the hell that did.
I realized the moment I fell into the fissure that the book would not be destroyed as I had planned.
- 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: My plan for learning to program
I wrote that shit when I was 16! I was young, virgin, and naive!
- MarauderIIC
- Respected Programmer
- Posts: 3406
- Joined: Sat Jul 10, 2004 3:05 pm
- Location: Maryland, USA
Re: My plan for learning to program
That's no excuse! :)
I realized the moment I fell into the fissure that the book would not be destroyed as I had planned.
- dandymcgee
- ES Beta Backer
- Posts: 4709
- Joined: Tue Apr 29, 2008 3:24 pm
- Current Project: https://github.com/dbechrd/RicoTech
- Favorite Gaming Platforms: NES, Sega Genesis, PS2, PC
- Programming Language of Choice: C
- Location: San Francisco
- Contact:
Re: My plan for learning to program
*Runs off to attempt to fix his messy source code* <- Why I work alone.
Falco Girgis wrote:It is imperative that I can broadcast my narcissistic commit strings to the Twitter! Tweet Tweet, bitches!
- JaxDragon
- Chaos Rift Junior
- Posts: 395
- Joined: Mon Aug 04, 2008 2:03 pm
- Current Project: Kanoba Engine
- Favorite Gaming Platforms: PS3, PC
- Programming Language of Choice: C++
- Location: Northeast NC
Re: My plan for learning to program
Lol @
dandymcgee wrote: *Runs off to attempt to fix his messy source code* <- Why I work alone.
- ismetteren
- Chaos Rift Junior
- Posts: 276
- Joined: Mon Jul 21, 2008 4:13 pm
Re: My plan for learning to program
Is c++ really the way to go for GUI applications? what about c#?? It is alot easier to actully make some GUI with that.
- 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: My plan for learning to program
Actually, to be completely honest, I'd say C++ is not the way to go for GUI applications. You would have such an easier time with a higher level language like C#, Java, VB, or scripting languages like Python, Perl, etc.
...But if you're planning to use the knowledge/experience that you gain from making a level editor and apply it to your actual game development, maybe you would be better off with C/++.
...But if you're planning to use the knowledge/experience that you gain from making a level editor and apply it to your actual game development, maybe you would be better off with C/++.