01 Nov, 2013, Idealiad wrote in the 1st comment:
Votes: 0
I'm interested in hearing from everyone how they would do or approach things differently if they were able to go back in time to their younger programming self. What design and coding choices did you make (or not make) years ago, that if you did them today would turn out a lot different?
01 Nov, 2013, KaVir wrote in the 2nd comment:
Votes: 0
Well I could have skipped God Wars entirely and just got straight to work on God Wars II, I reckon it would have been more impressive (relatively speaking) back then - although I don't know if I'd have the motivation to do it all again, and I'd have had major problems finding a server powerful enough to run it, I probably wouldn't have had access to a C++ compiler, and so on.

Depending on how far I could go back, perhaps I could have written my protocol snippet before the release of Merc, and convinced the Merc team to include it with their distribution. Of course MUSHclient didn't support graphics until relatively recently so I'm not sure it would have made a huge difference, but perhaps it would at least encourage more consistent protocol support across clients.
01 Nov, 2013, plamzi wrote in the 3rd comment:
Votes: 0
Nice topic.

Generally, I'm with Nietzsche on this, in that I believe the key to happiness is looking back and saying 'Yes' to every choice you made. If you don't, that means you're not happy with who, and where, you are right now.

I made tons of design mistakes while learning Objective-C (it was my first object-oriented language) and must have taken a thousand shortcuts to build my first custom client. I'm still cleaning up cringeworthy code from both client- and server-side. But I don't believe you can, or should try to, avoid mistakes. Especially if you're a hobbyist and prefer to learn from doing rather than reading about doing.

I have no fear of making design mistakes or taking one shortcut too many. To me, the only way to really go wrong is to fall prey to indecision, postpone the rewarding part of your project out of fear that things won't be exactly right from the outset.

I'm a firm believer in agile development. Get it working and get it out there, even if it's only 10% of what you want. When your project hits an audience, it creates a positive feed. Other people can push you to improve on what you have, or start something new where you can apply all that you've learned.

I think the most enjoyable part about looking back is seeing how far you've come. But looking forward is also important. I'm excited about applying what I already know to build something robust, but I'm even more excited about learning new things. For instance, a custom server leveraging a modern script and db ORM, building a client framework with an API that other people can use–these are not things I've done already. I'm planning to make a lot of new mistakes!
02 Nov, 2013, Hades_Kane wrote in the 4th comment:
Votes: 0
Mainly, I would write better code, use more helper functions, etc. Probably the same for anyone in that regard.

More game design choices, I would consider breaking away from the mold of everything being so level based and level restricted, possibly going for a stat and skill based approach.

As far as world design, I would save myself the last month or two's worth of work on redoing some of our game world and clan structure by starting off with some of what I'm retconning now while our pbase is in a severe down turn :p
02 Nov, 2013, KaVir wrote in the 5th comment:
Votes: 0
plamzi said:
I made tons of design mistakes while learning Objective-C (it was my first object-oriented language) and must have taken a thousand shortcuts to build my first custom client. I'm still cleaning up cringeworthy code from both client- and server-side. But I don't believe you can, or should try to, avoid mistakes.

But the question here is what would you do if you could go back in time, presumably with the same knowledge you've got now (otherwise the question would be moot, as obviously you'd do the same things again).

You've made your mistakes and learned from them. You've improved your skills, you know the pitfalls, and then you get sent back in time. Presumably you wouldn't then repeat the exact same mistakes a second time?
02 Nov, 2013, plamzi wrote in the 6th comment:
Votes: 0
KaVir said:
plamzi said:
I made tons of design mistakes while learning Objective-C (it was my first object-oriented language) and must have taken a thousand shortcuts to build my first custom client. I'm still cleaning up cringeworthy code from both client- and server-side. But I don't believe you can, or should try to, avoid mistakes.

But the question here is what would you do if you could go back in time, presumably with the same knowledge you've got now (otherwise the question would be moot, as obviously you'd do the same things again).

You've made your mistakes and learned from them. You've improved your skills, you know the pitfalls, and then you get sent back in time. Presumably you wouldn't then repeat the exact same mistakes a second time?


I understand the question, I think :) But why imagine going back in time? It's dangerous time paradox stuff! Much more useful to imagine what you can do tomorrow with the stuff you know today.
02 Nov, 2013, quixadhal wrote in the 7th comment:
Votes: 0
I would tell myself that C programming and the lack of a string type makes what I was doing really incredibly annoying and tedius, and suggest converting it to perl (best choice at the time).

The sheer amount of time and annoyance I would have saved my past self in debugging buffer overruns, pointer errors, and mucking about with the standard library's string functions would likely have slowed my hair loss by several years. :)
0.0/7