|
-
Oct 12th, 2001, 08:48 PM
#1
Thread Starter
Frenzied Member
3-D game
ok we all know those games like half-life, hitman, carmageddon, Midtown Madness, goldeneye 007, rainbow six, rainbow six: rogue spear, yeah yeah...those good 3-d racing games and the 3-d shoot em down games. Now how would i program a 3-d shooter game with directx? i don't even know how to even get started from a blank project. This is in Visual basic by the way. i've seen a 3-d one done before..i just dont know how to program it. can someone help me get started on 3-d programming with direct3d or directx in VB?
-
Oct 12th, 2001, 09:35 PM
#2
Member
Well, first, before you do anything, PLAN!. Sit down, with a sheet of paper, plan everything, rotation, coordinates, terrain, movement... there's way more than that. After you've done this, plan a little more. Good. Now, find a tutorial, I suggest:
http://64.23.12.52/
This is DirectX4Vb. Very good site. It will teach you nearly everything you need to know about DirectX. It will not, however, teach you how to make a game, just design the graphics. To make the game, you will need to develope some game-skills and find another tutorial or informed person. Now, sit down and plan.
Plan how your enimies will react (AI), goals in the game, mechanics of NPC movement, speech, etc. It is a really big job, and requires lot's of people. (Diablo II took around 90 people and 2 years, for example. Those 90 people include speech, programmers, artists... etc)
That's it in a brief discription.
On Error Give Up
Mind over matter. Then if it doesn't matter, you lose your mind.
-
Oct 12th, 2001, 09:43 PM
#3
Thread Starter
Frenzied Member
well i'm not going to make a full 3-d game like goldeneye 007 or diablo 2 or something like half-life. If i'm lucky i'll make like a 1 level game just so i can learn or something. Plus you used terms i did not know..what does NPC movement and why would i need to plan out coordinates for moving and stuff..i'm only 15 and i have no idea what to do in graphics programming..this stuff is way over my head and i would just like to learn so please bear with me.
-
Oct 12th, 2001, 10:33 PM
#4
Fanatic Member
Hum, I'm 14 and I understand it perfectly. If you don't plan out the NPC movement, it will most likely be random or non-exsitance. In my signature, there is a link to a game I made.
-
Oct 13th, 2001, 09:34 AM
#5
Diablo 2 was a horrible game. Any game that took two years to get the bugs out, yet required a patch on the retail version before it was playable is pure crap. Do not look at it for examples.
Now, as Sapphire said, planning is one of the most important things in game development, or any other software development, period.
You said you have no idea about graphics programming, right? How is your general VB programming? This is pretty important too. Sure, you can cut and paste code from example sites, but even if you managed to hack it all together into a game of sorts, you wouldnt really understand it, or be able to add things.
Next, Do you have a cable modem? The DirectX8 SDK is ~140 megs, full. You can download parts, just the ones you want for VB, so that would make it smaller. Whatever you do, make sure you get the VB help files.
Now, sit down, and run through the first few tutorials in the help files, or at The site Sapphire mentioned. Change a few things around. See what does what. You are on your way to learning this stuff.
Once you get all of that stuff down, you can always ask around here for help.
Z.
-
Oct 13th, 2001, 01:08 PM
#6
Fanatic Member
Accutuly, Diablo 2 didn't take 2 years to get the bugs out. About ½ of one of the years was to get b.net to almost be able to handle the number of players. Which, I must point out, was not succesful.
-
Oct 13th, 2001, 02:41 PM
#7
I was a stress tester. If anyone else was online when the retail released, you will recall the lag/down times that slowly got better. It was exactly the same with the stress test. Thats just poor. Also, software with that many bugs is badly designed/tested software. Blizzard should read Code Complete.
Z.
-
Oct 13th, 2001, 02:59 PM
#8
Good Ol' Platypus
Is that your bible now Zaei?
All contents of the above post that aren't somebody elses are mine, not the property of some media corporation. 
(Just a heads-up)
-
Oct 14th, 2001, 12:31 PM
#9
Design Patterns is a more likely choice, Sas =P.
Z.
-
Oct 14th, 2001, 02:14 PM
#10
Frenzied Member
-
Oct 14th, 2001, 02:55 PM
#11
Hyperactive Member
Hi,
I am also 14 too. I tried starting DirectX8 programming awhile ago with VB, and after downloading the SDK for few days , i found that I had to learn more about api stuff. I tried making a DX8 figure without planning and I messed up big time. Then I researched more and finally made a 3d triangle that spins! (oooooooo) I am supposing that it is the same with games too. Plan. I am going to give up trying to make 3d games with VB, and use C++. I suggest that if you try to make any rogue spear, NASCAR 4, etc. use C ++. It is much more faster and conservative.
Visual Basic 6, HTML, JavaScript, learning C++
-
Oct 14th, 2001, 03:07 PM
#12
Frenzied Member
Look, I'm 15, I have 2 years of experience in VB and that's not an excuse to say that I suck at it 
(Probably because I don't... at least not too much )
Personally, I like 2D games much more than 3D games. 2D is easy, fast, doesn't take that much calculations (do you don't have to be a genius to make something decent), and has been around for much more time than 3D so it's much more evolved.
2D games which use nice special effects/shadows/lighting, a smooth interface which fits into the game (not just some digital numbers in a green box ), and have photo-realistic images (3D-rendered) can make you feel like you're inside the game, while any 3D game, even the ones that have polygon counts of 5000 per character, don't (your brain can easily tell that they're not real).
My advice, for now make 2D games; when the 3D techniques are more developed and they get rid of that old polygon system (yes, I'm pretty sure there are better ways of drawing in 3D), THEN you should make games in 3D.
-
Oct 14th, 2001, 04:31 PM
#13
If Microsoft tried to code Windows (or even DOS), without debugging, Microsoft wouldnt be a company today. If Microsoft tried to write Windows (or even DOS) without debugging, thier code wouldnt have survived all the way through Windows 98 (it had a lot of 16-bit code in there). Point? Microsoft doesnt write horrible buggy code.
"Your" way is probably the way every other half-decent coder works.
The future of rendering is probably real time ray tracing. Unfortunately, this cannot be done correctly on modern machines. In fact, even with lots of hacks and cheats, you can still only acheive 20 - 35 fps, due to the fact that it's all done in software. Second, you cannot get, for instance, a character, to raytrace without polygons, unless, of course, you ARE a genius, and can figure out a formula to correctly intersect a correct human body with a ray. Third, Ray tracing (real time, or otherwise) is a very mathematically intensive topic (read, lots of calculations).
Now, sure, you can stick to 2D games. Then, when the time comes that you feel that 3D games have evolved enough for you to spend your time on it, you will be so very lost. You dont learn anything if you dont challenge yourself.
Games arent all about graphics. Who cares if the models look polygon-y (or not, take a look at Max Payne...)? If you want to make 3D games, make them, but be sure that you learn all of the basics first. I never actually learned BitBlt, or DirectDraw, and I am working on one of the most ambitious games to date. Just besure not to get ahead of yourself, and have a lot of fun!
Z.
-
Oct 14th, 2001, 09:48 PM
#14
Good Ol' Platypus
The future of rendering is probably real time ray tracing
Thats what I've been saying over the past two years too =)
All contents of the above post that aren't somebody elses are mine, not the property of some media corporation. 
(Just a heads-up)
-
Oct 15th, 2001, 03:31 PM
#15
Hyperactive Member
I have only been doing VB for about 6 months now and not thinking about games again until I lern more. By that time "they'll" probably have come out with a easier and more efficient ways of drawing 3D graphics. AND use C++ when making a 3d game! 2D games may be easier to make, but 3D is much more fun!
Visual Basic 6, HTML, JavaScript, learning C++
-
Oct 15th, 2001, 03:35 PM
#16
Thread Starter
Frenzied Member
I dont know C++, but i know VB...yeah, VB might not make the best games but..hey it's a start to gaming programming.
-
Oct 15th, 2001, 04:06 PM
#17
Thread Starter
Frenzied Member
so can someone tell me how would you program like how you switch guns or whatever in games? like in goldeneye, how would you design guns and then make like 10 of them and switch through them.
-
Oct 15th, 2001, 04:12 PM
#18
Good Ol' Platypus
I wouldn't think specific Qs like that should be asked... but I'll answer anyway. You'll have your gun models in an array, and then another array that tells you what guns you have... and another integer value that has the number of guns you have.
Okay, say you have 10 guns -- 0 to 9. Right now, the player has guns 2, 3, and 7. You would put these in an array and then make the integer value 3 [guns]. Make another integer that is "CurrentGun", make it be array_of_guns_you_have(0). Then when you want to switch, you add 1 to the current gun and make the model GunModels(array_of_guns_you_have(currentgun)).
All contents of the above post that aren't somebody elses are mine, not the property of some media corporation. 
(Just a heads-up)
-
Oct 15th, 2001, 04:17 PM
#19
Thread Starter
Frenzied Member
ok..the problem is i didnt understand one thing you said..lol. i need some examples so i can understand it visually...(i learn better than way) does anyone know of any good examples? 3-d programming is what i would like to learn (also i would like to use DirectX)
-
Oct 15th, 2001, 05:17 PM
#20
Hyperactive Member
ok I have a question on 3D games. If I'm going to make a 3d FPS game, could I make the 3d models using a different program like autocad or somethin, and then use VB to actually put them in a 3d world and make them do stuff? I plan to switch to C++ to make 3d games after I master vb, so can I also do that with c++? Also, which is better for making 3d games, Direct X or OpenGL? I know that DX is only for microsft stuff, and opengl is for everything, but which is better for a combo of quality and speed?
Visual Basic 6, HTML, JavaScript, learning C++
-
Oct 15th, 2001, 05:29 PM
#21
Keyword here is Learn. Forget about guns. Get the SDK, at least the VB parts, WITH DOCUMENTATION. Go through several of the basic tutorials. Make the spinning triangle. Add some stuff to it. Make it a square. If you want to do ANYTHING with DirectX, learn from the very bottom, up. Once you being to understand everything, then things start to speed up. Dont try to skip ahead, and take things slow. That is all the advice i can give you right now.
Z.
-
Oct 15th, 2001, 05:31 PM
#22
Thread Starter
Frenzied Member
ok..i can get SDK from the download center at Microsoft.com right?
-
Oct 15th, 2001, 05:38 PM
#23
The only real differences between OpenGL and Direct3D are their interfaces. DirectX is Object Based, while OGL is function based. Since no one here is planning on using C, that isnt much of a difference. The second is Portablity. DirectX will only run on Windows (or the XBox). OpenGL has been ported to a LOT of systems. But, since everyone here is still learning, This isnt a big issue. So, it all comes down to personal choice. DirectX will be far easier in VB.
Z.
-
Oct 15th, 2001, 05:39 PM
#24
Yes, you an get it from MS. If you have Cable, and plan to go to C++ (recommended), get the full SDK.
Z.
-
Oct 15th, 2001, 05:41 PM
#25
Thread Starter
Frenzied Member
Ok, well, it's 150 MB and I'm on 56k. So i'll just let it download when i'm asleep..lol. No i'm not moving to C++, i dont know a lot about it.. i can still use SDK in VB right?
-
Oct 15th, 2001, 05:42 PM
#26
Thread Starter
Frenzied Member
what exactly does SDK mean and what does it do?
-
Oct 15th, 2001, 06:59 PM
#27
Hyperactive Member
I have the SDK (software development kit) for Direct X 8. It gives you the type library for Direct X 8 so you can program with Direct X 8. If your going to download it on a 56k like i did, I suggest you get a download program like Getright so if you get disconnected it will save the spot where you left off.
The Direct X 8 SDK is for both VB6 and C++, so if you are using only VB, you dont have to download the files that have anything to do with C++. I suggest that before you get into 3d games with DX8, that you learn windows API thoroughly since it involves LOTS of it. I am putting games off to the side right now until I get enough doe to buy VC++, so I can learn games withC++ from scratch and API. There is a guy using C++ and OGL to make an F-22 Raptor flight simulator... and is my eventual goal..
Anyway, IS it possible to make 3D models with AutoCad or something and then transfer them into VB or C++ into an actual 3d world to be used ina game?????????
Visual Basic 6, HTML, JavaScript, learning C++
-
Oct 15th, 2001, 07:21 PM
#28
Thread Starter
Frenzied Member
Yes i am using getright..trust me, i cant wait till DSL comes out here..
also, i dont get disconnected really...AOL is actually pretty stable. I stayed on for 36 Hours straight through once while getting one of the linux distributions..i think Red Hat 7.0.
Yes i do know Windows API, i hope. Probably not as well has you expert programmers but i'm used to it.
Just the way people make guns or 3-D objects like people is crazy...how they make them walk and how the gun has moves up and down and the bullets..like in MS Combat Flight Sim. that game has the outside view of the plane in 3-d view. I want to learn how to make games like that. But, since i am just starting out, i need help from you guys. And i thank you all in advance for helping me out.
Also, one last question, are there any books out there that teach DirectX (or 3-d Programming) in Visual Basic? (I dont know C++ well enough to program 3-d games.)
ok sorry for the long post..see ya.
-
Oct 15th, 2001, 08:07 PM
#29
Recommendation: Learn C++.
That said, I dont know of any books that teach DirectX using VB (at least not off the top of my head). Look around http://www.vbexplorer.com/directx4vb . This site has a LOT of DX8 tutorials in VB. Once you get pretty confident using things like Vertex Buffers, FVFs, and the DrawPrimitive() call (you have no idea what I am talking about, but dont worry. Youll learn =), then you can start in on something more "game like". Try a simple flat ground Polygon, and use the arrow keys to move around, that kind of thing. Then just work from there. Get some game ideas in your head, write them down on paper. Try to get a basic idea of HOW to program each thing that you write down. Dont worry if you cant, at this point, the more you learn, the easier it gets (ive been working with D3D for perhaps 6 months, and I can pretty much see how most of HalfLife was designed and created, for instance). When you get some ideas down, run them through me, or someone else on this board, and we can give you pointers, etc.
Z.
-
Oct 15th, 2001, 09:13 PM
#30
Thread Starter
Frenzied Member
darn thats cool...you know almost how halflife was created and designed...how old are you anyway? hopefully soon i'll learn to be that good. in Jan 01, when i started..i didnt even know how to close a form but now i'm programming actual programs that are somewhat worthwhile. Anyway, thanks a lot. I'm downloading DirectX 8.0a SDK right now. I'll try out some stuff.
-
Oct 15th, 2001, 09:36 PM
#31
Thats how it works. The more you learn, the more fun it gets. You will get there, but ya gotta keep at it =).
Z.
-
Oct 16th, 2001, 02:08 PM
#32
Hyperactive Member
you know all the 3d models in games, well if I was going to use C++ to program a 3d games, how would I make the 3d models in the game? I am just curious if I would actually use C++ code to make the models, or could I use a 3d model program like autocad to make the models????
I looked at the Direct X 8 Blackbook for c++ and it looks like you can make pretty cool FPS games with great graphics. But before I learn game programming, what are the advantages and disatvanteges ofprogramming 3d games with VB or C++? Is C++ faster?
Visual Basic 6, HTML, JavaScript, learning C++
-
Oct 16th, 2001, 02:28 PM
#33
You can use a tool such as 3D Studio to create your models, and then load them into your game.
C++ has been clocked at 100+ times faster then VB. It is also truely object oriented, which is one of the reasons it is the main choice for game development.
Z.
-
Oct 16th, 2001, 02:50 PM
#34
Junior Member
I would definately recommend anybody doing 3d games to
1) Get somebody to do models for you (and don't give a **** about how it is done
2) Download MilkShape3D and do it yourself. www.swissquake.ch/chumbalum-soft (I think). This way, you get LOTS of more control.
-
Oct 16th, 2001, 03:32 PM
#35
Thread Starter
Frenzied Member
does anyone know any good books on DirectX programming with Visual Basic?
-
Oct 16th, 2001, 07:29 PM
#36
Hyperactive Member
http://www.vbexplorer.com/directx4vb
is an excellent site for begginers starting DX8 3d games
Visual Basic 6, HTML, JavaScript, learning C++
-
Oct 16th, 2001, 07:39 PM
#37
Thread Starter
Frenzied Member
well i dont exactly want sites..i want a book i can sit down and read that explains things bit by bit. Yes, that site might do it, but i think a book would explain it much better.
-
Oct 16th, 2001, 07:42 PM
#38
Thread Starter
Frenzied Member
do they even make books about directx and 3d programming in vb?
-
Oct 16th, 2001, 07:42 PM
#39
That site is THE best resource for VB game developers. Period. You will get a very good understanding about what is going on. Check it out. It is where I started out.
Z.
-
Oct 17th, 2001, 03:31 PM
#40
Thread Starter
Frenzied Member
ok, using that MilkShape 3D thing..how would you use the 3D things in VB? how would you program them into it..
i made it into like big building looking things...how would i put it in my program?
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|