1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Development what language to learn?

Discussion in 'Software' started by DanSonley, 9 Feb 2012.

  1. DanSonley

    DanSonley What's a Dremel?

    Joined:
    20 Jan 2012
    Posts:
    93
    Likes Received:
    0
    hi
    I am wanting to learn programming
    I am working towards going into the games industry.
    However i would love to be able to program too.
    i am currently designing a game, if i was to learn a programming language when the time comes too it i can write the engine, this would look good on my portfolio as well as being a fun little project.

    i been looking at c++ just wondering if that's the right language to learn? and also any tips for learning or book/tutorial recommendations?
    thanks
    Dan Sonley
     
  2. Dae314

    Dae314 What's a Dremel?

    Joined:
    3 Sep 2010
    Posts:
    988
    Likes Received:
    61
    A person who's from the game industry would have a much more valid opinion than I do, but my personal take on this would be that it depends on what aspect of game design you'd be most interested in.

    There's a lot that goes into game development that has little or nothing to do with code. Art, music, storyboarding, advertising, project management, etc. You might find something you like in these areas in which case you don't need to learn any code :D. However, if your heart is set on at least trying to be a developer, I would point you to here. Start with the basics, "what is game programming?" and "How do I get started?" If you dig a bit, you can find this useful page about choosing your first language. I assume the writers of this wiki are more knowledgeable than I am, so I would recommend you take their word :3.

    Fun fact though: if you're looking into AI, the most popular languages I know of to program AI in are Prolog and Scheme. Those 2 languages work on completely different paradigms than C++, C, Python, and other OO languages so they're kinda weird to learn :p. If this is what you're aiming for then you might wanna give a look to the 2 languages I mentioned or other languages that use the declarative or functional paradigms.

    gl, hf, dd
     
  3. BentAnat

    BentAnat Software Dev

    Joined:
    26 Jun 2008
    Posts:
    7,230
    Likes Received:
    219
    XNA.
    It's FAIRLY easy to learn, C# based (i believe), and free.
    Any C-style language will be helpful here (C, C++, C#, even Java, PHP and so many more).

    That being said - Games programmers are some of the hardest working and least-thanked people in the business... think long and hard about it, and be willing to work your butt clean off for the coming years.
     
  4. yakyb

    yakyb i hate the person above me

    Joined:
    10 Oct 2006
    Posts:
    2,064
    Likes Received:
    36
    i write XNA games although havnt done any of any real note yet i'm in hte progress of it

    i picked XNA as i had experience in C#, however, if i were to plan to truely get into the games industry as a programmer i would learn c++.

    I would first start by reading the tutorial here
    http://create.msdn.com/en-us/education/gamedevelopment

    this is the XNA tutorial and is very good for getting something working fast

    if you enjoy doing that then just spend some time playing with it and expanding upon it

    (oh and i would advise against doing a game development course at uni go Comp Sci as it will leave you better suited)

    after that you can explore on your own a little
     
  5. DanSonley

    DanSonley What's a Dremel?

    Joined:
    20 Jan 2012
    Posts:
    93
    Likes Received:
    0
    i am doing a ba in computer games art at the university of teeside. i am wanting to be an environment artist.
    programming in completely irrelevant to environment art. however i think it could be a useful skill to know.
     
  6. sb1991

    sb1991 What's a Dremel?

    Joined:
    31 May 2010
    Posts:
    425
    Likes Received:
    31
    I would start with something like C#, Java or maybe Python. Once you're familiar with the basics you can start C++, but you don't want to be worrying about memory management and undefined behaviour when you're just getting to grips with the fundamentals.
     
  7. Dae314

    Dae314 What's a Dremel?

    Joined:
    3 Sep 2010
    Posts:
    988
    Likes Received:
    61
    Now that I understand your position a bit better, I see what you really want :p. If you're just looking to learn a bit about coding, I would do Python, but that's personal preference.
     
  8. richythomas

    richythomas Minimodder

    Joined:
    29 Apr 2009
    Posts:
    136
    Likes Received:
    3
    I would go for C# and the Express editions are free to download and use. However as you're a student you're entitled to a full copy of Microsoft Visual Studio 2010 Professional for absolutely free. You can't use it for commercial endevours but it'd be great to teach yourself some coding.

    http://www.dreamspark.com/

    On the above site you'll also find other nice software for personal use whilst a student.

    If you like watching video tutorials, I've got a lifetime subscription to http://www.learnvisualstudio.net/ (it was on offer) and would thoroughly recommend signing up. Great C# tutorials among others.

    Otherwise Microsoft's C# 2010 Step by Step is a good book and in my opinion well written and easy to follow along with.
     
    Last edited: 10 Feb 2012
  9. GuilleAcoustic

    GuilleAcoustic Ook ? Ook !

    Joined:
    26 Nov 2010
    Posts:
    3,277
    Likes Received:
    72
    I did work as 3D engine programmer in the game inductry for 3 years and it was C++ all the way.

    Any scripting language would be useful (python for example) as it can be used for a lot of aspect (including menus and gui).

    Now it really depends on what you really want to do. Try to start with something that is not too abstract, as it won't help you to learn the basis. Learn C++, for example, and when you are comfortable with it you can start using a graphic API (OpenGL is nice to start with, it works on many platforms).

    You'll mainly use "ready to use" 3D API in the game industry, but it is always nice to know how it works. And being able to write your own engine is, imho, a must have ! I do not say that you should write the cryengine from scratch, but at least a camera class (without using lookat, translate, rotate, etc functions). Learn how matrices works (it is always useful to find some non-conventional tricks), world-camera-object transformation mathematics. When you are comfortable with it, you can, imho, use an API like cryengine.

    Edit : I did start 3D programming in the late 90's when I was a teenager (OMG), but it was C and Assembly back then xD. It has greatly improved now. Also, try to have a nice understanding of how the thing works inside the computer (memory access, GPU, shader, etc.). It is the key to an efficient code.
     
  10. DanSonley

    DanSonley What's a Dremel?

    Joined:
    20 Jan 2012
    Posts:
    93
    Likes Received:
    0
    thanks guys that's been informative.
     
  11. TheKrumpet

    TheKrumpet Once more, into the breach!

    Joined:
    18 Oct 2011
    Posts:
    406
    Likes Received:
    34
    I would say this to start with. C# + XNA is a fantastic starting point for someone with absolutely no coding (or very little) coding experience. It removes the somewhat confusing issue of memory management and having to set up your own display buffers and all sorts of boilerplate code that comes with making a game and allows you to jump right in to actually making a game.

    There's lots of tutorials available around the web (http://creators.xna.com is the one I use for basically all tutorials) and there's communities based around it from which you can ask for help.

    It also has native support for XBOX 360 controllers on Windows and if you add support for them, it's really easy to then deploy your game to an XBOX 360 and XBLA (this does require the purchase of a licence, however. I think it's $99 a year. If your game is good however, it'll pay for itself).

    I would suggest moving to try C++ once you have a grip of XNA and the way programming generally and making games works, but C# + XNA is the best starting point in my opinion.
     
  12. glaeken

    glaeken Freeeeeeeze! I'm a cawp!

    Joined:
    1 Jan 2005
    Posts:
    2,041
    Likes Received:
    50
    I would say it doesn't really matter what you start with, C#, Python, C++. C# is a great language with tons of tutorials out there on every programming discipline.

    But since you're an artist I would get familiar with MEL script for Maya, and the equivalent for 3ds Max. Having the ability to create scripts in both of these content creators is a valuable skill to have.

    Also, once you have a handle on programming you might want to look into shader development. A lot of studios employ tech artists that create shaders either through hlsl/glsl languages or through GUI node systems. Even if you're not interested in going down that path, knowing how some of the key graphics effects are produced is invaluable.

    Being a tech programmer in the games industry myself, it's always much more productive when working with an artist who knows even the tiniest bit about graphics.
     
  13. DanSonley

    DanSonley What's a Dremel?

    Joined:
    20 Jan 2012
    Posts:
    93
    Likes Received:
    0
    that all makes a lot of sense. i think i might try doing that. i have been working with 3ds max mostly but if i aim to get c++ or c# naied this year. i can then start learning to script for the program i work with next year as my uni course specialises next year.
     

Share This Page