Jump to content

  • Log In with Google      Sign In   
  • Create Account

What program language should I choose? And Why? (I'm a 3d Artist)


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
6 replies to this topic

#1 AlexBlin   Members   -  Reputation: 105

Like
0Likes
Like

Posted 21 August 2012 - 08:29 PM

Hi I'm a 3d Artist and I would like to take up programming. I have just about no experience to programming at all. My future goal is to make 2d games and then move on to 3d games and maybe use a game engine such as Unity or UDK. What language should I choose? There are so many and I don't know what would be right for me to start learning.

People have said to learn Java, C# or C++.

- What do you recommend for my first program language to learn?
- How and where should I learn to program? Online video's? Books?
- What are the benefits of this program language and why should I choose it?

I don't have a problem for developing for mobile or pc. (I only have a windows computer though)
- Alex

Sponsor:

#2 Serapth   Crossbones+   -  Reputation: 5755

Like
2Likes
Like

Posted 21 August 2012 - 09:38 PM

Read this. At the end of the day, nobody can tell you what language is best for you, they can at most give you their opinion. The opinion of a complete stranger is pretty close to useless. Hopefully that guide though will help you, it's full of dozens of opinions. It will give you learning resources, library recommendations and such for each language, so it is a place to get started.

#3 RobTheBloke   Crossbones+   -  Reputation: 2341

Like
0Likes
Like

Posted 22 August 2012 - 05:37 AM

Python. It's supported in pretty much all the 3D apps (e.g. Maya, motionbuilder, etc), and has a decent set of libraries for writing games. Whether it's 'the best' language or not is up for debate (a conversation that's usually populated by religious zealots), however it's probably the language you'll get most use out of.

#4 ksharp25   Members   -  Reputation: 102

Like
0Likes
Like

Posted 22 August 2012 - 09:03 AM

Hello fellow 3D artist! I am also undertaking the same goal you are. I have a degree in Computer Animation and while I can probably build my own assets just fine, I have NO CLUE about programming. I will give you my journey/testimony so far, and maybe you can get some good ideas as well. While I was in school, EVERYBODY in the Game Development degree program used C++, C# and XNA dev kit to make their 2D games. I have been messing around with C# and XNA 4.0 and have found it pretty intuitive and not painful. When you get stuck, Google searches have helped me get some answers (be specific) and the helpful folks around here have as well (be VERY specific when posting, and for God's sake, copy the code section you are working on).

I got 2 books to get my feet wet that have been pretty helpful for me.

"Beginning C++ Through Game Programming (3rd Edition)" by Michael Dawson (ISBN - 13: 978-1-4357-5742-3) [Course Technology books]
"Learning XNA 4.0" by Aaron Reed (ISBN: 978-1-449-39462-2) [O'REILLY books]

Download and install (free) BOTH the Microsoft Visual Studio Express 2010 C++ and C# editions. The books give you URLs for it, and all the lessons are taught using that IDE for code samples. The XNA book has been a blast as you make an actual fully functioning 2D sprite game and 3D space shooter game through the lessons. I have taken and re-read the chapters as I am adapting the code for the 2D example game into my own game, with my own assets and trying to get it to play differently. Its been a pretty easy way to learn so far.

And again, when stuck, come here or Google and try and figure out how to do what you are trying to do. Neither book will lay out in example code how to do everything you want to do. I will give a personal example. Right now, I am using the sample 2D code to make my own game. In the book, the player sprite was a 3-ring shape that on the sprite sheet has the rings rotate around a center axis. Thats no big deal to move around the screen with a keyboard, XBox360 controller, etc. But my game has a ship. And depending on what direction you steer, will depend on what direction the model faces..or, is supposed to. The code in the lessons never covered that aspect because it didnt have to, your player object looked the same no matter what.

So these books are great stepping stones and I plan to get some more intermediate books to learn more as I go

Edited by ksharp25, 22 August 2012 - 09:04 AM.

===============================
Indpendant 3D Artist
BS in Computer Animation

#5 NightCreature83   Crossbones+   -  Reputation: 3032

Like
0Likes
Like

Posted 22 August 2012 - 10:10 AM

Seeing you want to go to Unity or UDK in the end your best bets are either C# or Java. Unity has support for C# as a programming language inside of itself so if you already know C# the only other thing you need to learn is how to use Unity. For UDK Java is probably better as Unreal Script is derived from it so it will feel instantly familiar, however if you know C# learning Unreal Script isn't that much of a strectch.

Be aware that learning how to program isn't going to be easy and you will get frustrated along the way. Programming is more then just knowing a language and getting it to do what you want. Whilst that is what you will be doing most of the time there are other factors that you need to know about. Such as algorithm design, design patterns, performance considerations (very much an expert topic this one), debugging (this one is really important), physics and maths. You are going to have to read up on a lot of math stuff to develop games sadly, and if you don't understand the underlying math things can get hard quickly As an example of where math and physics is used in a game there is firing a bullet moving this forwards in a simple fashion uses some simple equations form mechanics collision detection and respons on this is another area heavily leaden with maths and physics.

I am not trying to scary you off just want you to understand that programming or knowing a particular language isn't all you are going to have to learn when you want to learn how to make a game from a programming perspective.

Whilst you are going to have to read some books on your chosen language don't only read them try to solve the examples they give you in the books. Write them in your chosen language and debug them to see how the data flows from begin to end. This is what I found hardest to learn to be honest I read the books and understood the examples but when I tried to do my own thing it always failed. Untill I spent some time writing simple math problems (Greatest Common Divider, Finding zero points for quadratic equations) out in a language, use simple math problems where you understand all the maths involved to start with as applications. Using simple problems will allow you to work them out on paper or in your head and this in turn will make it easier to follow what is going wrong in your code when you write it, from there try harder problems.

Edited by NightCreature83, 22 August 2012 - 10:20 AM.

Worked on titles: CMR:DiRT2, DiRT 3, DiRT: Showdown, GRID 2, Mad Max

#6 Serapth   Crossbones+   -  Reputation: 5755

Like
1Likes
Like

Posted 22 August 2012 - 11:55 AM

You know, as a 3D guy, Python really is a good next step language, as it is very applicable to your day to day functioning. You can currently script Softimage, Maya and Blender using Python, and Blender actually has a complete Python based engine built in.

So, if you want a skill that transfer well to "your day job", give Python a shot.

#7 MrDaaark   Members   -  Reputation: 3555

Like
0Likes
Like

Posted 22 August 2012 - 12:29 PM

You know, as a 3D guy, Python really is a good next step language, as it is very applicable to your day to day functioning. You can currently script Softimage, Maya and Blender using Python, and Blender actually has a complete Python based engine built in.

So, if you want a skill that transfer well to "your day job", give Python a shot.

Unity also has a Python variant as a scripting option.




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS