Programming languages for making games

Discussion in 'Tech Discussion' started by Mr Pancakes, May 28, 2017.

  1. lohwengk

    lohwengk Well-Known Member

    Joined:
    Apr 13, 2017
    Messages:
    304
    Likes Received:
    180
    Reading List:
    Link
    If you don't know any programming languages, the first step is to learn the fundamentals of programming. Traditional materials will teach you important ideas, concepts and principles which help you learn to think like a proper programmer. They'll also back up all this theory with practical stuff using some version of Pascal or Basic. Slightly newer teaching materials will use languages like Java, C#, Python or Ruby. Other languages are no go, e.g. C and C++ are too complex for a first programming language, Perl is specialized for automation and scripting, text processing and string analysis, etc. You can search for these learning materials using google. I've also seen the entire lectures of universities published online for free in the past.

    Before tying yourself to a language, you also need to know what type of game you want to create. E.g. many android apps (and games) are written using a form of Java. Furthermore, nowadays, many games are developed using simplified programming languages on top of specialized engines, e.g. LUA running on TOME, RPGMaker, the DOOM engine, etc. It's the same way web designers use HTML, CSS and Javascript to create webpages on top of IE/ Firefox/ Chrome. Unless you have deep pockets and too much free time on your hands, it's impossible to develop a game from scratch using something like C or C++. Once again, google is your best friend.
     
    Ai chan and Mr Pancakes like this.
  2. Akken

    Akken Well-Known Member

    Joined:
    Dec 22, 2016
    Messages:
    160
    Likes Received:
    97
    Reading List:
    Link
    Which is why I also gave a single language answer. Start with C# (and Unity) before moving onto C++ at a later date (which could be years away).
     
    Mr Pancakes likes this.
  3. Phantasimo

    Phantasimo Well-Known Member

    Joined:
    Feb 21, 2016
    Messages:
    119
    Likes Received:
    103
    Reading List:
    Link
    You can use C# for android apps now :)
    It helps to read all the posts.
     
    Mr Pancakes likes this.
  4. Mr Pancakes

    Mr Pancakes Well-Known Pancake

    Joined:
    May 9, 2016
    Messages:
    670
    Likes Received:
    326
    Reading List:
    Link
    Thanks I have a lot of free time and nothing to do( but no money) and I wantd to try making a simple RPG game, nothing to complex or beutiful. It doesn't really matter if it's for android or pc but I would prefer PC more
     
  5. Phantasimo

    Phantasimo Well-Known Member

    Joined:
    Feb 21, 2016
    Messages:
    119
    Likes Received:
    103
    Reading List:
    Link
    Well I'd say get into C#, because using Unity you can make both PC games and Android games. But it might be good to first learn with Visual Studio.
     
  6. Kitsunebi

    Kitsunebi Well-Known Member

    Joined:
    Feb 13, 2017
    Messages:
    46
    Likes Received:
    32
    Reading List:
    Link
    The language doesn't really matter. Once you know one language you can learn another in a couple of days. If you want to make a game while learning then I'd recommend using Unity and C#. Unity is known to be more beginner-friendly than Unreal and CryEngine.
     
    Mr Pancakes likes this.
  7. TUSF

    TUSF Well-Known Member

    Joined:
    Oct 20, 2015
    Messages:
    323
    Likes Received:
    236
    Reading List:
    Link
    Python can be compiled to C, and Java is the main choice in Android. Both are still good choices for game design, especially Java if you want to aim at mobile which is an ever-growing market.

    ???? I'm not being offended.
    Just throwing in my own horse in the race. There are a lot of languages he could choose from really, so I picked a simple one. C, Java and C++ are all over-specified, with decades of history that it would be completely overwhelming to learn. Go is specifically designed with "ease of learning" in mind.
    There are a lot of languages that can be used on Android. But those languages are all second-class citizens, and need to still interface with Java to use Android's API.

    Built for a single machine. Anything you make in Assembly will only work on the CPU architecture you make it with. There isn't a single "Assembly" language; Assembly for x86 and Assembly for ARM or RISC-V are completely different. Fuck, I'm pretty sure assembly for 64-bit and 32-bit would be different.
    Basically you would need to remake your game for every type of computer you want to aim for.
     
  8. Clozdark

    Clozdark "Kuma chan \(≧◡≦)/ "「airhead」「nonsense speaker]

    Joined:
    Jun 13, 2016
    Messages:
    1,846
    Likes Received:
    5,386
    Reading List:
    Link
    then why you gives this reply in the first place "Be a real man and write machine code.... "
     
  9. Akken

    Akken Well-Known Member

    Joined:
    Dec 22, 2016
    Messages:
    160
    Likes Received:
    97
    Reading List:
    Link
    It was a joke... I thought the absurdity of the idea would make that clear to people if not that I started with the phrasing "Be a real man".
     
  10. lohwengk

    lohwengk Well-Known Member

    Joined:
    Apr 13, 2017
    Messages:
    304
    Likes Received:
    180
    Reading List:
    Link
    Practically speaking, there's not much of a war. To jumpstart a job, the programming language you learn will be what the local companies use. If 70% of your local businesses call for Java, then that's what you learn.
     
  11. Clozdark

    Clozdark "Kuma chan \(≧◡≦)/ "「airhead」「nonsense speaker]

    Joined:
    Jun 13, 2016
    Messages:
    1,846
    Likes Received:
    5,386
    Reading List:
    Link
    should i requote the retarded gopher maggot earlier ? Which clearly meaning you offended
     
  12. Mr Pancakes

    Mr Pancakes Well-Known Pancake

    Joined:
    May 9, 2016
    Messages:
    670
    Likes Received:
    326
    Reading List:
    Link
    I'm 15 now and I hope I can go study and work somewhere abroad later
     
  13. Clozdark

    Clozdark "Kuma chan \(≧◡≦)/ "「airhead」「nonsense speaker]

    Joined:
    Jun 13, 2016
    Messages:
    1,846
    Likes Received:
    5,386
    Reading List:
    Link
    it directed too thread starter choice of first language
     
  14. Akken

    Akken Well-Known Member

    Joined:
    Dec 22, 2016
    Messages:
    160
    Likes Received:
    97
    Reading List:
    Link
    Awesome, great to hear about people getting into programming while young. You've got plenty of time. What ever language you choose for your first, it won't be the last. While all the languages here are good they only really shine in a few areas and they are all different areas at that. Learn your first and relish that experience. Second, third, fourth will come much quicker.
     
    lohwengk and Mr Pancakes like this.
  15. lohwengk

    lohwengk Well-Known Member

    Joined:
    Apr 13, 2017
    Messages:
    304
    Likes Received:
    180
    Reading List:
    Link
    Then mastering the fundamentals becomes even more important. You'll also need to do some market research for the places where you want to work (local or overseas doesn't matter). You'll need to know what languages they want as well as what types of programs they want. E.g. a certain city in the early 2000-s, most employers wanted business applications developed in Java, Enterprise Java, HTML, CSS, Javascript, SQL and PL/SQL. If you wanted a job in that field, you needed a decent grounding in a large chunk of all of the above. You also needed a college degree as well as industry certification for either Java/Enterprise Java or SQL/PL SQL.
     
    Mr Pancakes likes this.
  16. TheHawkk

    TheHawkk Well-Known Member

    Joined:
    Oct 28, 2016
    Messages:
    102
    Likes Received:
    50
    Reading List:
    Link
    Learning with an engine like unity is perhaps one of the most motivating ways to learn programming, but it's honestly not a very good one. If you're new, engines like Unity are going to teach you so many bad habits. You're never going to learn coding motion, angles, collision, etc when you're working in an environment that handles it all for you.

    It's kind of like. You'll get a super quick start with Unity, but you're going to skip so many of the basics which you should have learned from the start. You can learn to make games with Unity, but you'll never become a good game programmer if you rely on it.
     
    Ai chan and lohwengk like this.
  17. Mr Pancakes

    Mr Pancakes Well-Known Pancake

    Joined:
    May 9, 2016
    Messages:
    670
    Likes Received:
    326
    Reading List:
    Link
    How should I start then?
     
  18. TUSF

    TUSF Well-Known Member

    Joined:
    Oct 20, 2015
    Messages:
    323
    Likes Received:
    236
    Reading List:
    Link
    No need. Let me quote it myself:
    As you can see, I was saying I like the "retarded gopher mascot".
    [​IMG]
     
  19. TheHawkk

    TheHawkk Well-Known Member

    Joined:
    Oct 28, 2016
    Messages:
    102
    Likes Received:
    50
    Reading List:
    Link
    In terms of books, Headfirst Java, as the other guy recommended is a pretty good beginner book. But in terms of after that, Google and StackExchange are your best friends.

    After you're familiar with Java, you should start making simple 2D games, solving whichever problems you have as you go. That'll keep you motivated cause you're still doing something which interests you, and it'll help you learn what goes on behind the scenes(Which Unity really doesn't teach you).
     
    Mr Pancakes likes this.
  20. Akken

    Akken Well-Known Member

    Joined:
    Dec 22, 2016
    Messages:
    160
    Likes Received:
    97
    Reading List:
    Link
    To be fair, it does look like the gopher was dropped on its head before being smacked with a frying pan a few too many times.