A guide to perseverance

Page 1/2
| 2

By Daemos

Paragon (1955)

Daemos's picture

27-04-2021, 22:56

I always wanted to share how I keep going on to the end but nobody would have believed me anyway until now Wink
I used some life hacks and tricks to pull trough. Don't take them as the holy words but they can help you in getting something really really big done. I hope this simple guide will help the community in getting more huge releases and less WIP's, cancelled stuff and eternally pauzed projects.

1. Its okay to take a break but do it at the right time: When its summer outside you don't sit inside your house in hopes to get your project finished. Its no use. Sooner or later you start realising you should have gone to the beach and given your girlfriend more time to do fun stuff. Besides having a good bbq and walking outside is much better then sitting behind the computer all day. Work on very big projects only when its dirty, nasty and cold outside

2. Don't do it for the money: If you are in for the financial gain forget it. Its better to invest in stocks or just get a good job. If you count the amount of time you put in your project it wil NEVER pay of. Even if you manage to sell a 1000 carts just look at the amount of hours you have going in it. If money is your drive you will soon realise that its a bullshit project and stop developing.

3. Talk to people about what you do: Yes find a buddy to talk to. Rubberduck the person to death. He/she will help you find solutions even if the person knows nothing about assembly. If you don't talk to people and make project friends you will soon feel lonely and give up on it.

4. Make some teammates even if they are just for shits and giggles: Yes you need some buddies to hang out with and sometimes do funstuff together. Most of the time you will just have a good time and sometimes you will develop together. You can learn people how to do certain tasks. Yes I am serious, my girlfriend has no clue what assembly is but she added alot of gamedata for me.

5. It's okay to receive unhealthy critisicm: Get used to the fact that there are jealous and mean people out there. You are in for your project and some are in for the money. Be directly honest to each other. Tell them there is noting to gain from the start. It helps getting together with the right people and prevents conflict.

6. Be independent: If you need something done DO never EVER use proprietary code or tools. Invest time (years if required) to develop everything that you will not receive on your own. Problem with closed source stuff is that within time your computer one day will break down and your tool no longer works on your new OS. Or you need to drastically change something and you cannot because you don't know how that one module works. Do never use source that has all kinds of wierd rules attached to it. Sooner or later you will run against a wall.

7. It's okay to have bugs: More complexity is more chaos. It will never be perfect because most of the time you are on your own. Sometimes you will find help and most of the time you won't. Slowly in time motivation around you will drop to a zero level and you will be the last one left. You will not have the time to fix everything.

8. It's okay to have a deadline: Yes a deadline helps. Not only you but also your buddies. They know what they need to do and when it needs to be finished. You will work more focused and get it finished before summer starts.

9. Work at 1 thing at the time: ONE THING!! do not focus on a thousand things at the same time. It will only demotivate. Never look into the future but focus on that one task at hand. If your character has to move left you program that movement. When its finished and perfected only then you focus on the movement to the right.

10. It's okay to have no fame at all: People will not believe you until you show them something. But the problem with big projects is that they progress very slow. So nobody knows what you are doing until you release something that looks finished. In the meanwhile you start thinking for who and why you are doing it. All those thoughts are unimportant.

11. Work only on that project: biggest mistake in life is to start coding on three different games and finish neither of them. Focus on that one project and task at hand. If you start something new its going to be another unfinished project.

12. Thoughts are unimportant: It doesn't matter what your mind is telling you. You are doing it for that one single purpose. That dream you had in mind. Don't let bullshit thoughts stop you from finishing what you started. "why am I doing this", " I will never earn anything with this", " whats the matter it will all be dust one day", "MSX will be gone by the time I finish this", " I am propably wasting my time". Remember, the greatest waste of time will be if you stop halfway.

13. Accept the challenge: If someone tells you that you won't be able to do it you only become stronger because you will prove everyone who said that once wrong. If you have to: post pictures of your haters on the wall and let THEM remind you that if you finish this you did it and they did not.

14. It's okay to only read the positive comments: You will receive thumbs up and criticism. Problem is that our mind is programmed to remember the negatives and ditch the positives. So simply ignore the thumbs down and feed on the positive feedback and comments.

