I feel like an idiot

Every time it listen to a podcast about people making games in 2 seconds, it makes my efforts to make a simple game in Unity feel like I've been running in circles. Whether it's Idle Thumbs or Sup, Holmes?, the people talking sound like they could literally make Skyrim in 2 days; I, however, can't even make a proper main menu. I've been messing around with PyxelEdit with little success; I've been using GiMP to try and make number textures with little success; I've tried to make a main menu in Unity where the GUI slowly moves left to right when a person presses a button with little to no success.

The worst part of this is that everyone keeps telling me to talk to people about what I should do; yet when I do, the people (who are usually programmers by trade) just assume you're such a dumbass they're surprised you could even figure out how to turn on a computer and use it, let alone talk about what you want to do in a game engine. Whether it's on Unity Answers or StackOverflow, the commenters seem to just not want to help you out. The worst part of this is that it took another person in a separate project I'm working on to help me out, making the previous venues of Q&A relatively obsolete for me; neither of them are (or have been) useful to me in a high percentage of the time.

20 Comments
20 Comments
Posted by Rxanadu

Every time it listen to a podcast about people making games in 2 seconds, it makes my efforts to make a simple game in Unity feel like I've been running in circles. Whether it's Idle Thumbs or Sup, Holmes?, the people talking sound like they could literally make Skyrim in 2 days; I, however, can't even make a proper main menu. I've been messing around with PyxelEdit with little success; I've been using GiMP to try and make number textures with little success; I've tried to make a main menu in Unity where the GUI slowly moves left to right when a person presses a button with little to no success.

The worst part of this is that everyone keeps telling me to talk to people about what I should do; yet when I do, the people (who are usually programmers by trade) just assume you're such a dumbass they're surprised you could even figure out how to turn on a computer and use it, let alone talk about what you want to do in a game engine. Whether it's on Unity Answers or StackOverflow, the commenters seem to just not want to help you out. The worst part of this is that it took another person in a separate project I'm working on to help me out, making the previous venues of Q&A relatively obsolete for me; neither of them are (or have been) useful to me in a high percentage of the time.

Posted by TaliciaDragonsong

This is a feeling many artists often encounter.
 
The trick is to keep breathing and keep trying. Educate yourself and use guides. There's no shame in seeking help from written guides or other aspiring artists. I want to ask my idols how they did what they did but that's just not a thing to do. Just keep trying, keep working and stay open for improvement.

Posted by Salarn

You want to make something scroll left when the player presses a button?

Do you have an script with an update loop that moves the x position of the object in the negative direction when the input button is depressed?

Posted by twigger89

@Rxanadu said:

Every time it listen to a podcast about people making games in 2 seconds, it makes my efforts to make a simple game in Unity feel like I've been running in circles. Whether it's Idle Thumbs or Sup, Holmes?, the people talking sound like they could literally make Skyrim in 2 days; I, however, can't even make a proper main menu. I've been messing around with PyxelEdit with little success; I've been using GiMP to try and make number textures with little success; I've tried to make a main menu in Unity where the GUI slowly moves left to right when a person presses a button with little to no success.

The worst part of this is that everyone keeps telling me to talk to people about what I should do; yet when I do, the people (who are usually programmers by trade) just assume you're such a dumbass they're surprised you could even figure out how to turn on a computer and use it, let alone talk about what you want to do in a game engine. Whether it's on Unity Answers or StackOverflow, the commenters seem to just not want to help you out. The worst part of this is that it took another person in a separate project I'm working on to help me out, making the previous venues of Q&A relatively obsolete for me; neither of them are (or have been) useful to me in a high percentage of the time.

As a fellow amatuer programmer/game designer, I feel your pain. There seems to be a large gap between people who don't know anything about computers/code/systems at all, and then it jumps straight to people who have already made their first game and who want to step it up a notch. I've bought a couple of books that help me understand things in theory, but there is nothing better than getting help from an actual person who can explain things in a way is logical, and not patronizing. Hopefully there is a resource out there that we just don't know of, and if I do find it I'll be sure to let you (and every other person I can) know about it. Good luck man, and may the force be with you.

