|29-05-2003, 05:09 PM||#1|
Join Date: Oct 2002
Thanked 0 Times in 0 Posts
How to make a game.
First off, I would ask this be made a sticky as there are too many a thread about wannabe's thinking a 3d game is as easy as 1, 2, and 3.
Let's start off then shall we?
What is a game? Webster's says: "1 a (1): activity engaged in for diversion or amusement"
And that is EXACTLY what it is.
What's the first thing you need to know?
You CANNOT start off thinking 3d games are easy to make. This is a common mistake among people just starting with 3d. There are a lot of parts that make up a game. You need to know how to program, you need to know how to model, you need to know how to texture, you need to know how to PROGRAM, and the last is you need to know how to PROGRAM.
Why is programming so necessary?
Well think about for a minute. You need to know how to make your game know how to make your character walk, talk and interact. 3d modeling doesn't DO that for you. CODE does that for you.
Next on the list, and I guess the main "tutorial" will start here, is
What programming language should I know, and how long will it take?
Well...You need to know a LOT of programming languages. Companies like blizzard and ea games or sierra don't hire programmers who know one language, unless they are exceptionally skilled and have actually ADVANCED the language. No they are looking for men and women who know plenty of programming languages and can be flexible between them.
What is the best Programming Language to know, and how should I go about starting?
Well I personally started with BASIC. Basic is a simple code language comprised of IF THEN ELSE OR END etc etc statements. Basic is well basic. If something happens then this happens. Have a TI calculator or a graphing calc? Those have BASIC. Start learning there. Search google for it. There is a ton of stuff, BASIC is quick and can do a lot of stuff.
BASIC LANGUAGE LEARNING TIME/MASTERING TIME: 1 1/2 YEARS.
Now, when you know basic fairly well, why don't you make a guessing game with it? Guessing games are GAMES as they are an "activity engaged in for diversion or amusement." Make it so it picks a random number from 1-100 and then if you guess to LOW or to HIGH it tells you which way to guess next. Then have it continually track how many times you have been guessing and at the end tell you how many tries it took you. Now for every one that doesn't know how to code, making something keep track of YOU may blow your mind, but it really isn't hard if you understand what your doing, that's why it should take you a good year to learn BASIC.
After that, why not try making a ROLE playing game with BASIC? With crude MAP graphics you can "access" and items you can pick up, and then make the ultra crude AI. (By the way if you haven¡¦t figured it out, this is sort of the path I took ). So make it so, you have to "fight" monsters, and they attack you back, and you can use spells and they can use spells to. Learn how to make your game be able to SAVE and LOAD. Make a menu system.
After that, I'd say you're pretty much done with basic, and making all those games and stuff, should take you another couple months.
So what do I do after Basic is done?
Well¡Kyou pick another language to learn. Learn JAVA. Java isn¡¦t that different from BASIC, just a few more lines of code here and there. Again, learn how to make a guessing game, then maybe a role playing game. However, because Java is more advanced you can start learning some DRAWING skills. Experiment with trying to draw a simple 2d box, and then figure out how to make that box "3d" Once you've mastered that art why don't you try to make another game. Like BATTLESHIP. Have a user interface, more Complex AI, (I'll explain in a few) and graphical ships? Have it so you can add your ships, rotate them, and have the computer know when you are "trying" to cheat by stacking them or whatever. Then have the computer arrange his, and then start the game. Now by COMPLEX AI I mean, have it so when the computer gets a HIT, on its next turn it checks all surrounding squares until it gets another HIT, and then have it so, if the hit is below, above, or to the side, then instead of continually checking all the squares around it check the squares above, below, or to side depending on which way the originally second hit was discovered. And then maybe you will want to make a CHEAT system in which you click CHEAT and it quickly lights up where the enemy ships are so you can kill them and end the game. After ALL this, there is still more to do. You can learn how to make graphs, import data <-- VERY IMPORTANT, as you ALWAYS need to import data into GAMES! Etc etc.
Learning time for Java: 2-3 YEARS. Maybe more, cause I am still having fun with Java.
Ok, so I have BASIC and JAVA under my belt, can I start NOW?!
NO! How many languages are out there? Like 20-30???? You only know 2! I suggest learning more languages and in this order: C/C++, Visual Basic <-- that one strongly as most of your games I will be explaining later will be made easiest with it. ASM (Assembly) and you should have learned HTML sometime ago, and then learn FLASH. And if you know HTML learn, DHTML and XML. Those are languages that take away JAVA imports into HTML. So instead of making APPLETS for HTML you can write the JAVA strait into the HTML with some .class files running somewhere else. This is good as you do not have to one, load an applet, and wait for the applet to load .class files etc.
Time to learn all this: This is the bulk and really should take like 6-8 YEARS!
Now I am old, old man. Can I make a game now?
Well yes, depending on what kind of game. 3d? Not yet my friend. You have to start SMALL. I recommend FLASH for this, but I suppose you could use VB. Make a SIDE SCROLLER! Those are fun! Make a space ship side scrolling game or something. You should have enough coding knowledge to do this all by yourself now. After you make a scrolling game, try to make a scrolling game that includes a UP and DOWN. So you can climb ladders and push buttons and all that good stuff. After that try making a full blown out game. With an introduction, plot and levels.
Maybe after FLASH, you should go back to VB. Learn how to do the same things with VB and import data etc. VB is easy to use graphics and make games, because it uses Direct X to power the graphics of your games, which is very very nice.
Time to do this: 2-3 years.
I am on the verge of death; can I make a 3d game now?
Well, no Do you know how to 3d render? If you don¡¦t you have to learn. 3d rendering to ME is an art you can NEVER master, as it is continually advancing and changing. You can be very good but you can never be perfect.
Learning 3D: The rest of your life
Well once you have enough 3d under your belt, which is up to you, you can make a GAME! A 3d game! First off, you will need a 3d game engine. I would suggest NOT making your own as they are difficult to make. Very difficult, I would say don't even try. Find one on the internet, do a search with google. Once you find that engine, try figuring out how it works, look at the code and UNDERSTAND it. Once you have the game engine, make some models, texture those models, and make sure your game engine is capable of handling the amount of polys. Now get a CREW. You don't think Blizzard and Sierra make games by themselves do you? They have hundreds and thousands of workers making their games. So you need a good sized crew, 10-20 DEDICATED people. Well yeah, you now have set up a little business that is going to try to make a game. Have fun. Remember making a game isn't easy. Making a game takes a couple years in itself, and unless you're going for crap/demo game then it should take a couple months, but that is lame as you are just wasting your time. All in all, this process should take:
9-10 Years in itself.
So now you're probably 30-40 years old and are very mad at me for making you wait so long. By that time there is probably 4D or something. :-P Well that's how it goes. Thinking of making a game? Start with the BASICS and work your way through the ladder.
Last edited by lockdown2000; 29-05-2003 at 07:21 PM..
|Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)|