New to Unity and Game Developing. Couple Questions.

I’ve always had the dream of making a game, not only am I a game addict as I’m a computer addict in general and spend so much time on the computer its unreal , as such I’ve always wanted to make a game but never knew where to start.

Recently watched a video game called “The Forest” and in their blog I saw they used unity3d pro version which made me look into unity and wanting to learn how to actually make a game.

I’ve also been learning how to program for 2-3 months but I’m still learning ‘pascal’ just so that I have the basics well implemented in my brains before I move onto harder programming languages.

So the questions are:

1- What are good languages to learn so I can make a game with Unity?

2- How hard is it to learn how to make the games in Unity (if you’re a average programmer)

3- If I wanted to make a game based on a tv show (lets say dragonball lol just as an example) can I be sued if I intend to make money with it? (as in selling ingame benefits etc)

PS: I intend to make computer games not for androids and no browsers

  1. C# is my preference among the three Unity languages. I just find it easier to follow and the generic classes (lists, dictionaries) are very handy.

  2. Not very hard at all if you’re starting with a simple game and already have programming experience, but you have to keep studying and trying out stuff to expand your capabilities.

  3. Maybe it depends on how closely your game resembles that TV show. Might be a good idea to get legal advice if you’re really going down that path.

Well, I have to learn C# through the internet which will make things harder, how many months of experience would you recommend me to have before I start with unity? Keep in mind that I know most of the basic C# stuff (due to pascal, just different ways of expressing certain things) however I still need to learn the intermediate/advanced C# part

EDIT: Also been searching around and people prefer Javascript for unity over C# and they say it’s much faster to write code and just as effective / also easier to learn.

My question is:

is javascript mainly for those flash games / browser games? Or you can do a very high quality MMO with it too?

  1. I really recommend C#. A lot of the free online tutorials you’ll find use C#, but there are also ones that use javascript. I just personally prefer C# because that’s what I’m used to. Anyway, just use whichever of the two you find more comfortable using.

  2. Since you’re a gamer, I bet you already have a pretty good idea of certain gameplay mechanics that you’d love to implement in your games. You probably have a good idea of what makes a game fun and interesting, so that’s already a good start. Having a natural love for games and the curiosity as to how they work can really help you a lot when you’re just beginning because instead of looking at tough problems as something bad, you see them as only things that you need to understand in order to make the game you like. A programmer with beginner or average experience shouldn’t really have any problems making a simple game. The more complex your game, the more experience and knowledge you need of course.

  3. I also love Dragonball! Anyway, if you’re going to sell a game and it’s based on a popular show or something that already exists in this world, then it’s pretty much guaranteed that the people who own the rights to that show/movie/cartoon/whatever will not like it if you make money off of their stuff without their approval. If you want to make games based on popular existing things, then like what someone said, you’ll need to deal with all the legal stuff first. You don’t want people or companies suing you just because you made a fan-made Dragonball game and you’re making money off of it. Still, this shouldn’t deter you from trying to make a game out of it if you’re just doing it for yourself or some friends, that’s part of the learning process anyway.

Just sharing some more stuff from my personal experience. I think one of the toughest challenges that a lot of new starting game developers will meet right away is the lack of assets. For example, let’s say you want to practice making a 2D side scrolling spaceship game like R-Type or a 3D platformer like Mario 64. The problem is that although you might have an idea on how to code the project to make things work, you won’t have the necessary art, sounds, and 3D models to use! You can of course try using Google to find some free assets to use in your project, but most of the time, these freebies aren’t exactly what you need. The biggest problem is if you’re trying to make a 3D game project and you only have 3D models without any animations in them.

If you’re just one person who has no team or access to anyone who can make assets for you, and the free stuff you find on the net just don’t fit within the context of your idea, then you’ll have to learn to do a few things on your own. It’s of course hard, but once you learn how to make your own assets, you’ll be able to learn much quickly because you won’t be limited by the lack of assets anymore.

Anyway, here are some suggestions that you can try to learn on the side if you have extra time:

a. Try to learn how to use an image editing program like Photoshop or whatever free image editing program is available.
b. Try to learn some principles about animation. It helps in giving life to your creations through believable motions.
c. Try to learn about 3D modeling/sculpting. Popular software include 3DS Max, Zbrush and Maya, but of course Blender is there if you need a free one.
d. Try to learn about retopology and edge flows in order to make your 3D models easier to animate.
e. Try to learn about “baking” or transferring details of a high polygon model to a low polygon version so that the low polygon version will look just as good as the high polygon model.
f. Try to learn about rigging your 3D model so that it can be animated, and try to learn about skinning so that when your 3D model moves, it won’t look like it’s being torn apart by an invisible monster.

