Dzięki za aktywny udział w dyskusji :)
@cyriel
Edytor już mam, format mapy też obczajony z grubsza. :) Samej gry też co nieco. Z mapami robię mniej więcej tak, jak mówisz, ale wszystkie dane są spakowane w jednym pliku. Kompilowanie potrzebne mi do czegoś innego. Załóżmy, że mam 10 potworów i każdy zachowuje się inaczej. Jakoś każdemu trzeba wsadzić osobny 'mózg'. Najłatwiej zrobić to przez wywołanie skompilowanego kodu. Co prawda, da się wymyślić specjalny format sztucznej inteligencji, ale można się wykończyć :) Każda instrukcja musiałaby mieć oddzielny identyfikator i do tego parametry, to i tamto, itd. A co gdyby potworów było 150? Jeśli się chce zapewnić systemowi gry duże możliwości (bez ciągłych updatów samego systemu), to format AI musiałby być tak rozbudowany, jak C#, dlatego uciekam od tego rozwiązania. Poza tym, takie skrypty się mogą się przydać. Nie tylko do potworów.
Musiałbym chyba ręcznie pozmieniać nazwy zmiennych i funkcji (tak w sumie działa ten obfuscator), zarówno w aplikacji, jak i skryptach i zapamiętać, że jak chcę np. atak, to wywołuję funkcję __2_sd() :D
Z tym md5 ciekawa sprawa. Stuprocentowej pewności, że ktoś nie przełamie zabezpieczeń chyba nie ma, prawda?
Wydaje mi się, że jeśli wykonać wielokrotny test skrótu (tak jak mówi cyriel) w różnych miejscach gry i za każdym razem niezależnie szykować pakiety do serwera, to może mieć znaczenie. Zawsze musi być wysłana ta sama wartość.