I don't really have a better place to put this but here goes. I was just about ready to give up, no more coding, period. Last bit of coding I'd do would be for my senior project, then I'd go find something normal to do for a living. What sparked this is just that building knowledge that for the past 4 years I've been lying to myself when using game maker, I haven't been making computer games, but I was telling myself that I was. I was telling myself that I'm a good coder. because let's be honest: out of all the people who code here in any form, I likely know the least. Colton knows online play, gangsterman and orpheron know ai, lorgan can do crap with numbers that amazes me, rebel changed his INSmod into something almost unrecognizable from normal gg2, AJF can code for website interfacing when he puts his mind to it, even skeledude is better than me in general. But what do I do? I copy paste code from just about everyone. I haven't likely written any code on my own, ever. I tricked myself into thinking I had.
Character limit, sigh. Anyways, I tried to make a very simple random number generator in XNA tonight. Something not even akin to what I did for fragments, it was simpler. Couldn't do it, so I did what I always do when faced with something i couldn't code, I gave up. My dad came in, and talked with me. Told me how he couldn't remember how to do something he hadn't worked on for about a year, even though he had 10 years of expirence. Told me that there was help out there, I just had to put my mind to it. Told me to not expect results in an hour, but instead days and maybe weeks. Now, I'm not feeling as bad. I don't know XNA, I doubt redigit and blue knew everything right away when they made terraria. Why should I? I'm only 17, and XNA is new to me. Learn, and then after expirience, expect results.
A random number generator is a pretty complex thing. I wouldn't know shit about one.
And yeah, your dad is right. Coding something you just learned and working in one hour is a miracle. Take it easy, a week is already pretty fast. I needed a month for my noise functions, which are probably very similar.
In any case, coding means problem solving. For most problems, there exists one or more solutions already found. It doesn't really matter who invented those solutions, as long as you understand them. Every programmer is basically taking existing solutions and trying to make them fit a new (version of the) problem. There's a pretty good adage here:
Don't re-invent the wheel.
just read up shit and do a lot of tutorials. a lot of coders get their feet wet this way. copy pasting code is okay as long as you learn a bit about the processes behind it. mimicry isn't really a bad thing, because after all, isn't all code just permutations of things that have already been done?
^ This.
How I tried to learn C
1: googled beginners tutorial on C
2: typed a thingie that pops up a window that says "hi"
3: saved as a C source file
4: tried to run
5: got stuck and resorted to playing minecraft

This is why I can never get any work done...
http://www.mediafire.com/?9vhl194ay8frszaOne of the best resources about C around.