Thread: Recommended Method of Creating Games

  1. #1
    Registered User
    Join Date
    Feb 2005
    Posts
    9

    Recommended Method of Creating Games

    I hope a broad question such as this hasn't been asked already but I couldn't find anything through searching.

    I'm interested in making games for Windows as a hobby using C++. I've made games in the late 90s using the win32 API as a hobby and it worked fine. I've spent my time since writing business applications on UNIX and Windows; absent of video games, naturally. Now, in 2005, what method would be recommended: win32, MFC, .NET/C#, GTK?

    The reason I ask is because while I can pick up the win32 API set quickly again, I'd rather spend my time learning something that will carry me into the next years.

    From what I can gather--and news straight from MS is always a bit shaky--future editions of Windows will be using .NET along with Avalon, making the win32 API depreciated.

    Where would my time be better spent?

  2. #2
    Registered User
    Join Date
    Sep 2001
    Posts
    4,912
    Graphics libraries like OpenGL, SDL and Allegro seem to be use a lot more commonly than libraries targeted at standard apps.

  3. #3
    Registered User
    Join Date
    Feb 2005
    Posts
    9
    Absolutely. I plan on using OpenGL for any 2D/3D graphics that will be needed beyond the basic resource bitmap drawn.

  4. #4
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    Direct3D is an option.

  5. #5
    Banned nickname_changed's Avatar
    Join Date
    Feb 2003
    Location
    Australia
    Posts
    986
    Managed Direct3D via C#. Theres a section for making games in Direct3D with C#/.NET at http://msdn.microsoft.com/coding4fun...t/default.aspx

  6. #6
    Absent Minded Programmer
    Join Date
    May 2005
    Posts
    968
    I've found so far that the OpenGL and D3D graphics libraries are what you want to know, as far as what to use, If you want something better than a downloadable compiler go with visual C++, if you want something top of the line buy (or download the trial) of Borland C++ builder 6.0, I believe that is the program most professional companies use

  7. #7
    Registered User
    Join Date
    Feb 2005
    Posts
    9
    Thanks for all the suggestions everyone.

    I've already started learning C# and WinForms and will be using managed DirectX (MDX) for graphics--started with GDI+ first to get the hang of WinForms first.

    I'm sure I'll be posting in the C# forum soon enough.

  8. #8
    x4000 Ruski's Avatar
    Join Date
    Jun 2002
    Location
    Outer Space!
    Posts
    542
    Borland?? C++?? Builder?? I tried that stuff and I'd say that first of all it doesn't support all the standard headers that visual C++ does.. And it's interface is really ugly.. And Dev-C++ (latest release) is much better that borland.. ok it doesn't have a gui for designing windows, menus etc (but vc does) and the catch is that's it's completely free and you're guaranteed that if you use standard headers (no windows headers).. it'll compile in unix too (gcc) .. and i heard that unix (linux) can run opengl and sdl applications right?
    what does signature stand for?

  9. #9
    Deprecated Dae's Avatar
    Join Date
    Oct 2004
    Location
    Canada
    Posts
    1,034
    You can still use Avalon with C++ cant you? Wouldnt win64 API come out before win32 API is depreciated? Even though its suppose to be backwards compatible.

    Damn, "C# and WinForms and will be using managed DirectX", yeah thats what you call Windows intensive indeed.

    I'm personally choosing C++ with win32 API (till win64 API) using OpenGL graphic support.
    Warning: Have doubt in anything I post.

    GCC 4.5, Boost 1.40, Code::Blocks 8.02, Ubuntu 9.10 010001000110000101100101

  10. #10
    Banned nickname_changed's Avatar
    Join Date
    Feb 2003
    Location
    Australia
    Posts
    986
    Quote Originally Posted by OP
    C# and WinForms and will be using managed DirectX
    Woohoo I win!

    Quote Originally Posted by Dae
    I'm personally choosing C++ with win32 API (till win64 API) using OpenGL graphic support.
    Not that I've done much of it, but to need the extra performance gained from going so low level I'm pretty sure you would need to write a very very graphics intensive/very big application, ie Doom 3. For anything with a small team (ie just the OP), especially as a learning process, I can't see him really NEEDING those benefits, and considering he's experienced with C# it's would seem the better alternative. Each to his own though.

  11. #11
    ATH0 quzah's Avatar
    Join Date
    Oct 2001
    Posts
    14,826
    No one needs to see that shit! Put a shirt on!


    Quzah.
    Hope is the first step on the road to disappointment.

  12. #12
    Registered User
    Join Date
    Feb 2005
    Posts
    9
    Quote Originally Posted by Ruski
    and i heard that unix (linux) can run opengl and sdl applications right?
    For Linux, you can create applications using SDL or OpenGL to drive graphics, yes. You can also use Qt, GTK+, and wxWidgets as the API along with much lighter graphics use. Also applications written in GTK+ and Qt (with a nice fee of course) can be easily ported to Windows using their Windows counterparts.

    There are probably at least a dozen other APIs that I've left out.

    So if you're trying not to be a "Windows intensive" programmer, you can choose any of the APIs above before going "C++ with win32" (why not go with MFC if you're going to do C++?).

    win64, for most of the hobby projects we'll be creating on this board, from what I've seen, is beyond overkill. The only benefit I can see is early adoption, but this early in the game you know Microsoft will be changing the API again and again in the next few years.

    Besides, I keep hearing that .NET is the future of Microsoft.

    I'm choosing C# with MDX for the simple challenge that it'll provide. That, and after MDX I'm sure any heavy OpenGL will be a breeze to learn. C# will also come in handy in the future with any company I'll be employed at.

  13. #13
    Disrupting the universe Mad_guy's Avatar
    Join Date
    Jun 2005
    Posts
    258
    Well, currently Managed DirectX + C# isn't really, uh, `approved' among game creators, you could say, it's growing on them, though, but C++ is still standard. However, C# DX is still really, really good combo though.

    The MFC is about twelve times more robust and confusing than most game programmers will need to deal with. So you don't really need to worry about that.


    I have to say Managed DirectX and C# is the way to go if you wanna make games as a hobbiest, it's a language that makes things get done quick (a Windows Forms app in C# is about 35 lines with a C Win32 app is about 80, which isn't horrible, it's just longer while the C# version will be slower,) and really easy to use and learn if you ask me. It's not as fast as C++, naturally being a part of .NET, but it's good enough. I have seen a lot of cool games with C#.

    I wish I could help you more, but unfortunately I am working off a immensely unstable kernel with an Operating System Microsoft completely deny's creating (WinME,) so while I can do C# with the .NET 1.0 framework, I can't do standard .NET 1.1 coding with DirectX in C#, which ........es me off, and that thus means I can't support all the cool tools that .NET 1.1 guys can. So I'm forced to use C++ DirectX (which isn't bad, I just really wanted to use C# and DirectX :[.)

    I suggest you go grab a copy of Visual C# Express Edition (free,) and read the following book I got on my server for Windows C# programming:


    http://austin.youareinferior.net/boo...sharp(pdf).rar

    Once you read that you should have a good grip on Windows Forms programming, so then read this:

    http://users.pandora.be/riemer/
    Awesome DX9 C# tutorial, it'll really jump start your learning.



    Good luck.

  14. #14
    Deprecated Dae's Avatar
    Join Date
    Oct 2004
    Location
    Canada
    Posts
    1,034
    Quote Originally Posted by stovellp
    Woohoo I win!


    Not that I've done much of it, but to need the extra performance gained from going so low level I'm pretty sure you would need to write a very very graphics intensive/very big application, ie Doom 3. For anything with a small team (ie just the OP), especially as a learning process, I can't see him really NEEDING those benefits, and considering he's experienced with C# it's would seem the better alternative. Each to his own though.
    He said he was experienced in win32 he just posted not long ago that he took up C#, thats no biggy.

    But yeah.. since hes going WINDOWS programming as a HOBBY, then he's picked a great combo.
    Warning: Have doubt in anything I post.

    GCC 4.5, Boost 1.40, Code::Blocks 8.02, Ubuntu 9.10 010001000110000101100101

  15. #15
    Registered User
    Join Date
    Feb 2005
    Posts
    9
    Thanks Mad_guy for the words, and the Charles Petzold PDF (I have a few of his older books, great stuff). I'll be studying that book for the next few weeks.

    While managed-anything with .NET is slower, I've heard at times up to 15% I think it was, it does provide quite a lot of nice features for your program. Besides, at this stage I won't be making any kind of games that that kind of drawback will make any difference anyway. (And then there's the whole Murphy's law about computer speed that will make this worry a thing of the past in the next 3 minutes while CPU speeds quadruple.)

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Overriding a method in C
    By DavidDobson in forum C Programming
    Replies: 1
    Last Post: 07-05-2008, 07:51 AM
  2. Violent video games?
    By VirtualAce in forum A Brief History of Cprogramming.com
    Replies: 58
    Last Post: 04-26-2006, 01:43 PM
  3. Hooked on old games...... still
    By Stoned_Coder in forum A Brief History of Cprogramming.com
    Replies: 18
    Last Post: 05-30-2005, 02:46 PM
  4. Creating utilities for games.
    By RealityFusion in forum Game Programming
    Replies: 6
    Last Post: 04-12-2004, 07:31 AM
  5. Replies: 3
    Last Post: 12-03-2001, 01:45 PM