Archived

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

Warabit

Where to start?

Recommended Posts

Hey everyone i am a newbie.I know Visual Basic,and was wondering where to begin making games.I am so newbieish i dont know howto make a simple Tetris game.So could someone help me out?i would appriciate it.

Share this post


Link to post
Share on other sites
You''re best starting off with simple text programs, printing things to the screen, guessing games, and the likes of that.

Next step is often setting up the display using DirectDraw (tutorials are in MSDN/Platform SDK/Graphics & multimedia/DirectX), then learning to program pong.


Helpful links:
How To Ask Questions The Smart Way | Google can help with your question | Search MSDN for help with standard C or Windows functions

Share this post


Link to post
Share on other sites
DirectX does many different things.

It includes DirectDraw (for 2D graphics), DirectSound (for sound), DirectInput (for keyboards and joysticks etc) and Direct3D, DirectPlay (network) and probably some more I have forgot.

Share this post


Link to post
Share on other sites
Em, you would probably have a hard time getting you hands wet in DirectDraw. DirectDraw is no more - it''s NOT in the latest version of DirectX (DirectX 8.1) which is the SDK you download from Microsoft''s site. But do not despair - you can do it all with DirectX 8.1 (and more).

So I would suggest the following course of actions:

1. Learn C++ first (for instance get the books "C++ Primer" by Lipmann and "Accelerated C++" by Moo & Koenig)

2. Download the newest DirectX SDK version from MS''s site.

3. Get some documentation for that particular version (e.g. the documentation you get with the SDK, or a book).

**************************
The best way to accelerate a Win9x machine is at 9.81m/s2

Share this post


Link to post
Share on other sites
Hi,
siaspete is absolutely right.First u should learn c++ and make simple programs,text based games like guessing game,a good first game would be hangman.i used the book "object oreanted programming in c++" third edition to learn,its a good book.u can also learn from "sams teach yourself c++ in 21 days".u can download it and other books from the link below.however i don''t know any thing about directx.
http://www.gorkhali.com/kamal/download.htm#13

Share this post


Link to post
Share on other sites
quote:
Original post by Warabit
is this the Directx SDK your talking about http://msdn.microsoft.com/downloads/default.asp?URL=/downloads/sample.asp?url=/MSDN-FILES/027/001/775/msdncompositedoc.xml




For some odd reasons that link direct me to the "SDK Extras" download page - and if I try and copy/paste the link to the core SDK the same happens. Very strange.

BUT you''re in the right area. Just download the SDK and not the SDK Extras (well, later you might need it though, but not right now).

But, again, remember you must be very proficient in C++ to use DX.

**************************
The best way to accelerate a Win9x machine is at 9.81m/s2

Share this post


Link to post
Share on other sites
is it possible to make a little RPG or Side scroller with VB?cuz thats all i know right now,though i will follow everyones advice and learn C++

BTW thanks everyone for helping me out

Share this post


Link to post
Share on other sites
quote:
Original post by Warabit
is it possible to make a little RPG or Side scroller with VB?cuz thats all i know right now,though i will follow everyones advice and learn C++

BTW thanks everyone for helping me out


You can use DirectX in VB, you don''t need C++ for DirectX.

Share this post


Link to post
Share on other sites
Warabit: What is your primary end goal? If you plan on ending up in the games industry as a professional, then by all means go the C/C++ route! But if you''re just looking to have fun doing this as a hobby, you may consider using a language that handles all the DirectX, DirectInput, DirectPlay, DirectSound, etc. stuff for you. This way you can concentrate on just having fun making your game.

Now, I''m not talking about click-n-play systems, though I hear some are pretty decent. What I''m talking about are languages where you still have to code all your own AI, physics, logic, gameplay, etc., but you don''t have to code all the foundational stuff like image loading, sprite collisions, etc.

I don''t want anyone to get the idea that I''m suggesting the C/C++ route is bad...NOT saying that at all! I programmed in C and ASM for a long time in the 80''s through mid-90''s and wrote a bunch of fun stuff during that time, but then I moved into production. Now my game development is more of a hobby so I want to focus more on the actual game than I do on the underlying DirectX stuff. But, again, that''s just cause I have no intention of developing for a living...just fun.

