|
|
|||||||
| Computers & Information Technologies « Everything related to computers and internet. » |
![]() |
|
|
Share | Thread Tools | Search this Thread |
|
|
#1 |
|
Registered Member
Last Online: 02-10-2012
Join Date: Apr 2006
Posts: 83
Thanks: 1
Thanked 22 Times in 18 Posts
Groans: 0
Groaned at 0 Times in 0 Posts
|
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 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.<!-- / message --><!-- edit note --> |
|
|
|
| The Following User Says Thank You to albertoz For This Useful Post: | Google (11-12-2009) |
|
|
#2 |
|
Registered Member
Last Online: 04-15-2018
Join Date: Feb 2006
Posts: 624
Thanks: 2
Thanked 299 Times in 276 Posts
Groans: 0
Groaned at 1 Time in 1 Post
|
hmm this is my domain kewl.
The only problem is this article makes it harder.. basic mistake is that java is not even a compiled language making it very slow using real time applications such as games. So my advice, is not to start with basic anymore. start with assembly, this way you know how registers communicate, do some algorithms in asm. Then head to C, then C++. forget about Java/VB/C#/... if u know Asm and C u can learn the others in 2-3 days. - If you want to make a simple game, use flash, easy. make a plane bitmap, make some animations, moving left and right, do the same for enemies. Make some bullets. Then write scripts to move the plane and a basic AI for enemies and voila. - IF u want to do a game, u need to first start from the bottom: - all the games u see are not real 3D these are fake, as our screens are 2D, 3D coordinate system (x,y,z) are projected onto a 2D plane (x,y) and this is what u see. Applying a perspective projection gives u the fell of depth in the game. this is how game engines Run. So start writing a 3D software rendering, first by writing the whole 2D pipeline from scratch. (using SetPixel which will write a color on to a specified locatrion in the screen). Then after that write the 3D Software rendered -> Writing the 3D Pipeline which deals with handling 3D objects then projecting them onto the Camera (or view Plane) which is 2D. - Once u know the above, u need something faster and here comes DirectX and OpenGL which basicly do the same as above but they communicate directly with the hardware makign everyth faster. Then there is the addition of shaders whcih is a memory on the video card so you can write algorithms and make them execute on each pixel or vertex and stil lthe game will be fast. And to mention something, as i said above all games are Fake 3D, real 3D is obtained by raytracing engines which are not normally realtime because they take ages to render (I implemented one). Anyways in reality, our eye captures all the rays (ray of light) in the room so we see everyth. Ray tracing working the same but a bit in reverse, we send rays from the eye and follow them recursivly (till a certain depth) reflecating, refracting them and adding the end result color accordingly. This is kinda true 3D but still evry slow to implement (some real time ray tracer exist but they do not deal with heavy objects) mayube basic geometrical forms. Anyways if this is a subject of discussion and ppl are really interested i can write many articles, starting from basic 2D engine to a full yworking 3D engine :P btw ppl think writing video games is easy, but in reality, u do more study than a rocket scientist . For example, i nall the above all i mentioned is the rendering part of the game. Games are made from many other components: AI, Handling Input, Sound, Music, Art,... so imaging having to study deeply every side of the above
__________________
I pwn n00bs Last edited by ZeRaW; 05-12-2006 at 10:13 PM. |
|
|
|
| The Following User Says Thank You to ZeRaW For This Useful Post: | Google (11-12-2009) |
![]() |
|
| Tags |
| game, making |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Music Style 4 Making love | Justin | The Multimedia Room | 22 | 04-25-2008 12:05 AM |
| If u were [New Game] | Justin | Vcoderz Lobby | 571 | 03-15-2007 04:49 PM |
| First step of making a prog on C++ (Urgent) | Lebanon4ever | Computers & Information Technologies | 2 | 01-21-2007 10:27 AM |
| The 10 steps for making a computer faster :s | Lebanon4ever | Computers & Information Technologies | 3 | 12-29-2006 11:37 PM |
| who is making the "funny" songs | Carella | The Multimedia Room | 8 | 03-09-2006 09:16 AM |