Network Sites: FPSguru.com RTSguru.com UnboundGamer.com
Login:  Password:   Remember?  
Show Quick Gamelist Jump to Random Game
Games:611  Guilds:3,079
Members:1,593,188  Online:0
Guests:0  Posts:4,846,449
Recent forum postsRSS
Active threads
Cloud view
List all forums
General Forums
Developers Corner General Discussion
Popular Game Forums
Click a status to find game forum
Game Forums
Click a letter to find game forum
D-F
D&D Online DC Universe DOTA DOTA 2 DUST 514 Dance Groove Online Dark Age of Camelot Dark Ages Dark Legends Dark Orbit Dark Solstice Dark and Light DarkEden Online DarkSpace Darkblood Online Darkfall Darkwind: War on Wheels Dawn of Fantasy Dawntide Dead Earth Dead Frontier Deco Online Defiance Deicide Online Dekaron Desert Operations Diablo 3 Diamonin Digimon Battle Dino Storm Disciple Divergence Divina Divine Souls Dofus Dominus Online Dragon Ball Online Dragon Born Online Dragon Crusade Dragon Empires Dragon Eternity Dragon Nest Dragon Oath Dragon Raja Dragon's Call Dragon's Prophet DragonSky DragonSoul Dragona Dragonica Dream of Mirror Online Dreamland Online Dreamlords: The Reawakening Drift City Duels Dungeon Blitz Dungeon Fighter Online Dungeon Overlord Dungeon Party Dungeon Runners Dynastica Dynasty Warriors Online EIN (Epicus Incognitus) EVE Online Earth Eternal Earth and Beyond Earthrise Eden Eternal Einherjar - The Viking's Blood Elf Online Embers of Caerus Emil Chronicle Online Empire & State Empire Craft EmpireQuest Empires of Galldon End of Nations Endless Ages Endless Online Entropia Universe EpicDuel Erebus: Travia Reborn Eredan Eternal Blade Eternal Lands Ether Fields Ether Saga Online Eudemons Online EuroGangster EverQuest Online Adventures Evernight Everquest Everquest II Evony Exarch Exorace Face of Mankind Fairyland Online Fall of Rome Fallen Earth Fallen Sword Fallout Online Family Guy Online Fantage Fantasy Earth Zero Fantasy Realm Online Fantasy Tales Online Fantasy Worlds: Rhynn Faunasphere Faxion Online Ferentus Ferion Fiesta Online Final Fantasy XI Final Fantasy XIV Firefall Fists of Fu Florensia Flyff Football Manager Live Football Superstars Force of Arms Forsaken World Freaky Creatures Free Realms Freesky Online Freeworld Fung Wan Online Furcadia Fury Fusion Fall
G-L
GalaXseeds Galactic Command Online Game of Thrones Gate To Heavens Gates of Andaron Gatheryn Gekkeiju Online Ghost Online Ghost Recon Online Gladiatus Glitch Global Agenda Global Soccer GoGoRacer Goal Line Blitz Gods and Heroes GodsWar Online Golemizer Golf Star GoonZu Online Graal Kingdoms Grand Chase Europe Grand Fantasia Grepolis Grimlands Guild Wars Guild Wars 2 Guild Wars Factions Guild Wars Nightfall Habbo Hotel Haven & Hearth Hedone Helbreath Hellgate Hellgate: London Hello Kitty Online Hero 108: Online Hero Online Hero's Journey HeroSmash Heroes in the Sky Heroes of Bestia Heroes of Gaia Heroes of Might and Magic Online Heroes of Thessalonica Heroes of Three Kingdoms Holic Online Hostile Space Huxley Illutia Illyriad Immortals USA Imperator Imperian Infinity Infinity Iris Online Irth Worlds Island Forge Islands of War Istaria: Chronicles of the Gifted Jade Dynasty Jagged Alliance Online Juggernaut Jumpgate Jumpgate Evolution KAL Online Kakele Online Kaos War Karos Online Kicks Online King of Kings 3 Kingdom Heroes Kingdom of Drakkar Kingory Kitsu Saga Kiwarriors Knight Online Knights of Dream City Kothuria Kung Foo! Kunlun Online L.A.W. LEGO Universe La Tale Land of Chaos Online Lands of Hope: Phoenix Edition LastChaos League of Legends - Clash of Fates Legend of Golden Plume Legend of Katha Legend of Mir 3 Legendary Champions Light of Nova Lime Odyssey Line of Defense Lineage Lineage Eternal: Twilight Resistance Lineage II Linkrealms Loong Online Lord of the Rings Online Lords Online Lost Saga Lucent Heart Lunia Lusternia: Age of Ascension Luvinia Online
T-Z
TERA TS Online Tabula Rasa Tactica Online Tales Runner Tales of Fantasy Tales of Pirates Tales of Pirates II Talisman Online Tamer Saga Tank Ace Tantra Online Tatsumaki: Land at War Terra Militaris Terra World Thang Online The 4th Coming The Agency The Chronicle The Chronicles of Spellborn The Elder Scrolls Online The Legend of Ares The Matrix Online The Missing Ink The Mummy Online The Myth of Soma The Pride of Taern The Realm Online The Repopulation The Secret World The Sims Online The Strategems There Thrones of Chaos Tibia Tibia Micro Edition Toontown Online Top Speed Torchlight Transformers Universe Traveller AR Travia Online Travian Trials of Ascension Tribal Hero Tribal Wars Tribes Universe Trickster Online Troy Online True Fantasy Live Online Turf Battles Twelve Sky Twelve Sky 2 Twilight War U.B. Funkeys UFO Online Ultima Online Ultima X: Odyssey Ultimate Soccer Boss Uncharted Waters Online Undercover 2: Merc Wars Underlight Unification Wars Universe Online Valkyrie Sky Vanguard: Saga of Heroes Vanquish Space Vector City Racers Vendetta Online Victory - Age of Racing Vindictus Virtonomics Vis Gladius Visions of Zosimos Voyage Century W.E.L.L. Online WAR (Warhammer Online) WYD Global Wakfu War Rock War of 2012 War of Angels War of Legends War of Thrones War of the Immortals WarFlow Waren Story Wargame1942 Warhammer 40K: Dark Millennium Online Warhammer Online: Wrath of Heroes Warrior Epic WebLords Wild West Online WildStar WindSlayer 2 Wish Wizard 101 Wizards and Champions Wonder King Wonderland Online World Golf Tour World War II Online World of Battles World of Darkness World of Heroes World of Kung Fu World of Pirates World of Tanks World of Warcraft World of Warcraft: Mists of Pandaria World of the Living Dead WorldAlpha Wurm Online Xiah Xsyon YS Online ZU Online Zentia Zero Online Zero Online: The Andromeda Crisis Zodiac Online eRepublik

