Just starting out and wondered if Python is a good choice or plain ridiculous

I am an entrepreneur and have some experience in I.T but I’m an absolute beginner when it comes to Game Development. I studied IT in college and some of the courses I had to take were C, C#, and stuff like HTML, JS. I am not a programmer. Those languages didn’t sink in very well when I studied them in college but now looking back at all of the tutorials and books, I am getting a better grasp of programming. Nonetheless, I don’t think I am ready to fully take on C# or anything C related, as they are fairly advanced and complicated.

I like the idea of Python, it’s simple and I have seen fun and fair quality games developed entirely using Python. I just don’t know if Unity 5 supports it and if it’s friendly to anything else other than C# and JS (which I hear people use in Unity)

I would like to develop games like Race the Sun, Terraria, Tales of Maj’Eyal and other RPG and retro like games with awesome gameplay which probably requires a powerful engine as well as a powerful programming language.

Will you please direct me as to where I should start? I already chose Unity 5 as my engine. I need to figure out which programming language to use (I hear some developers use more than one in a game, how does that work?) If you do highly recommend to man up and study C# then will you please tell me what is the best way to approach C#? Should I study JS first? Is there a favorite website or YouTube channel you’d recommend?

I have marvelous ideas for games, realistic ideas even for a beginner and I am professional when it comes to business and marketing. I just need to learn how to program, draw and design a logical game.

I highly appreciate your constructive criticism and any helpful comments.

Pythons not a good choice for working with Unity. Mainly because you can’t use python in Unity. Not without jumping through a maze of hoops.

Don’t bother with Unity’s version of JavaScript. If you want to use Unity learn C#.

The other alternative is a visual code system like PlayMaker.

4 Likes

Thank you very much for the quick and informative reply. I guess C# it is. I am a bit afraid of tackling it again but I guess I don’t have much of a choice.

1 Like

Unity 5 technically supports Boo, which has a similar syntax to Python, but it’s no longer possible to create Boo scripts directly in Unity, and the docs don’t have Boo examples anymore. So while Boo is still usable it’s not really the best choice for a beginner.

Realistically the options are Unityscript and C#. Note that Unityscript is not Javascript (despite being called that officially), it’s a custom language. It’s perfectly feasible to use Unityscript, though, and I’d recommend it for general Unity programming since it’s typically less arcane and more straightforward than C#. I think most people who push C# don’t really remember what it’s like to be a new programmer. (e.g., it may seem like a trivial thing to experienced programmers, but I’ve seen C#'s lack of a ‘function’ keyword cause no end of confusion to newbies where they don’t understand what’s going on and refer to functions as ‘voids’.) The only problem is that most of the new teaching material uses C#.

–Eric

5 Likes

Thank you very much for this great reply! So are you saying Unityscript is not a frowned upon language? Is it powerful and diverse enough? Also, is it only usable within Unity3D or can I use it outside Unity3D? Will it help me grasp C# better if I start out with UnityScript? Or should I just man up and tackle C# one step at a time? I just know that C# isn’t child’s play and it will take some time before I could incorporate my C# knowledge into game development. With C# you gotta take your time and learn all the ropes before tackling a project like a game. I remember programming very simple programs with C#. Oh my… Hundreds lines of code and I got lost within them sometimes. I hope I am not a lose cause when it comes to programming. I am OK with IT. So I think my brain should be able to grasp it.

I am thinking to take this course: https://www.coursera.org/course/gameprogramming
It applies to Unity and BEGINNER C# Programming. They have professors from fine institutes and it’s free. At the end of it I can also get a certificate of completion so why not.

For some people it is, but you can ignore them. :wink:

For most things, sure. It does have some limitations and hasn’t been actively developed for a while.

As I said, it’s a custom language. It’s not called “Unityscript” for nothing. Although it’s strongly similar to ActionScript 3 from Flash; anyone familiar with one could pick up the other in a very short time. (Just FYI, Unity is named Unity and not Unity3D.)

Probably, or at least it did for me.

Whatever works for you.

–Eric

3 Likes

There is IronPython, Python for .NET.

Don’t see why this shouldn’t work with Unity…

1 Like

Once again, thank you so much Eric! I know my questions were a tad obnoxious. I am just a bit startled by C# but I guess I have no choice but keep trying.

I will definitely check that out. I would LOVE to start with Python and become more comfortable at programming before I tackle C#. Object Oriented Programming is something I would love to know, I just think it’s not a first step. First I should understand programming as a whole. Python helps with that.

While this is true, and it’s fairly easy to set up, you still need some amount of glue code to be able to do something useful with it in Unity, and it’s not really something I’d recommend for a beginner.

2 Likes

Always good to get another opinion. So now I know it’s possible but I shouldn’t go down that route. I already started learning C# and I gotta say I am grasping it better than I did a couple years ago but it’s still a huge pain, it’s a very strict language and the format is so complex. There is SO MUCH to cover before I can even allow myself to THINK about implementing my C# knowledge in game development. I guess it’s just a matter of time. Only very few people grasp it so well that within weeks they are advanced programmers who can easily develop games. Most of us need 6-12 months minimum to have the right confidence for such projects. I know my uncle who’s been a computer programmer and a professor (a very good one) for years, is still learning. I guess you never finish learning a programming language…

You say very few, I’d say none.
Getting to an advanced level will take more than weeks, it will take years. But you will be able to make games far before that point. The best way to learn is to get stuck in.
But if you expect to be pushing a game out within the next few weeks, you may want to adjust your expectations. These things take time, but rest easy in the fact that you are learning a useful, transferable skill.

Also, enjoy the experience, there’s no need for learning to be a chore, and in fact, if you really can’t enjoy programming, this may not be the best choice. You could look into visual scripting as others have suggested.

2 Likes

I woud strongly recomend getting a copy of playmaker.

It’s fairly cheap and it makes projects a lot more managable, especially with handling game states and player states. You’ll quickly find that finite state machines get very complicated very fast and playmaker will help tremendously.

2 Likes

2250529--150385--mob.png

I second this. You can learn C# by reading what the update code does for the playmaker nodes. And you can also write your own. It’s a great way to organize your code, learn how state machines work, and most important learn c# :slight_smile:

1 Like

It’s utter crap. Do yourself a favour and use C#. They’re very similar on the surface so there’s no reason not to.

4 Likes

I started with Unityscript because the tutorial I was following was using it, but later switched to C# after a couple small games, because it looked better to me, and because most tutorials I was interested in were in C#. Whatever suits you best. If you understand one, youll understand the other too.

2 Likes

I think most people who push UnityScript fail to remember or don’t take into account that the tutorials in Unity’s Learn section were made with C#. There is a box below the video with the script in alternative language(s), but they are explained in C#.

Additionally popular video tutorials from YouTubers like Quill18 and BergZerg are C#. The Udemy course that holds the most popularity is C#. If you’re going to learn through these sources, you’ll need to manually translate to UnityScript.

2 Likes

Doesn’t IronPython require the Dynamic Language Runtime? I don’t think we have that.

4 Likes

Maybe someone could write an Editor Script than converts Python into C#

1 Like

Python is as ridiculous as it can get. Better using something more professional, like Common Lisp.

1 Like

Lua!

1 Like