So, recently I've pretty much restarted on my IDE project. This got me thinking about restarting on other projects. Some reflections and tips about restarting projects:
Don't
Let's face it. It is a boring task. You have something working and you destroy it. Work on getting your game to work. What is a game if there are no mechanics?
And Optimizing?
Optimizing is also a waste of time. Don’t do it unless you either see lag or you’re already finished with your game, with the latter always being a priority over the former. Some programmers focus too much on getting things perfect. It’s funny, because these are also the programmers that have never finished anything (myself included). It’s a trap, do not fall into it. Also, be careful of early optimizations.
What About Organizing?
Organizing is indeed another time waster, and should not be done unless you are working with a team. It works as long as you know where everything is and you do not need to move stuff around if so.
What To Do If I Do Rewrite?
There are a few times where a rewrite is useful. Try to keep as much old stuff as possible. Rewrite around everything. DO NOT delete anything. Just make classes that serve to replace existing ones and slowly give them new functionality.
Anyway, I hope this small blog helps anyone, especially with F4D currently going on. I am forced to rewrite because I had to change a major class because of my plugin framework (should have done research on that earlier). I’ve fallen a victim to rewriting in all my projects. Remember, chaos is expected, this is the law of entropy. If you’ve dealt with the chaos before attempting to rewrite, you can surely deal with it some more.
This is exactly why 64d has never been finished =p
i love how colseed still feels the need to supply us with migraine-inducing gifs even though he knows to hide them.
and anyway, this all depends on what timeframe you're working in, imo. having lost this whole week i could've spent developing, i'm not so focused on optimization anymore so much as just presentation.Uhm, this all seems like bad advice to me. A project should only be restarted if absolutely necessary, yes. However, the other things you mention are both completely unrelated to restarting a project and are incredibly important!
DaSpirit: Virtually everything except restarting, is part of normal programming. If I don't get it right or organize it, how am I going to work with it easily. Optimization usually condenses code.
Ah, well in that case, no, you don't need to minimise your code and get 0.0000001ms speed ups. :p
But like I say, if you plan something properly, it probably won't need much optimisation.Optimising confuses me because I have no idea what the compiler does to stuff or how operators actually work.
e.g. Is there any advantage to writing if(x&0x8000) instead of if(x>=0x8000). No idea.Toast: Not sure. Usually, other than eliminating steps, optimized code does the same thing. It is just smaller.