MMORPG.com Discussion Forums

Developers Corner

Developers Corner 

Programming  » i want to learn to program

2 Pages 1 2 » Search
32 posts found
  achellis

Novice Member

Joined: 9/21/05
Posts: 548

Murder She Wrote.

 
12/19/08 12:22:26 PM#1

can anyone give me any advice on some books to learn from?

  darwa

Hard Core Member

Joined: 7/04/04
Posts: 1768

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.

  polypterus

Apprentice Member

Joined: 8/25/08
Posts: 204

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.

However I might also recommend that you look into classes at a community college. That’s how I got started. On the other hand, my main gripe these days is a lot of teachers want to teach you Java, C# etc, which are fine for certain things but aren’t really suitable for the high performance programming that you need for most games. I see a lot of programmers who can’t do any kind of real hard core programming because they got so used to the aforementioned languages managing memory for them that they can’t do it themselves. You don’t need to be an assembly language programmer but you should have some idea of how computers work at lower levels. This information is invaluable even for higher level programming.

The other thing I should mention is that programming is extremely detailed. The simple things you see in a lot of first person games like running on the ground actually takes a lot of work. For instance in that case you need to find the intersection of your character with every polygon around you so you don’t run though trees,  fall though the earth and so forth. This stuff is not handled automatically by the computer. You even have to program gravity in. All this stuff requires a fair amount of math skills and hours and hours of time. I’m not trying to discourage you. I’m just letting you know what you are in for. As with anything worthwhile it takes a lot of work. 

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. 
 

  Barrikor