HOWEVER, I would definately recommend a language like this if a company needs to go the "proof-of-concept" route for a game before funding is approved. These types of languages would be ideal for something like that. It''s fast, easy to use, and would make proofs happen in a fraction of the time.

Anyway, my current language of choice is Blitz Basic. It uses BASIC like commands, but it''s quite speedy, creates EXE''s so it''s not an interpreted language, and there''s both full 2D and 3D features in the language. Built in IDE, debugger, and compiler too.

Check out http://www.blitzbasic.com for a demo, if interested.
Check out http://www.blitzcoder.com to see a bunch of Showcase entries that people have done, and also look at the "Articles" section to get a feel for the language.

All the best!

-Krylar

Blitz Basic Game Development Resources

Share this post


Link to post
Share on other sites
thanks Krylar ill go check that out right now

but as far as it being a Hobby or a Professional in the Industry well i want to do both.im 15 right now ,i just want to get into the fray if you know what i mean,so i guess itl be a hobby for around a year or so but i want to build up my skills so maybe someday i could be a Proffessional(thats my goal pretty much.but id also like to just make game for fun"

Off topic:i was wondering if i could have some of your AOL screen names?(if you have AIM) that way ill have people on my Buddy list that i can talk game development with

thanks again

Share this post


Link to post
Share on other sites
quote:

Hey everyone i am a newbie.I know Visual Basic,and was wondering where to begin making games.I am so newbieish i dont know howto make a simple Tetris game.So could someone help me out?i would appriciate it.


You can write a Tetris-clone in VB, so for your first attempt in game making, you don''t need to learn a new language.

The basics thing you MUST know to do, whatever language, whatever technology you use :
- Put a bloc of pixel from a memory object to the screen (i.e. put a bitmap or a part of a bitmap on the screen). If needed, support transparency, i.e. not rectangular bloc (not needed for Tetris denpending on the implementation). To retrieve the source, use Window Bitmap ressource.
- Write some text at an arbitrary place
- receive input for keyboard and mouse (ok, not needed for Tetris, but useful for your next game)

Hint to write a Tetris-clone : Represent the game board as an 2d array.


----
David Sporn AKA Sporniket

Share this post


Link to post
Share on other sites
I will give you my honest advice, as I have wasted a lot of time and money not heeding the advice of others. Perhaps it will help you. First off, I am by no means an expert game programmer, and would still consider myself a newbie at best. I have been involoved in programming since 1985, and have been on many paths (hardware, languages, books) since I started. Knowing what I know today this would be the path I would take. (Keep in mind, everyone will have a different approach or way of learning, also remember that technology is ever changing, so you have to be willing to adjust your plan and adapt continuously). Enough background here''s my 2 cents.

1) Determine what your goal is: i.e. What type of games would you eventually like to make? Are you in this for long-term, or do you just want to start making games as soon as possible? Are you willing to make the investment into learning another computer language?
The answer to these types of questions, can be different for everybody. You can make games using Visual Basic (although as the compexity increases you will probably want to switch to C++). For me the answer was to learn C++. It''s not that difficult to learn the basics. So just start, and don''t rush. Learn from the basic examples, and build up your "toolbox".

2) Learning C++: There are many approaches to this. You can get advice right from this site on which book to buy (if it''s in your budget: I usually purchace through half.com to save a little). Personally, I liked "Sam''s Teach yourself C++ in 21 Days", "C++ Object Oriented Programming" by Laffore, and "C++ for Dummies" (it''s actually a good book). Now, this could be overkill for you, but if you learn better from an instructor, most colleges will let you audit a class for free. You won''t recieve college credit, but that''s not what you are looking for anyway. Auditing a class helps motivate you and keep you on track. Additionally if you know a friend who is good at C++ his/her advice could be priceless. Finally, this site is a great start, and a wealth of information is here for free, so your doing pretty good already. Regardless of your approach, spend time learning the language, and don''t try to write a game the first time out. Most of the books come with a student version of VC++ or Borlands Compiler. This is perfect for learning, but eventually you will want to buy a standard edition. I would suggest Microsoft''s Visaul C++ as it''s IDE is superior, and it works better (during development) with DirectX. (I''ll mention briefly that you can also download a free DJGPP compiler, and later add the Allegro Game Function Library (termed loosely) to begin making games, but more on that from someone else).

