Motivation

Motivation

Postby drummyfish » 29 May 2021, 23:56

A bit longer post, sorry :)

In this topic @Vandar mentioned his difficulties with staying motivated and focused on one project. I'm sure every programmer and developer knows this. I was thinking about the topic and about how I learned to cope with the issue myself.

I'd like to hear your own ways, and I will present mine. In the recent years I have completed at least three projects I consider major and here's my reflection on what I've learned about staying happy and motivated in personal projects. They're just my own points, using my personal examples. Share your own in replies.

1. Non-commercial development has huge advantages, make use of them and enjoy its luxuries.

It is extremely important to realize that development of libre games is a realm completely different from commercial/proprietary game development -- not just in having free licenses and zero budget. There are wide implications of the way in which we choose to share our games, and these give us extreme freedom in HOW we can develop them. We may develop in ways people would want to develop but can't because they need to make profit.

Profit is the single goal of commercial game development. It's a fight and hard competition requiring a specific development processes that comes at a high cost: this process must be highly planned, organized, fast and predictable. For this it is hastened, ugly and stresses people out to very unhealthy levels. People must be paid huge money to go through this process. And yet I am too often seeing people make the mistake of trying to bring over the same development style and the same habits to libre games, paying the same cost even if there's no need to.

We have our own world and we do things our own way. Realize now that we don't need to be slaves to profit, market, investors or customers. You don't have to have a plan or even a goal. You can let projects sleep as long as you wish. There is no need to declare a project dead once you stop being able to dedicate 100% of your time to it. Feel free to have 10 projects at once and see which ones will keep your attention and grow.

Once you feel even a bit tired of a project, without any worry leave it and go start something else. Don't let yourself develop hatred for your work. For me, for example, the sleeping project now is a chess engine which I've already put a lot of hours into and which I've recently abandoned for my SAF project. I know I'll get back to the chess engine once the time comes: I'll be rested and with a fresh mind. It's almost a joy to come to a project that already a has solid foundation done by past me. I often take complete breaks from programming and just observe my mind lean towards specific projects I have waiting.

2. Simple and fun. That's what your development needs to be, and it doesn't mean it can't be part of something big and serious.

Unix philosophy (the "make simple programs" part) is great from engineering perspective, but it also conveniently comes with a psychological advantage for you, and that is that completing a small project is basically as satisfying as completing a big project. You need to complete things, see concrete results of your work in order to remain happy. And so again, don't mimic the commercial development that seeks to create a big thing in one chunk. Rather split your big idea into multiple smaller ones, e.g. independent libraries that will stand on their own as useful works for others, as something that you've already finished and that will later help realize the big idea.

This is how I was able to finish Anarch: I firstly only created the engine without any intention of creating a game. I spent a long time on the engine, it exhausted me and I had to take a long break afterwards, but I was satisfied as many people liked it. Only later have I decided to create a game, which was similarly exhausting, but I was able to do it as the engine was already there. Have I decided to create the whole game at once I wouldn have been able to do it.

3. Seek meaning, not recognition.

