Check the facebook page!

If you prefer, you can also follow the Facebook page for this blog :)

Friday 23 May 2014

Tips on achieving greatness and knowledge while being motivated

Ok first of all I apologize for the confusing title.

I'm writing this to share with you something I learned by myself back when I was learning how to make an avoider game by reading tutorials (which turned into Sad Mary by the way, which I probably won't continue updating even though it's a mess).
And all this information I'm about to give you will, hopefully, make it easier for you to learn how to program or even program itself, as well as many other life-related activities that this could apply to, but I'll stick to programming since it's what made me realize this.

NOTE: Even though the examples I'm about to give are programming-related (mostly), this works with pretty much everything you encounter in life, so don't be discouraged if you don't like typing random strings of letters and symbols.



Short List

First of all, here are some bullet points that tell you what you should/shouldn't do and later I will explain it further.

- Split your work into really tiny portions;

- Do and think about only each tiny thing, at a time;

- "Forget" about what you've done and where you are headed, you should only be thinking at what that tiny portion you are currently in should look like when you finish it;

- When you are feeling like working, work it until you start losing your will to do it, you can always come back later by try not to spread it too far;

- Live in the "now" (this should apply to everything you do).

Pros/Cons and the Explanation

Ok so, what good will any of those bring you, you might ask. Quite a lot actually, at least comparing to the "traditional methods".

First of all, splitting a project into really tiny portions will help out your mind, motivation and confidence A LOT! 
Think about it this way, let's say you want to create a game, like it was my case. If you think about the whole thing you will probably feel overwhelmed! I mean, just thinking that you have to make/buy/get the art assets, make the menus, program enemy movements and player controls, score, program even more, create extra features, etc. 
If you think about it at once you will most likely be like this:

And you know what? It is, it is too much... to be done at once. That's where breaking everything into tiny parts and focusing on those is vital.

Let's take the same example, you want to make a game, so what is the first thing you want to do? This is entirely up to you, but for this example let's say you want to start with the player controls.

So you just open up paint, or photoshop, or whatever and draw a square and add a face on it just so you have something "tangible" to work with, like my Sad Mary face.

Ok now you got your player, cool... or not, it's probably ugly because you didn't care to make it perfect, it's not the priority anyway, so then you start focusing on coding the movement.

Just make a variable like speed = 5; and then add key listeners for the arrows, or whatever you want, and say that while that key is pressed, it should move a + or - X or Y.

Ok cool! Movement's done!

Let's do the enemy spawning now.
Go to paint, draw a circle with a face on it and you got another asset!

Now coding, ok add a random number generator for seconds so they spawn periodically...
randomize the X position between 0 and the maximum width...
while they are visible move them down by maybe 3 Y...
if they touch the player go to the GAME OVER screen...

"Hm... seems like everything is done here for now... but oh look, I just added a GAME OVER screen! Better do it now."

Open paint... draw a black square, write GAME OVER on it, perfect! Might as well make a retry button...

Ok so now, if the enemy touches the player we come here, the GAME OVER screen, let's add the button and code so when you press it return to the first frame/scene/etc and restart the game... done!


And would you look at that! You just made a functional game without noticing it!

Of course there would still be extra add-ons, like score, music, etc. but by splitting the work into tiny portions, everything will always look very doable and easy, and after you've done that tiny thing, just move on to the next and the next. And before you know it, you have no more tiny pieces!

Which I believe it's a good idea to list the pros of this method:

- Work will always look doable and effortless;

- You won't be stressed/scared/rushed/etc by thinking about everything you have to do;

- You will most like it do it happily and quickly because of the excitement of being able to do so much and so fast;

and, in my opinion, the best of all

- When you reach the "end" of your project is when you are going to look back at what you have done and you will be quite surprised of how much you have done and how far you've gotten!


When I was following the tutorial and went along with it, I was just following instructions. When I started, I knew that I knew how to code and that I understood it and etc, but never really felt comfortable with creating anything with it, how to make it work by myself without guidance, but when I finished the tutorial, I looked back and was like "WOW! Oh my God! Have I really done ALL THAT by myself? I mean, I know I followed a tutorial, but half of it was things I added on my own and they work! Holy s***! I can program by myself and haven't even noticed it! I have learned so much!"

Which brings us to the cons.

If you do things as I said, a tiny bit at a time and only thinking about that, you may not really feel or be sure of your contribution to the project, or what you've learned. However, in my opinion the feeling is much stronger when you only realize it at the end of it all, which makes me wonder if it really is a con :)

Conclusion

That's pretty much my tips to you: Split your work into tiny portions and do ONE AT A TIME without THINKING about anything else, just focus on your present.

And remember, "Worrying is like rocking a chair, it gives you something to do but takes you nowhere" so stop rocking that chair, grab a slice of that work-pizza, and eat it one bite at a time! (that was lame, I know...)


So thanks for reading! Have anything to add? Was this helpful?
Comment and let me know!


Cheers!

2 comments:

  1. I WILL SLIP MY WORK INTO TINY PORTIONS!!! D:

    ReplyDelete
    Replies
    1. Slip it then... uhm... if that makes you happy :P

      Delete

What do you think or want to share?