[TGF/MMF] Własny edytor poziomów |
Autor |
Wiadomość |
l0ud
Kapral
Pomógł: 1 raz Posty: 19
691 Prestiż
|
Wysłany: 25-02-2007, 18:39 [TGF/MMF] Własny edytor poziomów
|
|
|
Czy istnieje jakaś gra na PSK, która posiada możliwość modyfikacji jej poziomów przez użytkownika? Czy obmyślił ktoś, na jakiej zasadzie taki edytor ma działać? Proszę o trochę info na ten temat.
btw, pytanie zadaję raczej z ciekawości
Pozdrawiam |
|
|
|
|
BROO
Pupogłowy Wizard x-)
Główny edytor:
Pojedynki: nie
Pomógł: 37 razy Posty: 502
31680 Prestiż
|
|
|
|
|
Minty
Stwórczyni omc dr fizyki
Główny edytor:
Drugi edytor:
Pojedynki: być może
Pomogła: 259 razy Posty: 3446
33789 Prestiż
|
Wysłany: 25-02-2007, 18:54
|
|
|
Było kilka takich gier, niestety nie podam przykładów, ale możesz poszukać:
http://nuke-szuk.xn.pl/
Edytor mógłby działać tak: przy kliknięciu w dozwolonym miejscu na pustej planszy tworzy się obiekt, który np. reprezentuje przeciwnika, postać lub cokolwiek innego. Przy uruchomieniu zapisu takiej planszy włączana byłaby pętla (lub pętle) Fast Loopa, który po kolei wybierał obiekty nieoflagowane, zapisywał ich pozycje do tablicy (np. Dynamic Array) i oflagowywał je. Po zakończeniu pętli (byłaby uruchamiana na tyle przebiegów, ile jest obiektów) tablica zapisywałaby się do pliku wybranego przez użytkownika, a wszystkie obiekty znowu stawałyby się odflagowane. |
|
|
|
|
l0ud
Kapral
Pomógł: 1 raz Posty: 19
691 Prestiż
|
Wysłany: 25-02-2007, 19:01
|
|
|
RomanX, ale to jest dobre w przypadku, gdy posiadamy tylko jeden typ obiektów. Na każdy rodzaj trzeba by było zrobić oddzielną pętlę, ale to chyba jest nieuniknione... :doubt:
[ Dodano: 25-02-2007, 19:02 ]
RomanX napisał/a: | który po kolei wybierał obiekty nieoflagowane |
to mnie jeszcze zastanawia, jak stworzyć wybieranie elementów spełniających dany warunek? Ja nie mam pomysłu na to |
|
|
|
|
Minty
Stwórczyni omc dr fizyki
Główny edytor:
Drugi edytor:
Pojedynki: być może
Pomogła: 259 razy Posty: 3446
33789 Prestiż
|
Wysłany: 25-02-2007, 19:14
|
|
|
No tak, kilka pętli, można też je uruchamiać z pętli zbiorczej xD wszystko w jednej klatce się wykona.
Każdy obiekt ma 3 (TGF) lub 26 (MMF) zmiennych A, B, C itd., ma też flagi - po 32 na obiekt.
Jeśli flaga 0 jest wyłączona, to włącz i zapisz parametry do tablicy.
http://www.romanx.kosa.ne...php?title=Flaga |
|
|
|
|
l0ud
Kapral
Pomógł: 1 raz Posty: 19
691 Prestiż
|
Wysłany: 25-02-2007, 19:20
|
|
|
RomanX napisał/a: | Jeśli flaga 0 jest wyłączona, to włącz i zapisz parametry do tablicy. |
czyli... jeżeli po prostu zrobię taki warunek w pętli, to MMF wybierze jeden z obiektów będzie można normalnie pobrać jego współrzędne? A w jaki sposób rozpoznać, czy wybrany obiekt jest już ostatni (że wszystkie obiekty mają już opuszczoną flagę)? |
|
|
|
|
Minty
Stwórczyni omc dr fizyki
Główny edytor:
Drugi edytor:
Pojedynki: być może
Pomogła: 259 razy Posty: 3446
33789 Prestiż
|
Wysłany: 25-02-2007, 19:46
|
|
|
Number( obiekt ) - liczba obiektów "obiekt". Tyle razy uruchamia się przypisana mu pętla, więc nie ma problemów. Pętla wybiera tylko nieoflagowane obiekty, więc po "zużyciu" jednego - bierze kolejny. |
|
|
|
|
jarlfenrir
Generał brygady
Główny edytor:
Drugi edytor:
Pomógł: 82 razy Posty: 1731
37283 Prestiż
|
Wysłany: 25-02-2007, 21:47
|
|
|
Trochę pomyśleć i można zdziałać niemal wszystko.
Gier takowych było kilka, jeśli dobrze pamiętam, to edytor ma słynny Otoczony, Rozdwojenie świstaka i GMowe Wormsy (Nie pamiętam tytułu, taka gierka wormsowa zrobiona na konkurs świstakowy, zajęła miejsce tuż za mną - 17 chyba).
W TGFie żeby zrobić edytor potrzebujesz na pewno jakiś plik zewnętrzny (na przykład obiekt INI) w którym zapiszesz ile razy, jakie obiekty i w jakich miejscach maja się pojawić, i potem za pomocą fastloopa (bo tak szybciej) wygenerować poziom wg. wskazówek.
Wcześniej wspomniana produkcja GMowa wczytywała pliki GIF. |
|
|
|
|
l0ud
Kapral
Pomógł: 1 raz Posty: 19
691 Prestiż
|
Wysłany: 26-02-2007, 00:14
|
|
|
Zrobiłem swój edytor poziomów, lecz podczas odczytu większego pliku (gdzie trzeba chwilę 'pomyśleć') edytor wysypuje się (wystąpił problem z programem... blebleble) dzieje się tak tylko przy windows, o dziwo w Linuxie działa normalnie i bezpośrednio przez MMF'a nie ma problemów :doubt: Już nie wiem gdzie szukać problemu... albo zrezygnuję z fastloopa, albo rzucam ten cały projekt :cry:
Używam pętli, która się zapętla (znajduje się w niej warunek, po którego spełnieniu pętla uaktywnia się ponownie). Pętla operuje na INI i tworzy nowe obiekty aktywne... Z początku w MMF'ie też się wysypywało, ale zwiększenie limitu obiektów pomogło. Natomiast jako stand-alone nie chodzi. Kiepsko to widzę... |
|
|
|
|
jarlfenrir
Generał brygady
Główny edytor:
Drugi edytor:
Pomógł: 82 razy Posty: 1731
37283 Prestiż
|
Wysłany: 26-02-2007, 00:19
|
|
|
No więc pamiętaj, że w TGFie możesz pokazać max 262 obiekty (jeśli dobrze pamiętam). Generalnie jeśli limit zostanie osiągnięty, obiekt zwyczajnie się nie pojawi. Widać fastloop stanowi tu problem (mianowicie na siłę próbuje stworzyć obiekt, podczas gdy TGF na to nie pozwala i stąd ten błąd).
Ostrzegam tylko, że jeśli zrobisz to bez fastloopa, to generowanie planszy będzie trwało znacznie dłużej (może nawet kilka sekund).
Ja bym raczej zalecał spróbować wygenerować planszę z mniejszą ilością obiektów. |
|
|
|
|
l0ud
Kapral
Pomógł: 1 raz Posty: 19
691 Prestiż
|
Wysłany: 26-02-2007, 00:25
|
|
|
Fenrir, używam MMF'a ze zwiększoną liczbą obiektów aktywnych. Myślę że to fastloop 'zapycha' zasoby podczas wczytywania. A bez niego wczytuje się bardzo długo ten poziom
[ Dodano: 28-02-2007, 19:56 ]
Problem rozwiązany samodzielnie :-P Idę to opić
Chociaż sam dokładnie nie wiem, co go powodowało :???: |
|
|
|
|
|