Tym razem przygotowałem grywalną świąteczną kartkę!
Projekt zawiera jedną mapę w czterech wersjach. Początkowo miała być tylko jedna, a bonus aby nie pozostał pusty miał być jej kopią. Ostatecznie wersje są cztery, a cała reszta jest taka, jak "generuje" ją LK z moją paczką. Przygotowana "kartka" jest wyłącznie w języku polskim. Pierwszą wersję zrobiłem, używając standardowo tego co jest dostępne w LK, druga powstała przez "pokolorowanie inversem" - również w LK, korzystając z pliku LETAP z "inversami". Ta wersja wydaje mi się mniej czytelna, więc jako główną pozostawiłem pierwszą, gdzie "pokolorowałem" rok, a drugą dołączyłem jako bonus. Nie mogło zabraknąć wersji obróconych, tu tylko w poziomie - aby zachować sens oryginału i czytelne życzenia, którym przywróciłem kierunek. Przejście całości obejmuje pierwotną i obróconą wersję.
Projekt ten jest także pretekstem do opisania na co zwracać uwagę i jak postępować w kolejnych krokach przy publikacji własnych poziomów:
Użycie roku w nazwie poziomu przypomniało mi o problemie z cyframi. Jak już w tym wątku pisałem, cyfry wpisane w nazwie etapu w LK nie są zamieniane na odpowiednie cyfry w grze - wstawiane są mniejsze cyfry z fragmentami grafiki pod spodem. Jednak nie każda wersja językowa odpowiednie cyfry posiada (w miejscu cyfr mogą być dodatkowe litery), więc dla tych wersji liczby muszą być zapisane słownie lub pozostawione tak jak zapisuje je LK.
W większości wersji językowych cyfry zapisane są tak jak w wersji polskiej:
abcdefghijklmnopqrstuvwxyz
ą0ć1ę234567ł8ńó9--ś----ź-ż
a więc "2024" = "fbfh"
Aby za każdą zmianą podczas edycji mapek nie edytować wygenerowanych plików, warto edytować pliki źródłowe lka (używając hex edytora). W LK, po edycji, w tym przypadku widać "fbfh", trzeba tylko uważać żeby nie wybrać tego pola tekstowego, bo edytor zamieni małe litery na duże i w grze w miejscu cyfr zobaczymy te litery. Aby znaleźć miejsce w pliku gdzie powinny być cyfry do edycji, można zapisać plik lka dwukrotnie - z różnymi znakami w miejscu gdzie powinny być cyfry. Później wyszukując różnice można takie miejsca łatwo odnaleźć (alternatywnie można ustalić jakie wartości należy zamienić i wyszukać odpowiednie ciągi, lub np. wpisać ciąg PL-literek i wyszukać ciąg odpowiadających mu małych liter w pliku).
Aby wersja kartridż-owa miała identycznie wyglądające wpisy w menu jak wersja xex można zapisać screena z emulatora z menu wersji xex, przyciąć go na 320x192, następnie przeskalować w poziomie na 50% (bez rozmywania - np. w PhotoFiltre6) i tak przygotowany plik otworzyć w g2f, gdzie zaznaczamy i odznaczamy dither, a potem zapisujemy plik .mic jako MENUvPL1.MIC zastępując ten plik w podkatalogu PLIKI LK. Jeżeli generujemy grę w innym języku to zapisany plik .mic musi mieć odpowiednią nazwę dla wybranego języka.
Plik lka dla głównej gry wczytujemy w edytorze ETAP-ów, a plik lka bonusu (jeżeli nie mamy bonusów, może to być ten sam plik) w edytorze etapów BONUS-owych. W dowolnej kolejności obiema wersjami Laura Konstruktorów tworzymy grę naciskając "Utworzenie gry", zapisując xex (nieistotny, ale trzeba go zapisać) i potwierdzając chęć uruchomienia utworzonej gry w emulatorze (też konieczne). Po uruchomieniu emulatora możemy od razu z niego wyjść, lub wybrać "30 256K MegaCart", aby uruchomić dotychczas zapisane etapy naszej gry. Przypominam, że musimy ten proces powtórzyć z obydwu wersji programu, a żeby zobaczyć poziomy BONUS-owe w grze, wciskamy w menu gry odpowiednik klawisza SELECT w emulatorze. Gdy mamy już zapisane poziomy standardowe i bonusowe (jak napisałem wyżej, może to być kopia standardowych), a wszystko jest w porządku kopiujemy pliki TEST.XEX, TSTB.XEX i TEST.BIN i to są nasze wygenerowane gry. TEST.BIN po poprawnym uruchomieniu w Altirrze możemy zapisać jako CAR wybierając opcję save firmware - CAR będzie się uruchamiał bez pytania o typ kartridża.
Przed generowaniem plików - w LK trzeba sprawdzić czy prawidłowo są ustawione znaczniki OSTATNI, oznaczające poziomy, po ukończeniu których gra się zakończy, warto też usunąć ewentualne poziomy, których nie chcemy udostępniać dla gracza (za znacznikiem OSTATNI). Poziomy za znacznikiem OSTATNI gracz może zawsze wybrać kodem (w wersji BIN/CAR). Można więc celowo takie poziomy zostawić (muszą mieć własny znacznik OSTATNI) i dać odpowiedni opis w menu, lub pozostawić jako ester egg, do odkrycia dla dociekliwego gracza. Przed publikacją trzeba sprawdzić poziomy standardowe i bonusowe w grze! Poziomy są czyszczone przy zmianie języka i wtedy są niegrywalne, lub gdy języka nie zmieniamy mogą pozostać z poprzednio (nawet dawno) edytowanego zestawu.
...i to chyba tyle na tyle :)
Wesołych Świąt i oby was zęby nie bolały!
[bo u mnie to już tradycja przed Świętami]