From what I've heard from others I am not alone in having hundreds of ideas for cool projects and therefore suffering from "analysis paralisis". What to do first? If I start something, new ideas keep coming and dragging me away from the current thing. I've realized that being cool is not enough of a fuel for a project. The projects that I actually completed were not just things I though were cool, but things I felt were absolutely necessary to come to existence. Something I felt was important for humanity to have (even if it's a silly small thing).

Find your own meaning whatever it may be. As an example I'll talk about my personal sense of purpose: The meaning I have found lies in the fact that there is basically no public domain game suckless software, and that is something I want to change. There are tons and tons of "traditional" software of all kinds and I probably couldn't make anything too significant there when there are millions of programmers constantly working in this area. But finding this empty space to fill -- public domain suckless software related to games -- I have found meaning. By writing something here I am literally the first person in the history to create such a thing. A Doom type of game that would be completely public domain was something that was alarmingly lacking in the world and that is what has driven me to finish Anarch.

Be careful not to slip into primarily seeking recognition for your project because that goal is very bad in general. It is very hard to satisfy people, their feelings are out of your control and success in this is passing. Your project's internal quality will suffer from trying to making it appealing on the outside, you will start to hate it but will force yourself to continue it for a little bits of extra attention. Just be sure you follow your own meaning and recognition will probably come naturally.
socialist anarcho-pacifist
Abolish all IP laws. Use CC0. Let's write less retarded software.
http://www.tastyfish.cz
User avatar
drummyfish
 
Posts: 448
Joined: 29 Jul 2018, 20:30
Location: Moravia

Re: Motivation

Postby PeterX » 30 May 2021, 00:20

I have mental issues which keep me from concentrating a longer time. But that doesn't mean I'm a hopeless case.

(My motivation problem is more a concentration problem.)

I may be distracted but I always come back to my project.

I reduce my programming projects to maximally 3. Mostly I focus on just 1.

I have a lot of ideas and dreams, too, but I throw them "away" for my most inspiring project.

And I follow the "Essentialism" philosophy. There's a book with that name. It's my favorite book. It explains: "If it isn't a clear Yes it's a clear No." We waste too much precious time with sheer being busy. If it isn't exciting or doing relevant good to others or myself then it's an energy drain. In other words: If it's not fun and doesn't help others and doesn't bring much-needed money then don't do it even if it seems/feels important.

I also try to add features to my unfinished game that let me enjoy playtesting it.
User avatar
PeterX
 
Posts: 270
Joined: 01 Oct 2020, 21:44

Re: Motivation

Postby ffaf » 30 May 2021, 12:16

Good post drummy, especially the third point. FOSS games gives us the "turf" to make a statement or try something really innovative and self contained. We need to enjoy and push that!
ffaf
 
Posts: 97
Joined: 04 Dec 2019, 08:59

Re: Motivation

Postby Lopy » 31 May 2021, 02:57

As a practical trick, I would recommend alternating between tasks. When a tasks takes too much time, it can become a chore which leads to procrastinating on it. However, if you simply work on another one for a little while, you can avoid procrastinating on the game itself.

Also, when you have an idea, write it down so you can forget about it, and pick it back up when you have the time for it. This allows you to free some head space, rework ideas more, and have a pool of refined ideas to pick from when you need to grab another task. The pile growing faster than you can empty it is normal.

@drummyfish great post, but I dislike the "commercial/proprietary". You can make money with open source or even free software, and not put any license on a gratis game. You seem to really speak about money rather than user rights.
Lopy
 
Posts: 12
Joined: 19 May 2021, 00:21

Re: Motivation

Postby drummyfish » 31 May 2021, 10:35

Lopy {l Wrote}:@drummyfish great post, but I dislike the "commercial/proprietary". You can make money with open source or even free software, and not put any license on a gratis game. You seem to really speak about money rather than user rights.


Oh yes, sure, I wanted to mention that not all libre games are non-commercial, but forgot -- thanks. Obviously this post is focused on those libre games that are non-commercial (or rather not made for money, even if they make some) -- in strictly commercial ones the motivation (at least one of them) is money, of course. Here I want to be discussing what motivations there are if it's not money.

Lopy {l Wrote}:Also, when you have an idea, write it down so you can forget about it, and pick it back up when you have the time for it. This allows you to free some head space, rework ideas more, and have a pool of refined ideas to pick from when you need to grab another task. The pile growing faster than you can empty it is normal.


Indeed. I have a publicly accessible file called ideas.txt where I write down any ideas I have -- I don't worry about people "stealing" them as I don't believe you can own ideas, and if someone takes my idea and implements it, I'm just glad it exists now. This is also connected to me saying you can have dozens of projects started, it's like writing them down but with the advantage that you can slowly elaborate on each idea, keep adding bits and pieces until it becomes a fully active project.
socialist anarcho-pacifist
Abolish all IP laws. Use CC0. Let's write less retarded software.
http://www.tastyfish.cz
User avatar
drummyfish
 
Posts: 448
Joined: 29 Jul 2018, 20:30
Location: Moravia

Re: Motivation

Postby PeterX » 31 May 2021, 20:32

Some thinking about motivation:

Normally everybody succeeds only in things he/she has fun with. Even if doing it for the money (for a living) it turns out to be harder if it isn't fun. Fun keeps you going. Of course some of us have fun helping others (some don't). I think when it comes to libre game programming you should only code game(s) that you really like to play yourself (and enjoy the coding challenge).

Greetings
Peter
User avatar
PeterX
 
Posts: 270
Joined: 01 Oct 2020, 21:44

Re: Motivation

Postby dulsi » 01 Jun 2021, 00:57

PeterX {l Wrote}:I think when it comes to libre game programming you should only code game(s) that you really like to play yourself (and enjoy the coding challenge).

I disagree with that. When designing a game from scratch, that is probably true. However, you can have fun from coding challenge of cloning a game even if you wouldn't play the final game much. Additionally you can make updates to other open source projects which normally you wouldn't be interested in. For example, Open Alchemist isn't really a game I want to play but updating it to SDL2 was fun. Adding a new 2 player mode was also fun and driven by my desire to have it available on the home made arcade machine.
dulsi
 
Posts: 570
Joined: 18 Feb 2016, 15:24

Re: Motivation

Postby PeterX » 01 Jun 2021, 11:42

