ID:165511
 
After reading the DM guide, for the second time, I still havn't really learned anything. I still can't accomplish anything I want to. I'm basically at the same level of programming as I was long ago when I was first starting and I read like five chapters of the DM guide. Can anyone with good programming experience tell me if they just read the guide and they suddenly were master's of programming? >_>. What do I do once I read the DM guide? I find I get lost on the lists chapter too. Any ideas? It's sort of depressing, going through the DM guide, studying it, putting notes in it, only to start programming again on an old game and going: "uhhh... I still don't know how to make this work.."

If somone could give me some advice, that would be great.
Practise makes perfect.
In response to Elation
What - Just keep rereading the blue book?
In response to Speedro
No, find some tutorials, demos and try to learn, do experiments and watch what happens.
In response to Ripiz
I'm not looking to learn specific useless things, I want to learn how to do things on my own, for example, if I suddenly felt I wanted a turn system, or something hard to make, I could do it from scratch.
In response to Ripiz
That won't help when I try to do specific things.
In response to Speedro
You'd be surprised! It's sort of like learning how to do math by doing your math homework (which I still have some left to do, incidentally... I'd better get cracking before school tonight). By doing one algebraic equation, you get the method down pat in your head and figure out how to solve other equations -- and pretty soon, you can solve any other equation that uses the same methods.

Computer programs are like gigantic mathematical equations. Except they're a lot easier and more fun to play around with. =)
In response to Jtgibson
So is there anything in specific I should do/know? Because when I code, I only code stuff I already know how to do. If I don't I end up getting hundreds of errors.
In response to Speedro
You can't do calculus if you don't know how to do differentiation, integration, differential equations, vectors, matrices, algebra, etc. The only way to learn is to learn everything. Once you have learned all of the methods, you can solve any problem. =)

Did you try working through the snippets of code within the Blue Book?


To put things into perspective, outside of BYOND I've been learning a programming language called D (essentially a scratch-made independent improvement over C++ that went in a different direction than C# did). I've been tinkering with it for over two years now and I still don't know how to draw a rectangle on the screen.
In response to Jtgibson
Yeah, though eventually, I lose track of the blue books code snippets, and they start to get confusing. This starts on chapter 10 with lists. List make not even the slightest bit of sence to me.
In response to Speedro
Lists are basically an array of objects. They are very easy to understand once you know how the work, read the chapter 2 or 3 times, and try to get a working example of all list procs, try to make a list of numbers 1 to 10 and shuffle them. Try to copy 5 elements of a 10 number list to another, thats how I learned.
In response to Speedro
Start making small games. Look at the example of how lists work, then make your own little game that uses a list. Just reading won't help you, especially if you're not the kind of person who can just read things and know it instantly.

I know I have to mess about with something before 'getting it'- I suggest you screw about and make a minigame.
In response to Xx Dark Wizard xX
Practice practice practice
In response to Jtgibson
as JT suggests, you'd be surprised at how learning a lot of little 'useless' things can lead to developing a good foundation of knowledge and technique. from there you can break down your ideas into small fundamental routines, functions, objects, etc., that do what you want them to do.

programming is not a 'write it down, plug it in, and go'-sort of thing. you have to break each problem or feature down into 'bite-sized' chunks of instructions that perform the things you want your game to do.

for example, a 'battle-code' may consist of numerous interacting routines that deal with boring stuff like player movement, player-attacks, player-defenses, player-health, non-player/monster attack/defense/health, dealing with special weapons or armor, changing icons to reflect damage or special attacks, and so on. each of these smaller 'functions' support the larger design of allowing players and monsters to fight each other.

it's always best to start small, and work your way up, keeping in mind things that you learn that may help you move in the direction(s) you want to go (such as various math routines to determine a players health when attacked).

the worst thing is that it takes time... lots and lots of time - especailly for a single developer. could be a good 3 months to a year (or more!) before you have something really, really, good - depending on how complex you want it to be.
In response to Speedro
You won't become a good programmer overnight. I certainly didn't. Reading the Guide taught me basic DM syntax. Playing around with code firmed that up. Playing around with more code helped me figure out everything.

I suggest just writing stuff. Write programs, write games, write functions - it's all practice. They don't need to be good. They don't need to be released. Remember that you can refer to the Guide or the Reference for help, if you can't figure out why something is not working, posting snippets on the Code Problems forum will likely garner some help.

In a few years, you'll look back and laugh at your old programs (Or burn them, like me), but doing this sort of stuff is what you need to do to learn how to think algorithmically.