Programming principles from the early days of id Software
Choose the right platform for your goals.  While id was banging out bare-metal code on a relatively unchanging PC platform, my old partner and I spent our time battling API deprecation, a change of processor, endianness issues, performance issues, just on and on and on, a whole litany of insults on the Macintosh platform.<p>We were attempting to &quot;just have a successful shareware game business on the Macintosh&quot; but after 20 years of this self-flagellation I bailed.  We each now work at rather successful studio&#x2F;agency development firms and I&#x27;ve probably contributed to more meaningful projects in the last year and a half than in all the years previously.<p>When you choose the wrong platform, you will not only be running against the wind, but when the wind dies down you will be so tired that you miss the new opportunities.  We should have been positioned to capitalize on the iOS store back in the mid-2000s with our substantial codebase, but due to burnout I witnessed others openly rake in $100,000 paydays on projects similar to our own that they only spent a couple of months making.  That could have been us, but I can&#x27;t blame the competition or Apple because in hindsight it was my own sheer inability to stop beating a dead horse that put me in the universe that didn&#x27;t work out.  Really you should always be working in a sustainable way that&#x27;s not too easy and not too hard so that you can see the forest for the trees, and after a while those small successes often accumulate into something unbelievable.