If you like programming, there will certainly be situations where you can use almost any level of programming knowledge. If you don't like programming, plenty of artists succeed without it.
As for languages, I'd say Python is probably the most useful to an artist, as it'll let you write tools for Max/Maya/etc.
Python is the most commonly supported atp. It's also worth learning at least one of the C variants ( C / C++ / C# ).
If you want to be good at it, you'll also need to know a certain amount of math. At the minimum: Radians Sine / Cosine Cross Product / Dot Product Vectors Matrices
I am currently in an AP Java class and my teacher is convinced that to become a graphic designer or game artist, extensive programming knowledge is needed. I just think she is bitter because she wanted to become an artist, but she didn't because it doesn't usually pay well so she became a math teacher instead.
She thinks that for me to be successful in the game industry much knowledge of programming will be required even if I will mostly be in various other art based positions.
She's wrong. While as it's certainly very useful to know how to code, its by no means a necessity. Some of the best (and best paid) artists out there couldn't code to save their lives. Game artists that know how to code are generally called "Tech Artists", and they make up a relatively small subset of people in the field.
Technical Art is definitely a lucrative field if you're really good. Check some jobs listings on Orca to see what they entail. https://orcahq.com/jobs?query=tech Here's one example
Responsibilities:
Collaborate with graphic programmers and the art team to build tools, pipelines, and graphic features.
Work with the art team to build tools and shaders in Unreal Engine 4.
Work with the art team to ensure proper game performance, optimizations, and best practices.
Generate and maintain documentation for art
Continue to develop and improve skills by being aware of industry trends and techniques, evaluating competitive products, and learning new software packages.
Here's another
Job responsibilities include:
Be a bridge between Artists and Programmers;
Work closely with team leads and Art Manager and Director;
Work with Producers, advising on technical cost/impact of changes and requests;
Research, define, and advise on methods and tools prior to and during production;
Develop and maintain art production workflow/pipeline;
Monitoring work to be efficient as possible with space/speed;
Learn game engine capabilities and limitations, enthusiastic to ‘find a way’ to meet challenging artistic visions;
Integrate assets in the game without sacrificing artistic vision or exceeding technical limits of platform;
Mentor Artists in chosen methods, optimizations and tools for and during production;
Actively advise or inform the teams/leads/Producers/AM of foreseeable issues or problematic techniques;
Troubleshoot/debug/firefight technical issues;
Write scripts/tools to aide artists create more efficiently;
Assist in producing 3D elements and shaders;
Cover multiple projects when needed.
Additional duties:
Research/oversee/implementation of map types, material shaders and particle systems if applicable;
Set up of project directory structures and naming conventions.
It's not irrelevant for someone that uses a computer. If you can program you can make something that helps you in some way, like an external colour picker or something like that. I wrote a simple timer application that flashes the taskbar icon when the time has passed. I use it everyday for taking short breaks and I'm better with it. EDIT: actually using it right now so I don't spend too much time on the web.
yeah I don't know a line of code and never really had need for it, but knowing how to do stuff with python or mel would be really nice, also some words that you find in shader system are probably well known to people that can do math but for someone like me that haven't even done beginner high school math it was a new mountain to climb, so that might be a time saver for those who already have that knowledge.
But you should have some technical aptitude and understand logical dependencies, the need for rules and budgets and specs and why they should be respected. This will help you to deal with things which are not programming in the strictest sense, but which are often considered "technical", such as working with node networks (Maya, Substance, UE, etc.) or rigs or more complex UIs for editing attributes.
Having basic knowledge about the operating system (i.e. Windows in most cases) is very useful. You can automate some of your work and you don't have to call IT for every minor problem. You also should know how to install simple plugins and scripts for your 3D App and how to run them.
I am currently in an AP Java class and my teacher is convinced that to become a graphic designer or game artist, extensive
programming knowledge is needed.
The only positions where "extensive" knowledge of programming (aka degree level) is required: Programmer roles (duh), specialized technical art position, such as in-engine tools programmer, pipeline TD/architect and maybe tools programmers (tech artists) dealing with rendering and shading code in C++.
Coming from an engineer background i can say that it's not that know how to code have helped me but you start to work smarter. It's the mindset of a programmer that always wants you to work smarter and get the task done in less time. But i think you can get those skills just by working on a studio environment. It's also nice to use your logic to create shaders, it makes it easier, but not a requirement.
Maybe it depends on the country but in the US, teaching pays less! I doubt there's any bitterness behind her explanation, more likely she doesn't know.
Maybe it depends on the country but in the US, teaching pays less! I doubt there's any bitterness behind her explanation, more likely she doesn't know.
She actually was just a regular artist. I think she painted, but yeah... you are probably right.
unless you are trying to become a programmer or a TA, you dont need any code knowledge at all. yes it can help your workflow if you can automate simple tasks and write your own tools but if your in a studio you could likely ask a TA to create such tools if they would be useful to the art team as a whole.
Yeah it's not required at all to know how to code if you want to be a 3D artist.
With that said,I think that it's always a huge bonus for an artist to know to code some basic stuff.
Everyone has explained it pretty well. I would like to add though that the more an artist becomes technically inclined (whether it be technical lighting, scripting, understanding of shader operations, tool building, etc), the more that artist will move into a "core" role on a team. Become versatile, the industry is moving too fast to focus on very niche tasks for prolonged periods of time. This however, has some exceptions like doing only high poly character/object sculpting/subD. I feel like becoming more of a "developer" rather than just the term artist will help with job security as our industry continues to evolve into what seems like a more and more automated art pipeline. As smaller teams reemerge more and more, wearing a ton of hats seems to be completely necessary.
Each to his own though, as I know many artists that are very stable and happy with not knowing how to even navigate the simplest of code, and work in games/software.
Everyone has explained it pretty well. I would like to add though that the more an artist becomes technically inclined (whether it be technical lighting, scripting, understanding of shader operations, tool building, etc), the more that artist will move into a "core" role on a team. Become versatile, the industry is moving too fast to focus on very niche tasks for prolonged periods of time. This however, has some exceptions like doing only high poly character/object sculpting/subD. I feel like becoming more of a "developer" rather than just the term artist will help with job security as our industry continues to evolve into what seems like a more and more automated art pipeline. As smaller teams reemerge more and more, wearing a ton of hats seems to be completely necessary.
Each to his own though, as I know many artists that are very stable and happy with not knowing how to even navigate the simplest of code, and work in games/software.
You don't need programming skills to become a great 3D artist at all. However, if you are a badass 3D artist and can use programming at your advantage to create new tools that you always wanted to have, that would be a highly valuable tool to have.
Replies
As for languages, I'd say Python is probably the most useful to an artist, as it'll let you write tools for Max/Maya/etc.
If you want to be good at it, you'll also need to know a certain amount of math. At the minimum:
Radians
Sine / Cosine
Cross Product / Dot Product
Vectors
Matrices
She thinks that for me to be successful in the game industry much knowledge of programming will be required even if I will mostly be in various other art based positions.
While as it's certainly very useful to know how to code, its by no means a necessity. Some of the best (and best paid) artists out there couldn't code to save their lives. Game artists that know how to code are generally called "Tech Artists", and they make up a relatively small subset of people in the field.
https://orcahq.com/jobs?query=tech
Here's one example
Responsibilities:
Here's another
Job responsibilities include:
Additional duties:
This is also completely wrong.
I wrote a simple timer application that flashes the taskbar icon when the time has passed. I use it everyday for taking short breaks and I'm better with it. EDIT: actually using it right now so I don't spend too much time on the web.
But you should have some technical aptitude and understand logical dependencies, the need for rules and budgets and specs and why they should be respected. This will help you to deal with things which are not programming in the strictest sense, but which are often considered "technical", such as working with node networks (Maya, Substance, UE, etc.) or rigs or more complex UIs for editing attributes.
Having basic knowledge about the operating system (i.e. Windows in most cases) is very useful. You can automate some of your work and you don't have to call IT for every minor problem.
You also should know how to install simple plugins and scripts for your 3D App and how to run them.
The only positions where "extensive" knowledge of programming (aka degree level) is required: Programmer roles (duh), specialized technical art position, such as in-engine tools programmer, pipeline TD/architect and maybe tools programmers (tech artists) dealing with rendering and shading code in C++.
Each to his own though, as I know many artists that are very stable and happy with not knowing how to even navigate the simplest of code, and work in games/software.
Good to know!