Of course it would be great if you can just focus on what you want to do when it comes to game development, like if you’re a programmer you only focus on code stuff, if you’re an artist then you focus on that and so on. Unfortunately, not all of us have the luxury of having access to people with different specialties, or sometimes we can’t really join a team because of other real life matters. Sooner or later, we’ll have to be able to multi-task to get things done. You don’t need to be at the master level to create assets especially if you’re still just starting, as long as you’re able to create things that you can actually use in your project without being stopped just because you have nowhere to get them from.

If you really want to learn more, it would be a good idea to invest in books and training material:

1.Learning C# by Developing Games with Unity 3D Beginner’s Guide - Terry Norton
2. Beginning 3D Game Development in Unity - Sue Blackman
3. Unity 3D Game Development by Example - Ryan Henson Creighton

There are a lot of books and video training materials on Amazon, Digital Tutors, and Lynda that deal with making games in Unity using C# or javascript. The important thing is you get actual hands on practice. In my personal opinion, doing something yourself is the best and fastest way to learn. Instead of copying and pasting the code from books, type them in yourself so that your mind will think about them more and you’ll have an easier time retaining the ideas being presented to you. Most of all, don’t be afraid to experiment. Following books or tutorials will indeed point us in the right direction, but experimenting on your own using stuff you’ve learned is something I find more useful because you’re not just following instructions anymore, you’re putting into use what you’ve learned in your own way.

Anyway good luck and have fun in the world of game development, I hope I was able to give you an idea of things that you might have to deal with later on.:slight_smile:

1 - C#. UnityScript is also good, just remember that it’s far enough from ‘true’ JavaScript that it’s not really the same thing at all. However, I also had prior training and background with C#. I’d suggest UnityScript to start with - you’ll find later that the two languages have more in common than apart from a technical perspective, so transitioning to C# shouldn’t be too bad.

2 - Very difficult, because making a game is difficult. All Unity does is provide a streamlined way to put the pieces together; this isn’t the hard part. Creating high-quality pieces that interact well and cause the player to have fun is way more difficult than it sounds, but it is doable. I think your question is the wrong one - consider asking instead, ‘How do I make a game?’ and, ‘How can I get a player to have fun?’ instead.

3 - Yes. However, you can’t be sued for game mechanics. Thus, if you had a martial-arts themed game where each hero has four evolutionary phases that drastically increase their power at each juncture, you very well could do it. Just, don’t use the trademarks or imagery of an existing franchise.

I highly suggest you take such an approach, as it well help you flex your creative muscles. I did something very similar with my latest project, The Hero’s Journey, based on an older NES game, The Legend of Zelda 2: The Adventure of Link. You may even find that you can improve on something you love!

A slight difference (but a very important one), it’s UnityScript - not JavaScript. The syntax is very similar, but they are quite different. Everything that can be done in Unity/JavaScript can be done in C# - and the other way around - neither is more powerful than the other.

Also, I don’t know where you heard that about JS over C# - I’ve always found that the community generally favors C#, and JS is taking a backseat.

If you know Pascal, you should be able to pick up C# pretty quickly -it’d be learning how Unity/Behaviours/Transforms/Vectors work that would take the most time… I’d say jump straight in, do something simple.

Whoever these “people” are, they are clearly insane and you should not listen to them.

They are not, UnityScript is just as capable of C#, and may be a little easier for a newcomer to grasp. Also, what qualifications and/or superpowers do you have that let you give a diagnosis of someone’s psychological state based on the programming language they suggest to a newcomer? If any exist, I need to contact your professors immediately and sign up for classes, because that didn’t quite make it into my education, somehow.

I would actually recommend learning UnityScript, as you have no prior programming experience. UnityScript’s syntax is a bit friendlier to a newcomer. And if you actually progress as a programmer, then at some point you will find that a stricter language like C# is way better. But if you have learned one language, learning another is a piece of cake as all the logic is the same.

False.

Marginally, though that was back in the days when Unityscript was the main language used for Unity Documentation Examples.


My advice:

Stick with C# - there’s far more resources on it and it’s a far more capable language in the long term (and yes, I did start with US back in the day). It’s marginally harder to learn in the short term - however this should be offset by your existing experience - and in the long term it’s a far easier language to work with.

Dive in today - there’s no need to wait. Find some basic video tutorials (there’s plenty on youtube) and follow 'em.

