Search Unity

  1. Unity 2019.2 is now released.
    Dismiss Notice

Should I Learn Maya Python MEL Even Though I Want To Be A Game Programmer?

Discussion in 'General Discussion' started by computertech, Jun 5, 2016.

  1. computertech

    computertech

    Joined:
    Feb 17, 2015
    Posts:
    208
    I already know learning the Maya Python and MEL Scripting is mostly for Technical Artist or a rigger purpose. But, I want to be a game programmer. Should I learn Maya Python and MEL Scripting eventhough it might be not as effective to be a game programmer?
    --The reason that I might want to learn the maya scripting is because I just do not want to waste my old money buying my old maya scripting book that I already brought.
    https://www.amazon.ca/Maya-Python-Games-Film-Reference/dp/0123785782
    --The problem is I am still deciding should I read this almost 400 pages or not that covers the intermediate technical artist levels, which those reading stuff can be a bit hard for me to learn still.

    My main questions is...
    1. "Is there any possibility that the Technical Artist Maya Python MEL coding can connect with the Game Programming at all?"
    I think my answer is a no.
    2. "Will a Game Programmer that is working inside a real life business industry, will work with Maya scripting at all?" I only know that the technical artist will do the Maya scripting, but I am not sure will a game programmer will do the Maya scripting at all. But, I think if the game programmer knows MEL and Maya Python will be a bonus for applying into a job.

    I already know some Mel scripting, because I used to want to be a rigger. And I already have finished some of the javascript html website projects. And I already know some beginner Unity stuff.
     
    Last edited: Jun 5, 2016
  2. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    12,039
    First, learn whatever tools you need to use to get jobs done. If MEL or python will be useful then learn them. If not, don't waste your time.

    Second, learning more languages and about more and different systems will make you a better programmer because it will help you learn more about computers. Being a programmer isn't about "code" so much as it is about "solving problems with computers". And, the more of this stuff you learn the faster you'll pick up new related topics. (In particular once you've learned a few programming languages you'll often be able to pick up new ones more or less on the fly. They'll slow you down as you learn their nuances or environments, but generally won't stop you.)

    Third, sunk costs are gone - don't base new decisions on them. Look up "Sunk Cost Fallacy" to learn more.

    Fourth, tools programming is a super handy skill. Making games isn't just about the game part. Most games have loads of content, and tools programming is a huge part of making and/or managing that content. So yes, as a games programmer tools development knowledge is useful, though maybe less so to a lone or small team indie developer (depending on projects, of course).
     
  3. Ostwind

    Ostwind

    Joined:
    Mar 22, 2011
    Posts:
    2,775
    I would say never learn tool languages before you actually need them or know you will work with them for next years. If you for example would have to do something to export pipeline or etc. you do it when it's needed and as programmer you should have the skills to find the info and make the thing fairly easily.
     
    Ryiah likes this.
  4. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    6,434
    A programmer will be able to pick mel/maya scripting in two days. It is not a lengthy endeavor worth thinking about. If you need it, learn it. If you don't need it, don't learn it.
     
  5. Lockethane

    Lockethane

    Joined:
    Sep 15, 2013
    Posts:
    114
    If you want to be a programmer that deals with the frontend not so much(Gameplay/controls/AI/Networking/Graphics...), but the backend it could be helpful, content pipeline/Animation programmer.
     
  6. computertech

    computertech

    Joined:
    Feb 17, 2015
    Posts:
    208
    I already know MEL, because I already have finished making a rig character from MEL from before. But, this book teaches much more complex MEL and Python scripting that I will need to take many days at least to learn this whole book. I think I should learn this complex MEL and Python scripting someday, because I will need to learn C# for making a Unity game first.
     
  7. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,476
    Go ahead and read it. Learning is seldom harmful. And learning is enjoyable for its own sake.
     
    zombiegorilla likes this.
  8. computertech

    computertech

    Joined:
    Feb 17, 2015
    Posts:
    208
    Basically I am not only looking for should I learn Maya scripting or not only. I am also looking and asking if the Maya scripting have any connection with the game programming at any chances.
    I think my answer is a no, because the maya scripting is more for the technical artist who does film animation or game art and animation works instead of doing a game programming who works more into a game engine. I am just looking if my answer is right or wrong. But, I think learning maya scripting is a plus to find a game programming job in the future.
     
  9. zombiegorilla

    zombiegorilla

    Moderator

    Joined:
    May 8, 2012
    Posts:
    7,846
    In our studio, python (and mel scripting/etc), is usually done by the tech artists. The client engineers almost never touch it. But that said, they certainly can. Usually we all have the same general skill sets, but we specialize as a matter of practicality. Its a given that any of our client engineers can write in any language needed.

    As others said, learn as much as you can. Programming is programming, after a certain skill level, language is irrelevant.
     
    Ony, Ryiah and Kiwasi like this.
  10. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,476
    The answer to this really depends. Work at a big studio and you might never have to step outside of your specialisation. Work at a small studio or on your own and your job description becomes 'Do everything that nobody else can do'. If you are the only programmer on a team, and Maya scripting is needed, then you are up.

    I wouldn't make Maya scripting one of my first languages. But if you work with artists that use Maya, knowing the basics won't hurt any.
     
    Ryiah, zombiegorilla and computertech like this.
  11. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    6,434
    In my opinion, you're wasting time thinking too much about it.

    Python is used outside of maya. MEL scripting can be useful if you're working for someone who has maya in their pipeline.

    Thinking about it, I probably wrote something using mel script for maya. I don't remember what that thing even did at this point. I think it was providing gui for a viewport cg shader? Not sure...

    Basically "will it be useful" is not a question that you normally ask. You usually need something done NOW, so you grab reference, scan through it, figure how to make things work, and possibly forget about it later. Python/Mel scripting for maya fall into that category.

    Well, at least as long as the languags have some similarities. If you throw prolog or ocaml at someone who's usually programming in python or C (without ++), they'll need to do some research to make sense of it.
    Imperative vs functional vs declarative programming. Different approaches.

    Then again, it won't take too long.
     
    Ryiah, angrypenguin and Kiwasi like this.
  12. robonobo

    robonobo

    Joined:
    Jan 27, 2016
    Posts:
    1
    Here's my jonny cum lately take on this. There may be some benefit to learning Maya Python if you want to be a tools programmer. But if you want to work as any other games programming discipline, learning Maya Python is a waste of time. I'm a technical artist with 16 years experience of the games industry, so I would class myself as an expert in Maya Python.
    Spend your time learning C++. That's the main thing you'll be using as a games programmer.
     
  13. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    14,523
    I legitimately can't remember the last time I had to use C++... I'd likely still learn it if I had to learn everything all over again but depending on the way your career goes you might not use it at all. You definitely don't need it for Unity.
     
    Kiwasi likes this.
  14. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,476
    Not strictly true. You can spend your entire career inside Unity and never need to touch C++.

    C++ is the language of choice for developing game engines. But for the most part the people developing game engines aren't the people building games.
     
    Last edited: Jul 19, 2018
    Ryiah likes this.
  15. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    12,039
    Indeed, I think that knowing and understanding C++ is incredibly useful and valuable, but I only use it sporadically for my work. Since my studio changed over to Unity, back at around version 2, I would say that C++ has dropped down to less than 1% of the code I've been writing.

    Well, I think every programmer should be a tools programmer. ;)

    Not in the sense that tools are all you should do, but in the sense that when we see something that can be automated we should strongly consider jumping in there and doing it. We work in an industry where everyone is time poor because everything takes so darn long. We should be making computers do as much of the work for us as we can. Knowing a variety of languages and understanding a variety of environments is incredibly helpful in this, because it helps you more easily see the pieces and how they interact, which in turn lets you do repetitive tasks in code rather than by human effort.
     
  16. passerbycmc

    passerbycmc

    Joined:
    Feb 12, 2015
    Posts:
    1,470
    Well do you want to spend your time with game code only or do you want to steer towards tech art or have a much more generalist skill set?

    Also I would not bother with Mel, it's pretty much dead and only used for a few legacy parts of Maya. While Maya's multiple python and C++ are all still heavily used.

    It's really not hard to jump languages and python is easy to learn, just will take a while to get used to Maya's cmds or pymel API.
     
    Kiwasi likes this.
  17. sxa

    sxa

    Joined:
    Aug 8, 2014
    Posts:
    190
    However its the only scripting language available in Maya LT. On a smaller project where $30/month/seat is viable in a way that $300/month/seat might not be, MEL might be the only option.