Skip to content

Jaclav/Ogoras

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

117 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ogoras

Jest to silnik do gier.
Wszystkie pliki czytane przez silnik znajdują się w katalogu data/.

Proces uruchamiania

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.

Typy plików

Wszystkie grafiki muszą być w formacie .png

Bloki

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.

Skład pliku blocks.ini

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

Przykład

[Block10]
x=256
y=128
command=tp 3 4
rotation=90
solid=0

Skład pliku Npc.ini

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

Przykład

[Npc2]
name=Darek2
s=U
x=4
y=5
src=data/characters/darek.png
command=npc_say 2 500 Czesc!

Skład pliku Player.ini

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)

Przyklad

[Player] x=3
y=5
s=R
src=data/characters/player.png\

Uwaga

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.

Przykład

[]
period=tu okres trwania jednej klatki

Komendy

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

FAQ

Jak dodać blok?

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.

Jak dodać npc?

Należy dodać jego grafikę do data/characters/, następnie dodać informacje o nim do data/levels/lvlX/Npc.ini.

About

2d RPG game

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages