Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

Where do i start?

Discussion in 'General Discussion' started by Steven_Von_Kelp, Apr 8, 2014.

  1. Steven_Von_Kelp

    Steven_Von_Kelp

    Joined:
    Apr 8, 2014
    Posts:
    4
    I would like to make a simple 2D game for a windows computer, but I would like to know what programming language should i learn for this? (please include the version). Also, for the idea of the game it was going to be a little pixel guy that is able to jump, shoot/attack, walk forward, walk backward, and pickup weapons. Then, he would be fighting like a small horde of pixel zombies and he could pick up weapons that the zombies drop. It would also have like pixely music and have the weapons make sounds as well as the zombies making sounds.

    Please remember I am like basically just starting programming and i would like replies to be in a lot of detail. Thanks :D
     
  2. goat

    goat

    Joined:
    Aug 24, 2009
    Posts:
    5,182
    Try these in this order:

    1. http://www.amazon.com/gp/product/0735668019/ref=ox_sc_sfl_title_8?ie=UTF8&psc=1&smid=ATVPDKIKX0DER

    2. http://unity3d.com/learn/live-training/archive (bottom to top)

    3. http://unity3d.com/learn/tutorials/modules/beginner/2d
     
  3. AndrewGrayGames

    AndrewGrayGames

    Joined:
    Nov 19, 2009
    Posts:
    3,822
    So, the trick here is to start small.

    The first thing you absolutely need to make is a single 'prototype' scene. This scene should have the following things, to start with:

    1: Your hero (it could be a cube.)
    2: Some blocks to jump to. (These can be cubes, they don't have to be anything fancy.)
    3: An enemy (it could be a cube that's colored slightly differently.)

    Your goal is to implement the basics of platforming.

    1) The hero can walk left and right.
    2) The hero can jump (this is the hardest thing on this list, just warning you now.) The hero can move left and right in midair, of course.
    3) The hero has an amount of health.
    4) If the hero touches an enemy, he takes an amount of damage that depends on the enemy.
    5) If the hero loses all of their health, they die, and spawn some special death effect.

    Each of these is a single task. Take them one at a time, possibly even in the order I've given. The easiest ones are 1) and 3).

    Don't over-engineer these; build only what you need to get the job done.

    In the course of this excersize, you will learn of what are called data types in programming. You store information as a particular type, in a variable (which, in the context of programming, means a place in memory with a memorable name where info is stored.)

    Health is usually expressed as an integer - that is, a whole number.

    There are also true/false states, called booleans (named after a branch of math that deals exclusively with every possible thing you can do with the values true and false.) You'll find those useful when implementing the Jumping part of your prototype scene, because you usually need to know if you are touching the ground or not.

    You'll also learn about conditionals. These are the 'ifs' in programming:

    In C# (my language of choice):
    Code (csharp):
    1. using UnityEngine;
    2.  
    3. public class PlayerControl : MonoBehaviour
    4. {
    5.     #region Variables
    6.  
    7.     public bool CanControl = true;
    8.     public bool CanJump = true;
    9.     public Vector3 JumpForce = new Vector3(0, 25, 0);
    10.  
    11.     #endregion Variables
    12.  
    13.     #region Engine Hooks
    14.  
    15.     public void Update()
    16.     {
    17.         if(! CanControl)
    18.             return;
    19.  
    20.         // TODO: Move left and right...
    21.         CheckJumpInput();
    22.     }
    23.  
    24.     #endregion Engine Hooks
    25.  
    26.     #region Methods
    27.  
    28.     public void CheckJumpInput()
    29.     {
    30.         // TODO: Determine if you are grounded, and thus can jump.
    31.         if(! CanJump)
    32.             return;
    33.  
    34.         if(Input.GetButtonDown("Jump"))
    35.         {
    36.             rigidbody.AddForce(JumpForce);
    37.         }
    38.     }
    39.  
    40.     #endregion Methods
    41. }
    Which language you choose depends on you; I recommend looking through the Unity documentation for examples. In fact, start with the Input class in the code snippet above. In the Unity language reference there are all sorts of helpful script fragments that you can use to figure out whichever language you ultimately go with.

    (Helpful Hint: You see my code block? You can actually click things like Input, Vector3, rigidbody, and Update to be taken directly to the help files, because the people who built Unity's forums are nice people. That should start you out!

    One last word, though - don't be afraid to ask questions! The Scripting forum is the correct place for that.)
     
    Last edited: Apr 9, 2014
  4. Steven_Von_Kelp

    Steven_Von_Kelp

    Joined:
    Apr 8, 2014
    Posts:
    4
    Thanks, also I have no idea what to buy to actually get started... like is there an indie version i could use? Or do i just buy the main windows thing.
     
  5. AndrewGrayGames

    AndrewGrayGames

    Joined:
    Nov 19, 2009
    Posts:
    3,822
    Unity Indie is free to download; you shouldn't need anything in Pro, as you're just starting out and learning the ropes.

    At some point, you may find yourself needing to model something in 3D - Blender is a good, free, tool for that. Also, GIMP is a good, and free graphics editor that is as powerful as Photoshop.

    Music and sound effects are a little more interesting. Sound effects can usually be purchased for small amounts of money - I recommend Sound Rangers, as they have a great selection of sound effects.

    However, those are for further down the road - for now, just focus on writing logic to control your game. Get your basic mechanics working and create a fun experience with basic stuff like cubes and quads. Pretty colors come later.
     
    Last edited: Apr 9, 2014
  6. goat

    goat

    Joined:
    Aug 24, 2009
    Posts:
    5,182
    You're feeding a troll. I am too. I'm amazed really.

    All the effort this person took to find the Unity forums, sign up for an account, and ignoring a very terse post that pointed directly where to go to get started and in the correct order and they yet can't figure out Unity has a free version or how to get started.

    Some prisons and school detention halls have internet access. I would suggest we use the Unity Gossip section for industry gossip than waste time on these type of posts.

    You can help folk in the appropriate sub forums or in Unity Answers where these type questions would be moderated.

    Posts from folks with less then 10 posts in the Gossip section seeking help are more likely than not, trolls. They're likely to come back and deny that but then we don't need to answer - we've given them what they claim to be searching for.
     
    Last edited: Apr 10, 2014
  7. AndrewGrayGames

    AndrewGrayGames

    Joined:
    Nov 19, 2009
    Posts:
    3,822
    He hasn't exhibited any trollish behavior to me, just cluelessness. Not knowing where to begin is not an offense. I've even directed his coding questions to the correct place.

    Now, if this trend continues? Then I would dismiss it as smelly troll-paste. But, unless that happens - and I have no indications to believe it will - I'll treat this new poster with respect.

    I understand why you say what you say, but maybe you should spend some time considering the difference between a legitimate complete newcomer and a true troll.
     
  8. goat

    goat

    Joined:
    Aug 24, 2009
    Posts:
    5,182
    Yeah, you maybe right but consider all the steps of non-cluelessness it took to find and get to these forums. And at the top right in big letters is Download. But I do suppose some parents allow very young children on the internet that might not know what 'Download' means.

    $UnityGoogle.png

    $UnityBing.png

    I'm all for giving the benefit of the doubt but after doing a Bing Google search Unity Tech makes it very hard to not find the resources being sought here.
     
  9. Jimmy_P

    Jimmy_P

    Joined:
    Apr 10, 2014
    Posts:
    1
    As a total newcomer and knower of nothing, I just wanna let you guys know that even though the OP may be trolling, legitimate newbies do read this stuff and I for one found all of this information very helpful.
     
  10. AndrewGrayGames

    AndrewGrayGames

    Joined:
    Nov 19, 2009
    Posts:
    3,822
    @goat - let me tell you a story. A recent one.

    You see, I've been interested in kendo - Japanese swordsmanship - for a while. I looked around, and finally found that here in Austin, we have a doshikai with active members and a sensei! I ordered my basic equipment and went to the first practice of the year.

    Being a complete newcomer, I had tons of questions - for starters, I didn't know how to even put on the training clothes (a hakama and keiko-gi), hold the shinai (it's a training sword made of slats of wood around a carbon-fiber core in such a way that you cannot deliver a highly damaging blow), or much of anything: this was completely new.

    The teacher's assistant, a 4th dan kendoka, mentioned, 'hey you can just look most of this stuff up on YouTube.' when he saw my difficulty. Not only had I done that before deciding to start with kendo, but I also bought a book from a 8th dan British kendoka to research things (I actually learned how to properly fold my keiko-gi from this book.) Needless to say, it hadn't helped, and being a Japanese martial art, things must be done correctly, in a certain way. I could not take it that my research was accurate on faith alone.

    My second lesson, I was a bit better, but still having trouble with things (particularly the hakama; when I say those things are hellish to put on the first few times, I am not exaggerating. They are pants that require skill to wear.) Eventually the 4th dan showed me where I had gone astray. Since then I've had the occasional issue (a couple of lessons, I had a bad habit of letting the back plate of the hakama hang down instead of up), but nothing too much, and I'm to the point where I'm actually understanding how these pants, my sword, my movements, and my general mindset need to work so that I can actually stop being a n00b swordsman.

    Right, so let's bring this back to Unity. When I see a post like the OP - who, I still assert is not trolling, unless he'd like to prove me wrong, but I'm hoping he won't - his ignoring Google isn't necessarily a bad thing. Google does not tell you everything about a particular activity, or software package, or skill. Game Development is very much a skill; this guy is a newcomer. As a newcomer, you will do some floundering around - people don't tend to learn unless they screw up a few times, I've found, but this guy is actually asking a pretty wise question: where do I start? He's taking nothing for granted.

    Not knowing how to download the free version of Unity probably follows suit, depending on where he was referred to Unity from. I found Unity in an issue of PC Gaming, which talked about ways to create a game using free tools; I followed the link they gave in the magazine and it took me a few seconds to figure out A) where the download link was, B) that I didn't actually have to pay anything for the indie version, which was newly released to the unwashed masses at the time, and C) once I had it...where to start? Bear in mind, I came from the RPG Toolkit prior to this.

    As Jimmy_P says, legitimate newbies do read threads - even those started by trolls. I'm not sure this guy is trolling; he just seems cautious to me, and given my own recent life experiences, I can't blame him. Starting something you have no prior knowledge of sucks. Props to him for courage, if he's legitimate. I don't think it's too much to ask people to keep an open mind, though, and instead of just saying, 'Oh this guy didn't google the download link, TROLL ALERT!', actually have an open mind, think before they type stuff, and maybe remember that once upon a time, you were just as clueless as him.

    EDIT: That, and his user name is not MrProfessorTroll. When I saw that user, my expectations were set just about immediately.
     
    Last edited: Apr 10, 2014