15. Accept that most of the time won't turn out you had in mind: Yes that one boss will change. Call it creativity or improvisation. Sometimes just don't stick to the plan.

16. Do not make enemies: Hypocrisy at its finest here but we are humans. At one moment you try to prove some people wrong but on the other hand respect everyone. Even if you come in conflict for some reason its NOT their fault. We are all not equal. Respect them and treat them right. Make bonds and treat everyone right. It creates positive energy instead of negative distance.

17. It's okay to share your knowledge: Do not be affraid. Share your source with others. They can help and even if they use it for their projects and make lost of money who cares, you didn't do it for the money, remember.

18. Plan ahead: Do not just start coding. Think well ahead. Adding something to very complex code is not fun to do. Make sure your engine will have all functions build in before you start mass producing the data and control code.

19. Invest in tooling: Code your tools first. It will speed up alot of your problems. Putting objects painstakingly by hand is the most demotivating task in the universe. Create mass converters and tools to output your map and objectlists on the fly.

20. Use a PC: If your try to pull of a big project on the MSX you will very soon realise you will run out of RAM and time. 16 megabytes of temp code and 4 hours of compile time will not really help.

21. Think beyond: If you want something done, you get it done. Simple. How do you move the large blocks in screen? Well take your time and think. If you have to make 1200 lines of code for that one single thing you had in mind so be it. Reward will come when you see the end result.

22. Find a mentor: It is very important to have someone around you that can guide you with the things you do not understand. If possible they will set up parts of code for you so that you have a template to start in and continue from there. In time you will start to understand what all that interrupt magic is and eventually in time you can do it all yourself. Do not forget to make a template for someone else in the future.

23. Its okay to have fun: how? be fascinated by what you do. Look at your results and tell yourself how awesome you are when something works. Believe in yourself and be convinced that your mission MUST succeed.

Thats all I could come up with right now. If more pops up I will add more. And again these are only some advice. Do not take them for granted. It would be awesome if some inspired folks could add some more advices to it.

Login or register to post comments

By Latok

msx guru (3843)

Latok's picture

27-04-2021, 23:03

24. Wear sunscreen.

That was a nice read. Thanks! Hopefully it gets me inspired to start my own project Smile

By Grauw

Ascended (10181)

Grauw's picture

28-04-2021, 03:38

Not that I’m an example of perseverance by any means, but,

Daemos wrote:

14. It's okay to only read the positive comments: You will receive thumbs up and criticism. Problem is that our mind is programmed to remember the negatives and ditch the positives. So simply ignore the thumbs down and feed on the positive feedback and comments.

It really motivates me to discuss what I’m working on and getting feedback, seeing things from other people’s perspectives, and get some fresh new ideas or at least a fun discussion out of it.

Daemos wrote:

11. Work only on that project: biggest mistake in life is to start coding on three different games and finish neither of them. Focus on that one project and task at hand. If you start something new its going to be another unfinished project.

I’m bad at following this one, however I still try to adhere to the following rules:

1. Make a minimum releasable product as soon as possible.
2. Work on things related to the main project and release those parts as independent sub-projects.

So that even if the main project itself takes forever to complete, in the mean while you still deliver usable software even if it is bare-bones, or a code library that others can use, or an interesting article on programming or graphics or music, etc.

By santiontanon

Paragon (1527)

santiontanon's picture

28-04-2021, 06:00

Grauw wrote:

Not that I’m an example of perseverance by any means, but,
1. Make a minimum releasable product as soon as possible.

For me that's the most important one! Every time I've started a large project it's never been finished. For example, EVERY SINGLE time I decided to "code a generic engine first, that then I can use for several games", it has NEVER been finished, and it's been a waste of 1-2 years of work. This happened with an RPG engine, a strategy game engine, a "maze of galious 2 engine", and another RPG engine later on.

