When I tried to port your game to Delphi the other day (which I failed due to allegro.pas not being compatible with Delphi) I noticed that Delphi warned me about overloading several of your functions.
In Delphi if you have more than one function with the same name you need to mark all of them with "overload" command. I belive FPC should do this automatically. But I remember reading once somewhere that there was some problems with automatic overloading of functions in FPC.

Another thing that puzles me greatly is the way how you are handling colision detection. I simply don't get it how that could even work and not end up in infinite cycle. Of course since I can't debug your game properly I can't step through your colision detection system to learn how it works properly. Well I could step trough it but since I can't see what information is stored in certain variables it isn't helpfull.

If you manage to convince Nuno Martines zo make allegro.pas Delphi compatible I would be able to help you more.


Anywhay until 3rd PGD competition is over don't expect much help since many mebers are participating and therefore working on their own projects now.