Page 1 of 2 12 LastLast
Results 1 to 40 of 55

Thread: [Theory] Game Programming

  1. #1

    Thread Starter
    Hyperactive Member
    Join Date
    Apr 2002
    Posts
    492

    [Theory] Game Programming

    I have an extensive background of programming, have a BA in programming, and have about 2 yrs experience. Recently I have gotten the urge to get into game programming. But dont know where to start. Can someone provide me with some guidance, where can I start(what is the easiest to learn and would be benefitial to more advanced game programming?), what language to I go for, what are my options?

    I would appreciate if you guys provided me with some insite.

    Thanks to all that reply.
    Last edited by NoteMe; May 27th, 2005 at 02:44 AM.

  2. #2
    Super Moderator Shaggy Hiker's Avatar
    Join Date
    Aug 2002
    Location
    Idaho
    Posts
    40,102
    I'd say it depends on what type of game you want to write. Consider that most games these days have high-speed graphical interfaces, but some of the greatest computer games had pretty simple graphics. If you can come up with a fun game, that will be the hardest part.

    If you want 3d or high quality graphics, you probably want to write in C++ using OpenGL or DirectX. If you want to write a game with simpler graphics, where refreshing the screen 30 times a second is not essential, you could use VB (though you might still be using DirectX). Lots of options out there, but coming up with a compelling game is probably the hardest.

  3. #3
    Retired G&G Mod NoteMe's Avatar
    Join Date
    Oct 2002
    Location
    @ Opera Software
    Posts
    10,190
    Originally posted by Shaggy Hiker
    ... If you want to write a game with simpler graphics, where refreshing the screen 30 times a second is not essential, you could use VB (though you might still be using DirectX)....

    I can't see that many advantages of using VB for DX programming over C++. The DX part of the game will look pretty much the same in C++ or in VB, at least not much harder ....

  4. #4
    Fanatic Member alkatran's Avatar
    Join Date
    Apr 2002
    Location
    Canada
    Posts
    860
    I can only get my mario game's frame rate down to ~20 with about 500+ active enemies (with a good 100 on screen).

    It's usually at 100 (the maximum I set), where's the problem with speed in VB?
    Don't pay attention to this signature, it's contradictory.

  5. #5
    Retired G&G Mod NoteMe's Avatar
    Join Date
    Oct 2002
    Location
    @ Opera Software
    Posts
    10,190
    The graphics part of the game will be more or less the same if you are using VB or C++, but it is everything else that will be so much faster in C++, now I am talking about AI and stuff like that. And if you are making a big game you should try to wrap up as much as you can in Classes. Vb doesn't handle classes as good as C++. The way VB6 is doing it is terrible slow. .NET is faster on objects then 6 tho'.

  6. #6

    Thread Starter
    Hyperactive Member
    Join Date
    Apr 2002
    Posts
    492
    At the moment I dont want to create something really big and fun. I just want to get a feel for it. I would like to start out with something simple, like slot machines, card games, driving games, etc. And if those go well for me then I would want to get into the more complicated and advanced games.

    Are there any books that you guys would recommend, that would be a good starting point for game development. I really doesnt matter to me which language, I do know C++ & VB pretty well.

    Thanks for the replys

  7. #7
    Retired G&G Mod NoteMe's Avatar
    Join Date
    Oct 2002
    Location
    @ Opera Software
    Posts
    10,190
    For VB 2D programming I can recommand "Visual Basic Game programming with DirectX" - Jonathan S. Harbour...mainly DX7 programming


    For C++ I havn't found a really good book yet, but the best starter book I have found is Beginning Direct3D game programming 1st edition for DX8 programming and 2nd edition for DX9 programming....

  8. #8
    Kitten CornedBee's Avatar
    Join Date
    Aug 2001
    Location
    In a microchip!
    Posts
    11,594
    I don't like that book.

    For general programming I recommend "Tricks of the Windows Game Programming Gurus" by André LaMothe. It's all 2d and uses DX7, but explains very many things about game programming.
    There's a second part of it, but it's more theory than anything else, it's about developing a software 3d engine. I'm sure it can be very interesting, but I don't have the time to read it, even though I own it.

    For 3d stuff in Direct3D, "Special Effects Game Programming with DirectX" is a very cool book, but you should have a fully DX8 compatible graphics card or you're not going to enjoy it - which is why I didn't

    Then I got "Mathematics for 3d game programming and computer graphics", which is definitly worth going through the pain of reading it. Can hardly have enough math in that area.

    And "Physics for game developers", how to write realistic behavior for objects while keeping the calculations to a minimum.

    Finally there are the game programming gems 1, 2 & 3, collections of articles about various aspects of game programming.



    Or you might be more interested in OpenGL, the tutorials at nehe.gamedev.org are VERY nice, although slightly lacking in the general quality of the code.
    All the buzzt
    CornedBee

    "Writing specifications is like writing a novel. Writing code is like writing poetry."
    - Anonymous, published by Raymond Chen

    Don't PM me with your problems, I scan most of the forums daily. If you do PM me, I will not answer your question.

  9. #9
    Retired G&G Mod NoteMe's Avatar
    Join Date
    Oct 2002
    Location
    @ Opera Software
    Posts
    10,190
    Originally posted by CornedBee

    I don't like that book.
    What book...the first one or the second one?

    Originally posted by CornedBee

    For 3d stuff in Direct3D, "Special Effects Game Programming with DirectX" is a very cool book, but you should have a fully DX8 compatible graphics card or you're not going to enjoy it - which is why I didn't
    I don't look at that as a beginning book at all. But that might just be me...if you want a good book you I would have said "Real Time Rendering Techniques and Tricks in DirectX" But that is no beginning book at all....

    Originally posted by CornedBee

    Then I got "Mathematics for 3d game programming and computer graphics", which is definitly worth going through the pain of reading it. Can hardly have enough math in that area.
    All math books are a must, at least as much as you can get about Matrices and tranformations....but don't consider that either as a starting point to do something simple...


    Originally posted by CornedBee

    And "Physics for game developers", how to write realistic behavior for objects while keeping the calculations to a minimum.
    Thats a good book. I enjoyed the car physics in that book. Even if it wasn't that much about it. But I guess you can find just as much physics on the internet as you need for a starting game, but a book about physics is a must when you get beyond the starting game.


    Originally posted by CornedBee

    Finally there are the game programming gems 1, 2 & 3, collections of articles about various aspects of game programming.
    Never heard of these books? But I looked it up, to see what it was, and it looks like you forgot number 4.......do you know if the number two has everything from number 1 and so on...or are you supposed to read all of them?
    Last edited by NoteMe; Jan 25th, 2004 at 03:13 PM.

  10. #10
    KING BODWAD XXI BodwadUK's Avatar
    Join Date
    Aug 2002
    Location
    Nottingham
    Posts
    2,176
    www.directx4vb.com

    Good starting point for graphics related stuff
    If you dribble then you are as mad as me

    Lost World Creations Website (XBOX Indie games)
    Lene Marlin

  11. #11
    Retired G&G Mod NoteMe's Avatar
    Join Date
    Oct 2002
    Location
    @ Opera Software
    Posts
    10,190
    And there is a lot of links in the last 10 posts in this thread too...

    http://vbforums.com/showthread.php?s=&threadid=274946

  12. #12
    Kitten CornedBee's Avatar
    Join Date
    Aug 2001
    Location
    In a microchip!
    Posts
    11,594
    Each programming gems is completly independent. They don't build upon each other (except where an article in one is a follow-up of an article in another), but they don't share information either. And I didn't know there was a fourth out. There's also a related series, "AI Game Programming Wisdom" (currently 2 books) which only features AI articles.

    I didn't mean any of these books as beginner books for game programming, except for André LaMothe's. But "Special Effects" does teach you how to get started in Direct3D - better than "Beginning Direct3D Game Programming", which is the book I don't like btw. You should know I wouldn't touch a VB book
    All the buzzt
    CornedBee

    "Writing specifications is like writing a novel. Writing code is like writing poetry."
    - Anonymous, published by Raymond Chen

    Don't PM me with your problems, I scan most of the forums daily. If you do PM me, I will not answer your question.

  13. #13
    KING BODWAD XXI BodwadUK's Avatar
    Join Date
    Aug 2002
    Location
    Nottingham
    Posts
    2,176
    snob
    If you dribble then you are as mad as me

    Lost World Creations Website (XBOX Indie games)
    Lene Marlin

  14. #14
    Kitten CornedBee's Avatar
    Join Date
    Aug 2001
    Location
    In a microchip!
    Posts
    11,594
    Huh?
    All the buzzt
    CornedBee

    "Writing specifications is like writing a novel. Writing code is like writing poetry."
    - Anonymous, published by Raymond Chen

    Don't PM me with your problems, I scan most of the forums daily. If you do PM me, I will not answer your question.

  15. #15
    KING BODWAD XXI BodwadUK's Avatar
    Join Date
    Aug 2002
    Location
    Nottingham
    Posts
    2,176
    You should know I wouldn't touch a VB book
    If you dribble then you are as mad as me

    Lost World Creations Website (XBOX Indie games)
    Lene Marlin

  16. #16
    Retired G&G Mod NoteMe's Avatar
    Join Date
    Oct 2002
    Location
    @ Opera Software
    Posts
    10,190
    Originally posted by CornedBee
    Each programming gems is completly independent. They don't build upon each other (except where an article in one is a follow-up of an article in another), but they don't share information either. And I didn't know there was a fourth out. There's also a related series, "AI Game Programming Wisdom" (currently 2 books) which only features AI articles.
    I will have to take a look at those books, thanks...

    Originally posted by CornedBee

    I didn't mean any of these books as beginner books for game programming, except for André LaMothe's. But "Special Effects" does teach you how to get started in Direct3D - better than "Beginning Direct3D Game Programming", which is the book I don't like btw.
    In more or less all DX books, they are settin up the IDE for you and starts off with a simple sample on how to start, but I still don't look at Special Effects as an starter book. If you don't know anything about game programming from before, you will not be that much better in GAME programming after have finished that book, but you will have a lot of independent code up and running that looks nice....

    Originally posted by CornedBee

    You should know I wouldn't touch a VB book
    Yeah, I guessed it, but you could have heard it from someone else or read what it said at Amazone or something....

  17. #17
    Kitten CornedBee's Avatar
    Join Date
    Aug 2001
    Location
    In a microchip!
    Posts
    11,594
    If you don't know anything about game programming from before, you will not be that much better in GAME programming after have finished that book
    Yeah, as I said, that's what André LaMothe's book is for. Read it for universal principles of game programming and some founding in 2D graphics, sounds, music, physics, math and AI.
    Then the others: more math, physics, 3d graphics, whatever.
    All the buzzt
    CornedBee

    "Writing specifications is like writing a novel. Writing code is like writing poetry."
    - Anonymous, published by Raymond Chen

    Don't PM me with your problems, I scan most of the forums daily. If you do PM me, I will not answer your question.

  18. #18
    Retired G&G Mod NoteMe's Avatar
    Join Date
    Oct 2002
    Location
    @ Opera Software
    Posts
    10,190
    Then we agree on everything but a good starting book for game programming in C++......I am soo glad I did that in VB...

  19. #19
    Frenzied Member aewarnick's Avatar
    Join Date
    Dec 2002
    Posts
    1,037

    Re: Game Programming

    You should know I wouldn't touch a VB book
    I agree 200% with that quote.

    Anyway, I don't remember seeing C mentioned. Is there a reason why not?

  20. #20
    Fanatic Member alkatran's Avatar
    Join Date
    Apr 2002
    Location
    Canada
    Posts
    860

    Re: Game Programming

    Quote Originally Posted by NoteMe
    For VB 2D programming I can recommand "Visual Basic Game programming with DirectX" - Jonathan S. Harbour...mainly DX7 programming
    I call shannanigans on that book!

    First:
    The random function he gives doesn't even work the way it's intended. I give you the code in all it's glory:

    VB Code:
    1. private function Random(byval lMax as long) as long
    2.    Random = clng(Rnd * lMax)
    3. end function
    Now if you don't see what's wrong with this function: Clng rounds a number, it doesn't always round down. So random(1) can return 2.

    Not to mention: the airplane game has sprites that disappear and the space game doesn't connect to the server without some slight modifications to the code...
    Don't pay attention to this signature, it's contradictory.

  21. #21
    Fanatic Member alkatran's Avatar
    Join Date
    Apr 2002
    Location
    Canada
    Posts
    860

    Re: Game Programming

    Sorry, I gave the wrong problem with the random function.

    The real problem is that
    rnd(2) returns:
    0: 25% of the time (0 to .5)
    1: 50% of the time (.5 to 1.5)
    2: 25% of them (1.5 to 2)

    Random functions should not have a reduced chance of choosing the numbers at the limits!
    Don't pay attention to this signature, it's contradictory.

  22. #22
    Retired G&G Mod NoteMe's Avatar
    Join Date
    Oct 2002
    Location
    @ Opera Software
    Posts
    10,190

    Re: Game Programming

    Quote Originally Posted by alkatran
    Sorry, I gave the wrong problem with the random function.

    The real problem is that
    rnd(2) returns:
    0: 25% of the time (0 to .5)
    1: 50% of the time (.5 to 1.5)
    2: 25% of them (1.5 to 2)

    Random functions should not have a reduced chance of choosing the numbers at the limits!
    I still wouldn't throw away a 800pages book just because one function isn't working as it should. I have NEVER seen a book where ALL the samples and functions worked as they should.

  23. #23
    Retired G&G Mod NoteMe's Avatar
    Join Date
    Oct 2002
    Location
    @ Opera Software
    Posts
    10,190

    Re: Game Programming

    Quote Originally Posted by aewarnick
    I agree 200% with that quote.

    Anyway, I don't remember seeing C mentioned. Is there a reason why not?

    Probably because big games is more faster to write and easier to update in C++ then in C. And that many of the new game techniques is much easier to pull off in a fully working OO environment then in plain C.


    ØØ

  24. #24
    Kitten CornedBee's Avatar
    Join Date
    Aug 2001
    Location
    In a microchip!
    Posts
    11,594

    Re: Game Programming

    Anyway, I don't remember seeing C mentioned. Is there a reason why not?
    Working with DirectX (or anything COM) in C is a pain.
    All the buzzt
    CornedBee

    "Writing specifications is like writing a novel. Writing code is like writing poetry."
    - Anonymous, published by Raymond Chen

    Don't PM me with your problems, I scan most of the forums daily. If you do PM me, I will not answer your question.

  25. #25
    Fanatic Member Psyrus's Avatar
    Join Date
    Jul 2000
    Location
    NJ
    Posts
    602

    Re: Game Programming

    ...Recently I have gotten the urge to get into game programming. But dont know where to start. Can someone provide me with some guidance, where can I start(what is the easiest to learn and would be benefitial to more advanced game programming?), what language to I go for, what are my options?...

    If you are going to use C++ I'd recommend looking into using either SDL (2D), SDL/OpenGL (3D) or ClanLib.

    http://www.libsdl.org/
    http://www.opengl.org/
    http://www.clanlib.org/
    Chris

    VB 6.0 Calendar App Video Gamers Group
    Don't forget to rate people if they helped you.

  26. #26
    Frenzied Member aewarnick's Avatar
    Join Date
    Dec 2002
    Posts
    1,037

    Re: Game Programming

    Question answered, thanks.

  27. #27
    PowerPoster Halsafar's Avatar
    Join Date
    Jun 2004
    Location
    Saskatoon, SK
    Posts
    2,339

    Re: Game Programming

    I kinda just skimmed the threads and came up with a few things to say.

    If you are a good programmer then use C++ for your game programming adventure, might as well start in the right place instead of starting in the easy place and having to learn an extra step. All real games are in C++.

    I agree with CB, I won't touch a VB book either, VB to me a lost and quite useless language.... Although I did use VB the other day to write a MASS E-mailer to send 1000 messages for me to an ex-gf to call her some dirty words many times over....

    All the books spoken of in this thread are great books except for Andre Lamothe's second book, I wasn't to happy with that. I'm not the greatest game programmer yet and the step from making games using DX to making your own 3D Software Rasterizer was a step I didn't feel like taking... So someday I'll ejoy that book maybe.

    As always tho, if you have any questions, this is the place to ask..
    "From what was there, and was meant to be, but not of that was faded away." - - Steve Damm

    "The polar opposite of nothingness is existance. When existance calls apon nothingness it shall return to nothingness." - - Steve Damm

    "When you do things right, people won't be sure if you did anything at all." - - God from Futurama

  28. #28
    Fanatic Member alkatran's Avatar
    Join Date
    Apr 2002
    Location
    Canada
    Posts
    860

    Re: Game Programming

    Quote Originally Posted by NoteMe
    I still wouldn't throw away a 800pages book just because one function isn't working as it should. I have NEVER seen a book where ALL the samples and functions worked as they should.
    I was just pointing out the fact that apparently this guy didn't test his games enough.

    But I agree, it has useful info in it. I just fear for people who copy-paste that random function...
    Don't pay attention to this signature, it's contradictory.

  29. #29
    Retired G&G Mod NoteMe's Avatar
    Join Date
    Oct 2002
    Location
    @ Opera Software
    Posts
    10,190

    Re: Game Programming

    Quote Originally Posted by alkatran
    I was just pointing out the fact that apparently this guy didn't test his games enough.

    But I agree, it has useful info in it. I just fear for people who copy-paste that random function...

    Anyone that just copies code from a book won't learn much after all... It is just sample code after all...



    BTW, we have totaly forgotten a language in here. C# is starting to make it's way into game programming. There is still no AAA game that has used it. But the first Indie games are all ready out. But I fear it will take some time before we will see an AAA game using it. Because most of the big companies all ready have a LARGE code base, that they are resuing for games. So switching to C# and MDX won't be that easy for them. But it will be fun to see though.


    ØØ

  30. #30
    Frenzied Member aewarnick's Avatar
    Join Date
    Dec 2002
    Posts
    1,037

    Re: Game Programming

    Just remember though, C# is another Microsoft language and has a HUGE runtime: 23 megabyte download last time I checked.

  31. #31
    PowerPoster Halsafar's Avatar
    Join Date
    Jun 2004
    Location
    Saskatoon, SK
    Posts
    2,339

    Re: Game Programming

    I hope no company ever releases a AAA game in the new MS languages like VB/VB.NET and C#.

    Cobalt and C++ is all you need that may be an over statment
    "From what was there, and was meant to be, but not of that was faded away." - - Steve Damm

    "The polar opposite of nothingness is existance. When existance calls apon nothingness it shall return to nothingness." - - Steve Damm

    "When you do things right, people won't be sure if you did anything at all." - - God from Futurama

  32. #32
    Elite Hacker Jacob Roman's Avatar
    Join Date
    Aug 2004
    Location
    Miami Beach, FL
    Posts
    5,349

    Re: Game Programming

    Amen to that. MS needs to stay away from .NET, period.

  33. #33
    Frenzied Member vbNeo's Avatar
    Join Date
    May 2002
    Location
    Jutland, Denmark
    Posts
    1,994

    Re: Game Programming

    If anyone wants to take the easy way out, where they don't have to worry about writing/configuring the graphics/sound engine, you might want to consider BlitzBasic(especially BlitzMax), or Java using Java2D/3D all of this being Object Oriented and straight forward.
    "Lies, sanctions, and cruise missiles have never created a free and just society. Only everyday people can do that."
    - Zack de la Rocha


    Hear me roar.

  34. #34
    Retired G&G Mod NoteMe's Avatar
    Join Date
    Oct 2002
    Location
    @ Opera Software
    Posts
    10,190

    Re: Game Programming

    Or what about DarkBasic......"Visual Basic" merged with "DirectX". One line to get a cube on the screen.



    ØØ

  35. #35
    Member RapchikProgrammer's Avatar
    Join Date
    Jul 2005
    Location
    Hyderabad, Pakistan
    Posts
    61

    Re: Game Programming

    Quote Originally Posted by Halsafar
    I hope no company ever releases a AAA game in the new MS languages like VB/VB.NET and C#.

    Cobalt and C++ is all you need that may be an over statment
    Huh! Why not .net! At first i only used vb6 but as microsoft is removing support for vb6 i went for vb.net and believe me it got loads of functions similar to vb6 and speed similar to c++! See vb.net and c# use the same libraries so they both got same speed! I have seen some vb.net 3d programs that got very complex terrain generators or high poly models and even then they got very very high fps! ~80! I even got an hundred once! See .net is gud! People are just scared of the change! But when we are forced to change and we start loving it!
    Last edited by RapchikProgrammer; Aug 4th, 2005 at 07:47 AM.

  36. #36
    Frenzied Member aewarnick's Avatar
    Join Date
    Dec 2002
    Posts
    1,037

    Re: [Theory] Game Programming

    .net is probably just M$ new way to get their grubby money filled hands on more things so they can RULE them. Everyone should start shifting to use C++ instead!

  37. #37
    Fanatic Member neicedover1982's Avatar
    Join Date
    Jun 2005
    Posts
    566

    Re: [Theory] Game Programming

    I would like to get someones opinion here, about VB6 and VB.NET. And I dont want the "its just better" answer. I have been programing with VB6 for 2 1/2 years. Working on small projects for myself, small games, etc.

    I am hearing all this talk about how VB.NET is so much better than VB6. I would really like an good answer as to which is really better. I understand that they each have thier ups/downs. I have glanced at code for VB.NET programs and it looks nothing like VB6, more like my JAVA or C++ work I did in school.

    None of my games are massive one, or graphics heavy, so I dont use DirectX. So I dont see moving to VB.NET but if I had to in the future, I would really like to know what I am getting into.
    Kevin | New England Iced Over | http://www.kevincawleyjr.com

  38. #38
    KING BODWAD XXI BodwadUK's Avatar
    Join Date
    Aug 2002
    Location
    Nottingham
    Posts
    2,176

    Re: [Theory] Game Programming

    I dont use vb.net yet but I have looked into it.

    Files look to be a nightmare. They are closer to the C++ way of doing things and it looks to me like a bunch of C++ programmers got their hands on doing vb.net than some vb programmers.

    However....

    In 2005 version there are added functions and a code snippets option that adds in code to commonly used functions. E.g Delete folder, copy folder and many many more.

    Controls seem to be more widely available and 'controllable'. Controls that were missing in vb6 and had to be coded are now available off the toolbar and are ready to go.

    2005 will remove the annoying 'Extra' code added by earlier versions of .net. You will still have control but it will seperated into what I beleive they call a 'partial class' which divides your code from theirs while allowing you access to the most basic elements of the program via the partial class.

    2005 will highlight undeclared and unused variables

    Needless to say I am waiting for 2005 to be released and then I really do think I will do some proper coding in it. As with all things it takes time for the best features to come out and the new interface looks very impressive from a practical point of view.

    Just my 2 pence. Vb.net still scares me but I feel happier that new functionality will make a move over easier and quicker
    If you dribble then you are as mad as me

    Lost World Creations Website (XBOX Indie games)
    Lene Marlin

  39. #39
    Retired G&G Mod NoteMe's Avatar
    Join Date
    Oct 2002
    Location
    @ Opera Software
    Posts
    10,190

    Re: [Theory] Game Programming

    Quote Originally Posted by aewarnick
    .net is probably just M$ new way to get their grubby money filled hands on more things so they can RULE them. Everyone should start shifting to use C++ instead!

    C# is not an MS standard. It is an open standard, and anyone that want to make a compiler for it can do it, and read everytihing they want about it on the net.

  40. #40
    Retired G&G Mod NoteMe's Avatar
    Join Date
    Oct 2002
    Location
    @ Opera Software
    Posts
    10,190

    Re: [Theory] Game Programming

    Quote Originally Posted by BodwadUK
    In 2005 version there are added functions and a code snippets option that adds in code to commonly used functions. E.g Delete folder, copy folder and many many more.

    Controls seem to be more widely available and 'controllable'. Controls that were missing in vb6 and had to be coded are now available off the toolbar and are ready to go.

    2005 will remove the annoying 'Extra' code added by earlier versions of .net. You will still have control but it will seperated into what I beleive they call a 'partial class' which divides your code from theirs while allowing you access to the most basic elements of the program via the partial class.

    2005 will highlight undeclared and unused variables

    Needless to say I am waiting for 2005 to be released and then I really do think I will do some proper coding in it. As with all things it takes time for the best features to come out and the new interface looks very impressive from a practical point of view.

    Just my 2 pence. Vb.net still scares me but I feel happier that new functionality will make a move over easier and quicker
    VS .NET 2005 is just an idea..not a langauge. I do C#, but I don't use VS....I am even writing all my code in Linux.. I can do that with VB.Net code to if I want..but I have no need for VB.NET, so I won't..


    - ØØ -

Page 1 of 2 12 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width