dulsi {l Wrote}:
PeterX {l Wrote}:I think when it comes to libre game programming you should only code game(s) that you really like to play yourself (and enjoy the coding challenge).

I disagree with that. When designing a game from scratch, that is probably true. However, you can have fun from coding challenge of cloning a game even if you wouldn't play the final game much. Additionally you can make updates to other open source projects which normally you wouldn't be interested in. For example, Open Alchemist isn't really a game I want to play but updating it to SDL2 was fun. Adding a new 2 player mode was also fun and driven by my desire to have it available on the home made arcade machine.

That isn't fun for me. But you're totally right that it can be a coding challenge (and thereby fun) [EDIT: for other people than me] even if you don't love to play it.
User avatar
PeterX
 
Posts: 270
Joined: 01 Oct 2020, 21:44

Re: Motivation

Postby drummyfish » 03 Jun 2021, 11:41

PeterX {l Wrote}:I think when it comes to libre game programming you should only code game(s) that you really like to play yourself (and enjoy the codingr


Interesting point tho, even if that may not be true for everyone as mentioned above, this is kind of the case for me. It is related to number 3 in my original post. I basically create projects that I would like to have myself, which I haven't found existing (otherwise I'd just use them), e.g. my suckless 3D renderer -- it's something I wanted for my experiments on open consoles. I create it to suit my personal needs, for myself, which may sound selfish but in the context of libre culture creating something for yourself means also creating it for everyone else who is like you, it means filling a void and sparing others the work. It's a beautiful win-win property of free culture: you satisfy your selfish personal need while also helping other people at the same time. You get 2 things in 1. That certainly adds to my motivation as well.
socialist anarcho-pacifist
Abolish all IP laws. Use CC0. Let's write less retarded software.
http://www.tastyfish.cz
User avatar
drummyfish
 
Posts: 448
Joined: 29 Jul 2018, 20:30
Location: Moravia

Re: Motivation

Postby PeterX » 03 Jun 2021, 12:20

drummyfish {l Wrote}:I create it to suit my personal needs, for myself, which may sound selfish but in the context of libre culture creating something for yourself means also creating it for everyone else who is like you, it means filling a void and sparing others the work. It's a beautiful win-win property of free culture: you satisfy your selfish personal need while also helping other people at the same time. You get 2 things in 1. That certainly adds to my motivation as well.

Yes with libre programming selfish reasons and altruistic reasons go hand in hand.

I once was thinking coding a Raw-developer software (turning "raw" electronic photographs into JPGs), But then I noticed that I'm not knowing optics well. So I refrained from writing such a program. Not because of egoistic reasons. But because I wouldn't have produced a good result for others.

Some say that libre software is at its best when someone "scratches an own itch". I think there are exceptions to that rule. But normally it's true.

Greetings
Peter
User avatar
PeterX
 
Posts: 270
Joined: 01 Oct 2020, 21:44

Re: Motivation

Postby Bird » 02 Nov 2021, 13:48

Non-commercial games...

are allowing total escalation!
Nobody has to buy it!
No target customers!
No taboos!
No political correctness!
You can do EVERYTHING, you (and only you) want.

It might be a bad product in the end with broken mechanics and completly out-of-control characters, but at least, you've enjoyed yourself and have done something new. Something interesting.

If I would have to make money from making games, it would poison the process for me. I would feel choked. Hunting money is unavoidable for our lives of course! But please, somewhere else, not with making games. An easy job, best would be something with a lot of moving around (for all the unfit programming nerd bodies).

Remember, you don't have to pay for being able to do sport exercises, instead you can be paid for that (bicycle courier for example). A good combination for programming is some kind of sport of course.
User avatar
Bird
 
Posts: 37
Joined: 24 Apr 2021, 12:43

Re: Motivation

Postby PeterX » 02 Nov 2021, 16:52

Bird {l Wrote}:If I would have to make money from making games, it would poison the process for me. I would feel choked.

Ok, that's true for you. But I think if someone loves a game concept and want to share it with others then it might be commercial and at the same time pure fun for the programmer.

An example: You love Super Mario Kart, and you write Super Tux Kart. Getting money for it would not spoil the fun I think. Or myself: I would love to program and play a certain MMORPG, with certain features I have in mind. And I wouldn't mind to crowdfund it or get donations at some point in the future.

But I don't think I will ever write proprietary games. (I can't predict the future and needing money might force me to do it. But I don't think that will happen.) If I will try to make money with game(s) it will be open source/libre.

Writing open source games is motivating in itself, because you give it to the community. That's a kind of fun, too.

Greetings
Peter
User avatar
PeterX
 
Posts: 270
Joined: 01 Oct 2020, 21:44

Who is online

Users browsing this forum: No registered users and 1 guest