Sticking with Visual Basic: If the above is not your cup of tea, then stick with VB. Your game programming enjoyment is up to you. If you already know VB and would like to start making games right away, then this may be the right fit for you. In fact most of the games I have written to date, could have been done in VB. My advice would be to get a book on Game programming in VB. I know Andre Lamothe''s series of books has a book about programming Games with DirectX and VB. I haven''t read it but I do have many books in his series (and although he has turned the writing over to others and now he''s mainly Senior Editor), they have all been excellent. Now read as many articles and program as much as you can. Don''t be affraid to try different things. Start small. And trust me that Tetris should not be your first attempt. While it''s easier than many other games, declaring it simple is relative. There are better first starts. See First Projects: below.

3) Now that you have a solid understanding of C++ you will want to incorporate an API. You should begin with MFC (but honestly I wouldn''t spend too much time here. A basic understanding is reccomended. You can build on this as you go along. You shoud learn the text functions, and primative drawing). My reccomendation from here would be to buy Andre Lamothes "Tricks of the Windows Programming Gurus SECOND EDITION". For me this was the first book that actually got the game programming and DirectX ideas to sink in, and by the way it covers some of the needed MFC mentioned above. I would read through most of this book trying examples and viewing the source. The book isn''t made to be a "source-code dump", so I would reccomend printing out the examples as necessary. Get an overall view the first time through the book (especially the DirectX stuff). Don''t worry if things seem a bit fuzzy at first. The book builds up a pretty decent 2d Game engine. My suggestion is after your first read, copy the T3DLIB1.h and T3DLIB1.cpp into your projects, and begin using Andre''s simple engine. It will stop you from getting stuck on setting up DirectX initialization and allow you to start focusing on game programming. Next, printout the T3DLIB.h and T3dLIB1.cpp and go through all the code, understanding what and how each function works. At some point, you will probably want to rewrite the engine into a neater C++ object oriented design and make better use of classes. All of this will get you to a pretty fair game programming level.

4) First Projects: I would suggest starting off with a PONG Clone. Next I would attempt a BREAKOUT clone. (possibly making some improvements to the originals, and incorporating sound. Write a complete game from Title screen to Credits). Then, try a single screen Platformer like the original Mario Brothers (not Super Mario Brothers) or a Space Invaders clone. [At this point you could probably handle Tetris as well]. Next, try a Full screen transition demo like Pitfall. Next try a 1-level platform demone of Super Mario Brothers.

Ok, that''s my 2 cents (perhaps it should have been an article). Just remember everyone has a way that works best for them. This is just one of the ways, and the current path that I am finally on. Best of luck.

Some things I recommmend for 2D Games:
-A computer
-The DirectX SDK (For now I am still using the DirectX 7 interfaces)
-A good Compiler (Visaual C++ 6.0 or Visual C++.net)
-A 2d graphics program (Paint Shop Pro 7)
-Desire, Ambition, Creativity, Igenuity, & Persistance

Share this post


Link to post
Share on other sites
hey zenassem that was a long post but well worth the read (i think ill reread it after i post this)
i have a few questions but

This is my Plan

1.I learned Visual Basic through a CD from cdlearning.com
what it is ,is a voice teachs you everything(like as if the person was reading u a book)and there are animated Graphics
to give examples of EVERYTHING. So im going to buy C and C++(they teach C++ assuming you know C) thats step 1

2.ill do a little MFC(please tell me where i learn this and what it is)

3.then ill read "Tricks of the Windows Programming Gurus SECOND EDITION"(you act like its downloadable,if so where can i download it?)

after that ill just make games(building up to be better)

But i have a problem ,i know NO ONE who knows ANYTHING about programing.So maybe could i have someones screenname for AOL?
mine is Warabit

thanks

Share this post


Link to post
Share on other sites