I am interested in learning how to build computer games. However I’m having trouble with knowing where to start.
I have experience with creating animation but I don’t know where to take it. Some of the programs I know how to use are Flash 5, Bryce, Ulead Cool, Anime FX, etc. And I have knowledge in Visual Basic 6, HTML, Java, & MS Office. I just now started studying C++ & C#.
So far I have found one site that seem to give some pretty good info. The Art of Computer Game Design helped me out a lot as far as information on the planning and tasks invoved in programming games, however I still am rather confused. Do I have the software applications that are needed to build a game, and do I have the programming know how?
I was thinking that I could write a VB6 program in which I could tie in a Access database that contains all animation I create for the game. That way I could create a splash screen, install package, and then tie in the game forms to the database which would recall the animation as tha player advances. The problem I think I would run into with that would be the huge size of the game. Also I wonder how I would use web languages to tie up the loose ends. I’m also confused as to how this all could be compiled into one huge .exe???
Am I way off?
Any input would be greatly appreciated as I have no idea where to begin. :smack:
Do you have your game planned out, the basic concepts and goals? That’s more important than the mechanics of what language to choose.
I wouldn’t use an Access database, but if you feel you must, look into Active Server Pages. Your better choice is to incorporate your images and whatnot into a Flash library.
I have been working on a flow chart using Smart Draw 6. (great program btw) So far I have a pretty good idea on what the first steps to the game are going to be. The I/O of the game, the game, etc. are all at a good beginning. But in writing any program I know “do it right the first time”.
As far as the flash library, is it possible to make a *.swf an .exe program? Wouldn’t the user have to have to install Flash in order to play the game?
I apologise for all the questions, I am just enthralled with doing this.
I’m not sure if Flash files can be compiled as EXEs directly or not, but flash does come with an ActiveX control that can be placed on a VB form, so they can be compiled indirectly like that.
Most flash games though seem to remain just as SWF files delivered over the internet into people’s web browsers. If you’re going a flash route it’s probably best to do the entire thing within flash and just distribute the SWF file. Wrapping it in bits of a VB program would probably just make things harder.
If you’re thinking of using Access as a back-end for your game, please be aware of the licensing issues involved. Read the EULA for Access carefully and check whether you’re allowed to redistribute the MDAC components with your game. XML documents or some other more open format may be a better choice with less legal and computational overhead.
For writing game-based graphics routines DirectX provides the standard libraries. Once you get your head around how the vertex/polygon/texturing systems work you can turn out quite good 3D graphics relatively easily. 2D graphics can be handled via DirectDraw.
If you’re using any 3D get hold of a good polygonal modelling package (I use Lightwave as a rule, sometimes dipping into 3DSMax or custome modellers I’ve written). Look for a 3D graphics converter program that can save .X files that are compatible with Direct3D.
Have a look at http://www.directx4vb.com/ for more info on DirectX in VB.
http://www.gamedev.net/reference/ can be quite a good reference.
Hope some of this helps.
Thank you so much Armilla… I have been wrapped up in the two web sites all day. The
Beginners page is especially helpful.
I don’t think I will use Access as a database as I don’t believe I will need it. I agree using HTML and XML to tie up loose ends should be more effecient and less tediouse.
I really don’t want to build the game in Flash because I could not figure out a way to to save *.swf into an .exe(I mean why do this when I could write the game in VB6). I plan on reading up on Open GL a lot.
As far as using a 3D modeling tool I’ll probably use 3DS MAX because I have had a lot of success with using 3DS models in many of my animations. DXF have also given me much success. I also plan to create all of the backgrounds in Bryce since it already has some one of the best librarys for 3D landscapes I know of. It would like to use Anim -FX for text. However all text files are saved as *.swf, but small text I use as constants shouldn’t be too big of a deal. Although it is easier to create them in Animation Shop.
I saw a book the other day about Direct X I wanted to buy. I’ll go back and get it when I have the time to read it.
Thanx for the tips. And any other ideas and experience you might have is greatly apprecieated.
Snuggle, a few years back I wrote a 3d game and tried to market it. I would be interested in trading experience, ideas etc.
If you would like, send me an email.
Khadji,
I would like to trade experience and the what-nots. I haven’t had a whole lot of time to work on this project lately, as I have had some set backs.
I am currently in the process of building a server and dealing with all of the issues that come along with that.
As far as programming a highly interactive game I see it as taking a lot of time programming and creating the animation. I would like to know the marketing strageties as well as legal information involved with publishing your own game.
As has been said: Gamedev.net is the place to go. Especially the forums.
I didn’t read all the replies so please excuse any repetitions:
The language of choice for pretty much all game developers is C++.
DirectX and OpenGL are both API’s (Application programming interface) enabling the programmer to access hardware such as the system 3D-card. OpenGL is graphics only, while DirectX supports a whole range of features such as sound, graphics, input, networking etc.
Knowing DirectX or OpenGL is an absolute must for any slightly advanced game.
Im sorry to say that the approach using VB6 combined with an Access DB is near futile (i speak from experince).
VB is fine, even though getting DX/OGL to work can be a hassle. Regular databases however, just arent suited for use in realtime applications such as games.
I would get a basic grasp on C or C++ and then follow every tutorial you can get your hands on.
for OpenGL (my preference) NEHE OpenGL is a great site (affiliated with GDNet) to find tutorials.
Anyway, hope to see you on Gamedev.net and good luck.
Quitesane, Thanx for the sites and advise. I think I’ll go back to school for this one. I don’t want to tackle C, C++, DirectX, and OpenGL alone.
I heard a rumor from one of my college administrators that all Board of Regents schools are going to be teaching C# rather that C or C++. But I imagine that it is like all programming languages, same language different accent.
Choice of language will affect the kind of game you can write. If you’re going for something that’ll make Doom III look amateurish then you will need to be programming in C++ at the very least, if not delving into chunks of assembler. However this isn’t quick stuff to learn.
C# is a language with a C++/Java like syntax that compiles to the common language runtime (MS’s new virtual machine). Any of the .NET languages (like VB.NET or any of the other languages for which there is a .NET compiler) compile to code that runs on this layer, so there’s precious little difference in the end. Use whichever’s most comfortable for you; possibly VB.NET since you’re already familiar with VB.
Learning C# certainly can’t hurt since at the very least it’ll introduce you to all the concepts of object orientation that are so necessary in modern programming. You’ll be worshipping at the altar of Grady Booch before you know it.
DirectX has officially supported VB since version 7, but if you don’t want so many of the new advanced features and still want to support Windows NT4 then you can get some 3rd party typelibs to work with DX3. This is less of a problem than it used to be since Win2k came out.
If you want to develop with DirectX it’ll be useful to get the SDK from MS.
OpenGL is a good library to get to know as well, but personally I’m much more focused on DirectX.
For any more precise advice it’d be useful to know roughly what kind of game you’re writing.
Damn Hamsters ate my reply.
Mainpoints were:
That .NET uses bytecode(as an option) doesn’t mean that C++ still isnt a faster languge. Its still closer to hardware and so allows for a greater degree of optimization.
Performance however, is not why i recommend C/C++. Rather the fact that it’s the industry standard and as a result documentation/tutorials/advice is a lot easier to come by.
Finally, you shouldn’t let not knowing C++ keep you from anything. VB will serve you just fine as a start, and if you at some point find it lacking, pick up another language.
C# is as good a learning platform as any language. As you point out they are all similar but with different accents.
When it comes to OpenGL vs Direct3D(the graphics part of DirectX), i suggest you give both a try and use whatever you are most comfortable with.
Good luck
Send me an email SnuggleBear. I have published my email address via my profile.