| 32 posts found | |
|---|---|
|
can anyone give me any advice on some books to learn from?
|
|
|
12/19/08 12:29:10 PM#2
What sort of programming do you want to learn? This will help point you in the right direction. |
|
|
12/19/08 1:48:14 PM#3
If you are talking about full on MMORPG programming, you need to learn C++. I've been programming in it so long that I don't know what the best learning books are these days. I used “The C Programming Language” by Kernighan & Ritchie (K&R for short) to learn C (the precursor to C++) and “The C++ Programming Language” by Bjarne Stroustrup who was the designer of C++. K&R is still a good book for basic C however Stroustrup sucks because he doesn’t explain things well. You also need to get familiar with compilers and stuff like that in general. Even though Microsoft sucks at most things their development environment is the best. If you are trying to learn all this on your own I would buy a copy of Microsoft Visual Studio and find a good book that takes you though basic programming on that specific platform. Then you can then move on into game programming. It’s a long process but it can be fun too, if you are really into it like I was. Finally, I used to tutor computer science and from experience I can tell you that some people are naturally good at it while other people suck. That doesn’t mean they are stupid. They may be extremely good at other things. Their brain simply isn’t wired for it or something. I have seen high power business men who suck at it and housewives that are fantastic. Go figure. |
|
|
12/19/08 7:49:56 PM#4
Polypterus is right. If you are going down the C++ path, Visual Studio is the best, BUT don't buy it, just download the free "Express" version of it. http://www.microsoft.com/express/vc/ Projects: Pith Framework, CactusGUI |
|
|
yeah C++ is what i want to learn.
|
|
|
Zyllos
Advanced Member
Joined: 9/11/05
"You do not get old and stop playing, you stop playing then get old." -- Benjamin Franklin |
12/19/08 9:45:05 PM#6
Originally posted by polypterus I am a Computer Science major (CS4100 major, which basically means straight computer science, no applied or information systems) and a lot of what this guy says is correct. If you want performance, C++ is the way to go. Java, C#, Visual Basic, ect. are programming languages used for specific areas like the web, business development (I just got done taking SA&D, System Analysis & Design, class which is just basically how a business uses a team of programmers to develop programs to increase business productivity) and C++ is not even on the list of programming languages to use. But for games, C++ is basically the only language out there because of its performance and memory management (or lack of). If you can learn to program some in Assembly, just declaring variables and adding two variables together, can help you learn a lot of what goes on inside a CPU and memory. Also, if you do take classes from a college, Computer Organization (teach you how to develop entire computers from the simplest components, logic gates, and how various components interact with each other) classes also help with this. Mathematics (I am having to take classes like Calculus I, II, and III, Physics for Scientists and Engineers I and II, Statistical Analysis, Linear Algebra, and Discrete Structures) is used all throughout programming. If you do ANY game development, Linear Algebra and Physics is a must when it comes to math. In way of learning, I couldnt even tell you where to begin except to look into your local college. If you do want to learn Computer Science, expect to take ~5 years instead of 4 because of the difficulty of the classes. But the future in Computer Science is bright, jobs are increasing while college enrollment in Computer Science is down 70% from 2000 (I only heard this from my professors here, I have no real hard evidence) so the job outlook is nice in terms of programmers. I hope this helps. MMOs Played: I can no longer list them all in the 500 character limit. |
|
thnx :)
|
|
|
12/22/08 1:53:02 PM#8
Originally posted by achellis
Well, people were directing you straight to C++ here... I personally don't think it's an only right way to go. Programming is not just about C++. And moreover, game programming is not about it, especially in the field of MMOs. For example, EVE's server is writen in Python language (Iron Python, to be precise). There are servers written in C#, Erlang, Java, C, php and whatnot. The same goes to some similar extent with the game's clients (though there C++ is still a bit more prevalent). You should not make your bet on the particular language/technology. Rather start trying different things, and don't be afraid to fail at progressing with something. After all, a faiure is just another way to learn. And it's true for the programmers in particular - the more you fail the better you become as a specialist, believe it or not. As for concrete books... Dunno, it's hard and depends on your state of mind. I definitely have found those: www.amazon.com/Pragmatic-Programmer-Journeyman-Master/dp/020161622X/ref=sr_1_1 www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670/ref=sr_1_1 to be useful. And again, don't stick to the particular language. The more languages you are familiar with, the more times you're a programmer :) But to give some kind of a practical advice... you may want to start learning from making mods for the already existing games. Like using Valve's Source SDK to create you own simple game or something.
|
|
|
12/22/08 2:00:36 PM#9
Dont bury your head in a book, get out there and do it, dont expect to amass the skills and knowledge to make an MMO in a matter of months, hell dont epect to make space invaders in a few months. I recommend www.blitzbasic.com or even www.darkbasic.com if you cannot get your head around these then dont bother. Took me a few tries with blizbasic but then one day it all clicks into place. and I am making a living selling my indie games on bigfish and the like. |
|
|
12/22/08 7:46:43 PM#10
Yeah, I kinda want to see if I can do a game server in PHP (using UDP of course), it's probably fast enough for a normal game at least, a bit unconventional though... Isn't the Python in EVE Stackless Python though? Projects: Pith Framework, CactusGUI |
|
|
12/22/08 8:39:39 PM#11
Originally posted by Barrikor I'm not an expert on EVE or Stackless Python however I would like to point out that most of these scripting languages are themselves written in C or C++. I know for sure Lua is and I believe stackless python is also. Therefore any parts of the code that need to be fast typically end up being written in C or C++ anyway. The other thing about EVE is it doesn’t have the terrain requirements of other MMORPGs. I’m not sure how well Python, Lua etc would work for a server of a real first/third person game. Finally your server hardware requirements are going to be somewhat dependant on how fast your server software runs. Using a scripting language may end up trading off hardware cost for software development cost. It may or may not be a good trade off. It’s something to consider. |
|
|
12/22/08 9:29:33 PM#12
Yeah, you can never beat C/C++ speedwise :( The points you made at the end about EVE and the hardware trade-off are interesting, I'll need to think on that a bit :) Projects: Pith Framework, CactusGUI |
|
|
1/24/09 4:20:17 PM#13
Originally posted by Barrikor
Only when its written well by someone who really really knows what they're doing. Average C/C++ written by joe amateur (and even the majority of professional game developers), can be beaten trivially.
Just using C/C++ won't give you any sort of speed advantage until you've spent years understanding how to make it faster.
Stick with C# or whatever is easiest just to get your project going. Chances are much higher you won't even finish it, without worrying prematurely about optimizations. |
|
|
2/03/09 7:00:58 AM#14
Currently in a similar situation to the Op, i want to learn how to program (looking at C++ at the moment) but i need a book/website that goes through the very basic's like explaining what integers,loops, classes... are and when/where you would use them. Just about every book i have read so far that claimed to be aimed at the total nub like myself seemed to jump in at the middle rather than explaining the very basics |
|
|
2/03/09 12:38:41 PM#15
Originally posted by SidJames
www.cplusplus.com/doc/tutorial/
Go download Visual C++ Express Edition from Microsoft, its free.
That should get you started. Between the tutorials, and the help files included in Visual Studio, there should be enough to make you very adept at C++. A large part of being a programmer is learning to figure things out on your own, finding new and unique ways to solve problems nobody else has, etc...
If you explain what you "don't get" from those books, I might be able to help. |
|
|
2/03/09 1:15:38 PM#16
Originally posted by AsprnBtl
Most of the books i've read so far just jump straight in with the coding and don't explain what thing's like string's,classes, variables ect are in simple terms that a nub to programming can understand, they also don't explain when and where it is best to use these things either. hence i'm left looking for a book/webby that explains these very basic's. |
|
|
Midnitte
Apprentice Member
Joined: 6/11/06
To not conform is to conform; Always question orders and demand a reason, least you become a Nazi. |
2/03/09 2:11:00 PM#17
Pick up Java for Dummies (4th edition?), its a good language to start with and teaches you concepts like strings and classes. It contains diagrams and metaphors to explain them and starts you with coding right at the start. I think this would be your best bet since its simple and gets you moving fairly quick. I'm sure there are plenty of sites you could find as well to help. Otherwise I'd say stick with what AsprnBtl said, personally I found C++ easier to understand after at least reading the first few chapters of java for dummies.
|
|
2/03/09 2:18:13 PM#18
What about python? I heard that thats a good language to learn. |
|
|
Midnitte
Apprentice Member
Joined: 6/11/06
To not conform is to conform; Always question orders and demand a reason, least you become a Nazi. |
2/03/09 3:37:21 PM#19
A good language to learn, but not one to start out with. Most programming courses start with Java, or C/C++ as they're middle/lower level languages.
|
|
2/05/09 6:08:39 AM#20
Originally posted by AsprnBtl
Why is express free? What's the catch? Can we compile commercial executables with it? Any restrictions? Same for other express editions (ie basic, etc)? Thanks. |
|