For years I have wandered within the world world of gaming. I have witnessed the marvels of it and the power it possesses to move the heart and impact the soul. The creators of these video games have not created games that I played; but games that I have experienced.
I was able to laugh and cry. Dwell within the wonders of the known worlds they have created and explore onto new worlds that they have mined with mysteries. I have sought justice in them as a hero, and have fallen into its depths as a villain. The heroās life was my life, and his friendās were my friends. As a child I was immersed and amazed, that another man can create this experience that filled me with a mixture of emotions that resulted in satisfaction and fulfillment. Then, I discovered masturbation and everything changed!.. I jest :p, anyways.
I have sought and striven and held my resolve to create those experiences for other people (Video games). However, I grow old and weary (I near 22 years of age); and I fear that that ship has sailed far away for me. That does not mean that I shall give up. I have done my research and know very well the hard ships of a video game developer. It is a road that I must pave myself through rocky mountains and vast obstacles. But passion is my steed and determination is what I feed it.
I ask of you this:
I wish to study the art of game programming through Unity 3d. However, My financial life is humble at best and my skills are that of a monkey that knows not how to peel a banana. In other words, my programming skills are closer to the negative than zero and I know not how to start my way.
I need advice my friends :s
If in any case the question arises the games I wish to create a genre of are as the following:
-RPG (story driven)
Fighting Game
Forgive my blabbering for it is the mouth that utters the words, but the heart speaks them.
Greetings to you as well, I hope you find happiness and health upon this fine day.
Now straight to the matter at hand. I must say with a most humble resolve that you have indeed found yourself in the greatest of opportunities, of course I speak of the chance to be a Game Dev. One must merely put forth the effort that is required and stand fast in the most troubling of times, and the greatest of treasures will surely be yours, this of course being the treasure of people actually playing your game. Yes indeed a shimmering game that shines like the sun, and runs faster than the water buffalo himself. However before one is to achieve such grand accomplishments, ye must first surely watch all the training videos as linked below:
Masturbation eh? Well you need more inspiration than that my friend. Trying learning a programming language like c++ or c#. Buy a book about it on Amazon.
Welcome, you just found the most wonderful tool that is Unity. Apart from the things already mentioned, try a few free courses on C#, or learn as you go. Certainly a fight game or RPG should be easily possible even with a very modest pocket. Go for it - your imagination is your best asset; let it run wild.
Aside from learning Unity and one of the languages it supports, Iād also start with something like RPG Maker and learn actual game design, level design, etc.
Or use an existing, moddable game.
Itās one thing to know Unity and a totally different beast to make a game that is fun. Practice both skills. If you masturbate a bit less you should be able to make time for it.
I would suggest breaking down your game into tasks / learning exercises
in the case of a fighting game, I would break it down something like:
first
creating a world
adding objects and attaching scripts to them
placing a character image in the world
placing a camera in the world
placing a background image in the world
making a character move using keyboard
second
creating animations for characters
playing an animation using keyboard
applying physics to characters
making a character jump using keyboard
detecting collision between character and other objects
third
changing animations based on a characters state (stand, walk, punch, kick, jump)
handling collisions between characters
playing animations on collision events
handling collision between body parts (hand hits body)
playing sounds.
Howās your math? Youāll start needing a little knowledge of Vector math once you get into physics and collision. Luckily unity has some nice functions to help you out: Vector3.Distance(from, to) - gives you the distance between two points.
lastly, Debug.Log, Debug.Log, Debug.Log, Debug.Log. That is your only friend. Oh, and google.
Yeah honestly, donāt even touch Javascript in Unity. Learning C# will benefit you more because games these days usually are programmed in c#, c++, etc.
To me, javascript is āunsafeā because you can really get into some bad coding habits by using this language. For example, using āvarā and not specifying a type. I hate people who do that. ALSO. DO NOT PUT YOUR CURLY BRACES ON THE SAME LINE. EX.)
I have heard word of the thriving civilization that you people have built upon this site. I extend to you my deepest gratitude, and dare ask one more question.
Many have advised on learning the language of C# or C++, yet I know not where is the best place to learn them.
@OP
First and foremost learn to program. There are many, many resources around the internet for you to use. If you learn C# the skills you learn will also be applicable outside of Unity. Just keep learning everything you can.
Thatās not necessarily a bad habit. People have their preferences. I put curly brackets on the same line, as I think itās easier to read. I bet youād hate what I do when I have a short function (hint: I make the entire function one line, brackets and all)
C# would be the best bet for Unity. There are some tutorials on this site that can get you started. While it might all sound foreign, realize programming lays with-in a few main concepts. And donāt be afraid to ask questions, to be honest, I am having a difficult time programming my own game. Mainly because Iām new to this and I donāt have as much experience in making games as almost every one here.