Witajcie!
Po ciężkiej pracy dostępna jest aktualizacja aplikacji która dodane kilka nowych funkcji:
Edytor:
Dodanie obiektu dodatkowego życia
Dodanie obiektu Mapy
Ikona gracza zostaje poprawnie usunięta przy wyborze innego trybu niż obiekty
Dodanie atrybutu dla MT, zakrywającego.
Edytor mapy nie powinien juz otwierać podwójnego okienka jeśli nie było ono wcześniej zamknięte ręcznie.
Edytor nie powinien juz mieć problemów z wczytywaniem Palet z kolorami powtarzającymi się.
Źródła:
Dodanie obiektu dodatkowego życia
Dodanie obiektu Mapy
Dodanie systemu atrybutów dla MT
Dodanie atrybutu Zakrywającego dla MT
Dodanie systemu animacji tła. 7 Tilesów może być animowanych.
Możliwa większa ilość, ale wymaga ręcznej konfiguracji (np 14, po 7 co drugą klatkę)
Reimplementacja Teleportu.
Reimplementacja Teleportu finałowego.
Gracz może zejść z MT o typie "Platforma" wciskając kombinację Strzałki w Dół oraz guzika A.
Dodanie Kodu rozpoznającego region w którym pracuje nasza konsola\emulator.
StatusBar już nie robi dwuklatkowego podskoku przy zmianie pokoju\zginięciu gracza.
Dodanie kompatybilności z regionem PAL dla Status Bar oraz inne drobne zmiany w kodzie.
Ekran Game Over przepisany na nowy mapper.
Najważniejszą zmianą dla młodego twórcy map do EB są dwa nowe obiekty oraz atrybuty dla MT.
Obiekt dodatkowego życia, z wyglądu przypominający kask gracza. Po zetknięciu gracza i obiektu, jak się domyślacie, gracz dostanie dodatkowe życie.
Obiekt Mapy jest obecnie tymczasowy. W teorii, po dotknięciu obiektu gracz miałby możliwość obejrzenia całej mapy pod guzikiem select. Obecnie ta funkcja jest nie zaimplementowana, a jej przyszłość jest też obecnie nie pewna. Jest tak z powodu tego, jak edytor jest zrobiony i istnienie opcji edycji "Przejść" niszczy łatwe utworzenie takiej opcji. Obiekt istnieje bo będę się starał i stawał na głowie by mapa jednak była zaimplementowana, i jeśli się uda, to twórca mapy powinien też o tym wiedzieć.
Dalej, mamy nowy element przy budowaniu MT.
Atrybuty można nakładać na zwykłe Typy MT. Oznacza to, że możemy mieć MT o typie platformy(czyli można wskoczyć na blok od dołu i stać na nim) a jednocześnie, będzie on nas zasłaniać).
Obecnie jedynym atrybutem jest "Zakrywający".
Jak się można domyślić, kiedy gracz dotknie tego typu MT, gracz zostanie zakrywany przez dany typ MT...znaczy, przez grafikę tła.
Technologia ma ograniczenia wynikające jednocześnie z ograniczeń pamięci, ograniczeń konsoli i moich słabych umiejętności kodowania.
Po pierwsze-konsola może Ustawić atrybut ukrycia dla każdego sprita, ale trzeba pamiętać że sprit to obrazek 8x8. Jednakże, z powodu mojego słabych umiejętności i na drodze oszczędności CPU, cały sprit gracza (czyli cały sprit, nie pojedyńczy 8x8) może być albo ukryty albo...nie. Pozwolę sobie podeprzeć się przykładem pierwszej z brzegu gry na NES wydaną przez prawdziwych koderów:
Darkwing Duck, poziom leśny.
W dalszej części poziomu napotkać można wodospady które zakrywają gracza. Coś w designie jest jednak nie teges...Spójrzmy na ten screen:
Między wodospadami nie ma żadnej grafiki tła (zielone), tak samo po bokach.
Następny screen jest bardziej złożony:
Zielone - znów dziwnie nie pasujące puste miejsca.
Czerwone - jedno miejsce poniżej zielonego które ma grafikę.
Jak ktoś grał, to wie, że w miejscu Fioletowym, można wskoczyć "za wodospad". Natomiast Kolor siwy wskazuje miejsce wodospadu który na którym można stać, czyli nie można wejść "od boku".
Ta przestrzeń w zielonym, przy wodospadzie ma wielkość...gracza, nie? Większość gier właśnie traktuje sprity całościowo, nie jako indywidualne sprity 8x8. Prawda, gdyby traktować je indywidualnie, to by można było robić ładniejsze przejścia między grafiką zakrywającą a nie-zakrywającą. To jednakże wymagałoby sprawdzania kolizji dla każdego sprita 8x8 z którego składa się postać, a to z kolei zużyje dużo więcej CPU.
A tu przykłady z zbliżeniem.
Łokieć postaci na tym zbliżeniu nie jest zakrywana przez wodospad, ponieważ większa część gracza nie jest zakrywana. Zróbmy mały eksperyment i podmieńmy grafikę w miejscu gdzie stoi darkwing i wejdźmy pikselek w wodospad, na tyle by kod poznał, że musi zakrywać postać.
No właśnie, gracz dotyka wodospadu tylko kilkoma pikselami, a i tak całość spritu jest zasłonięta. To dlatego w tej (i wielu innych grach) między grafiką zakrywającą a nie zakrywającą jest odstęp pustego miejsca wielkości postaci(możliwy jest mniejszy, ale to zależy od budowy postaci, czy jest ona nawarstwawiona innymi spritami itp). Tak samo, jak w Darkwingu działa zakrywanie w EB2. Dlatego warto jest używać techniki tworzenia poziomów którą właśnie wskazałem. Od razu mówię-wrogowie i inne obiekty NIE będą zakrywane przez MT o atrybucie "Zakrywający", tylko gracz.
Dalej...dodałem funkcję która potrafi animować Tilesy tła, ograniczeń i możliwości nie będę tu omawiać, gdyż jest zbyt wiele kombinacji i ograniczenia regulują możliwości (i odwrotnie). Należy się skontaktować ze mną poprzez PW.
Rzeczy które są planowane do kolejnej wersji Edytora:
-Obiekt "Dekoracji", obiekt który służył by jako kosmetyczna dekoracja, nie rani gracza, nie wykrywa żadnych kolizji, można ustawić czy zasłania gracza czy nie.
-Obiekt znikającego bloku. Tak, jak w megamanie, znikające i pojawiające się bloki. Można by mu ustawić czas na jak długo jest widoczny, w jakim stanie startuje gdy wejdziesz do danego pokoju(widoczny czy nie)
-Obiekt wroga...ktoś miał zrobić grafikę dla wroga jakiegoś nowego, ale nie mam pojęcia itp. itd.
-Atrybut MT "Zniszczalny". Taki MT dałoby się zniszczyć strzelając do niego, ale nie wiem czy to będzie możliwe i jeśli się pojawi to zapewne będzie dość ograniczony w ilości(mało już RAMu zostało do wykorzystania).
Na koniec chciałbym ustalić jakiś termin na oddawanie map.
Proponuję
20 Czerwca na termin potwierdzenia utworzenia mapy, natomiast
26 czerwca jako termin oddania map.
Dla pewności: termin pierwszy to termin kiedy tworzący mapę ma mi dać znać czy na pewno się wyrobi z utworzeniem mapy. Bo jeśli nie, to może dam radę sam coś do zlotu samemu skleić.
Życzę powodzenia i cierpliwości w żmudnym tworzeniu przygód dla elektrociała!
Edit:
Zapomniałem wspomnieć, że obiekt mapy w edytorze używa grafiki kasku pomalowanego na inny kolor, natomiast w grze używa on....baterii pokolorowanej na żółto..byłem zbyt leniwy by należycie zmienić im grafikę. Naprawi się, jak będzie obiekt już zaimplementowany.