As for the self-help crap I generally agree as I don't like self-help gurus or new-age philosophies which tell you they have found the secret leading in a succesfull life. I admit though that in the process of searching for answers concerning the issues that have bothered me in life, I have stumbled upon a lot of these sites of self-proclaimed self-help gurus. Well, most of the times I didn't found "the secret" because if it was so simple then everybody's life would be much better than it is. All I found was some very general ideas that are too familiar and sound "oh-so-nice" to us and stories about how "this worked and changed my life", "my friend is a very different person now" and so on. Apparently most of the people who didn't gained anything from these ideas and those who think it's pure bull didn't bothered to comment on these sites.
But this is not the main focus of this post. I might write (or not) some more thoughts on the above in my Optimus Monologue blog. It's just that another link from the comments on the Coding Horror article lead me to a nice little tool which is an equation of motivation and makes quite a sense when used to describe various situations in my life where procrastination took over me. You might ask, do I need another equation to understand the obvious things? Does it have to be so logical? Isn't it about emotions? Well, I discovered that it helps taking a situation where for some reasons I am not motivated enough to work and speculate on each variable of the equation. Of course, I could just try to feel which parts of this work demotivate me. But it's much easier to reach some useful conclusion about what goes wrong or what could I change in my work process when going backwards. I could maybe see the key elements with my feelings but using this logic tool backwards helps me focus more accurately on the critical points and see what to change. I'd really want to explain my thoughts by writting about demomaking after posting and explaining the equation.
There are four variables in this. I'd say that Expectancy is mainly static concerning my demomaking hobby and the same happens with Impulsiveness which depends on the person and I'd say I have a fairly high one but not extreme. The most important parts for this study are Value and Delay. Let's explaing what those terms are in a nutshell (although the link I gave you above will help).
Expectancy has to do with negative or possitive expectation concerning the job you have to do. Do you have a low self-esteem concerning girls or job interviews? Then a low expectation concerning your success will kill your motivation or make you avoid taking action. Impulsiveness as I said depends on the person. High impulsiveness means that you want results/rewards NOW. If a specific task doesn't give you direct results but you have to finish the whole project or wait a lot to get some reward then as you understand this is a pretty unmotivating piece of work for a highly impulsive person. Value is simply what the word says. A very boring task or a job we don't want to do has a very low value. Delay is the period of time before we finish the task and get our reward. It's very much related with impulsiveness.
Let's give some examples relevant to my hobby. First about computers. Programming is a tough work for highly impulsive people. I know a lot of people who will read a programming book and expect to be able to do full blown apps in a month, yet be dissapointed and quit working because it really needs a lot of patience and years to learn. Maybe programming isn't about highly impulsive people or is it? Delay is big enough. It needs enough patience and work to move from a simple "Hello World" to something more impressive. For some Expectancy might be high enough too because it might feel impossible to them that oneday they might learn to write serious code. It won't be a case later (also a static variable that I will be able to remove) for me when I discuss later about my democoding motivation based on this scheme because I know I can code and I don't have doubts about it. Value. I said before that I consider myself to have somewhat high impulsivity. Maybe not extreme but something above the average. I might be wrong, but if I am right then how the heck did I learn to programm so well? Through lot's of pressure and insistence. I somehow REALLY wanted to be something in my life. I have chosen programm and I HAD to. Somehow this could be the Value parameter that made me insist on working on learning programming and doing my first demos regardless my Impulsivity to play games or surf the internet instead. I am not entirely sure about this but it's a nice first guess compared to the motivation equation.
Games. Internet. What do they have in common? Almost zero response to reward time. Delay is close to zero. The fun is NOW! That's why they are so popular among procrastinators. Value is high too in a way. I already said it. FUN.
Let's go on with this. Time of reward. A very important factor. Remember the old saying: Focus on the journey, not the destination. Let's put it aside the equation. It made sense even though I had a little trouble here determining whether I have assigned this to the right variables. I can't say since sometimes these variables might be interconnected (for example Delay and Impulsiveness). But let's see this. I wrote about games/internet above and how we prefer them from hard work. Delay is NOW aka the Journey. Reward is instant. In a programming job you usually long to get something working. It can be either finding a little bug, writting a piece of code, completing an important algorithm or even the whole project. The last one was my usual mistake. This is the destination. Delay would equal the whole time of the project completion. This also makes sense with the saying about splitting your work into smaller parts. You focus on completing the smaller tasks and thus the Delay factor is much smaller thus increasing your motivation. Not if you always long for completing the whole project though.
This is where it seems to me that Value and Delay are interconnected. Say that you have a very boring project to finish. You are longing to finish it so that you can finally get rid of it. The Value factor of getting rid of the damn thing is quite high because you will be relieved from this nuisance, yet you get your reward (which is only completing it, the destination) after a long time, thus the Delay factor is also big. What can you do? You could reduce the Delay factor a lot by splitting the whole project into much smaller tasks. But what about the value of each of these tasks. Considering that it's just a boring project that you want to get rid of, it's quite possible that these parts and generally the whole process (aka the journey) don't give enough Value points to get the thing moving on. This is the part where they say you should FIND motivations but I never manage to do. But it's quite logical considering it's a project that you have to finish but don't want to actually work on. I quote Tales of Mere Existence
I have a project I have to do. I have a project I need to do. I don't know if it's a project I really want to do, but I do know that I want my project to be done.
So, what happens with demos? Luckily I think it's not the same case as in a boring university/professional work you might be in the miserable position to HAVE to do but NOT WANT to. Because it's a kind of hobby where it's possible to enjoy the journey too. My mistake was that I was focusing on the far side of the road, the destination. I was too obsessed with seeing my demo released and it's a thing that worked positive as a motivation at the beginning but faded away by the time. In the interconnected equation, when I value the destination (So we can say, the Value is the number assigned to how much I'd like to see my demo released) the Delay gets big. It needs too much patience to work hard for months while longing for the single day when my work is done and it's definitelly not the right way to motivate yourself. But this time you can do something better to keep working while moving your mind away from the thought of releasing your work. Ask yourself, which smaller parts of demomaking do you enjoy more? Can you focus on just doing these parts and forget demomaking for a while? You will end up still doing effects or small parts that can be later connected to do a bigger demo while still feeling active and being all happy about it. Congratulations! Big Value and very short Delay (aka fast rewards). Can you get away from the demoscene releasing to the crowd virus and just concentrate on what you love for a while?
It took me so long to start learning doing this because this equation is missing some other factors. Emotional habits. Psychology. Being in the scene. I recal wondering: But how can I just focus on effects and little algorithms? I need to show my work to people. They want it in some complete "demo-format". What if I end up only doing effects that I keep in my HD and never complete any demo? I tell you now that this is bullshit! With this psychology you can't be motivated to work at all. It's better just doing effects and little experimentations just for you than longing for showing something to the crowd and maybe your effort being acknowledged. Even if there is the fear of never contributing with a full blown demo, at least my final plan works! You have to understand it and slowly slowly integrate this new philosophy of creativity in your life. The equation explains afterwards why this works better but doesn't give you the tools to change direction in your life/hobby so that to not make the same mistakes. It's just nice how it reflects the more correct direction I recently took with my hobby.
About Value, there are different qualities in it. Finishing a demo has a big value even if it takes time (big Delay). The second approach has both a fairly good Value of enjoying every moment coding stuff that you like and a much shorter reward time (small Delay). But even if both Values have big numbers, what is of more quality? Doing stuff only for the final reward however big or enjoying the whole essence of coding every single time? Apart from that, the first choice had not always positive value. A lot of things where happening with this approach, for example first came happiness of releasing stuff within the community but then sorrow was second with some people dissing your work or not getting enough of the response you longed for, forcing you again to get into the same cycle of HAVING to work hard so that maybe they appreciate your next work. It was full of shit (apart from strawberries :).
I have come to the conclusion that the best strategy for me is to just focus on the things that I love (code experimentation, optimization, retro platforms, etc) without planning to necessary (or early) release any of these in a demo. Yet, if this happens that I put my work in a full blown demo then the audience response should be considered as an additional bonus and not thought as the actual goal.
So, it's just a bonus. Just do what you love and people might appreciate it or not but you won't care about this enough if you have followed the second route and had a great time during the journey. The motivation equation just describes (and puts in order) some of my feelings in a more compact way. It might be a great tool to see what slows me down in other parts of my life too..
p.s. Some parts I left out. 4k or smaller intros are nicer because Delay is smaller than regular demo and Value is still good (fun and appreciation by the community). My Otinanum crapmos was my failed attempt to receive the reward of releasing something fast, aka Value is big enough but with very very small Delay. But that's a lie. I didn't enjoyed these project. First of all, where is the fun of coding good stuff that you like? Secondly they were mostly dissed by the community of course. Finally, I didn't felt for these reasons and other that the Value was big. So, by decreasing the reward time with a stupid way of releasing demos with the use of a shovel (as in shovelware?) I unintentionally decreased the value too. I know some groups (ISO, Jumalauta) did such tons of small releases and I don't know if they liked it but I definitelly didn't. Who knows, maybe I will release a bigger Otinanum demo oneday (I secretly have some sources :) where I actually enjoy the process of coding abstract, noisy or BITS stuff and get the kicks out of it. Still without worrying about the scene.
p.p.s. Now, will the motivation equation help me to get laid? Duh :P