Sign in to follow this  
CardboxCoder

How to Stay Committed?

Recommended Posts

Im not a veteran but what helps me stay focused it not working on the project all the time =p

If I limit myself to just a few hours a day im more likely to complete what im working on, than blasting out 30 hours in a weekend and not wanting to touch the IDE for a month.

Share this post


Link to post
Share on other sites
Quote:
Original post by CardboxCoder
I'm kind of new to C++ programming, and I find it really hard to stay committed to finishing a program/game. Do you veterans have any tips for me?


Not really. It varies from person to person. C++ is one of the more annoying languages around, but in the end programming is not easy (especially in the beginning).

Personally, I've taken to just not finishing a lot of things. It sucks, but most of my programming is for recreation. As long as my hobby projects fulfill that need, it's not the end of the world if stuff doesn't get done.

Share this post


Link to post
Share on other sites
Well the thing is that if you like what you are working on. I do not see why you would not want to dedicated the time to finish it. For me so far that has work, i have been working on a project now for the past 2 years and half, and i am still excited even today as i work on it. So far it is around 575k lines of codes.

Share this post


Link to post
Share on other sites
The only way I even could stay committed to learning C and C++ was through making simple programs that acted like games. I did have six years of experience programming before, however that was only in BASIC. What I did instead of making programs like "Hello World" and "Guess the Number!" I make programs that related to what interested me the most. So instead of learning a while loop like this:


#include <iostream>
#include <string>

int main()
{
std::string Office_Login = "0632";
bool Login_Accepted = false;

std::string Office_Input = "0";

while (Login_Accepted == false)
{
std::cout << "Enter Your Office Login:____\b\b\b\b";
std::cin >> Office_Input;
std::cin.get();

if (Office_Input == Office_Login)
{
Login_Accepted = true;
}
else
{
std::cout << "Incorrect Login!\n\n";
}
}

std::cout << "\n\nCorrect Login!";
std::cin.get();

return 0;
}





I would change it up and learn it like this:


#include <iostream>

int main()
{
int Menu_Number = 0;

int Fire_Number = 1;
int Quit_Number = 2;

while (Menu_Number != Quit_Number)
{
std::cout << "1 - Fire\n2 - Quit";
std::cout << "\n\nEnter:_\b";
std::cin >> Menu_Number;
std::cin.get();

if (Menu_Number == Fire_Number)
{
std::cout << "\n\nLazer Fired!\n\n";
}
else if (Menu_Number == Quit_Number)
{
std::cout << "\n\nExiting Fire System!\n\n";
}
else
{
std::cout << "\n\nInvaild Command!\n\n";
}
}

std::cout << "\n\nSystem Offline!";
std::cin.get();

return 0;
}





People have used this same technique when teaching kids who don't understand certain math concepts, and it keeps them motivated once you relate it to something they enjoy.

Share this post


Link to post
Share on other sites
Get people interested in your game. Show lots of screenshots/videos and give out as much information as you can via a blog or some other outlet. This does two things:
  1. It gives you feedback very early on in your development, which is the best time to make changes to the game
  2. It gets people bugging you about being able to play the game, whether it's a prototype, test build or full release. Satisfying a fan base is a great motivator IMO

Share this post


Link to post
Share on other sites
I've tried blogging, and am still doing it (once in a blue moon) - it helps to some degree, especially if you post screenshots. But if your commitment is very low, then likely you aren't getting much fun out of this. Don't force yourself if you don't want to.

For a quicker turnaround, you may want to try Python. You'll actually be writing games within a couple of days, and the lessons about programming and game development that you learn there will hold true in any language.

Share this post


Link to post
Share on other sites
Quote:
Original post by CardboxCoder
I'm kind of new to C++ programming, and I find it really hard to stay committed to finishing a program/game.

In the long run I use to ask myself "why am I doing this?" rather than using tricks to, well, trick myself into things [grin]
A good question would probably be, why do you want to dive into C++, what inspired you to make the decision?

Besides, there are advantages of not finishing things too, such as getting a broad experience of many small things.

Share this post


Link to post
Share on other sites
Quote:
Original post by CardboxCoder
I find it really hard to stay committed to finishing a program/game. Do you veterans have any tips for me?

1. Write small programs (no MMORPGs)
2. Write programs that do something that interests you

For example, I once was very interested in compression algorithms, so I implemented LZW and later arithmetic coding. When I was heavily into context free grammars, I wrote an LALR parser.

I also find it very refreshing to write about the things that you learn and talk to other people about them. The only thing you shouldn't do is write tutorials as long as you're still a beginner. There are enough crappy C++ tutorials already.

Share this post


Link to post
Share on other sites
I'm not veteran but:
First of all, play games in genre you like (for me its for example RPG) because when you play, you get excited and want to make your own, however don't start with big projects, go in small and climb up and up.

Next thing is to tell your friends that you are making a game, or learning to make a game. Why that? Friends that do care about you will be interested and every few time will ask "How is your game going?" if you did nothing (not because you really didn't have time or etc), you will say that you was lazy to do things, and people will get negative opinion about you, since they can not take your words in serious, but even if you did a small things, they will know that they can trust on you because you don't just say stuff.

Also try to educate your self, when you wake up and ask your self: "Should I work on my game today?" and if the answer is negative think for your self: "Am I sucks? I just say words without doing anything?" Try to piss your self out, and it should help, cause no body wants to be a looser, and if you think you are, or your friends thinks you are, than you should fix this, and show them/yourself that you are not. By the way, self education is important, and not only here, but in life in general, people who are not self-educated and can't stand in front of hard things, won't success a lot in life, cause they will be lazy to go to work/date.

This is the "methods" I use.
However never force your self, if you don't like what you are doing better not to do it. One more thing, you should not code 24/7, but try to have some schedule like 4 days in a week each 4 hours long. Because when you are excited you will start to code a lot, than you will see its not that easy, and you will start to code less and less and less, and in the end you won't code anymore, and if you have schedule and use the "methods" I provided or someone else provided/will provide, you will stay in shape.

Enjoy ;)

Share this post


Link to post
Share on other sites
If friends would think of me as a loser because I am slacking off too much, it would be past time to get new friends. :D Definitely don't overwork yourself though, coding too much too soon will just turn you off to the whole project.

Share this post


Link to post
Share on other sites
Often the hardest thing while learning a language is the real world applications that books seem to not talk about. Languages like C++ from a beginners perspective is difficult enough with you the proper way to teach things.

How I found and this holds true to any of the languages I have done is having a real world example to code. Doing Hello World is one thing, have perhaps someone suggest small, VERY small projects that you might be able to do. Or yourself think of something simple.

Like a text based game that has you walking down a path and giving you a number of forks in the road, you wald down the road and up comes another fork do you go left or right, there are dead ends, traps and the exit. It is a simple idea but using these can see more possibilities with the project.

Then from the above example you might want to put in some monsters to fight on the way. And before you know it, a text based RPG is growing nicely.

Trying the above, posting the code, getting feedback on your progress and help with making it better is one way. Have set goals that you can achieve easily with baby steps along with way make you feel better when you have achieved one of them, and the satisfaction gets better as you see the end product evolve.

I hope this is of some help.

Thanks
Michael

Share this post


Link to post
Share on other sites
I like to do what absolutely everyone discourages.
I like to take on a challenge that, at the time of beginning, I have absolutely no idea how to complete.
I then teach myself as I go, typically struggling and failing many times along the way.
Not the most effective way to learn, but the strategy allows me to work on what I find interesting, and this is a true motivator.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this