Santos wrote:
First, a question for experienced programmers: how did you become an experienced programmer?
Let's just get this out of the way, "experienced" has no meaning other than a lot of time spent with it, so by spending a lot of time programming.
That said, if you're looking for "good" programmers, I don't think anyone can objectively call himself good, skilled perhaps.
Santos wrote:
What/why/where/when/how did you learn?
I think I first started programming in qbasic, and I made a small tic-tac-toe game, this can't have been much later than '98, and, with short intermissions, I have programmed ever since. A good thing about those old systems is that they were what I refer to as 'poke-able', it's easy to just poke at it and see what things do, and I still consider it very interesting to this very day. Another good thing is that those days there were proper manuals. I had two big paper manuals (and no, or limited internet access), one about qbasic, and one about ms-dos, and I coded. Whether the code was any good? Probably not, but I had fun, and what's more important than that?
Afterwards I have followed some basic tutorials to get me started with programming languages, more specifically, with c++, but really, I've never been much of a tutorial guy. Again, this goes back to 'pokeability', I just like to get a programmatic stick out every once in a while and poke at everything in an environment, and, as probably everyone will say, programming is all about experience, so I poked a lot, a I poked thoroughly, until I saw what was going on,
and what the results of my actions were.
Of course nowadays I am studying CS at uni, and I'm really enjoying learning about the fundamentals and the theory behind computers, algorithms and, of course, programming.
Santos wrote:What do you do during a day, programming-wise?
Well, mostly uni assignments, at the moment, and last weekend I participated in the Ludum Dare. I also spend a lot of time reading the internet about programming and related subjects, especially if it's something outside of my area of expertise, because I feel it's really important I know a bit of everything, because just knowing different perspectives makes you better working on things from your perspective.
But more importantly, not a day goes by where I don't think about code, whether it's just a mental challenge along the lines of "This is an interesting idea, how would I do this?", or something I'm working on at the moment, or something completely different I came across and am now thinking about, like a piece of software I discovered that day.
Santos wrote:Do you go through tutorials? Did you go through tutorials? Do you like tutorials? Do you like video tutorials, or text tutorials, or interactive tutorials, or do you have a favourite structure or style?
As mentioned before, I have gone through a couple of tutorials, but not many, I like exploring things on my own. I do, however, prefer text tutorials over interactive tutorials and moreso over video tutorials. The beauty of text tutorials is that you can go through in your own pace, write your own tests, look at the examples, play with them a bit, etc. I make my (plain) text tutorials interactive, in the way I want/need.
That said, nowadays I usually go straight for reference manuals, since I feel I know enough about how things work in general that reading through more is a waste. Also, this is where kikito's message comes in about asking the right questions, if I do find something I don't know about, I often know what to look for, either in more extensive documentation, or elsewhere on the internet.
Santos wrote:
Third: It seems there are three things you need to learn in order to make games with LÖVE:
Only one, having fun. The rest (hopefully) follows.
Though one of the more interesting things for me is the architecture, just having a properly architectured game makes everything so much smoother and easier.