Hi everyone. after trying to make it in the game industry as an artist for 4 years with no success I am heavily considering learning to code. I want to make games, however I haven't coded anything in 10 years and that was in Visual Basic. If I want to learn am I better off jumping straight into a language like C++ or should I start with an easier language like python (not saying python is easy
).
As a side note I am hoping learning to code will allow me to develop my own games, or at the very least give me that 'technical artist' title
. Hell, it might lead to a different career altogether.
Thanks for your opinions in advance.
Replies
Unreal is a C++ codebase.
To my knowledge, no popular game engine runs off of a Python foundation.
You're going to want to ask this question on TIGsource, Unreal, and Unity forums as well.
=>
https://www.edx.org/course/cs50s-introduction-to-game-development
=>
http://rogueliketutorials.com/
=>
https://unity3d.com/learn
http://roguebasin.com/index.php?title=Articles
Good luck through. If your not had much success with art and you been doing it long, then maybe your approach is the problem in which case you might get stuck like that in programming.
My issue with becoming a professional 3D artist I feel is this (a message i received today from a job application)-
Unfortunately, in the current climate most studios require candidates from us with current studio experience in the games industry with high profile titles to your name, and therefore it is unlikely we will be able to assist in your search for a suitable position.
I am sure if I was absolutely incredible like some of the folks on here I would find work no problem, but I am just 'good'. Which at the moment is not good enough. I have done several art tests where I am told my model is very good but I still don't get the job. It is true I have hit a roadblock with improving my art however with no clear way to improve I am looking elsewhere (coding for example).
This does not mean I will stop doing art of course. This forum might actually be the best way to improve but I get nervous about showing my work here with how many of you are just so frikkin good.. XD.
If you're not short on perseverance and a bit of a social introvert I'd say from experience acquiring a 'workable' knowledge base can accrue positive results in the short term but of course relative too one's circumstance setting aside requisite time also previous programming exposure will definitely come in handy.
That said I'd principally recommend the online resource GameDev.net also a few others I've referenced...plus up close in your face applying what you've learned which looks like fun:
- CodeInGame
C++ is hard work and while it's the only way to mess with ue4 you have to ask yourself if you really want to mess with ue4 (certainly not as a beginner)
C# is easier to set up (get free visual studio or unity and you're set) than python (lots of versions in active use, command line installers, third party libraries, various IDEs etc)
(for clarity - I'm a tech artist)
On the other hand python is basically the standard for scripting 3d programs. Maya, Max, blender, Modo, and substance, all use it for scripting.
Python is relatively flexible, cross-platform, libraries are easy enough to install. However, it has a fairly unique syntactic style that can be at odds with other languages. Garbage collection is all handled for you, too. But to some extent, you'll pay that cost in raw speed. There's no compilation required, it just runs, so it's great for trying stuff out.
C++ on the other hand is a pain to be cross-platform, libraries can really suck. You might need to pay attention to data layouts, allocating and freeing memory, pointers and references, etc. But generally will be much faster at the expense of flexibility*. You need to compile it to try it out.
If you want to develop your own games and are thinking Unity, I'd maybe recommend C# over C++. A lot of the same observations apply although it's a bit kinder on garbage collection and features far fewer pointers.
*That's not to say you can write stuff in Python that you couldn't do in C++, but in C++ you need to plan ahead a bit more which can be a pain if you're still prototyping.
I am curious if you still have your portfolio online and want to show it to us?
@poopipe I get what you mean about c++, I have tried some c# by following along with a book about learning how to code in Unity and I am liking it so far
@RyanB I will definitely keep that in mind thank you
@sprunghunt Yeah I have seen python used in Maya so I am guessing it is important to tech artists
@Farfarer based on what you have said and some other comments I think I will learn both. I am gonna start with C# though as it is appliable in Unity immediately.
@goekbenjamin I would love to break the wall man, I really would. My portfolio is in a link at the bottom of my comment (the footer?) if you want to check it out. I am not gonna give up art but I really want to learn something new. I feel like I am not gonna break the wall but maybe if I develop my own game I can get something done (even if that takes another 4 years).
@Linko I will definitely check out that udemy godot as a 2d game is what I want to make thank you
To everyone, thank you very much I am amazed I got this many replies so quickly. Your advice is very much appreciated. Suddenly I feel less alone
my portfolio is here www.tony3d.carbonmade.com
I am not confident in it anymore but... if I can start making my own game I will also do my own art and maybe have a portfolio worth a shit lol.
Thank you
EDIT: @sacboi I just tried Code Combat and it is awesome. Thanks so much man this seems like a great way to learn Python alongside C# (which I am using books + Unity to learn)