What would you say was the best programming language for me....??

Discussion in 'Game Development (Technical)' started by predbites, May 23, 2012.

  1. predbites

    predbites New Member

    Joined:
    May 17, 2012
    Messages:
    6
    Likes Received:
    0
    Hi all,

    I have a (very) basic understanding of programming (websites HTML and some Java) (I have made some basic mods for Minecraft) and I have decided to make a real, proper game. I have the complete idea for a game that is the same style of "Cut the Rope" and "Where's My Water" but I am not sure what would be the best programming language to learn in order to make it. What do you guys think?

    I know that making a game is different to making a mod and I know it can be difficult to learn a new programming language from scratch but I believe I can do it.
     
  2. Applewood

    Moderator Original Member Indie Author

    Joined:
    Jul 29, 2004
    Messages:
    3,859
    Likes Received:
    2
    How honest an answer do you want? There'll be lots of people extolling the virtues of this and that, but if you want to write code that can be ported easily to anything and reused in the future, C with classes is it for me. That's basically old-fashioned C calls and classes but without the more esoteric stuff.

    Java is feasible to start with though, if it can run minecraft it'll do for your first ever game. Which I can assure you won't be where's my water OR cut the rope. Try snake first.[/QUOTE]

    Nope, you don't. You can learn, but don't be expecting rapid progress - if you're doing it by yourself, give it five years.
     
  3. Shaz

    Moderator Original Member

    Joined:
    Feb 9, 2006
    Messages:
    405
    Likes Received:
    0
    I jumped into Unity not long ago and am finding it quite nice. You can script in C# or Javascript, and the physics are already there. It's good for 2D games too. Might be worth a look - the basic package is free, and not long ago they offered the iOS and Android plugins for free as well.
     
  4. Nutter2000

    Original Member Indie Author

    Joined:
    Jul 27, 2004
    Messages:
    993
    Likes Received:
    3
    +1 for C/C++ here.
    If you're serious about coding professionally then it is definitely the place to start, everything else is built on it (from a certain point of view ;-) (I can already hear the twitching of quasi-religious language fanatics grabbing their pitchforks and lighting their torches... begone foul fiends!!!)

    However....
    if you're just looking to make a game for fun and maybe profit, then I would also recommend looking at Unity3D as a nice cross-platform engine that supports javascript as well as decent languages like C# ;)
     
  5. Desktop Gaming

    Moderator Original Member Indie Author

    Joined:
    Feb 24, 2005
    Messages:
    2,296
    Likes Received:
    12
    Doesn't matter what language you use, there is no magical quick solution. I'm not going to suggest you use one language over any other because ultimately, the only replies you're going to get relate to what people are using already, and not necessarily what's best for a beginner. Speaking personally, I've been programming since Amstrad Locomotive Basic (1986), did loads of Licenceware stuff in AMOS/AMOSPro, and only really "found my feet" in 2001 and made some decent selling products from 2010. You might not take that long, but there really isn't a fast track way of doing it. The only thing keeping me sane at the moment, is a daily dose of Citalopram (and I'm not even joking).
     
  6. lennard

    Moderator Original Member Indie Author

    Joined:
    Jan 12, 2006
    Messages:
    2,390
    Likes Received:
    12
    I've been programming in C for 20 years. My advice, if you are starting today and already have an understanding of HTML - is to make web based games using HTML, javascript, CSS, PHP & MySQL. Unless you are planning on writing console titles or state of the art 3d games - if you are then look at the advice above.
     
  7. HairyTroll

    Original Member

    Joined:
    Jul 29, 2004
    Messages:
    582
    Likes Received:
    0
    C interfaces allow for easy interfaces to other languages. C++ does not. But "Best" is debatable. Would you query a database in C or SQL?
     
  8. Teq

    Teq
    Original Member

    Joined:
    Sep 16, 2004
    Messages:
    228
    Likes Received:
    0
    Language is debatable and (making an assumption here) I would imagine with your background a C-like language with similar constructs to JavaScript would suite you well, perhaps AS2 though it might be worth your time learning something which will see you in good stead for the future (such as C, Java, C#, AS3, etc).

    I honestly think the better question to ask though would be - what is the best library for me? Switching languages is a regular hazard for game developers wishing to port a game onto popular gaming devices. If your game/graphics library or engine is available on all the platforms you wish to support then half the work is already done for you with you left to convert to the optimal language and customize for the device (screen real-estate, CPU and memory restrictions, storage capacity, controls, etc).
     
  9. Cubit-Games

    Cubit-Games New Member

    Joined:
    Jul 22, 2015
    Messages:
    2
    Likes Received:
    0
    @predbites id suggest Processing.JS, its quite under-known but very powerful, it takes many aspects from java and javascript, since technicly it has 2 modes when coding inside processing, Java mode: which will make the game as a its own windows and doesnt do things like "var x = x;", it uses Integers and Floats, so instead of 'var' controlling everything like in JS, for boolean its "boolean x = true;", for a 32 bit variable its "int x = x;" for a 64 bit variable "float x = x;" there are also many libraries you can download for java mode that allows audio and video. This for javascript mode: in JS mode "var" controls all variables and the only other difference really with it than Java mode is it created arrays differently and it loads inside the browser instead of its own pop-up window. i personally suggest Java mode since in JS mode, its not very compatible with all browsers, only old versions of firefox and internet explorer support the ways it uses to run inside the browser. So yea id suggest processing.JS
     
  10. CaedmonJ

    CaedmonJ New Member

    Joined:
    Jul 22, 2015
    Messages:
    7
    Likes Received:
    0
    Yes it is powerful, but also limited, and is probably not the best language for bigger games.
     
  11. jhocking

    Original Member Indie Author

    Joined:
    Aug 12, 2005
    Messages:
    41
    Likes Received:
    0
    I love Unity and make mobile games for both iOS and Android. My book Unity in Action is specifically designed to teach game development to someone who already knows how to program.
     
  12. Bram

    Indie Author Greenlit

    Joined:
    May 1, 2010
    Messages:
    180
    Likes Received:
    2
    For the learning part of coding: I recommend Python.
    It will teach you the basics, it will let you create simple games too.

    Once you have mastered programming, and want to make a full fledge game to sell, you will need to start learning C first.
    With C under your belt, you can write for all platforms, although on iOS you need to add a little Objective-C, on Android a little Java.

    Most game studios write their game in C++.
    I've done a lot of C++ coding, but now I try to avoid it.
    C++ is a monstrous language, you will shoot your self in the foot.
    Just read Scott Meyer's books on C++ to see how easy it is to shoot yourself.
    Also, I find the merit of OO very questionable: I think it has hurt the profession of Software Engineering more than it helped it.

    Bram
     
  13. higgipoker

    higgipoker New Member

    Joined:
    Sep 21, 2015
    Messages:
    59
    Likes Received:
    14
    I think it's important to record an alternative viewpoint here. OO has revolutionized the industry. For medium to large sized projects (and that includes most games), it has practically taken over the whole field. And rightly so. It may not be perfect, or applicable to *every* problem, but it is an absolutely indispensable paradigm in software engineering.

    The problems with OO, like everything else, come when it is misused by people who think they understand it, but don't have a clue.

    It is one of the most powerful and productive tools available to the software developer.

    Happy to expand if you wish to discuss further.
     

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