alerum68
Priest of Hiroshima
Before you begin reading, understand that I am willing to help any modding project out there with doing these steps. If you can't figure something out, I'll help you do it.
I've noticed a lot of the projects on here are using file servers that require the user to have to wait, or go to other sites, or other annoyances. They also seem to be very sluggish. I'm suggesting everyone with a project that is too large to host on the CFC server, to follow these step. Also, there is no constancy in the format the files are packaged in, and suggest that EVERY project uses this method to package their files.
Here are the steps I'm proposing for projects, and yes I am willing to help any designer with this process:
1. I have used both SourceForge and Google Code, but not CodePlex. I prefered SourceForge myself, and you do not need to wait for your project to be accepted, so you can start setting it up right away. All three of them supply the three major features you will need to use: Code Repository, File Release System, and Issues Tracker (Features and Bugs). There are many other features they give you, especially SourceForge, but those are the basics and setting them up shouldn't take you more then 30 minutes or so, depending on the size of your project.
IMPORTANT!: Before you begin, I would HIGHLY suggest that you add the prefix civ4, to your project name. For example BUGs project name is civ4bug, and BAT is civ4bat. Then when people do a search for Civ 4 or civ4, your project will be near the top of the list, even if you didn't add keywords or a project description.
Code Repository: This is where you store an online version of your working code. There are usually 2 options, CVS and SVN. CVS is a bit outdate, so I suggest you use SVN. I know there are several projects with only 1 person working on it, but I still feel this is a key feature. It allows you to make revisions, and upload them, and if the revision doesn't work you can always revert to your last working copy. You won't need to store backup directories on your PC, and get confused by whats working or not. You can upload the revision, make some notes about it, and the SVN stores every single file change you make. Just remember to commit often, as there is no limit to the number of revisions you can make. One of my projects probably have around 20gigs of stored history in it, and have not received any notice about it. This also allows users to download the working copy directly, and they can beta test for you. They will find more bugs then you ever could because while you're busing coding, they are trying all your new features.
File Release System: All three provide their own server for the user to download your files from, and they usually have mirrors if their server is going slow. None of them require the user to wait to download the file, and usually the speed is much faster.
Tracker: This allows you to keep track of what issues there are with the code. I think you should start here each time you do something with your project, to see what is going on, but you should at least have it so you can store information in case you need to reference back to it.
Packaging: Your project should only be packaged in ZIP format, or in EXE installer, or both.
Installer: Phungus420 has made a great NSIS installer script for Beyond the Sword Mods. It's fairly easy to modify, and gives you very good control over where and how to install it. Another method is to use a GUI based Install Creator. I found the easiest to use, and the one that let me do everything I need was called Install Creator. There is a freeware, registered, and professional version. For most Mods, the freeware version will do what you need it to do. If you wish more control, then register the prorgram, or use the NSIS Installer Script.
ZIP: The ZIP format is still the most commonly used format in the world. I know some people prefer RAR or Microsoft's 7zip, but you can be sure eveyone will be able to open a ZIP file.
Announcing: There are several search page submission sites out there, that you can use to submit your Hosted Project Page. This will allow people to find your mod very quickly and easily. Another thing to think about is how to notify of updates. The only place you really need to post updates are on the News page of your Hosted Projects Page, and the Announcing New Files for Front Page Coverage thread.
I know this seems like a lot to do, but it will make your project look more professional, it will give the user a more comfortable and easy method of retrieving your files, and in the long run will make it much easier for you to work on your project, especially if you use IDE Editors such as Eclipse for Python and XML, or Microsoft VS for C++.
Do not hesitate to PM me, or write back in this thread if you want help doing these steps, or if you have a suggestion or found a better way to package and release files. I have found this to be the best method, especially with large projects with more then one person using it. At the least, find a file server that does not require you to wait or wade through 5 ads to try the mod.
I've noticed a lot of the projects on here are using file servers that require the user to have to wait, or go to other sites, or other annoyances. They also seem to be very sluggish. I'm suggesting everyone with a project that is too large to host on the CFC server, to follow these step. Also, there is no constancy in the format the files are packaged in, and suggest that EVERY project uses this method to package their files.
Here are the steps I'm proposing for projects, and yes I am willing to help any designer with this process:
- Use one of the following to release files. They are all easy to use, and I will list their benefits later on.
- Package your files only using an installer or .ZIP format.
- Add your Hosted Project Page to a search engine submission site. There are several on the Web, and they will do it for you quickly and automatically.
1. I have used both SourceForge and Google Code, but not CodePlex. I prefered SourceForge myself, and you do not need to wait for your project to be accepted, so you can start setting it up right away. All three of them supply the three major features you will need to use: Code Repository, File Release System, and Issues Tracker (Features and Bugs). There are many other features they give you, especially SourceForge, but those are the basics and setting them up shouldn't take you more then 30 minutes or so, depending on the size of your project.
IMPORTANT!: Before you begin, I would HIGHLY suggest that you add the prefix civ4, to your project name. For example BUGs project name is civ4bug, and BAT is civ4bat. Then when people do a search for Civ 4 or civ4, your project will be near the top of the list, even if you didn't add keywords or a project description.
Code Repository: This is where you store an online version of your working code. There are usually 2 options, CVS and SVN. CVS is a bit outdate, so I suggest you use SVN. I know there are several projects with only 1 person working on it, but I still feel this is a key feature. It allows you to make revisions, and upload them, and if the revision doesn't work you can always revert to your last working copy. You won't need to store backup directories on your PC, and get confused by whats working or not. You can upload the revision, make some notes about it, and the SVN stores every single file change you make. Just remember to commit often, as there is no limit to the number of revisions you can make. One of my projects probably have around 20gigs of stored history in it, and have not received any notice about it. This also allows users to download the working copy directly, and they can beta test for you. They will find more bugs then you ever could because while you're busing coding, they are trying all your new features.
File Release System: All three provide their own server for the user to download your files from, and they usually have mirrors if their server is going slow. None of them require the user to wait to download the file, and usually the speed is much faster.
Tracker: This allows you to keep track of what issues there are with the code. I think you should start here each time you do something with your project, to see what is going on, but you should at least have it so you can store information in case you need to reference back to it.
Packaging: Your project should only be packaged in ZIP format, or in EXE installer, or both.
Installer: Phungus420 has made a great NSIS installer script for Beyond the Sword Mods. It's fairly easy to modify, and gives you very good control over where and how to install it. Another method is to use a GUI based Install Creator. I found the easiest to use, and the one that let me do everything I need was called Install Creator. There is a freeware, registered, and professional version. For most Mods, the freeware version will do what you need it to do. If you wish more control, then register the prorgram, or use the NSIS Installer Script.
ZIP: The ZIP format is still the most commonly used format in the world. I know some people prefer RAR or Microsoft's 7zip, but you can be sure eveyone will be able to open a ZIP file.
Announcing: There are several search page submission sites out there, that you can use to submit your Hosted Project Page. This will allow people to find your mod very quickly and easily. Another thing to think about is how to notify of updates. The only place you really need to post updates are on the News page of your Hosted Projects Page, and the Announcing New Files for Front Page Coverage thread.
I know this seems like a lot to do, but it will make your project look more professional, it will give the user a more comfortable and easy method of retrieving your files, and in the long run will make it much easier for you to work on your project, especially if you use IDE Editors such as Eclipse for Python and XML, or Microsoft VS for C++.
Do not hesitate to PM me, or write back in this thread if you want help doing these steps, or if you have a suggestion or found a better way to package and release files. I have found this to be the best method, especially with large projects with more then one person using it. At the least, find a file server that does not require you to wait or wade through 5 ads to try the mod.