Jest to silnik do gier.
Wszystkie pliki czytane przez silnik znajdują się w katalogu data/.
Przy uruchamianiu Menu ładowany jest plik data/menuBackground.png.
Następnie po kliknięciu przycisku start ładowana jest grafika bloków dla klasy Map z data/levels/blocks.png.
Z katalogu data/lvl0 informacje są ładowane do klas Map, Npc i Player. Następnie ładowane jest tło z data/levels/lvl0/map.png.
Po tym uruchamiana jest komenda start main. Na koniec ładowana jest grafika tła ze ścieżki data/levels/lvl0/map.png.
Klasa Map ładuje z pliku data/levels/lvl0/blocks.ini informacje o właściwościach bloku. Następnie ładuje z data/levels/levels/lvl0/map.lvl układ bloków i informacje dla klasy Npc.
Klasa Npc ładuje z pliku data/levels/lvl0/Npc.ini informacje o pozycji, kierunku patrzenia, ścieżkę do grafiki, podpis oraz wiadomość pokazywaną przy dotknięciu.
Klasa Player ładuje z pliku data/levels/lvl0/Player.ini informacje o pozycji, kierunku patrzenia oraz ścieżkę do grafiki.
Wszystkie grafiki muszą być w formacie .png
Każdy blok ma 128 pixeli na 128 pixeli.
Plik blocks.ini informuje o grafice dla danego bloka, o jej zmianie oraz o zachowaniu przy interakcji z graczem.
Plik map.lvl informuje o położeniu każdego bloku. Każda linia to jeden rząd bloków. Znakiem końca linii jest 0xff. Jest to blik binarny, do jego edycji niezbędny jest specjalny edytor.
| blocks.ini | Objaśnienie |
|---|---|
| [BlockX] | X to numer bloku |
| x | pozycja x grafiki w pliku data/blocks.png |
| y | pozycja y grafiki w pliku data/blocks.png |
| command | komenda wykonywana przy dotknięciu |
| rotation X | obrót grafiki o X stopni |
| solid | informacja czy gracz może przejść przez blok (0 może, 1 nie może), domyślnie 1 |
[Block10]
x=256
y=128
command=tp 3 4
rotation=90
solid=0
| Npc.ini | Objaśnienie |
|---|---|
| [NpcX] | X to numer npc |
| name | podpis pojawiający się nad npc, domyślnie NULL |
| x | pozycja x |
| y | pozycja y |
| s | kierunek patrzenia, może być U - do góry, D - do dołu, R - w prawo, L - w lewo |
| src | ścieżka do grafiki, ułożenie duszków to patrzący do góry, do dołu, w prawo i w lewo, domyślnie NpcX |
| command | komenda wykonywana po dotknięciu |
[Npc2]
name=Darek2
s=U
x=4
y=5
src=data/characters/darek.png
command=npc_say 2 500 Czesc!
| Player.ini | Objaśnienie |
|---|---|
| [Player] | |
| x | pozycja x gracza na początku |
| y | pozycja y gracza na początku |
| s | kierunek patrzenia, zobacz s w Npc.ini |
| src | ścieżka do animacji (zobacz uwaga) |
[Player]
x=3
y=5
s=R
src=data/characters/player.png\
Animacja ma być w innym ułożeniu niż grafika npc, w pierwszej kolumnie mają być kolejne klatki animacji dla patrzenia w górę, w drugiej dla patrzenia do dołu, w trzeciej dla patrzenia w prawo, w czwartej dla patrzenia w prawo.
Musi również istnieć plik nazwa_pliku_z_animacją.png.ini. W nim znajduje się informacja o okresie trwania jednej klatki w milisekundach.
[]
period=tu okres trwania jednej klatki
Można je wprowadzić w konsoli (uruchamia się ją ~) lub w pliku *.scr.
Działają dopiero po załadowaniu data/levels/lvl0
| Komenda | Działanie |
|---|---|
| clear | wyczyść konsolę |
| load X | załaduj poziom X z katalogu data/levels/ |
| script X | uruchom interpretowanie pliku X.scr, będzie się to działo w innym wątku |
| stop | usuń wszystkie wątki |
| threads | podaj liczbę obecnie wykonywanych wątków |
| wait X | czekaj X milisekund |
| noclip 1 | wyłącz kolizję |
| tp X Y | teleportuj gracza do X Y |
| position | wypisuje obecną pozycję gracza |
| say T M | gracz powie M przez T milisekund |
| map_block X Y B | ustaw blok o numerze B na pozycji X Y |
| npc_move N X Y | przesuń npc o numerze N o X i o Y |
| npc_say N T M | npc o numerze N powie M przez T milisekund |
| npc_touch N | zasymuluj dotknięcie npc o numerze N |
Należy dodać jego grafikę do data/blocks.png, następnie dodać informacje o nim do data/levels/lvlX/blocks.ini, a na koniec dodać go do data/levels/lvlX/map.lvl na wybrane pozycje.
Należy dodać jego grafikę do data/characters/, następnie dodać informacje o nim do data/levels/lvlX/Npc.ini.