A General Guide For Mod Creation
Rock, Paper, Shotgun's Kieron Gillen has combined and updated a series of guides he wrote for getting into the development of game mods. He provides a detailed explanation of the process from concept to reality as well as a look at some of the obstacles you're likely to run into. Quoting:
"First thing is that it really is work, and should be planned as such. As I've said earlier, you really need to be aware you have to sacrifice other elements of your life to get it done. If you just rely on your free time, the Mod will fail. You may find it helpful to actually time-table periods when you can do stuff, in the same way you would book a regular evening class. If every night you put aside a limited amount of time to do work, you'll make steady progress. This is considerably healthier than the boom/bust approach which most modders will follow. But - y'know - most people on your team will move on a cycle of massive productivity followed by long fallow periods."
It's true that if you just rely on free time to do work on a mod you'll never get it done.
For almost 5 years I woke up an hour early for work to work on my Quake 3 mod called BASE Conflict. This was the guaranteed only way to get things done with a full time job, part time school, and a wife and kid. Work finally came to a halt sometime after I transferred to WSU and with the increase in school work and I found myself working on homework in the morning rather that debugging UI code. But up until that point I made an amazing amount of progress. I'm currently porting my code to the ioquake3 code base and the patch files created for the port total nearly 400k or somewhere in the realm of 13000 new or changed lines of code.
It also helps to write out a list and keep it where you can see it. After I graduated I didn't really get back into the swing of things until I made a new to do list. If you check my sig you'll see that getting my website back up is somewhere near the top.
BASE Conflict for Quake 3
Don't write your own mod, you'll just screw it up. Use the % operator built into your language -- it will be faster and always come up with the right answer.
Help poke pirates in the eyepatch, arr.