Posted by TyCobb

Just stick with it, but stick with the very basics first. Don't worry about textures or anything fancy. You need to just work on one thing so you are not stretching yourself out too thin. It should also help you learn an area better because you were consistently working in that area.

People are willing to help you, but it depends on what you are asking. StackOverflow is NOT a forum or place where you just ask for general help. StackOverflow exists mainly for questions on why something isn't working and you posting some of your code so other programmers can take a look and determine what is wrong. It's frowned upon to just ask for general help because that is not the point of that site. Basically, don't ask, "I need to make X. Can you please post Y?" If you have to post something on there, make your question specific with code samples and you will probably get more help. Also if your Acceptance rate is low, many people will instantly ignore your question because they don't want to waste their time.

Posted by audioBusting

Yeah, programming is hard =[

Don't rely on places like Stack Overflow to learn programming. People program in different ways and usually each programmer thinks their way is the best way! And sometimes, all the answers are actually bad and we just don't know better, it'll become a bad habit.

Posted by TyCobb

@audioBusting:

Yeah, programming is hard =[

Don't rely on places like Stack Overflow to learn programming. People program in different ways and usually each programmer thinks their way is the best way! And sometimes, all the answers are actually bad and we just don't know better, it'll become a bad habit.

Correct, StackOverflow is not a learning site.

I wouldn't necessarily say that all the answers are actually bad. It's just a lot people have a habit of saying "I need X to happen", when really they meant, "I need Y to happen when X occurs". There's a lot of assumptions that have to happen when asking for programming help online. You need to be clear and post examples of what you are trying to do, what you have tried, and code snippets. It could be as simple as, "don't you want to check x==y instead of x != y?

To your point on programmers that think their way is the best -- well, yea. Every programmer has their own style to do things and it works (at least I would hope so if they are continuing to do it). That's the joy of programming. Expressing yourself in code. Of course some ways are just off the wall retarded, but that's something that should get corrected through experience. If you get 20 different ways to solve your problem, just grab the one that makes the most sense, and if you are a beginner, grab the one that you know how to read and can tell what is going on.

The problem with learning to program today is that there are a thousands of websites and millions of code snippets. That sounds like a plus, but I have seen too many people just copy and paste code and expect it to work. It doesn't work that way. It may make your program function, but guess what... you just learned dick if you didn't actually step through it or take the time to read what each line is doing. It not only helps you learn the language better, but it also helps you to learn how to read code and know what it is doing without actually running the program. There are way too many people out there that can make a program, but not actually explain what is going on and that is sad. They wrote it, but cannot explain how it functions. I can only offer my advice of, take your time, don't rush, and try to figure out what everything is doing. You will be a lot more knowledgeable and retain a lot more information. Also, you'll spend a hell of a lot less time debugging if you have a general idea of what you need to do and how to accomplish it.

Hopefully this will help someone.

Posted by Akrid

It takes a long time to get where those people are. It is their job after all, so the majority of every day is spent perfecting their craft.

It's also easy for the more advanced to lose sight of their early struggles. Rest assured that they went through all the same shit as you, and they decided to just power through it.

Posted by Rxanadu

Thanks everyone for cheering me up and on. It's refreshing, in a way, to notice so many people who are going through similar pains as I am (i.e. people who are not complete novices but not experts that have questions they need help on)

I still have some questions, though: have you ever been in a situation where no matter how much information you gave in a post about something (say a coding problem on StackOverflow), the replies read like people who only read the up to the first two lines in your post and spat out an answer without giving much thought to it? Even when I post my entire script (which, for me are barely 50 lines), the replies suggest that I either use a tactic that botches my entire code, use a plug-in that would ultimately not help me in what I need to do (and take me about a week to get used to), or suggest another site to help me out (which just feels like a cop-out).

Posted by Salarn

@Rxanadu: Because people are lazy and like to think they are smarter than they really are, especially on forums.

I am not exempt from that rule. :)

Full solution to your code problem as follows, don't read if you want the Hints version:

void Update ()
{
if (Input.GetKeyDown(KeyCode.Space))
{
AnimateGUI();
}
}

void AnimateGUI()
{
if (myBoxLeft == -200.0f)
{
while (myBoxLeft < 20.0f)
{
myBoxLeft += 5.0f;
}
}
else if (myBoxLeft == 20.0f)
{
while (myBoxLeft > -200.0f)
{
myBoxLeft -= 5.0f;
}
}
}

So what's going on in your code is that you're using a while loop inside of your animate GUI call, when the user presses 'space' the code will loop through and move your box all the way in one direction before returning from that function. Hence you see it happen all at once as if it jumped, the fact is it did move you box bit by bit just there isn't a chance to re draw it's position in between nudges.

So what does this mean? Well on the plus side you're pretty close to the goal, you just need to move a few things around.
1) First, change your update loop. You want to animate on every frame so move AnimateGUI() out of the conditional, then second change how the conditional works. You only want to start an animation while an animation isn't currently running. Since this box slides both ways, we'll turn that direction into a control variable.

