Slashdot Mirror


Is There Life Beyond DirectX?

Zangief asks: "Almost any gamer has, at some point, the idea of making their own game. I am no exception, so I've been playing around with SDL, which appears to be the logical decision over the craziness of DirectX. However I have also noticed that other alternatives, such as ClanLib. There is something else? Are there any other libraries, dev-kits, or tools that would be good for indie developers?"

79 comments

  1. CrystalSpace by Aztek · · Score: 5, Informative

    check out http://crystal.sf.net its good library to start you on the road of game programming in 3D

    --
    AZTEK
  2. Allegro by MBCook · · Score: 4, Informative
    I used to program for Allegro, which was nice. I haven't touched it in quite a while (got busy with other stuff), but it does support quite a bit.

    Allegro Homepage

    --
    Comment forecast: Bits of genius surrounded by a sea of mediocrity.
    1. Re:Allegro by i0wnzj005uck4 · · Score: 4, Informative

      Actually, it's been moved here. Also, Allegro's recently gotten a Mac OS X port. If you're only really interested in 2D game creation, Allegro is King in my book. However, its 3D routines are all software-based, and getting OpenGL working with it is a bit of a pain (google for Allegro GL). This will change, I think, as there's been a lot of talk about massive changes in the lib for version 5.

      There's also OpenPTC (don't feel like looking for the link right now), which IIRC is massively cross-platform.

      --
      - Cloud
    2. Re:Allegro by Anonymous Coward · · Score: 0

      RUN AWAY FROM ALLEGRO.

      In all seriousness. Allegro's concepts of blitting and many other things show how much it's still tied to it's original DOS heritage.

      It may be neat if you're porting an old DOS program. But it absolutely sucks to use if you want to do modern things like plug in a portable mpeg video player library for example...

    3. Re:Allegro by Tom7 · · Score: 1

      Wow, Allegro lives? I used to use that back in the mid-nineties for DOS games.

      If it now finally works under windows and other platforms, I'd definitely recommend it.

      SDL is great, too. It really is very easy to use (for 2D, at least) and quite portable.

    4. Re:Allegro by cjellibebi · · Score: 3, Informative

      Actually, Allegro's official homepage is http://alleg.sourceforge.net/ Allegro started off on DOS, but there are now fully fledged ports to Unix (Linux, FreeBSD, Irix, Solaris, Darwin), Windows, QNX, BeOS and MacOS X. One of the differences between Allegro and SDL is that Allegro is a higher level library than SDL, meaning that it takes less code to accomplish certain tasks at the expense of some (but not much) control. Also, there's more to Allegro than SDL (such as data-file managment and a GUI, although the Allegro GUI looks awful, but you can substitute your own GUI). In fact, there's even been talk of porting Allegro over to SDL so that it runs on top of SDL. Allegro is truly excellent for 2D games. It's built in 3D is somewhat lacking, but there's a tweaked version of OpenGL called AllegroGL available that lets you use some OpenGL functionality within Allegro. An example of a game written with Allegro is this re-make of "Head over Heels". It's an Isometric 3D game featuring shadow casting, real-time lighting and transparency. Sound, graphics and coding are done by professionals in the gaming industry. Allegro is a Sourceforge project and the development is very active. Some of the core developpers have jobs in the industry and work on Allegro in their spare time. In fact, an Allegro community has sprung up and can be found on the following website: http://www.allegro.cc. As well as many lively discussions, there's also a vast collection of projects written using Allegro and other members of the community get to rate the projects.

  3. Allegro by frankjr · · Score: 1, Redundant

    Also don't forget about Allegro (alleg.sf.net), which is pretty easy to use, and can be used on many platforms, even the lowly MSDOS.

  4. The best game dev site by Henry+V+.009 · · Score: 4, Informative

    Here is the mother lode: http://www.flipcode.net/

    Really it depends on what sort of game you plan to be developing. If you are going to try out life as a small independant designer, you might want to try out some Flash stuff. I'm serious. Some people crank out a bunch of shareware Flash games. They're fun and easy to distro.

    If you are looking at bigger projects, or trying to learn the coding side to things, you can pick apart one of the game engines in the above site. If you want to learn the real technique behind graphics, then you need to learn DirectX or OpenGL. That is where the real stuff gets done at the moment.

  5. OpenGL Widgets by Tyreth · · Score: 4, Informative
    I highly recommend you check out the GiGi library if you are using OpenGL. It provides you with a set of widgets to use in your OpenGL project. It works very similar to Qt with a slots and signals system.

    GG

    As the sourceforge site says:

    GiGi is a small, efficient, and feature-rich C++ GUI for SDL and OpenGL. It is uses frame-based rendering and has fully customizable graphics, making it ideal for use in low- or high-frame rate applications and games.
  6. In a word: CG by Anonymous Coward · · Score: 2, Informative

    CG is C for Graphics. You can use it write really awesome graphics directly to DirectX or OpenGL. http://www.nvidia.com/object/cg.html

    Still, if you want a unique game, with a unique feel, you'll probably end up writing some assembly, and mostly C/C++ for OpenGL.

    1. Re:In a word: CG by 0x0d0a · · Score: 1

      I'm dubious. I'm guessing that most current games today are written in C++ for DirectX with no assembly at all.

      I'd probably personally prefer C with OpenGL, but such is life.

    2. Re:In a word: CG by Anonymous Coward · · Score: 0

      Retard.

      CG is just for writing shaders. You can't write an entire game in it. It has no IO at all, no string types, no integers....

    3. Re:In a word: CG by 10Ghz · · Score: 1

      cg is mostly likely biased towards NVIDIA hardware, so I would steer clear from it.

      --
      Lesbian Nazi Hookers Abducted by UFOs and Forced Into Weight Loss Programs - -all next week on Town Talk.
  7. Programming Linux Games by Phleg · · Score: 4, Informative

    Check out Programming Linux Games, by a Loki developer by the name of John Hall.

    It goes over SDL in depth, and shows how to integrate OpenGL into it as well. As well, it touches on some other APIs of note, such as SVGALib, GGI, ClanLib, OpenGL, Plib, Glide, Xlib (for video), GTK+, TK, Fltk, Qt, and SDL_gui (for menu widgets), OSS, ALSA, ESD, and OpenAL (for audio), and cl, Guile, and Scheme (for scripting).

    --
    No comment.
  8. pygame by iradik · · Score: 3, Informative

    you might try getting strated with pygame, a wrapper to sdl for python.

    obviously if you need every single cpu tick to count, you shouldn't use this. but, it can do 30 frames per second if you write good code.

    1. Re:pygame by fredrikj · · Score: 2, Interesting

      And don't forget you can pair Pygame with PyOpenGL. By moving all the pure drawing to hardware, I'm pretty sure you could free enough CPU cycles to get a game like Doom or Quake running on a decent computer.

      Yep, even in Python. It's commonly heard that Python can perform 100x worse than compiled C. But hey, computers are 100x faster today than they were when Doom came out.

      And there's the JIT-like Psyco which generally boosts Python code performance by 4x or so.

    2. Re:pygame by Jellybob · · Score: 3, Informative

      I'll second the vote for pyGame, if only because writing games in Python makes it *fun* again, instead of the millions of lines of filler code doing it in something like C/C++

    3. Re:pygame by !the!bad!fish! · · Score: 1

      PyGame is amazingly easy and powerfull. I met it playing pyDance with a PS2 dance mat hooked up to by 'puter.

      --
      Kids today are tyrants. They contradict their parent, gobble their food, and tyrannize their teachers. - Socrates 400 BC
    4. Re:pygame by GiMP · · Score: 3, Informative

      I'd just like to note that pyGame is just an SDL binding for Python. It absolutely rocks, of course, but it doesn't give you anything more than plain SDL (except python)

    5. Re:pygame by sunbeam60 · · Score: 1

      Hey, if you want a criminally fun language for games, try Blitz Basic ... compiled, not interpreted.

    6. Re:pygame by filenabber · · Score: 1
      Have you released this "graphical mp3 juke-box player (like for drunk people at parties)"? Is it available online to try out? Sounds interesting - I'd like to check it out.

      Brian
      http://www.thebrokenjoystick.com

      --
      Are you a Candy Addict?
  9. just Mod? by Lord+Bitman · · Score: 3, Interesting

    There are engines already built and out there, completely open for your use. Some of the best-selling games over the past couple years have been Mods built onto existing game engines. Why fuck with SDL/DirectX/ANYTHING when you can start off building a game, instead of an engine?

    --
    -- 'The' Lord and Master Bitman On High, Master Of All
  10. Realistically? by Time+Doctor · · Score: 3, Interesting

    SDL seems like the only choice. Unless you specifically want/need DOS support, or a few other platforms other libs will get you, SDL supports a large number and has gone beyond the critical mass of 1) things that use it 2) developers interested in it and 3) employed developers who spend time caring about it (Even if it's in their off time :)

    SDL has also of course been used for a number of commercial games, I've used it myself with regard to two ports - One from windows which already used SDL and was extremely easy to port, and the other from Mac OS (not X) that was difficult to port and we added SDL to that so it can just as easily go to windows, BeOS, etc.

    --
    Check out ioquake3.org for a great, free, First-Person Shooter engine!
    1. Re:Realistically? by SanityInAnarchy · · Score: 1

      And to boot, it seems to support a large portion of the audio/video out options for mplayer, so much so that one could remove those choices from everything except one common sdl config file.

      I don't know if anyone's done such a thing, of course, or how fast/slow sdl is.

      --
      Don't thank God, thank a doctor!
  11. java by BortQ · · Score: 3, Interesting
    Depending on the game you plan on making you should consider java as an option. It's an easy path to cross-platformness, and has some good deployment options (i.e. web start).

    Sun has recently started paying more attention to java as a gaming platform and has been pushing java along with OpenGL as their solution.

    --

    A Multiplayer Strategy Game for Mac OS X, Windows, and Linux
    1. Re:java by pmz · · Score: 1


      It's an easy path to cross-platformness, and has some good deployment options (i.e. web start).

      Does anyone have solid experience with Java 2D, Java 3D, and the Java Sound API? These would probably be the make-it-or-break-it aspects of Java for gamers.

  12. Indie developer game code by _Logic_ · · Score: 2, Informative

    Torque appears to satisfy most of what you are looking for. It's the Tribes 2 engine available to indie developers for $100/programmer.

    I haven't worked with it personally, but I have looked over the feature set and demos and it appears to be a very capable game development platform.

    Just remember, you need a game design, good artwork, and competent coding. There's more to game creation than "wouldn't it be cool if..." (though that's where good games start!)

    Good luck!

    1. Re:Indie developer game code by BrookHarty · · Score: 1

      Torque engine took quite awhile to get it working, the first year was like pulling teeth on hardware support.

      Not sure if the engine and license is worth it, there are more open licenses and engines out there. Garage games does help you sell the game thou, might be a good trade off.

      OF course its only 100K USD for Unreal2003 license.

    2. Re:Indie developer game code by crazyphilman · · Score: 1

      What did you mean by "the first year was like pulling teeth"? Did you mean that when Torque first came out, hardware support was iffy, but now it's settled? Or did you mean it took you a year to work out hardware support issues, in your game code? I'm thinking about adopting Torque for my own indie efforts, so I'd really like to hear what you think about it. It looks like a really nice engine.

      --
      Farewell! It's been a fine buncha years!
    3. Re:Indie developer game code by crazyphilman · · Score: 1

      Thanks for a great heads up! I'm looking at Torque now for my own indie efforts -- it looks really cool, and has great documentation. I like their licensing, too, and the fact they'll help you sell your stuff. Really nice group of people, apparently. Actually, after checking out their site last night, I was so blissed out I couldn't focus on anything for like, an hour. Sigh; wonnerful, wonnerful, wonnerful... ;)

      --
      Farewell! It's been a fine buncha years!
  13. Gotta ask by NanoGator · · Score: 2, Interesting

    What's wrong with DirectX?

    From what I understand, it's a pain in the ass sometimes, but it's got some strengths that are hard to ignore:

    1.) Well supported. Works across 98, 2k, and XP. That's MILLIONs of machines there.

    2.) DirectX not only handles graphics, but sound and input as well. It's just not somethting you get from OpenGL.

    3.) It's always growing. Supposedly they always have new features and stuff going into DirectX. Can't say I know how that compares with other API's, but it seems like Nvidia and ATI are always doing something with MS there.

    For the record, I really am asking "what's wrong with DirectX", as opposed to using that as a clever way of saying they should be using it. I'm not the most informed person on this topic and I welcome some education on the matter.

    --
    "Derp de derp."
    1. Re:Gotta ask by *xpenguin* · · Score: 3, Funny

      OMG IT DOESNT RUN ON LINUX1@#!@#$ HOW DARE YOU RECOMMEND IT, NOOB

      Wine X post in 3.. 2.. 1..

    2. Re:Gotta ask by NanoGator · · Score: 3, Funny

      "OMG IT DOESNT RUN ON LINUX1@#!@#$ HOW DARE YOU RECOMMEND IT, NOOB"/I.

      I know you're joking, but Linux isn't the platform I'd develop an indie game on. It'd be kind of like advertising viagra on Slashdot. You have to think about how big your audience would be here...

      --
      "Derp de derp."
    3. Re:Gotta ask by 0x0d0a · · Score: 2, Insightful

      * It doesn't run on anything but Windows.

      * You may not *like* portions of it. There isn't a very convincing reason to use a single combined API to do both 3d graphics and sound (at least that I can think of). If you use smaller, more modular APIs, you can use precisely what you like the most.

      That being said, it's well supported and tested by Microsoft, and it's free.

    4. Re:Gotta ask by trouser · · Score: 0, Flamebait

      What's wrong with DirectX?

      OK, first up I've gotta say, 'You are an idiot.'

      Second of all, DirectX might as well be called Direct ProprietaryStupidOnlyWorksOnWindowsX and actually that's what I'm going to call it from now on because the whole idea of it makes me sick to the stomach.

      And thirdly, you are still an idiot.

      And you know if you use GLUT with OpenGL I'm pretty darn sure you can get all the mousey, keyboardy, inputy thing-a-ling all happening, which is nice I suppose.

      And sound in games is for sissys.

      And what sort of crap is Direct ProprietaryStupidOnlyWorksOnWindowsX anyway. Is it Free? Does it run on any machine I own? Pointless stupid and crap.

      And you are an idiot.

      --
      Now wash your hands.
    5. Re:Gotta ask by NanoGator · · Score: 1

      "OK, first up I've gotta say, 'You are an idiot."

      I guess you didn't read the part where I said I wanted to be educated on the topic. It's hard to call me an idiot when I'm openly saying "enlighten me".

      "Second of all, DirectX might as well be called Direct ProprietaryStupidOnlyWorksOnWindowsX and actually that's what I'm going to call it from now on because the whole idea of it makes me sick to the stomach."

      BFD. That's Microsoft's perogative. If it bugs you so much, help the OSS team develop a rival to it.

      "And thirdly, you are still an idiot."

      I'd be bothered by that if I felt inferior to you.

      "And you know if you use GLUT with OpenGL I'm pretty darn sure you can get all the mousey, keyboardy, inputy thing-a-ling all happening, which is nice I suppose."

      Yeah, it's kind of important to be able to have control in a game.

      "And sound in games is for sissys."

      Ah, so you really are a linux user! (clarification: I'm talking about the acceptance of lack of sound, not the bad spelling.)

      "And what sort of crap is Direct ProprietaryStupidOnlyWorksOnWindowsX anyway. Is it Free? Does it run on any machine I own? Pointless stupid and crap."

      Yes, it's free. Yes it'll run on any machine you own. Afterall, if you're a gamer, you have Windows installed. Pointless and stupid? DirectX is behind just about every successful PC game out there.

      "And you are an idiot."

      Are you at a loss of words or are you just into recycling? You'd think somebody who is presumably not an idiot would be able to make a better case for that claim.

      --
      "Derp de derp."
    6. Re:Gotta ask by Joe+Tie. · · Score: 2, Interesting

      As someone who used to do a lot of development with DirectX, I can attest that this can be a pretty bad thing. Not so much that it doesn't work on Linux, but that it only runs on Windows. This isn't a big deal if you don't think you're ever going to use anything else. But if something better suited to ones needs does pop up one day, there's going to be a lot of porting from DirectX to do. I switched to Linux a couple years back, and I've still got code I need to port. But using SDL and OpenGL now, if I should ever want to change to another operating system, it'll be trivial to take my code with me.

      --
      Everything will be taken away from you.
    7. Re:Gotta ask by Anonymous Coward · · Score: 0

      Ah, so you really are a linux user!

      Wow, lumping people into behavioral groups based on what piece of code is sitting on their hard drives. You're going by the equivalent of classifying peoples worth by the color of their socks.

    8. Re:Gotta ask by NanoGator · · Score: 1

      "Wow, lumping people into behavioral groups based on what piece of code is sitting on their hard drives. You're going by the equivalent of classifying peoples worth by the color of their socks."

      I didn't lump anybody together. I said he uses Linux. Read the clarification bit I wrote right after I said that.

      Nice try.

      --
      "Derp de derp."
    9. Re:Gotta ask by the_greywolf · · Score: 1
      Yes, it's free. Yes it'll run on any machine you own. Afterall, if you're a gamer, you have Windows installed. Pointless and stupid? DirectX is behind just about every successful PC game out there.

      ehm... NeverWinter Nights.

      --
      grey wolf
      LET FORTRAN DIE!
    10. Re:Gotta ask by NanoGator · · Score: 1

      ehm, what?

      --
      "Derp de derp."
    11. Re:Gotta ask by the_greywolf · · Score: 2, Interesting

      i haven't looked too much into DX9, but historically (right up through DX8), the interfaces DirectX provides are convoluted and difficult to use. in fact, initialization for DirectX (in DX8) took over 800 lines of C++, IIRC.

      by contrast, OpenGL only requires about 100 lines of C.

      and that's just for initialization. DirectX has other issues, such as its coordinate system (opposite that of OpenGL) and its matrix system (transposed from that of OpenGL), which make it very difficult to write code that uses both APIs. and added to that, DirectX is a class system inherited from the MFC. i don't know about you, but IMHO, MFC is a pretty badly-botched job.

      honestly, i don't see why anyone writes even one line of DirectX code. it's too messy.

      --
      grey wolf
      LET FORTRAN DIE!
    12. Re:Gotta ask by trouser · · Score: 2, Interesting

      I didn't ask if DirectX was free, which it may or may not be. I asked if it was Free, which it isn't. It is closed, proprietary, you may not see the code, you may not change the code, you may not port the code. It only runs on Windows which, as I noted, is an OS I don't (won't) run.

      I'll grant you my post was a teensy bit inflammatory. The point I was trying to make is that the use of DirectX ties you inexorably to Windows. By contrast a project developed with SDL can be ported relatively painlessly.

      And you are an idiot.

      --
      Now wash your hands.
    13. Re:Gotta ask by Anonymous Coward · · Score: 0

      so free and Free have different definitions now do they?

      It seems to me that most the time, the defintion of "Free" is "The same as free, except with incorrect use of a capital F if not appearing at the start of a sentence"

    14. Re:Gotta ask by 91degrees · · Score: 1

      OK, first up I've gotta say, 'You are an idiot.'

      I've got to say, you're an idiot.

      Second of all, DirectX might as well be called Direct ProprietaryStupidOnlyWorksOnWindowsX and actually that's what I'm going to call it from now on because the whole idea of it makes me sick to the stomach.

      That makes you sound stupid.

      And thirdly, you are still an idiot.

      People in glass houses shouldn't throw stones.

      And you know if you use GLUT with OpenGL I'm pretty darn sure you can get all the mousey, keyboardy, inputy thing-a-ling all happening, which is nice I suppose

      Yes, but glut isn't exactly fantastic for a game. It's not hugely responsive or flexible when it comes to keyboard input.

      And sound in games is for sissys.

      And trolling in the Ask Slashdot section is also for sissies.

      And what sort of crap is Direct ProprietaryStupidOnlyWorksOnWindowsX anyway.

      It's a fairly flexible API, supported by a lot of hardware.

      Is it Free?

      Who cares? It doesn't cost anything.

      Does it run on any machine I own?

      Dunno. It runs on any machine I own, as well as the machines that about 95% of users own.

      Pointless stupid and crap.

      It has a point - Games development under windows. What makes it stupid and crap?

    15. Re:Gotta ask by burnetd · · Score: 1
      Yes, it's free. Yes it'll run on any machine you own. Afterall, if you're a gamer, you have Windows installed.

      Excuse me, I'm not the AC above, but I'm a gamer. I own a Mac, a Playstation 2 and a GameCube. Which of these will run DirectX ?
    16. Re:Gotta ask by zero_offset · · Score: 2, Interesting
      I get so tired of the "lines of code to initialize" argument. I have an init routine in a DX9 D3D C# program that only requires about 20 lines of code. Big deal. It proves nothing.

      Handedness of the coordinate system is also relatively arbitrary. The DX LHS is a good match for computer-generated data, particularly for mapping 2D coordinates into a 3D space. One is not "more correct" than the other, and conversion is trivial.

      MFC sucks, but as of DX9 the relationship is trivial at best if you're programming in C++ and if you're fortunate enough to be able to target the .NET managed infrastructure, the MFC relationship doesn't exist at all.

      A better argument would be the recent MS announcement that they haven't slated any new releases for the foreseeable future. DX9 is the end of the line for the time being.

      --

      Slashdot quality declines as the number of hot grits posts decreases. - Provolt's Law, Apr-09-2005

    17. Re:Gotta ask by lewp · · Score: 1

      Viagra... big... uh huh huh.

      --
      Game... blouses.
    18. Re:Gotta ask by bluGill · · Score: 3, Interesting

      Depends. Linux might be a better market to develop games on. It has a bunch of users are might be interested in a game. The origional Galatic Civilizations was a good game, but wouldn't have gone near as far if they targeted Windows instead of OS/2. By targeting a small system you can get a large percentage of users, while targeting windows means you only get a small percentage of a large number. Depending on how things work our exactly the latter can be much less than the former.

      Remember there are few linux games. Those who run linux may be willing to buy a few games, and they only have a few games total to buy, so they can buy most of them. With Windows you have many different games to choose from, so those willing to buy games only buy a small number.

      If you are making the next doom or MYST (by which I mean a game that explodes and everyone gets it, not any partular catagory of game) then target windows because you will get more sales. If you are making a standard game you have to set realistic expentations. Why would a windows person buy your ok game vs some other ok game? With linux it is why would someone buy your ok game vs not buying a game at all.

      This is a marketing decision. If your expectations are reasonable you can make better decisions than if they are wrong. Of course it goes both way. If you make a game that could explode except it is limited it to linux you just lost a lot of potential sales.

      Cross platform development makes a lot of sense. You target one platform, and once the game is out you do market research. Find that something else would make enough sales, and you port to that. In theory it is easy, in practice a little more difficult.

    19. Re:Gotta ask by Tyreth · · Score: 0, Redundant

      However, people don't use Linux for games because Linux doesn't have games.

      Therefore, by that reasoning, putting viagra in the hands of slashdotters would result in them living 'active' lives.

    20. Re:Gotta ask by sharkey · · Score: 1
      You have to think about how big your audience would be here...

      Is that how big each person in the Slashdot crowd is, or how many would find Viagra useful?

      --

      --
      "Outlook not so good." That magic 8-ball knows everything! I'll ask about Exchange Server next.
    21. Re:Gotta ask by ChaosDiscord · · Score: 4, Insightful
      What's wrong with DirectX?
      1.) Well supported. Works across 98, 2k, and XP. That's MILLIONs of machines there.

      Not well supported. Doesn't work on MacOS, PS2, or GameCube. That's millions more machines. Because it's proprietary, it's unlikely to ever be supported on those playforms.

      2.) DirectX not only handles graphics, but sound and input as well. It's just not somethting you get from OpenGL.

      Apples to oranges. That's like saying, "OpenOffice not only handles word processing, but spreadsheets and presentation graphics as well. It's just not something you get from Microsoft Word."

      DirectX is just a big label covering a number of different technologies (DirectSound, DirectDraw, Direct3D, DirectInput, DirectPlay, and other). The ties between them are minimal. OpenGL's match is Direct3D. If you want a similar package that provides a wide variety of support, look to toolkits like the SDL.

      3.) It's always growing. Supposedly they always have new features and stuff going into DirectX. Can't say I know how that compares with other API's, but it seems like Nvidia and ATI are always doing something with MS there.

      DirectX on the whole has largely stabilized. This is actually good, it means that developers can spend less time worrying about the API of the week a focus on writing games. The only part that is in heavy flux is Direct3D. Direct3D's more open counterpart, OpenGL, is also in heavy flux and manages to keep apace of Direct3D's new functionality.

      Ultimately, the big problem is that DirectX is proprietary. If you want move to another system (like the growing Mac market) your use of DirectX becomes a burden to rewrite.

    22. Re:Gotta ask by NanoGator · · Score: 1

      "Excuse me, I'm not the AC above, but I'm a gamer. I own a Mac, a Playstation 2 and a GameCube. Which of these will run DirectX ?"

      We were talking about PC gaming. And I know for a fact you don't have many games for your Mac.

      --
      "Derp de derp."
    23. Re:Gotta ask by NanoGator · · Score: 1

      " The point I was trying to make is that the use of DirectX ties you inexorably to Windows. By contrast a project developed with SDL can be ported relatively painlessly."

      Who cares? You can sell half a milllion copies of a game on Windows PC's, and maybe 10,000 copies on Linux PC's. Even if it's easy to port, is it worth it? From the numbers above, the answer is no. Quake 3 sold millions of copies on Windows, and something like 40,000 on Linux. Ouch.

      "And you are an idiot."

      And what's your basis for this now? Am I an idiot for seeking education? Or am I an idiot because my panties don't get in a bunch over the term proprietary? I got news for ya buddy, if I want to make games for a living, I'm going to want to sell as many as possible. If the Linux gaming market is laughably small, then there's no value in having cross-platform development tools. None. Zero. Zilch. Zip. (Though I do whole-heartedly agree with you that having the source code to an SDK is a strong reason not to use DirectX.) It doesn't make sense to go cross platform unless the increase in games sold is able to eat up the costs of porting and make a profit to boot. I don't give a flying fuck about it being proprietary if it can get the job done, nor would any other game developer out there.

      --
      "Derp de derp."
    24. Re:Gotta ask by NanoGator · · Score: 1

      "Not well supported. Doesn't work on MacOS, PS2, or GameCube."

      What API does work with PS2 and GameCube?

      --
      "Derp de derp."
    25. Re:Gotta ask by msoftsucks · · Score: 1

      FYI, MFC is so fscked, that even Microsoft is abandoning it. M$ has been preaching .Net to replace it. Yes maybe 1%-2% of the future Windows apps may need to use it, but today, .Net is M$s' solution.

      --
      Quit playing Monopoly with Bill.
      Linux - of the people, by the people, and for the people.
  14. What a broad question by Anonymous Coward · · Score: 2, Informative

    Gamedev.net has a TON of resources relating to game development, including a giant reference section which points to a lot of information about anything game-related.

    Related to your question, a good compromise between low-level OpenGL and a full game engine (or even a commercial one here) would be GLUT. Instead of giving a piss-poor explanation of what the GLUT library is all about, I'll just point you to their FAQ. For sound there is OpenAL or the ubiquitous FMOD.

    Depending on what you're looking for, a library probably is out there just waiting for you to find it. Instead of asking very general questions like this, I highly recommend you check out a little search engine called Google to find libraries or engines that suit your specific needs. Cheers!

  15. Nor does it run on... by leonbrooks · · Score: 1
    ...Windows 95, Mac OS X, FreeBSD, NetBSD, OpenBSD, BeOS, OS/2, Solaris, HP-UX, DGUX, AIX, IRIX, Tru64 and a flock of others. Which means that my wind-tunnel DEC Alpha box with the fancy 3D hardware ain't on the list, boo, hiss.

    The big problems will come when your game has to be RMS/DRM-compliant to run at all.

    --
    Got time? Spend some of it coding or testing
    1. Re:Nor does it run on... by Anonymous Coward · · Score: 0

      Who is going to play games on *BSD, OS/2, or any of the Unixes? Most people don't have a clue that there are more OSs out there than OS X and Windows.

  16. One great thing about SDL by Joe+Tie. · · Score: 3, Interesting

    There's an SDL port to KOS, a small operating system which runs on the dreamcast. So most of your experience with SDL will translate into an easy path to developing for an actual console.

    --
    Everything will be taken away from you.
  17. pygame by Ramses0 · · Score: 3, Informative

    I'm sure other people have pointed it out, but pygame is an excellent choice to get started. Python is fun and easy (*criminally* fun and easy), and a lot of the wrapper classes will use similar names as the real-deal c/c++ libraries.

    Seriously. I made a graphical mp3 juke-box player (like for drunk people at parties), and my code to keep music playing looked something like:

    def keep_music_playing():
    if !pygame.sound.is_busy():
    song = get_song()
    pygame.sound.play( song )
    else:
    pass

    def main():
    thread.start( keep_music_playing, 5000 ); ...*so* much is taken care of for you already. Don't trust my code, as I haven't untarred my 10gb home directory backup (and I'm not going to) in order to tell you how easy PyGame makes things. :^)

    --Robert

  18. Compared with SDL+OpenGL... by leonbrooks · · Score: 2, Interesting

    1) poorly supported; SDL+OpenGL does masses of platforms and targets (e.g. X, framebuffer, aalib) within those platforms that DirectX won't;

    2) SDL does more with sound and input than DirectX, and handles stuff like enumerating CD drives, handles events that DirectX knows nothing of, and you can use parts of it (you needn't ship interfaces to all);

    3) DirectX grows unpredictably and in directions ordained by Microsoft; SDL is GPL, make of it what you will.

    --
    Got time? Spend some of it coding or testing
  19. [your.sig] Zeuxis... by Black+Parrot · · Score: 1


    > Criticism comes easier than craftsmanship. -Zeuxis, 400 B.C

    Heh, I wonder who he was criticizing when he said that. I can almost see him turning up his chin as he said it...

    --
    Sheesh, evil *and* a jerk. -- Jade
  20. For something a little higher level by Anonymous Coward · · Score: 0

    You might try something like BlitzBasic or DarkBasic. They both tie in with DirectX, but free you from any low level tinkering. Letting you concentrate on game play. Which I think is really what indie games are about. I've played with DarkBasic a bit, and you can get very sophisticated games built very, very quickly.

    The downside is that they only work on windows. And you might not exactly get the performance you'd get writing it directly in C or anything. But from what I've seen, it can be really fast, and it lets you concentrate on the *game*.

  21. Q by Qube Software by CrosbieFitch · · Score: 4, Interesting

    If you're looking for something better than Direct3D, you should check out the Q engine by Qube Software.

    Q 3D Engine
    (FREE DOWNLOAD for Windows & Linux)

    You may be interested to note that this is produced by some of the same engineers who produced Direct3D. Can't be that bad then eh?

    PS I once worked for Qube, so I'm probably biased. :)

  22. TinyPTC by termos · · Score: 1

    What about tinyptc?

    It offers three basic functions, open() close() and update(), which is all you acually need, and it's very simple.
    Homepage.

    --
    Note to self: get smarter troll to guard door.
    1. Re:TinyPTC by Anonymous Coward · · Score: 0

      It's not 3d you dumbfuck.

    2. Re:TinyPTC by termos · · Score: 1

      Hello, Anonymous coward.

      I'm the dumbfuck here? (which by the way is not one word).

      You have your pixel drawing function, which is the only requirement to do 3d on a 2d-screen.
      All it requires from YOU is some maths.

      --
      Note to self: get smarter troll to guard door.
    3. Re:TinyPTC by Anonymous Coward · · Score: 0

      who fucking cares about 2d.

      directx is a 3d-only library, tinyptc is just 2d.

      i hope your able to see waht's the difference.

      (oh and dumbfuck is one word, dumbfuck)

    4. Re:TinyPTC by Anonymous Coward · · Score: 0

      Direct X is not a 3D library. Direct3D is a 3d only library. Direct3D is a part of part of Direct X. Just as Direct Draw is a part of Direct X. And Direct Draw is....ohhh wonders....a 2d library. Get a life...

    5. Re:TinyPTC by Anonymous Coward · · Score: 0

      Although very nice (and extremely portable too) for 2D demos and testing of misc. graphics stuff, TinyPTC is not really suitable for actual game development. All it provides is a function for opening a window and another for copying a buffer onto screen. I think the question was about a bit more complete library ala DirectX or SDL.

  23. Oh, also by Anonymous Coward · · Score: 0

    I guess another downside is that they both are around $100. And not open source, etc.

    But, hey, if you can quickly make a fun game (that isn't just a mod for some FPS), might be what you want.

  24. Is There Life Beyond DirectX? by fredan · · Score: 1

    Yes, if you don't use it.

  25. obsolete by Anonymous Coward · · Score: 0

    It seem's the windows platform is losing ground rather rapidly, so it might not be worth the trouble to support at soon to be obsolete system.

    quote from Lars Segerlund from the Dillo mailinglist

  26. java3d by Anonymous Coward · · Score: 1, Informative

    I've used Java3D extensively for some CAD prototypes. It is very easy to use once you get a feel for it; the latest version lets you start off with utility methods for creating a simple screengraph (with one method call). From there you just create Shapes, define their geometry, add them to the scenegraph, finally add the scenegraph to a Canvas3D, open a Frame (aka Window) with the Canvas3D in it, and you're done.

    There are some tutorials on using the built-in collision detection routines (these are behaviours, so need some tweaking for use in games, as they may only fire after you've passed through a wall). You can configure the scene for head-mounted displays, etc.

    Mostly it's just easy to use and you'll find a lot of material in discussion forums. It's also easy to install and get started.

    On the negative side, I've heard a rumor that Sun is no longer developing Java3D, meaning that it is as it is from now on. Can anyone confirm this bit of rather shocking news?

    There are two versions of Java3D: a DirectX and an OpenGL version. I use the OpenGL version and it works well; some way the DirectX version is faster but is missing some features.

    www.java3d.org is an enthusiast website with a number of tutorials that would be useful to you.

  27. Nebula Device by Anonymous Coward · · Score: 0

    if you are looking for a 3d game frame work Nebula Device is nice.

  28. WinGL! by Anonymous Coward · · Score: 0

    This is what Japanese often used. Not only apps get DirectX acceleration and runs on Windoze 3.1, it runs in a window too. Get it from here.

  29. this ain't the early 80's by Anonymous Coward · · Score: 0
    how about instead of "making a game" try working on an existing project already making one. Perhaps if you feel you really have that killer idea that must be given the buzz of electrons (a noble calling I say) then look into tools for making games.

    No, I don't mean the cheesy ones that at most will make a blockish mockery of your talent but start with things like WorldForge. Not only will you quickly notice the level of work necessary for a modern game, but will most likely run into very similar ideas such as yours. Take the initiative and build upon those ideas... save yourself the time of reinventing the wheel.

    A good tool will really be nothing more than a well integrated collection of various libraries, engines, and other toolsets and components. A good tool API will be helpfully abstracted enough to allow for the plugin (to add, overwrite or extend) of various modules to give you your creative canvas.

    If you really want to work on the various parts of the game like graphics, sound, art, behavior modelling and simulation (AI), networking, user input, etc. then you can in this hypothetical "good tool" eat that elephant one bite or component at a time.

    However, if you are working on something "simpler" like a wireless device based game then you still should look into toolsets for development. If you do not then plan to spend so much time on that one small project that you will forget your name, spouse, children, and if you ever worked anywhere full time (as in "for money").Lots of people think they can make games... many start, few follow through... look for kindred spirits and flock together. These kindred spirits will be just as worried about their ideas bearing fruit as you but logic will lead you to understand you will get better results through compromise and/or good infrastructure development than just becoming another statistic. Don't ever let anyone tell you you can't do it, but listen to those that have. They will tell you to start small.

  30. Great OpenGL site by CTho9305 · · Score: 2

    NeHe's site has lots of good tutorials.