Question:
if i wanted to learn to program my own game...?
2010-08-05 12:53:47 UTC
Can you please tell me what would be most time efficient way for me to learn/do it.
Ofcourse best is to read every single book in the world but its not most time efficient.

Can you tell me something along the lines of...
"First you need to learn the basics of c++... here's a good link... read chapters 1-7 the last 5 chapters are not needed.. Then you need to learn to use OpenGL.. But you dont need to learn to create advanced drawings since your gonna use a other program for creating your models later. then you gotta..... "

My goal would be to make a mmorpg but dont flip out I dont mean to compete with WoW... just something small... maybe 50-100 players online on average would be a nice goal for me.

I would like it to be in 3d too with fps view and there shouldnt be any zoning/loading to move around in the game world.
Six answers:
2010-08-05 13:17:52 UTC
Start by learning the basic concepts of programming. The initial language you begin to learn with doesn't matter, however, you should choose one that you will use in the future.



Start by learning about the compiler, linker, and preprocessor. Then you can begin to learn about data types and their sizes in memory, variables, functions, pointers (C++), references, flow control (loops, if's), arrays, sorting algorithms and the like, bitwise operations, classes, member functions, data members, constructors, destructors, polymorphism, function overloading, operator overloading, manipulating data on the stack and heap, etc... The list could go on forever. Just find a book that seems appropriate for your reading level. Programming for networks is a whole different field and you will have to read up on the specifics of that on your own.



Mathematically, you should understand the concepts of intermediate algebra, trigonometry (3D programming), general physics, and calculus.



After you become very comfortable with object oriented design, you can begin working with APIs such as DirectX or OpenGL.



It is going to take you well over a year to even get to the point that you can create a basic 2D game (not including the time it would take to make that 2D game), let alone a 3D mmorpg. My advice to you..... Go to college like the rest of us, but while you are working towards that, keep on teaching yourself whatever you can while keeping your expectations realistic..... And those expectations will become more realistic as you learn exactly what it will take to do what you want to.



Edit: DO NOT learn C before C++. C is a procedural language. C++ is an object-oriented language. If you start with C, you will learn habits that you will have to unlearn when you move on to C++. There are no colleges that I know of that even teach C now days.
2016-04-17 08:08:24 UTC
A programming class would accept a 15 year old girl! I beleive if you want to start programming, it's best to learn on your own :) A good starting language to start on is Visual Basic, it teaches you basic skills and how the structure of it works. After you've mastered Visual Basic you should go to C++, since it is the main language used in game engines. Know that if you really want to get into making games, it's not just programming. You may want to learn how to make 3d models, too
2010-08-05 13:17:46 UTC
No, no, NO. Stop right there. You're aspiring to create anything more complex than a Tetris clone before learning a programming language? Kid, you're way ahead of yourself.



A MMORPG with "50-100 players online on average" requires a tremendous amount of work, even if you're using Paint to draw all the graphics. And you want to make it 3D directly with OpenGL. That's a task for a dev studio with at least three people or someone with an abnormally high level of patience, admirable dedication, years of experience, and an idea with a lot of potential that will bring support from people.



Start small. You'll spend many years reading articles, begging for help on programming forums, staying up until 10 in the morning trying to fix an obvious bug, and smashing your head into the wall, before you're able to create anything decent. Not even Tetris yet. Sure, if you go to school you'll have a professor to guide you, but if you want to teach yourself then it's a tough path. I didn't have a choice when I started because I was in 9th grade of high school, but oh well. It was fun, all in all.



Learn C first. Not C++ until you have a good grasp of C. It's good to have a clear line drawn between the two languages. Then, learn to write 2D games with the SDL library. Please don't try to learn any other language before feeling a romantic connection with C/C++, otherwise you'll end up badly. Never give up on the good stuff too early. Anyways; after you've managed a bit with SDL you'll know how to follow. I'd post some links but trust me, nothing's better for learning a language or library than the first three or so Google results for "xxx tutorial". ;)
Sam1
2010-08-05 13:01:44 UTC
creating a game would be a massive task dude, remember games like wow are created by teams of 100s of people who are all specialized in certain areas such as coding, graphics etc. The amount of people on your game only relies on the hosting (for example it would probably cost wow 5x the average persons yearly wages to maintain its server, whereas a smaller one would be like $50a month maybe more depending if you want it lagfree etc) the quality of your game is where you'd never be able to compete with anything decent (no offence) as you can find 100s of online games which are average at best (and nowhere near as popular as wow) that again have a lot of people working on the design and upgrade of it, not to mention their coders are professionals meaning they have worked with coding for the past 5+ yrs 8hrs a days and are considered above average intelligence
green meklar
2010-08-05 14:39:22 UTC
The number of players isn't incredibly important. Dealing with a million players rather than a hundred may involve some extra efficiency in network coding, but the basics of actually making a massive multiplayer game do NOT scale directly with the number of players. Not even close.



Judging from your post it sounds like you have little to no experience in writing games, much less graphical games, much less realtime graphical games, much less 3D realtime graphical games, much less multiplayer 3D realtime graphical games. I strung that out to emphasize the fact that every single one of those steps, simple as it may sound, adds a huge amount of additional skill and effort required. No one, I repeat NO ONE, sits down to their first ever C++ program and writes a game of the kind you're describing from scratch. It has never happened in the history of programming and probably never will. You're talking about aspects like how many players you want to support, or the difference between first person and third person views, or seamless level transitions, as if there are simple functions built into C++ (or whatever programming language) to specify things like this. But the reality of programming isn't like that AT ALL. A beginner programmer saying they want to make a 3D massive multiplayer game 'with a first-person perpspective' is kind of like a beginner mechanic saying they want to make a working space shuttle 'with a flame decal on the nose'. You're busy specifying minor points of aesthetics and game mechanics while ignoring the colossal wall of programming that lies between you and having the power to make those kinds of decisions in the first place.



If you want to do game programming, you have to start by accepting the fact that it is a long, hard road, and that you will create many less sophisticated programs (and probably fail to create even more) before you even approach being able to do something like what you describe. The process I'm talking about isn't about the amount of effort required to make one game of the kind you're describing, it's about doing smaller projects, simpler programs, slowly gaining in complexity and sophistication until maybe someday, several years later, you may have the necessary knowledge to start work on your dream project. What I'm saying is, it doesn't start with massive multiplayer FPS games. It starts with Tic-Tac-Toe and Rock Paper Scissors (or something of a similar level of simplicity), played through a primitive black and white command console. You can write those in C++ if you like. Or C, or Java, or whatever. Chances are, by the time you're ready to write even a simple 2D graphical game, much less a 3D or multiplayer game, you will have practice with several programming languages and have some idea which one is actually the best choice for a given project. C++ is a common language for game programming because of its power and speed, but there are some games (notably Runescape and many FunOrb games) that are written in Java, as well as various browser games written in Actionscript (the programming component of Flash). If you really haven't done any programming before, I don't recommend starting with C++ because it really is quite low-level and difficult to use; if you need it, learn it later once you understand the basic logic and feel of programming.
jonnyblanch
2010-08-05 13:03:18 UTC
there is a lot of ways but i love to play around with a program called Eclipse Evolution. Its like pokemon graphics but i guess you could download it and learn a little.


This content was originally posted on Y! Answers, a Q&A website that shut down in 2021.
Loading...