float m_fBoxDir = 0.0f;
void Update ()
{
AnimateGUI();
if (Input.GetKeyDown(KeyCode.Space) && !m_fBoxDir)
{
if (myBoxLeft == -200.0f)
m_fBoxDir = 5.0f;
else
m_fBoxDir = -5.0f;
}
}

2) Now every frame you will attempt to animate the box, so that function needs to change a little. Nudge it just a bit and then leave, eventually enough frames will pass that the nudges will add up and your box will be into position and the tween will turn itself off by setting m_fBoxDir back to 0.0f

void AnimateGUI()
{
if(!m_fBoxDir)
return;

myBoxLeft += m_fBoxDir;
if(myBoxLeft <= -200 && m_fBoxDir < 0.0f)
{
m_fBoxDir = 0.0f;
myBoxLeft = -200.0f;
}
else if (myBoxLeft >= 200 && m_fBoxDir > 0.0f)
{
m_fBoxDir = 0.0f;
myBoxLeft = 200.0f;
}
}

Huzzza! (Note I didn't test this code)

p.s. formatting on this forum sucks....

Posted by Ghost_Cat

I wish I knew of a helpful site to suggest, but just never give up. Programming is hard, and it only gets easier with time and practice. Also, it's easy to lose focus and try to tackle many problems at once, when it's better to work with one at a time.

Posted by Sackmanjones

Oh god I'm so out of my league in here. Don't worry duder your miles ahead of me.

Posted by TyCobb
Posted by BestUsernameEver

Breathing while also keeping conscious is the secret, and will help you out in the long run in game development. Hang in there, it only gets harder.

Posted by glyn

ask mark zuckerburg

Posted by Salarn
Posted by Video_Game_King

@TaliciaDragonsong said:

I want to ask my idols how they did what they did but that's just not a thing to do.

You ask them to write a book about it.

Edited by TruthTellah

@Rxanadu: You should watch the daily livestreams going on right now for Double Fine's Amnesia Fortnight game jam. Look them up on google or twitch.tv. http://www.humblebundle.com/double-fine They're definitely skilled at making these games rather quickly, but it will at least give you a more realistic frame of reference for how real game development goes.

Posted by 49th

I don't even want to be doing much programming but the course I am on has so many programming modules it drives me mad. It's so frustrating when you don't understand where code should be or why or even how to solve problems and I always end up coming up with some obscure work around with my limited abilities which turns out shit. Also, fuck OpenGL.

Posted by Salarn

@49th: I remember my OpenGL classes, and since they were over a decade ago I feel like a really old dude now. :(

I totally understand where you are coming from, I always annoyed the hell out of professors because I would always ask "Why?" to piece of code or assumed knowledge given to us to use in class without an explanation.

I went to class to learn how to code, not to learn how to use someone else's code. (Of course, this conflicted greatly with my crippling laziness so once I understood the why it was 'BRING ON THE MIDDLEWARE!" whenever possible.)