“Throughout history, poverty is the normal condition of man. Advances which permit this norm to be exceeded — here and there, now and then — are the work of an extremely small minority, frequently despised, often condemned, and almost always opposed by all right-thinking people. Whenever this tiny minority is kept from creating, or (as sometimes happens) is driven out of a society, the people then slip back into abject poverty. This is known as "bad luck.”

I know about case-sensitive file-name with Linux as the person that hosts my site is using Linux and I have to be careful with my PHP scripts.

Just hope one of the rules are not Networking as I only know how to use WinSock and most of you should know that is windows only and that I would need to learn how to do it for Mac and Linux, or I could use a bonus Act if there is one to get rid of a rule

I will try my best to write cross platform code. However I have never compiled or wrote anything in Linux. I will however only be using the allegro 5 libs and addon's so they are cross platform. I wouldn't have bothered writing this but it seems that some many of the users on here use Linux

The only thing you should have to worry about if you're only using Allegro is to keep file paths case-sensitive and use slashes ("/") instead of backslashes ("\\"); both of which any sane person would be doing regardless. Otherwise, Allegro takes care of the platform specifics for you.

One thing that is important to think about is line endings when opening text files in text mode. If you create text files, make sure you use Unix line endings.

Just hope one of the rules are not Networking as I only know how to use WinSock and most of you should know that is windows only and that I would need to learn how to do it for Mac and Linux, or I could use a bonus Act if there is one to get rid of a rule

With a couple of defines you can make winsocks 2 code that's cross platform for Linux, et al. Even the startup/shutdown stuff, and different include file pathes...

I always use "\n" anyway's, That seems to work with both Windows and Linux created test files XD. It's "\r\n" in Windows right? I haven't used that in years so I could be wrong there :O

The standard IO layer in Windows automatically converts your "\n" to "\r\n" in text mode. If you specify binary mode then it will do exactly as you tell it. Just make sure that any text data files that you create with an editor, etc., uses UNIX line endings and you'll be fine. Alternatively, you could write the text handling routines to deal with any line endings.

Are there any Bonus rules that aren't simply 'you can ignore rule X'? Or as I like to think, the 'you can go ahead and use the game your wrote over the past 2 months and simply use the bonus to negate any issue' rule

I think text mode is platform specific so I think certain operations will require you to manually handle different EOL characters *ahem* "sequences". That is, if the text file being read was written on a different platform. I could be wrong... In theory, if you use binary mode and always use UNIX line endings then it shouldn't ever matter and you could move the files between platforms without issue. Of course, the real solution is to format Windows and install Linux.