I'm learning C++, and I was wondering if any decent programmer could tell me where they learned how HL worked / how they learned to program for HL and its mods
well, i'm not exactly a decent programmer but these are two sites i've found helpful in that area: <a href='http://collective.valve-erc.com/index.php' target='_blank'>VERC</a> <a href='http://www.thewavelength.net/' target='_blank'>Wavelength</a>
best way to get familiar is to just mess around with the SDK.
I suggest you completely learn the basics of C++, as HL isn't for beginner coders.
You'll want to pick up those "Learn C++ in 24 hours" style books, and after completing the lessons, move on to HL. Start messing around with the SDK. Eventually you'll find out how things work, and you may be able to start amending to the SDK.
Yeah the HL SDK is not simple code. I learned how it worked by diving in and attempting to, for example, make the crossbow botls not explode or something. Simple basic stuff. Also, look at the tutorials on VERC (the Tron Glow stuff) and try and understand how they work. VERC is very useful, as is what Doom and Them said.
If hello world helped you that much, then I would hate to think what your code must look like <!--emo&:p--><img src='http://www.unknownworlds.com/forums/html//emoticons/tounge.gif' border='0' style='vertical-align:middle' alt='tounge.gif' /><!--endemo-->
ThansalThe New ScumJoin Date: 2002-08-22Member: 1215Members, Constellation
ahhh, seeing how as I can't code <!--emo&:p--><img src='http://www.unknownworlds.com/forums/html//emoticons/tounge.gif' border='0' style='vertical-align:middle' alt='tounge.gif' /><!--endemo--> (one year of very crapy Java instruction has left me knowing just about jack squat)
one of these days I will actualy learn to code <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html//emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif' /><!--endemo--> (probably via c/c++ Text book)
[WHO]ThemYou can call me DaveJoin Date: 2002-12-11Member: 10593Members, Constellation
firstly, make the most inane, retarted, assinine text based game ever conceived.
Just keep throwing more stuff into it. After it's gotten sufficiently bloated and huge. Go back and change it all just slightly (so as to review your mistakes, it's important to review mistakes).
Then get some kind of graphics library and make a game or two (tron bikes is a classic).
<!--QuoteBegin-Delarosa+Jul 27 2004, 01:34 AM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (Delarosa @ Jul 27 2004, 01:34 AM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> i'm working through the SDK with a few specific jobs and goals in mind...
i am a practical coder, if i can't immediatly apply it to something, i don't bother learning it...
it's bad fro learning, but it's good for the way my mind thinks...
if you want some ehlp with sdk based nub-ness, i'm working through it on my forums (see sig) <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd--> Maybe you could help me out then <!--emo&::nerdy::--><img src='http://www.unknownworlds.com/forums/html//emoticons/nerd.gif' border='0' style='vertical-align:middle' alt='nerd.gif' /><!--endemo--> I have the issue that I just finished up with c++ courses from college, stopping at classes. Now I'm just sitting there going 'ok.... now what'.
<!--QuoteBegin-[WHO]Them+Jul 26 2004, 11:09 PM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> ([WHO]Them @ Jul 26 2004, 11:09 PM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> firstly, make the most inane, retarted, assinine text based game ever conceived.
Just keep throwing more stuff into it. After it's gotten sufficiently bloated and huge. Go back and change it all just slightly (so as to review your mistakes, it's important to review mistakes).
Then get some kind of graphics library and make a game or two (tron bikes is a classic).
Lather, rinse, repeat.....forever. <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd--> He's right... it actually does help. 75% of grade 10 computer class I worked on a game. It started as a test of file I/O, but eventually ended up as a text-based game based on Homestar Runner (the other 25% of the class <!--emo&:p--><img src='http://www.unknownworlds.com/forums/html//emoticons/tounge.gif' border='0' style='vertical-align:middle' alt='tounge.gif' /><!--endemo-->). It got huge and bloated, but it helped since I learned to organize code (and code more efficiently in the first place), and for the love of all things holy, COMMENT YOUR CODE. I ended up going over it and saying stuff like "WTH is the variable player1" and "wow what does this block do...".
<!--QuoteBegin-[WHO+--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> ([WHO)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->Them,Jul 27 2004, 02:09 PM]firstly, make the most inane, retarted, assinine text based game ever conceived.
Just keep throwing more stuff into it. After it's gotten sufficiently bloated and huge. Go back and change it all just slightly (so as to review your mistakes, it's important to review mistakes).<!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd--> Story of my life, except in BASIC. And it <i>was</i> my life at the time...
Anyway, back on topic: while some people say they did in fact learn C++ from learning the HL SDK directly, I'm pretty sure that these people had a background in C, or at the very least in some sort of programming. And I'm pretty sure there are easier and better ways to learn C++ than fiddling with the SDK.
Let's see... rather than repeat myself I'll... er... repeat myself with less effort <!--emo&;)--><img src='http://www.unknownworlds.com/forums/html//emoticons/wink.gif' border='0' style='vertical-align:middle' alt='wink.gif' /><!--endemo-->
<!--QuoteBegin--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->Some general advice on learning C++:
"... for dummies" or "in 20 days" books are ok for a basic introduction, but you need better than that. There are two major problem with these books - firstly, they seldom last you more than 20 days. The other problem is more severe: they often teach you bad habits. What's a bad habit? Something that's non-standard, or something that's doing things the C way when there's a better and more painless version in the C++ way.
I highly encourage you to stick to standard C++ whenever possible, and to try to favour C++ constructs over C. It's not just being pedantic. In the long run, it'll make your life easier. I don't mean for you to constantly worry about whether your code is standard or not, but as you learn what is standard and what isn't, prefer the standard versions.
The other thing is that C++ is a very large language. There are a lot of keywords, and often keywords mean different things in different contexts. That's because C++ was designed to support several different, seperate programming concepts, and because it supports (nearly all of) C. Try not to be daunted by this, just learn the bits you need. Don't bother about templates, STL, classes, operator overloading, object orientation and all that mess until you're familiar and comfortable with the language itself. For the same reason, while Windows programming is a good thing to know, until you're comfortable and competant with the language itself, it's not going to help you much.
Anyways, good luck and have fun . Oh, and if there's something that seems especially painful about the language, feel free to post about it - it might be that that's a Cism, and that there's a more painless way to do it.<!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
<!--QuoteBegin-archer1662+Jul 27 2004, 01:36 AM--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (archer1662 @ Jul 27 2004, 01:36 AM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> Would coding AMX(X) plugins be a good start, or would that just mess up my mindset on how to code C++ ? <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd--> I'm pretty sure Small, the language used by AM, AMX and AMXX plugins is a little different than c++.. of course, I could be completely utterly wrong.
Comments
<a href='http://collective.valve-erc.com/index.php' target='_blank'>VERC</a>
<a href='http://www.thewavelength.net/' target='_blank'>Wavelength</a>
best way to get familiar is to just mess around with the SDK.
You'll want to pick up those "Learn C++ in 24 hours" style books, and after completing the lessons, move on to HL. Start messing around with the SDK. Eventually you'll find out how things work, and you may be able to start amending to the SDK.
Pay these words heed.
I would suggest a few YEARS of C++ under your belt before attempting the HLSDK.
one of these days I will actualy learn to code <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html//emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif' /><!--endemo--> (probably via c/c++ Text book)
Just keep throwing more stuff into it. After it's gotten sufficiently bloated and huge. Go back and change it all just slightly (so as to review your mistakes, it's important to review mistakes).
Then get some kind of graphics library and make a game or two (tron bikes is a classic).
Lather, rinse, repeat.....forever.
i am a practical coder, if i can't immediatly apply it to something, i don't bother learning it...
it's bad fro learning, but it's good for the way my mind thinks...
if you want some ehlp with sdk based nub-ness, i'm working through it on my forums (see sig)
i am a practical coder, if i can't immediatly apply it to something, i don't bother learning it...
it's bad fro learning, but it's good for the way my mind thinks...
if you want some ehlp with sdk based nub-ness, i'm working through it on my forums (see sig) <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd-->
Maybe you could help me out then <!--emo&::nerdy::--><img src='http://www.unknownworlds.com/forums/html//emoticons/nerd.gif' border='0' style='vertical-align:middle' alt='nerd.gif' /><!--endemo--> I have the issue that I just finished up with c++ courses from college, stopping at classes. Now I'm just sitting there going 'ok.... now what'.
Just keep throwing more stuff into it. After it's gotten sufficiently bloated and huge. Go back and change it all just slightly (so as to review your mistakes, it's important to review mistakes).
Then get some kind of graphics library and make a game or two (tron bikes is a classic).
Lather, rinse, repeat.....forever. <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd-->
He's right... it actually does help. 75% of grade 10 computer class I worked on a game. It started as a test of file I/O, but eventually ended up as a text-based game based on Homestar Runner (the other 25% of the class <!--emo&:p--><img src='http://www.unknownworlds.com/forums/html//emoticons/tounge.gif' border='0' style='vertical-align:middle' alt='tounge.gif' /><!--endemo-->). It got huge and bloated, but it helped since I learned to organize code (and code more efficiently in the first place), and for the love of all things holy, COMMENT YOUR CODE. I ended up going over it and saying stuff like "WTH is the variable player1" and "wow what does this block do...".
Just keep throwing more stuff into it. After it's gotten sufficiently bloated and huge. Go back and change it all just slightly (so as to review your mistakes, it's important to review mistakes).<!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
Story of my life, except in BASIC. And it <i>was</i> my life at the time...
Anyway, back on topic: while some people say they did in fact learn C++ from learning the HL SDK directly, I'm pretty sure that these people had a background in C, or at the very least in some sort of programming. And I'm pretty sure there are easier and better ways to learn C++ than fiddling with the SDK.
Let's see... rather than repeat myself I'll... er... repeat myself with less effort <!--emo&;)--><img src='http://www.unknownworlds.com/forums/html//emoticons/wink.gif' border='0' style='vertical-align:middle' alt='wink.gif' /><!--endemo-->
<!--QuoteBegin--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->Some general advice on learning C++:
"... for dummies" or "in 20 days" books are ok for a basic introduction, but you need better than that. There are two major problem with these books - firstly, they seldom last you more than 20 days. The other problem is more severe: they often teach you bad habits. What's a bad habit? Something that's non-standard, or something that's doing things the C way when there's a better and more painless version in the C++ way.
I highly encourage you to stick to standard C++ whenever possible, and to try to favour C++ constructs over C. It's not just being pedantic. In the long run, it'll make your life easier. I don't mean for you to constantly worry about whether your code is standard or not, but as you learn what is standard and what isn't, prefer the standard versions.
The other thing is that C++ is a very large language. There are a lot of keywords, and often keywords mean different things in different contexts. That's because C++ was designed to support several different, seperate programming concepts, and because it supports (nearly all of) C. Try not to be daunted by this, just learn the bits you need. Don't bother about templates, STL, classes, operator overloading, object orientation and all that mess until you're familiar and comfortable with the language itself. For the same reason, while Windows programming is a good thing to know, until you're comfortable and competant with the language itself, it's not going to help you much.
Anyways, good luck and have fun . Oh, and if there's something that seems especially painful about the language, feel free to post about it - it might be that that's a Cism, and that there's a more painless way to do it.<!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
I'm pretty sure Small, the language used by AM, AMX and AMXX plugins is a little different than c++..
of course, I could be completely utterly wrong.