Best game programming language for a 'beginner'

Discussion in 'Feedback Requests' started by Sindarin, Jul 4, 2009.

  1. gutripper

    gutripper New Member

    Joined:
    Feb 14, 2009
    Messages:
    94
    Likes Received:
    0
    Given the 2D and cross-platform criteria, I'd second having a look at pygame.

    By the time you get to the point of doing console development, I don't think you'll be a begginner anymore :)
     
  2. princec

    Indie Author

    Joined:
    Jul 27, 2004
    Messages:
    4,873
    Likes Received:
    0
    A comment on Java, while we're commenting:

    On the surface it looks like a beginner's language but many years experience with it tells me that in fact it's bloody hard, full of extreme complexity off the beaten path, and prone to some unique peculiarities that take a lot of experimentation to get around. I'd avoid it, these days, for games programming, and persevere with it simply because I've worked around all the gotchas and caveats and have a large invested codebase in it now.

    Cas :)
     
  3. Desktop Gaming

    Moderator Original Member Indie Author

    Joined:
    Feb 24, 2005
    Messages:
    2,295
    Likes Received:
    12
    For the record, Blitzmax is cross platform.

    HOWEVER (and that's a *BIG* however)

    In order to compile Mac games, you need to use a Mac. Same for Windows, and Linux. So compiling for other platforms can get a tad expensive if you don't already have the hardware.
     
  4. Unicorn

    Unicorn New Member

    Joined:
    Jul 4, 2009
    Messages:
    3
    Likes Received:
    0
    I would suggest Delphi, because it combines (some of) the power of c++ with the simplicity of Pascal.
     
  5. Sindarin

    Sindarin New Member

    Joined:
    Sep 22, 2008
    Messages:
    57
    Likes Received:
    0
    No wonder I couldn't find updated stuff for it.
    So MVC++ is like a Dev C++ on steroids? Can it compile to other platforms?
    I also got a warning when installing that MVC++ has known incompatibilities with Windows Vista. (I have Vista with UAC off). Is this normal?

    Well the only problem would be Macs, as they are very expensive especially in my country. (btw I have another one laptop with Windows XP, I think I could dual boot Linux on that).

    If I need another machine to compile on, this would mean I need some kind of MVC++ for Mac, Linux etc. or I just drop the cpp file on the compiler of each platform and it does the work automatically?

    I haven't used Linux much but will an executable run on all distributions or I would need a different compiler for each one?

    Sorry that I have so much questions but I am trying to decide before I start studying and using! XD

    So what would you define as a gamedev's starter kit?

    Mine's so far:

    MVC++ - programming/assembly
    OpenGL SDK - graphics
    Bass library - audio
    Box 2D - physics
     
  6. LateNight

    LateNight New Member

    Joined:
    Jun 28, 2009
    Messages:
    58
    Likes Received:
    0
    C++ is cross platform, but you really need to know what you're doing in order to achieve that. Microsoft C++ will tempt you with a lot of non-standard stuff that other C++ compilers on other platforms won't compile. If cross-platform is a big thing for you now, I wouldn't recommend C++ to you as a self-professed beginner. If it's a big thing eventually, then that's fine. You'll learn to write cross-platform code in C++, but it's not as automatic as it is in BlitzMax.

    Whatever language you choose, you'll have to avoid windows-only technologies like DirectX (easily avoided on Blitzmax which has an OpenGL graphics driver as well) and the Windows API. You'll probably need some of that Windows API stuff, though, but you can just write an abstract library which will use different code depending on the OS.

    BlitzMax is a good choice for cross platform development as many of the third party modules are cross platform, in addition to all the first party ones, and a lot of the OS-specific stuff has already been abstracted for you.
     
  7. Richard Nunes

    Richard Nunes New Member

    Joined:
    Nov 10, 2008
    Messages:
    201
    Likes Received:
    2
    Have you looked at Torque Game Builder? It's a 2D engine.

    It's cross-platform: Windows and Mac. Linux is supported by it's own community. You can also buy a license to develop on XBox (along with the MS license), Wii (if you have a Nintendo license) or iPhone (you need a Mac and I'm sure an Apple license).

    It's easy to code. It uses a proprietary scripting language, a mix between C and Javascript. That said, there are some in the community who have successfully integrated Lua.

    The performance is excellent. My development machine is eight years old and I have no issues running some very complex code.

    The documentation is a little weak. They've done many updates over the last year and quite a few examples are out-dated. The community is a little thin lately. There is a lot of discussion over iPhone but not so much about other versions. That said, there are some Torque users on this forum who have had some good success.

    You won't have to add your own audio support (OpenAL) or physics (already included).
     
  8. dewitters

    Original Member

    Joined:
    Dec 19, 2005
    Messages:
    128
    Likes Received:
    0
    +1 for pygame! I developed Mystic Mine with pygame, and it was a dream. I definitely recommend it!

    1. Cross platform like no other. No extra work and works on Windows, Mac (PPC and Intel) and Linux (32/64 bit)
    2. Who knows?
    3. Python is easy to code
    4. It *is* a scripting language ;)
    5. Depends on how fast you want to go. Underlying it uses SDL, so that should be fast enouph for 2D games. If you need raw speed you can easily fall back on C or Pyrex (that compiles to C).
    6. It keeps your installer package small: The windows installer of my entire game with all dependencies is 14MB, most of that is music/sound.
    7. Both python and pygame have great up-to-date documentation, very clear.
     
  9. wazoo

    Original Member

    Joined:
    Jul 27, 2004
    Messages:
    519
    Likes Received:
    0
    I second what Cas said. :)

    I'm using C++ using SDL on PC and Mac myself.

    If you pick up the Eclipse IDE and the MingW port of SDL, then you can just about keep your project flippable between your PC and MAC machines.

    For my "package selection" of engines, I'm only wanting to use languages that I can bring over to the "business world" for contract work. BlitzMax or GM might be great game tools, but not really "portable" into the business world. :D

    After all is said and done, you're really not going to make a "bad choice". I wasted SO much time trying to make sure I was picking the "perfect" solution, that I ended up making nothing.

    Don't do that.
     
    #29 wazoo, Jul 15, 2009
    Last edited: Jul 15, 2009
  10. Bad Sector

    Original Member

    Joined:
    May 28, 2005
    Messages:
    2,742
    Likes Received:
    5
    I blame anyone who thought anything after Java 1.4 when it comes to the language (the library is another point).
     
  11. Jack Norton

    Indie Author

    Joined:
    Jul 28, 2004
    Messages:
    5,126
    Likes Received:
    0
    Another vote for python here :)
    After trying it, I can't see how I could get back to ANY other language. The dungeon crawler RPG is being made in python, with a C backend for rendering, and all my adventure/visual novels are python based.
    There's no comparison with actionscript or any other "supposedly easy" language.
    http://imgs.xkcd.com/comics/python.png
     
  12. oldschool

    Original Member

    Joined:
    Jan 23, 2006
    Messages:
    167
    Likes Received:
    0
    I came from Game Maker and wish I had left it behind a long time ago. I thought programming in GM was faster than anything else, HA! I remember I tried my dead level best to do recursion in GM, the community was no help and when I was able to, it was slow and confusing to work with.


    I've done PHP, Java(java is not easy) and C++, too. I currently use flex - AS3 in FlashDevelop. Its fast if you use bitmaps or copypixels and you won't be waiting forever for the black triangle milestone.

    The flash/flex community is great about helping and sharing code.
    Gamepoetry.com, cheezeworld.com, keith-hair.net/blog/, and more.


    Compile once run almost anywhere, without a Mac box or Linux install. Leave GM behind and gain a real skill you could use outside game dev.
     
  13. charliedog

    charliedog New Member

    Joined:
    Feb 4, 2007
    Messages:
    74
    Likes Received:
    0
    I love Python. All my personal projects are done in it using the excellent Pycap framework (including my latest Balloon Brothers. There is a version of Pycap for Linux and Mac too and three of my previous games are on that platform. Have a look at my link to see the sort of stuff I'm doing with the engine. All the source for the games is available for Linux as open source because, well just because I'm an incredibly generous sort of guy :)

    My advice would be to focus on getting something cool finished first rather than commercial viability and multiple platforms.

    Regards

    Tony Oakden

    http://www.charliedoggames.com
     
  14. elias4444

    elias4444 New Member

    Joined:
    Oct 12, 2006
    Messages:
    294
    Likes Received:
    0
    Hold on a sec... This thread mentions multiple times how Java isn't easy, but there are recommendations for using SDL with C++? Really? Isn't that even harder than Java? (I actually have no experience with SDL, so I'm honestly asking). I can't see how C++ could be considered easier than Java either.
     
  15. charliedog

    charliedog New Member

    Joined:
    Feb 4, 2007
    Messages:
    74
    Likes Received:
    0
    I agree with elias4444. C++ is really hardcore. A lot of people use it but that doesn't mean people have to. I used to do all my games in Assembly language but I wouldn't recommend you use it either :) C# is easier than C++ but it, and the .net framework, have their own issues such as packaging on the PC.

    I can't remember if anyone mentioned Unity 3D in this thread? If not then that's well worth investigating. It's easy to get something up and running and the engine is available under an Indie Developer license for a very reasonable fee and it's cross platform. Games made using it run in a browser for PC and Mac so distribution is very easy. You can program in Unity script language (which is a bit like Java) or C#. It's got some really nice tools and features built in.
     
  16. Reactor

    Moderator Original Member Indie Author

    Joined:
    Jul 27, 2004
    Messages:
    1,635
    Likes Received:
    0
    It was mentioned, but because of this:

    It and Shiva weren't recommended over something like BlitzMax.
     
  17. princec

    Indie Author

    Joined:
    Jul 27, 2004
    Messages:
    4,873
    Likes Received:
    0
    It isn't, it's an order of magnitude harder - but I have a feeling anyone recommending C++ and SDL hasn't used Java yet :) (They'll never go back)

    Cas :)
     
  18. Meltra Bour

    Meltra Bour New Member

    Joined:
    Feb 21, 2009
    Messages:
    9
    Likes Received:
    0
    +1 c++

    +1 python

    If you wane be cross platform eclipse is a perfect option but not my style. I prefer it's counter part Netbeans. Both ide's are cross platform and support php, java, python, c++, ... I went for netbeans because project groups > WorkSpaces, easier to use and Eclipse tends to be very slow on some of the pc's/laptops I have laying around.

    I started my self a few months back, my euh "Mentor" basically pointed me to c++ and python and told me to void java ... just like most people here.
    To start me off he pointed me to this tutorials for c++ basics, 2D SFML and 3D Unity (Unity does not work on linux, SFML has python binding, Unity uses a language that looks/works alot like python.)

    bit late but mhe ... my 2 cent :D
     
  19. RiVEN

    Original Member

    Joined:
    Jan 10, 2005
    Messages:
    37
    Likes Received:
    0
    You could check out the awesome open source project known as Construct (www.scirra.com). Only thing is it's not cross-platform yet. I'm sure it won't be long before some coders jump on it to make Mac versions etc.

    Also, it's Python compatible, but I think that's broke atm. It's still in Beta phase afterall :( but once it reaches 1.0 it'll be one of the best 2D game dev tools out there. Little to no programming knowledge required BTW. Should suit anyone coming from Game Maker / MMF.

    Play with it for a week and tell me you're not addicted after that time ;)

    I definitely recommend Blitzmax for cross-platform though.
     
  20. Bad Sector

    Original Member

    Joined:
    May 28, 2005
    Messages:
    2,742
    Likes Received:
    5
    I'll recommend C and SDL. Its like C++ and SDL minus the ++ part which these days is overloaded to add -1.
     

Share This Page

  • About Indie Gamer

    When the original Dexterity Forums closed in 2004, Indie Gamer was born and a diverse community has grown out of a passion for creating great games. Here you will find over 10 years of in-depth discussion on game design, the business of game development, and marketing/sales. Indie Gamer also provides a friendly place to meet up with other Developers, Artists, Composers and Writers.
  • Buy us a beer!

    Indie Gamer is delicately held together by a single poor bastard who thankfully gets help from various community volunteers. If you frequent this site or have found value in something you've learned here, help keep the site running by donating a few dollars (for beer of course)!

    Sure, I'll Buy You a Beer