Novice Member

Joined: 12/06/07
Posts: 160

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/
http://www.microsoft.com/express/download/


  achellis

Novice Member

Joined: 9/21/05
Posts: 548

Murder She Wrote.

 
12/19/08 9:24:14 PM#5

yeah C++ is what i want to learn.

  Zyllos

Advanced Member

Joined: 9/11/05
Posts: 487

"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

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.

However I might also recommend that you look into classes at a community college. That’s how I got started. On the other hand, my main gripe these days is a lot of teachers want to teach you Java, C# etc, which are fine for certain things but aren’t really suitable for the high performance programming that you need for most games. I see a lot of programmers who can’t do any kind of real hard core programming because they got so used to the aforementioned languages managing memory for them that they can’t do it themselves. You don’t need to be an assembly language programmer but you should have some idea of how computers work at lower levels. This information is invaluable even for higher level programming.

The other thing I should mention is that programming is extremely detailed. The simple things you see in a lot of first person games like running on the ground actually takes a lot of work. For instance in that case you need to find the intersection of your character with every polygon around you so you don’t run though trees,  fall though the earth and so forth. This stuff is not handled automatically by the computer. You even have to program gravity in. All this stuff requires a fair amount of math skills and hours and hours of time. I’m not trying to discourage you. I’m just letting you know what you are in for. As with anything worthwhile it takes a lot of work. 

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. 
 

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.

  achellis

Novice Member

Joined: 9/21/05
Posts: 548

Murder She Wrote.

 
12/20/08 9:19:03 AM#7

thnx :)

  ruslans

Novice Member

Joined: 5/26/08
Posts: 65

12/22/08 1:53:02 PM#8
Originally posted by achellis

can anyone give me any advice on some books to learn from?

 

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.

 

  User Deleted
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.

  Barrikor

Novice Member

Joined: 12/06/07
Posts: 160

12/22/08 7:46:43 PM#10


Originally posted by ruslans

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.

 


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?

  polypterus

Apprentice Member

Joined: 8/25/08
Posts: 204

12/22/08 8:39:39 PM#11
Originally posted by Barrikor

 

 

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?

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.

  Barrikor

Novice Member

Joined: 12/06/07
Posts: 160

12/22/08 9:29:33 PM#12


Originally posted by polypterus

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.

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 :)

  AsprnBtl

Novice Member

Joined: 1/23/09
Posts: 109

1/24/09 4:20:17 PM#13
Originally posted by Barrikor

 


Originally posted by polypterus

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.

 

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 :)

 

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.

  SidJames

Apprentice Member

Joined: 9/18/07
Posts: 58

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

  AsprnBtl

Novice Member

Joined: 1/23/09
Posts: 109

2/03/09 12:38:41 PM#15
Originally posted by SidJames

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

 

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.

  SidJames

Apprentice Member

Joined: 9/18/07
Posts: 58

2/03/09 1:15:38 PM#16
Originally posted by AsprnBtl

 

If you explain what you "don't get" from those books, I might be able to help.

 

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
Posts: 511

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


Originally posted by SidJames

Originally posted by AsprnBtl

 
If you explain what you "don't get" from those books, I might be able to help.



 
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.

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.

  bboneheadd

Apprentice Member

Joined: 8/27/07
Posts: 116

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
Posts: 511

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


Originally posted by bboneheadd
What about python? I heard that thats a good language to learn.

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.

  ssnautilus

Novice Member

Joined: 5/05/05
Posts: 373

> GW2 V13 SWTOR

2/05/09 6:08:39 AM#20
Originally posted by AsprnBtl

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.

 

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.

2 Pages 1 2 » Search