getting started demo programming.
category: general [glöplog]
hexen: Stop worrying :) Everyone does it wrong in the beginning anyway. The important thing is to learn from your mistakes.
Quote:
Hexen: there is no such thing as implementing it wrong. If it does not work it's still an experience, which helps you making it better. And you'll learn a lot more from failures than from getting it right with a dozen of tutorials, and copy-paste coding.
This is a great advice! Experience is the ONLY way! There is NO EASY WAY! You will need to do lots of crappy things before you achieve to make an average demo or game.
Quote:
how did you start and how did you improve your skills?
My first computer was an Amstrad CPC 464 and my first programming language was Locomotive BASIC.
That was in 1987 or so, later came another computers and languages, including Z80 assembler, Amos Basic (on Amiga), 680x0 assembler, Pascal, C, C++... etcetera
Language or APIs are not important. The important thing is your experience.
I'd improving my skills (and I am still improving) doing things. I mean, coding everyday! Experience!
Read, also, will help you (the book that Krabob sugests is indeed a good reading!). But books are only a secondary thing! The prime directive is still "You must code and code your own (crappy) things if you want to learn anything at all!".
So... do a demo (about it), game or whatever. Does not really matters if your demo is crappy. You are learnning from your own mistakes!
Forget high end fancy effects and stuff, just make something that plays music and puts some pixels on the screen. Then make some simple effects, mess around a bit, have fun. Before you know it, you'll be adding bolivian marching cubes and raycasting the smoke.
Come and visit my place, if you like what you see you can register.
www.dbfinteractive.com
Plenty of people there will be happy to show you some things to get you started.
www.dbfinteractive.com
Plenty of people there will be happy to show you some things to get you started.
My #1 advice is: Just start doing stuff (as it has been suggested already). You'll screw up and make mistakes, but you'll learn at the same time.
My #2 advice is: If you want to go with OpenGL or DirectX, there are a lot of good tutorials at Codesampler. They're a lot better than NeHe tutorials in my opinion.
My #2 advice is: If you want to go with OpenGL or DirectX, there are a lot of good tutorials at Codesampler. They're a lot better than NeHe tutorials in my opinion.
Quote:
How damn cool sounds "EL PROGRAMADOR" !
lazy-san: not that cool in Spanish... I really prefer "desarrollador" - developer.
is there any language where "programmer" doesnt sound diminutive? :)
Gargaj, in Spanish it doesn't sound as diminutive, but... you know:
- I am coder.
- So, are you able to repair my printer?
- No, I'm not a technician
- So, are you able to repair my Windows?
- No.
- What have you studied then?
- I am coder.
- So, are you able to repair my printer?
- No, I'm not a technician
- So, are you able to repair my Windows?
- No.
- What have you studied then?
that's what i meant yes :)
Quote:
hexen: Stop worrying :) Everyone does it wrong in the beginning anyway. The important thing is to learn from your mistakes.
Also: I guess "not giving up" might be the most underrated demoscene quality ever :)
Paralax: True, indeed.
Hexen, let me give some completely different advice than the others:
1) Forget C, C++, OpenGL, DirectX, etc; start with processing or something equally simple.
2) Later, when you already have a feel of the whole stuff, you can try and learn some more serious language(s) and either OpenGL or DirectX. But again, I would advise against both C and C++: C is not much more than a souped-up assembly, and C++ will take your sanity and make you scream during the night. There are more programming languages on the earth than spoken languages, so you will probably find something more well-suited :). Among the two graphics APIs, I prefer OpenGL, because it works everywhere, not just on Windows. And OpenGL has bindings to most programming languages. But I would advise against the NeHe tutorials too, because imho they suck balls. The best reference is always the original specification, even if it is harder to read. You can torrent the red book, too, maybe it is somewhat easier.
Oh, don't worry, I'm completely nuts most of time, because of the annoyingly sad state of the whole computer industry (and I'm not touching C++ even with a 10 foot long stick anymore...)
(oh yes, my avatar is outdated, don't tell)
1) Forget C, C++, OpenGL, DirectX, etc; start with processing or something equally simple.
2) Later, when you already have a feel of the whole stuff, you can try and learn some more serious language(s) and either OpenGL or DirectX. But again, I would advise against both C and C++: C is not much more than a souped-up assembly, and C++ will take your sanity and make you scream during the night. There are more programming languages on the earth than spoken languages, so you will probably find something more well-suited :). Among the two graphics APIs, I prefer OpenGL, because it works everywhere, not just on Windows. And OpenGL has bindings to most programming languages. But I would advise against the NeHe tutorials too, because imho they suck balls. The best reference is always the original specification, even if it is harder to read. You can torrent the red book, too, maybe it is somewhat easier.
Quote:
i'm surprised some of you aren't nuts.
Oh, don't worry, I'm completely nuts most of time, because of the annoyingly sad state of the whole computer industry (and I'm not touching C++ even with a 10 foot long stick anymore...)
(oh yes, my avatar is outdated, don't tell)
Hmm. The problem is that even in this thread you hear many different opinions and you may be confused. Someone says C/C++, someone says OpenGL, someone SDL, someone processing. So you may not know which road to start following.
So, now I am rethinking, in order to reduce those confusing paths and reach a final conclusion of the road to start, I also very positively suggest for learning what blala said, processing. I have seen it out of curiosity and it's really really easy to start without much burden and just compile something that shows effects. And you get an idea about how graphics algorithms work in the easy way. With SDL it would be a tiny little more harder (but not much), maybe you spend stupid time linking to those libs, etc. But processing comes with it's own compiler which does just that, applets with gfx algorithms. It's like a canvas to test effects.
So, now I am rethinking, in order to reduce those confusing paths and reach a final conclusion of the road to start, I also very positively suggest for learning what blala said, processing. I have seen it out of curiosity and it's really really easy to start without much burden and just compile something that shows effects. And you get an idea about how graphics algorithms work in the easy way. With SDL it would be a tiny little more harder (but not much), maybe you spend stupid time linking to those libs, etc. But processing comes with it's own compiler which does just that, applets with gfx algorithms. It's like a canvas to test effects.
Of course to make a real demo (I don't know, is processing just a canvas for effect testing or can someone play music and sync and do a real demo easilly?) the good easy paths I know and would suggest are two. SDL for software rendering and OpenGL for accelerated demos. Of course opinions might differ but I wouldn't like to confuse you here with several different paths :)
if you code as much lines as you type on pouet, i see you succeed!
Hexen, you mentioned that you know basic - have you tried Freebasic? It supports OpenGL, ufmod (for music) and is multiplatform. It's also got a community going on its forums and at dbfinteractive.
Might help you get started and actually produce some things, without the hassle of learning a new programming language. Freebasic is certainly capable of producing a decent demo.
Might help you get started and actually produce some things, without the hassle of learning a new programming language. Freebasic is certainly capable of producing a decent demo.
Quote:
Forget C, C++, OpenGL, DirectX, etc; start with processing or something equally simple.
Quoted for truth. If you want to get things done(tm), want it to be multiplatform/web-compatible out of the box and hate steep learning curves, processing is the shit. Once you get over the horrid IDE that is. ;)
Quote:
Of course to make a real demo (I don't know, is processing just a canvas for effect testing or can someone play music and sync and do a real demo easilly?)
Yes, of course.
Yes, yesssss, Freebasic!!! Wait, a new pathway?
LOL! The problem though is that the kb rate during coding is much lower than here, because at coding I have to think first before typing..
Wait WAT, what does that imply about my writting here, oh shi..
=)))
Quote:
if you code as much lines as you type on pouet, i see you succeed!
LOL! The problem though is that the kb rate during coding is much lower than here, because at coding I have to think first before typing..
Wait WAT, what does that imply about my writting here, oh shi..
=)))
If I can learn C++ & DX, I can assure you that ANYONE can!
Most demos are done in C++, and either use OPENgl or DX9.
Now that the choice is restricted, hope you go on and start doing something, and HAVE FUN :)
Most demos are done in C++, and either use OPENgl or DX9.
Now that the choice is restricted, hope you go on and start doing something, and HAVE FUN :)
there is always the option of screwing nehe and downloading the dx sdk - there's plenty of sample code and a frameworkstuff there.
my recommendation:
- ** lower your expectation **
- learn "C" (or C++ but better treat it like "c with classes" :) ..at first)
- take a look at SDL (it's easy to use and even cross platform although that really shouldn't bother you for now..)
- write a small 2D game, like tetris or snake (I took my first steps with C++ ~13 years ago by writing a simple Bomberman clone, for example)
- once it's working, add a simple intro or some in-game eye candy (fx)
if you are done with that, you will already have learnt a lot of things!
post your game here (including sources) so people can comment/give advise.
To become a good programmer you will need _lots_ of patience and time. As everyone else said before: Your first productions WILL suck, there's no easy way around :)
- ** lower your expectation **
- learn "C" (or C++ but better treat it like "c with classes" :) ..at first)
- take a look at SDL (it's easy to use and even cross platform although that really shouldn't bother you for now..)
- write a small 2D game, like tetris or snake (I took my first steps with C++ ~13 years ago by writing a simple Bomberman clone, for example)
- once it's working, add a simple intro or some in-game eye candy (fx)
if you are done with that, you will already have learnt a lot of things!
post your game here (including sources) so people can comment/give advise.
To become a good programmer you will need _lots_ of patience and time. As everyone else said before: Your first productions WILL suck, there's no easy way around :)
My two cents from someone that isn't a professional programmer:
Persistence, persistence, persistence and take it like a hobby.
· For me, C/C++ is the best choice. All is around it.
· Visual Studio Express 2008 would be your compiler.
· buy a book of OpenGL (Beginning OpenGL is a good book) or something similar for DirectX. Yes, I know. It will be your first choice. Some one will recommend you OGL and others DX. For me it was a decission of waste in time and how can I mantain my knowledge as long as I could.
· Make you a plan of studing. This was a big recommendation that IQ made me to me when I asked him for a book. He answered: "Well, I am pen and paper man" Since then, I also have my own paper with notes, resumes, drawings .. like in school.
· As soon as you have learnt something make a demo. Don't need to know space technology to do it. Navis has promissed us to do a demo with the knowledge that the first lessons of Nehe can give you. I wait for it :)
· About sound: for demos/intro from 64K and above there is no really problems. Only need good music, so, perhaps, a talent musician. There are lots of them :)
Something more ?
http://www.dbfinteractive.com/ is a great forum with better people.
Remember: 50% of the work is outside the computer.
I hope it helps.
Persistence, persistence, persistence and take it like a hobby.
· For me, C/C++ is the best choice. All is around it.
· Visual Studio Express 2008 would be your compiler.
· buy a book of OpenGL (Beginning OpenGL is a good book) or something similar for DirectX. Yes, I know. It will be your first choice. Some one will recommend you OGL and others DX. For me it was a decission of waste in time and how can I mantain my knowledge as long as I could.
· Make you a plan of studing. This was a big recommendation that IQ made me to me when I asked him for a book. He answered: "Well, I am pen and paper man" Since then, I also have my own paper with notes, resumes, drawings .. like in school.
· As soon as you have learnt something make a demo. Don't need to know space technology to do it. Navis has promissed us to do a demo with the knowledge that the first lessons of Nehe can give you. I wait for it :)
· About sound: for demos/intro from 64K and above there is no really problems. Only need good music, so, perhaps, a talent musician. There are lots of them :)
Something more ?
http://www.dbfinteractive.com/ is a great forum with better people.
Remember: 50% of the work is outside the computer.
I hope it helps.
my only advice: just DO stuff. everything else will adapt.
i have a feeling that it's actually harder to get started these days just because threads like these and a general flood of information (which is hard to filter not knowing how yet).
i just had a computer and a cd with some example sources. and a year or 2 later, limited internet. not having much choice makes it easier :)
i just had a computer and a cd with some example sources. and a year or 2 later, limited internet. not having much choice makes it easier :)