Archived

This topic is now archived and is closed to further replies.

MJMSMJMS

OK, I need LOTS of help

Recommended Posts

I just registered and am going to read all the programming tips and stuff. I know essentially nothing. My goal is to work hard and eventually run a MMORPG or a game similar to that. Any tips and all advice will be appreciated very much, (Example: What language would be best.) Thanking in advance.

Share this post


Link to post
Share on other sites
do you know anything at all about programming?
You''ll need a scope on C to start with and wait until you have a bash at MFC, once you got that then of course there is DX and Opengl!

but good luck!

Certainly goto google and look up "basic C++ tutorials"

but thats presuming you know nothing of C language.

Once you have C learn some basic Direct X concepts, though Im an OpenGL junkie, the Direct X sleepless nights and agro programming sessions have helped me understand some hefty programming concepts.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
http://www.cfxweb.net/modules.php?name=News&file=article&sid=1139

Share this post


Link to post
Share on other sites
The best way for you to run a MMORPG is to start with a lot of money.

Period.

Thats not a job for a wannabee devloper (sorry) but for TEAMS. Wth RESOURCES.


Regards

Thomas Tomiczek
THONA Consulting Ltd.
(Microsoft MVP C#/.NET)

Share this post


Link to post
Share on other sites
quote:
Original post by MJMSMJMS
I just registered and am going to read all the programming tips and stuff. I know essentially nothing. My goal is to work hard and eventually run a MMORPG or a game similar to that. Any tips and all advice will be appreciated very much, (Example: What language would be best.) Thanking in advance.


Make a good design, spend some time defining goals, rules, features before you start programming. EG. how do players quit or save ? A quit or disconnect could make them just stand there, or they could drop all items and start in a temple the next login. A save could mean that the player disappears and starts there again when he reconnects, or he could go into sleep mode.

Think up an inventory system, with objects who have parents and a list of objects as children. This makes making bags and chests easier, and you can put a bag with contents inside a bag which goes inside a chest.

Design your map/world system, with sufficient detail. How is the terrain stored and drawn ? Do you use a heightmap ? If so, 256/256 area's, or another size ? How far can you see ? How are buildings handled ? Can you

Then design the server and client separately, the server should know the maps to see what areas are walkable by everyone, but only the client needs to know the textures, etc. You probably need a map/building/object editor, or converters from 3ds/q3radiant/worldcraft/milkshape to your format. The protocol between client and server should be defined. The client should not be trusted, the real game takes place on the server, the client just displays it.But the client should know all static objects in the world, so that it's not neccesary to send the position of 200 trees to the client whenever the player enters a new area.

Most important rule: you can make some 3D graphics demo's just to see if it can be done, but don't start on the real thing too soon ! It's tempting and easy to quickly make a program that displays a 3D window where you can walk around. If you start and add a flat floor to walk on, before you have designed the terrain format or concept, then it might be a problem later.

You might even have added a start menu for configurations. Now you want to be able to hit ESC and see the menu to change your settings. Oops, if your program is just

main()
{
init();
drawmenu();
start();
endgame();
}

then you have a problem. You need a game loop which draws the 3D screen when a flag is set to PLAYING or set to MENU, then the menu is drawn. This while the main loop keeps going, so the other players and NPC's still move around. You cannot expect the server to send the entire game state just because the player opened and closed the settings window.

Just start coding when the design is more or less sound. Don't start simple with limitations thinking you will add them later. This usually leads to problems and games with strange limitations that players won't understand. They are technically not possible because of bad design, and you as the programmer probably already took them for granted and because a complete redesign would be too much trouble. For example not being able to sell an object in a shop that you are wearing or wielding. You can explain to the users that they should first take off or unwield the items before starting the shop conversation, but in other games it just works.

And don't be afraid to listen to user input, if they complain about something, you should always consider changing it.


But about language, just use what you are comfortable with. Visual C++, Visual Basic or Delphi with JEDI DirectX libraries, they will all work OK.



[edited by - Stoffel on September 4, 2002 6:11:16 PM]

Share this post


Link to post
Share on other sites
You can''t honestly think that you''ll be able to make a good game in just hours, instead of days or months. Once you start learning to program, you''ll realise that it takes a long time to make a game. Especially if it''s your first game.

For a lot of people, it does take months to make their first game, and it would probably be just a PacMan or an Asteroids clone. Some people learn quicker than others, but you should still expect it to take a few months to make your first (simple)game, and that''s when you know what you''re doing.

But, even though it takes a while to make a game, don''t give up cause it''s very rewarding to see something you made up and running on the screen.

Share this post


Link to post
Share on other sites
Locus, when I say I want it in hours, I mean like this: 60 hours instead of 2 months or whatever. I find it more accurate that way because when you are giving days or months I don''t know how much time is spent in those days or months.

Share this post


Link to post
Share on other sites
for a MMORPG, think many thousands of man hours. More than you could possibly do by yourself. A team of several artists, several programmers, at least 1 audio guy, some producers etc. all working a minimum of 40 hours per week, for at least 2 years. So say 15 people for example. Then 15 X 52 X 2 X 40 = 62400 hours. roughly 4160 per person. And that is neglecting the periods known as "Crunch time", when every one is working 80 or more hours per week, which inevitably happens for at least a month or two for just about any project. Also neglected is the testing of the project.

Share this post


Link to post
Share on other sites
for one person with no/not much experiance

336 hours to learn basic c++ (if you''re really fast)
48 hours to learn basic directx, 2d only(also if you''re really fast)
240 hours learning/implementing file IO
720 hours to make a basic sound/graphics/input system in 2d
336 hours learning how to program network code
2160 hours making the multithreaded game engine, first build
2880 hours designing and making content
a lot of money for the T3 connection, and the massive array of servers needed to run a MMORPG.(all times assume you type faster than a cheetah runs, and you learn things in a snap, dont eat, drink, pee, or move away from the pc.)

realisticly, AFTER you have programming experiance, and have programmed many, complex games, and have money, and work with a experianced team, you can expect 1 to 2 years ABSOLUTE minimum with a good team to make a good mmorpg







___________________
-Nicholas Anton
-www.geocities.com/nickanton7/

REFUSE TO BUY WINDOWS XP! STAY WITH 98se!! MICROSOFT CUTTING SUPPORT FOR OLDER PROGRAMS IS A VERY BAD THING.

Share this post


Link to post
Share on other sites
Thing is, if no one here knows your learning ability, no one is going to really be able to tell you how long it''ll take you to make a game. Only you can answer that after you start learning how to program.

What might take someone 60 hours to make might take someone else 120 hours to make, and someone else only 30. It all depends on the ability of the programmer.

Share this post


Link to post
Share on other sites
quote:
Original post by MJMSMJMS
rough.


well you cant expect to accomplish your goal overnight.
far too many people think they can make the ''next big thing''
without even knowing anything abour programming.. then they
dabble in c++ or vb.. maybe learn a thing or two about
OpenGL or DirectX or even GDI.. then spend hours trying
to figure out why their big game hasnt happened yet..
then the get frustrated and give up. dont go down that
path.. the only way you''ll accomplish your goal is with
dedication and a whole lot of hard work.
good luck.

-eldee
;another space monkey;
[ Forced Evolution Studios ]


::evolve::

Share this post


Link to post
Share on other sites
Yeah, MMORPGs are a lot of work. If you''re going to attempt
one, start really really small, cut a lot of corners, and reuse
as much code as possible.

I''ve been following the progress of MMORPGs for a long time.
EQ, for instance, costs about $1 mil per month to run (or it did about a year ago, I''m not sure now). The development cycle
for EQ was 3 or 4 years. They started off with a core group
of around 6-8 people, and that grew to 20-30 by the time
they went live. And thats not counting customer service
people.

Share this post


Link to post
Share on other sites
Considering how Shadowbane has been in development for about 4 years now and it''s still not out yet... what''s 8*5*50*4 hours? Well however many it is, that''s how long it''ll take. But that also assumes you are working with a full team and you know a lot about graphics programming, OOP, networking, etc.

What I recommend is that you start small, EXTREMELY small. For example, I started with a simple pong game using windows graphics. Next I learned OpenGL and started playing around with that and made a breakout clone. Now I''m working on a small RPG, then next maybe I''ll move on to something bigger... Anyway, just remember to start small and don''t get too far ahead of yourself. Good luck!

Share this post


Link to post
Share on other sites
>>If I wanted to make a good game, how long should I expect it to take? (Preferably in hours not days or months) <<

In my best Doctor Evil voice.....1 million hours. Seriously, if you know nothing about programming, game design, or computer art production and you want to make THE most elaborate and time consuming game known to man(ie. MMORPG), then you should expect to spend a TON of time. As others have said, it has taken medium-sized teams of seasoned professionals years of work to produce the MMORPG''s that are available today. That''s a lot of work!

My best advice to you is to start small for your first game project. Not small as in a small MMORPG mind you, but small as in a very small game(ie. a puzzle game, or pacman, or something like that). This will give you an achievable goal, although it will still be a somewhat daunting task if you know absolutely nothing. Once you complete that you will have a lot of newfound wisdom and something to be proud of. From there you can begin planning something bigger and continue to work your way up.

The bottom line is to be ambitious, but realistic at the same time. Otherwise you''ll get frustrated and burned out and will never complete anything.

Well, there''s my 2 cents

-John

PS: The book "Programming Role Playing Games with DirectX", by Jim Adams is a pretty good book! You might want to pick that one up if your eventual goal is an RPG of some sort

Share this post


Link to post
Share on other sites
Alright, thanks everybody who''s responded so far! I guess I''ll start working slowly making little games and stuff as I go along. Can someone give me an order in which to learn the programming languages? I was thinking C/C++ first, then maybe DirectX or Opengl?

Share this post


Link to post
Share on other sites
well directx and opengl arent programming languages,
they''re just programming interfaces FOR c++/vb/delphi/ect

but that''s pedantic- learn c++ and absorb as much as you can.


-eldee
;another space monkey;
[ Forced Evolution Studios ]


::evolve::

Share this post


Link to post
Share on other sites
Yeah, everybody here is right.
It takes some time to make any game, and perseverance is above all in importance.

C\C++ are definatley the two best languages for game programming, but if you don''t know much about them, they can give you nightmares... believe me. Trying to figure out why something that looks good causes errors is a recurring issue.

I learned it in a strange way, but I doubt it would help you too much.

I started with Sams teach yourself Microsoft Visual C++ 6.0 in 21 days. It was a good book, and it will teach you about the language, but it does so in MFC(Microsoft''s own little libraries), which isn''t good for games. After I got a weak grasp of MFC, I found NeHe''s tutorials in the OpenGL section. For the love of french fries those tutorials helped me a truck load. I almost learned everything I know now from the tutorials(though they weren''t meant for such).

Read through them, they''ll help, especially if you want to learn OpenGL (which I understand better than Direct3D). Once you have it down, C++ and OpenGL are excellent, and fairly easy to understand.

Just never give up, and do try to start small, I''d imagine far too many people try to start with MMORPG''s and get frustrated, shortly after, they quit.

P.S. I have almost two years worth of C++ knowledge, and about nine months of OpenGL knowledge, and I still don''t consider myself ready to make games (but I am lazy, and got sidetracked many times).

P.P.S. Check out the book OpenGL game programming if your interested, it will teach you everything you need about OpenGL, and the basic concept of games.

Also, although it may sound silly, you could try the C++ for dummies books, they hold good information, and could save you headaches.

En taro Adun!
Doom to all who threaten the homeworld!
*Protoss Zealot - Starcraft*

Share this post


Link to post
Share on other sites