• Valid/Popular Languages for Indie Game Developement
    22 replies, posted
  • Hey, everyone. I am currently looking to start developing a game as an educational project along with my college studies. I'm not looking to create a polished, industry-changing game (yet), but rather something to get my practical experience rolling. As I'm sure most of you will agree, it's a good idea to pursue your own projects in conjunction with college/university courses. I already have some experience in Python and was looking to use that in conjunction with PyGame and some type of executable creator for distribution to Windows-based systems. Can any of you guys give some personal anecdotes on languages/tools that you've used to develop games? I'd like to get a look at the big picture rather than just limiting myself to Python because I have some prior knowledge. Also, how valid is Python considered as a competitive language? Honestly, I've been told that it's kind of a joke to pursue it other than as a hobby.
  • Python/PyGame, Lua/Love2D, C#/XNA/SlimDX/OpenTK, Java/JOGL/LWJGL tend to be the most popular language/library combinations for quick game development. The best thing you can do is work in the environment you're most comfortable with, because you'll be the most productive in it. [editline]a[/editline] also C++/SFML/SDL
  • PyGame is pretty slow compared to almost everything else, but it's still okay to use it. If you don't want to though, C++, C# and Love2D are all very nice languages to make games in (at least from my experience).
  • Panda3D might be a PyGame alternative that fits your needs. You can use it in conjunction with C++ or Python.
  • [QUOTE=robmaister12;35751735]Python/PyGame, Lua/Love2D, C#/XNA/SlimDX/OpenTK, Java/JOGL/LWJGL tend to be the most popular language/library combinations for quick game development. The best thing you can do is work in the environment you're most comfortable with, because you'll be the most productive in it.[/QUOTE] C++/SFML/plain OpenGl or DX. And the frameworks provide more than just an API, so it's quicker to get your game out there! (SFML/OpenTK/XNA/etc) [editline]29th April 2012[/editline] *SFML being the more popular of the C++ choices
  • [QUOTE=Loli;35754294]Cobol and Fortran are pretty good AFAIK[/QUOTE] You may joke, but Fortran is [i]really[/i] good for numerical code.
  • [QUOTE=Jookia;35753060]Any language.[/QUOTE] This. It's a matter of libraries. [editline]29th April 2012[/editline] [QUOTE=swift and shift;35754301]You may joke, but Fortran is [i]really[/i] good for numerical code.[/QUOTE] Well, that's kind of what it's supposed to do. The compilers do numerically-oriented optimizations that ordinary C compilers would refuse to.
  • I actually wasn't aware of the game programming options available for C++, which I have vastly more experience in than Python. Thanks for the insight, guys. Hearts for you all.
  • [QUOTE=thirty9th;35761048]I actually wasn't aware of the game programming options available for C++, which I have vastly more experience in than Python. Thanks for the insight, guys. Hearts for you all.[/QUOTE] I would say that C++ is pretty much the industry standard for writing commercial non 2d games in. Sure, you get a few in other languages, but C++ dominates, mostly due to the speed of the language and the available libraries out there for it. If you want practical, useful experience, go with C++. A lot of people love things like python and ruby, but it's much less widely used compared to C++
  • [QUOTE=Icedshot;35762558]I would say that C++ is pretty much the industry standard for writing commercial non 2d games in. Sure, you get a few in other languages, but C++ dominates, mostly due to the speed of the language and the available libraries out there for it. If you want practical, useful experience, go with C++. A lot of people love things like python and ruby, but it's much less widely used compared to C++[/QUOTE] Industry standards don't mean shit. The industry standard was assembler, then it was C, and now it's C++. Languages don't have speed. C++ actually has some pretty big overhead when its OO abilities are fully utilised.
  • Languages may not have speed, but they certainly have speed limits. The overhead for C++ isn't OO, it's RTTI ( run time type information ). The overhead for C++'isms, like the vTable required to support inheritance is laughably small. If that overhead get's in your way ( like in a really tight loop allocating a ton of objects for example ), you can still use plain ole C objects ( POCO ) and have no overhead at all. I am not C++ advocate, but pretending that speed isn't a limiting factor of some languages is naive at best. Now reality is, in many (most?) cases, the biggest limiting factor for speed is the ability of the coder. However, if you throw an equally talented C++ programmer and a Python programmer at a graphic app, the Python programmer simply cannot come close in speed, even utilizing stackless python. The key question a new developer needs to ask themself is, does the speed matter, is it worth the loss in productivity. If you have an application that is 100% faster at being idle, that really doesn't mean a damned thing does it? Now to the OP, [URL="http://www.gamefromscratch.com/post/2011/08/04/I-want-to-be-a-game-developer.aspx"]read this guide[/URL]. It covers the 3 most popular languages and the tools and libraries most used for each. That said, just because LUA, etc... aren't included in the guide, doesn't mean they aren't equally valid.
  • [QUOTE=wizardsbane;35762791]Industry standards don't mean shit. [/QUOTE] He wants useful, practical experience. Presumably so that he can get a job in the future programming Not learning C++ because "industry standards mean nothing" is a terrible idea if you want a job
  • [QUOTE=Samuka97;35751758]PyGame is pretty slow compared to almost everything else, but it's still okay to use it. If you don't want to though, C++, C# and Love2D are all very nice languages to make games in (at least from my experience).[/QUOTE] Love2D is actually the engine. The language it uses is LUA.
  • I don't think the language really matters. A lot of things in languages extend to others. If you get a handle on concepts like scope, classes, memory management, those things help you in all languages (well classes helps in OOP but a lot of popular languages are OOP anyway) Just stick with something you like.