But I learned form my mistakes, and the third time around I wanted to create an RPG engine, I decided to do it in a different way: choose a small set of features of the "supposed engine", and create a game that had those (a tiny one!). Then, take that game, and add a few features to the code, and generalize whatever was hard-coded for the first game to create a second game, etc. Bit by bit, in that way, I finally finished my RPG engine (after 4 games), and used it for several projects after that (including one that was not even an RPG!).

By Metalion

Paragon (1451)

Metalion's picture

28-04-2021, 08:29

Very interesting topic ... I find myself in the same situation all the time. I've released only 1 (small) game in the last 10 years, while I have at least 5 different projects going on, and about a dozen other ideas. In the end, I start to believe that I'm not able to finish something ...

By Bengalack

Champion (425)

Bengalack's picture

28-04-2021, 08:38

With these discussions I have to think of the personality traits: Starter and Finisher. I know what I am Smile

By thegeps

Paladin (896)

thegeps's picture

28-04-2021, 13:35

Daemos, I agree almost all Smile

Well, some little projects can be done during your main projects, maybe just for fun and to free your mind from a too long main project focusing

By AxelStone

Prophet (3058)

AxelStone's picture

28-04-2021, 13:38

santiontanon wrote:

For me that's the most important one! Every time I've started a large project it's never been finished. For example, EVERY SINGLE time I decided to "code a generic engine first, that then I can use for several games", it has NEVER been finished, and it's been a waste of 1-2 years of work. This happened with an RPG engine, a strategy game engine, a "maze of galious 2 engine", and another RPG engine later on.

But I learned form my mistakes, and the third time around I wanted to create an RPG engine, I decided to do it in a different way: choose a small set of features of the "supposed engine", and create a game that had those (a tiny one!). Then, take that game, and add a few features to the code, and generalize whatever was hard-coded for the first game to create a second game, etc. Bit by bit, in that way, I finally finished my RPG engine (after 4 games), and used it for several projects after that (including one that was not even an RPG!).

For me this is a very very interesting point. I started a few years ago, together with more people, a MSX game engine intended to be quite generic (at this moment we call it Knight Engine, intended to use in a game called Gile's Odyssey) and as you say it's not easy to close.

Sometimes the problem is not so much the complexity (which is in any case very complex) as the fact that it takes a long time to see visible results, and this can affect your motivation. We have spent long periods without touching anything, basically with the engine stopped (almost abandoned), but after the great achievement of @Daemos we would like to take a bit of his perseverance and finish the engine to probe that it's possible to finish a game engine Wink

Let's hope so!

By Manuel

Ascended (18256)

Manuel's picture

28-04-2021, 13:48

i have also seen people getting lost in writing supporting tools (editors etc.) and when the tool is done, they never really get to start or continue on the game... coding the tool is probably easier (in modern language), but the game requires a bit more perseverance Smile

By AxelStone

Prophet (3058)

AxelStone's picture

28-04-2021, 13:53

Manuel wrote:

i have also seen people getting lost in writing supporting tools (editors etc.) and when the tool is done, they never really get to start or continue on the game... coding the tool is probably easier (in modern language), but the game requires a bit more perseverance Smile

We also have our own tools, made for PC! Tongue Tongue

I think that in the end is a matter of perseverance as Daemos has probed. The more perseverant you are, the further you will go.

By santiontanon

Paragon (1527)

santiontanon's picture

28-04-2021, 18:08

AxelStone wrote:

For me this is a very very interesting point. I started a few years ago, together with more people, a MSX game engine intended to be quite generic (at this moment we call it Knight Engine, intended to use in a game called Gile's Odyssey) and as you say it's not easy to close.

Sometimes the problem is not so much the complexity (which is in any case very complex) as the fact that it takes a long time to see visible results, and this can affect your motivation. We have spent long periods without touching anything, basically with the engine stopped (almost abandoned), but after the great achievement of @Daemos we would like to take a bit of his perseverance and finish the engine to probe that it's possible to finish a game engine Wink

Let's hope so!

Yeah, large projects are hard! At least for me, I found that having "launchable" (even if they are just games for myself that I never show anyone haha) milestones helps. In that way, it feels like you finished something, and that then the next thing is an "improved version". But it's probably all psychological Smile

Page 1/2
| 2