Do your own thing - using someone else IP is not only extremely risky, morally and legally wrong, it’s limiting your own creative expression and problem solving capabilities.

  1. everyone has their own preference but I personally dont see that one specific language is better than another. You can do the same thing with both languages. I recommend you start with unityscript, its a bit easier to start off with and then once you feel comfortable with that you can move to c#. But in the end, its pretty much the same thing, just different syntax and a few different ways of doing things but really if you know one language then you know them all. You can make whatever it is you want with unityscript and you can do the same with C#. No need to argue about which is better. Or, if you don’t want to take the programming route you can always buy Playmaker from the asset store which is a visual programming tool that lets you quickly build FSMs. Its a great tool, saves a lot of time that you would of spent on writing code and I highly recommend it for game dev if you dont know how to program or do know how to program. (and I know unityscript and c#)

  2. I agree with some of what Asvarduil said. Such as unity only being a way to put the pieces together. In Asvarduils post he mentioned “to think about what the player will find fun”, while this is true and more likely how the real game industry operates I have a different approach. I think its best to just work on whatever idea you like, dont worry about what the player will find fun. Focus on what you want to make and put it out there and see what people think.

But before all that, you need to start off. and I think starting off is the hardest part about being a game developer but overtime you will learn a lot and things will become easier. You will need to learn other software such as 3d software, like Blender for example if you want to create your own characters, animations, props, game assets etc and that is a completely different subject. Being a solo game developer means you need to know how to do a lot. There is a lot of different areas in game design you need to learn about and this involves learning how to use a number of different softwares, and not just the unity game engine itself. And its not just learning how to use the software, its learning about the all the different stuff invovled in that certain area. Like 3d modeling for example, you need to learn about meshes, what makes a good mesh, organic and non-organic modeling, how to make characters, optimizing models for a certain production, texturing etc. Animation, how to rig objects or characters so you can animate them, how to animate stuff, different approaches of animating, etc. So aside from learning how to put your game together in the unity game engine, you need to learn about all the other stuff that goes into game development as well. Learn about all the different areas then bring everything you learned together to make the game you want. Its a lot of hard work and will take a lot of time and practice but it can definitely be done if you really want to do it. Unity alone will not just make your dream game come true.

  1. like others said it depends. I think its best to just work on your own creative ideas.

I’d just point out that this phrase is a myth and I’m not entirely sure how it got started. Yes moving from a language like UnityScript to C# (and vice versa) is fairly easy because they share many of the same concepts and libraries. However if you were to go from C#/US to a language like Brainfuck or F# or Erlang the situation would be vastly different - and as such requires considerable learning and relearning. It’s good learning experience (and I recommend it) but it’s by no mean the ‘same’.

For example:

i += 1;

Is perfectly valid C#/US. However in Brainfuck only one of those characters even exists (all others are considered comments), and in erlang or F# it would simply not compile as types are generally immutable.

Thank you so much for all those replies! I’ll start learning C# right away and still will learn pascal until I’m done with it. Will start making a 2d game then will move onto harder but still basic games until I feel like I’m ready to make a decent game. Will also be using 3dsmax for animations/graphics then I’ll pay someone to do the art when I focus on actually making the main game.

Thanks so much guys!

I see what you mean with using similar things related to the game as long as I don’t make it 100% just like the TV Shows.

Another thing. For example “naruto” is a popular tv show and they have several elements and each special skill has a certain name in japanese, since those words really do exist in the real world I can still use them since they’re not protected (since anyone can say them/use them) right? As long as I don’t make the skills 100% like the series itself

You’re probably right in theory but if it’s similar enough they still might take some legal action. Consider how much resources you would have to go against a big corporation. I think it’s better to be safe than sorry and not walk a line too thin.

You can google tons of solutions for common problems involving C#, whereas Unityscript is Unity related sites only. That alone makes it a no-brainer to me for someone new to both.

C# is easier to start with than unityscript, because this community has been moving towards C# for some time, and even unity are not using unityscript to teach beginners anymore.

Hey there, speaking only from my personal experience, here’s what I recommend.

  1. Java/Unityscript. I think this is easier to learn if you are just starting out. However learning C# will help you out if you plan on doing any coding in Xcode using Objective C.

  2. It’s easy to learn how to make games in Unity. Making a good game and one that someobody wants to keep playing is the hard part.

  3. I can’t help you there, sorry.

I’ve answered your question in more detail on the latest show: http://bit.ly/1dBrPTG

Hope that helps.

UnityScript is easier but not better. Boo is barely used. C# is the best by far. It might be a bit more strict but you have so much control. Also I find C# to be so much more fun than the other languages.

One last thing. This piece of advice is extremely important that beginners never realize. Do your coding first then the graphics! !!! People usually pay for art then realize that they can’t make a game or that the game is not fun. Please remember this! Anyways good luck

It’s not ‘easier’…

1.) Having Visual Studio’s intellisense with C# beats MonoDevelop/UnityScript intellisense any day. Add Resharper for even better functionality and ‘easier’ coding.

2.) Having a vast resource called the internet of C# tutorials, video tutorials, documentation certainly makes C# easier to learn. Whereas the only UnityScript tutorials you’ll find are those limited to Unity.

So can people please stop claiming UnityScript is easier, because it certainly isn’t.