poniedziałek, 4 maja 2009

Psubraten [odgrzewany kotlet]

Ten tekst był pierwotnie opublikowany (13 lutego 2008) przeze mnie na blogsilnika.blog.onet.pl. Z racji, że postanowiłem zakończyć współpracę z Onetem (czego każdemu blogerowi życzę) tekst stał się niedostępny. A może będzie choć jednej osobie przydatny - dlatego go tu kopiuję (pisownię pozostawiam bez zmian:-)

Dorwałem nową wersję silnika do gier 3D Sauerbraten Assassin Edition, będącego jednocześnie samodzielną grą. W tej edycji doliczyłem się 119 map i 17 trybów rozgrywki (w tym 13 multiplayer!).
Jeśli chodzi o edycję (dla zielonych, trza wcisnąć E), pierwszą widoczną zmianą jest podgląd przy liczeniu ligtmap.



Sama operacja trwa kilkadziesiąt sekund (pomyśleć tylko kilkunastu godzinach w Quake3:). Teraz można także zmieniać średnicę światła zaznaczając je myszką i kręcąc kółkiem.



Również każdy model (w tym światło) można teraz przesuwać przy pomocy myszki lub zmieniać kręcąc kółkiem. Do źródła światła można dodać odpowiednik klosza od żyrandola, ograniczający kierunek promieni świetlnych. Wystarczy wydać polecenie /newent light 128 192 192 192 (średnica czerwony zielony niebieski) by dodać światło i /newent spotlight 30 (kąt rozchodzenia się promieni) by dodać klosz. Potem trzeba tylko przeliczyć ligtmapy /calclight

Jeśli chcemy mieć światło rozproszone (kosztem ostrości cieni) wpisujemy /ambient 30 a jeśli chcemy by niebo emitowało światło /skylight 50 50 50 (składowe RGB). Usprawnieniom uległ również tryb tworzenia map wysokości - heightmap. Zaznaczanie terenu z wciśniętym H, Alt lub środkowym przyciskiem myszy i kręcenie kółkiem może dać zadziwiające deformacje terenu. Potem wystarczy zaznaczyć taką "nierówność" i wpisać /water lub /lava - mamy basenik:) Pojawił się nowy materiał: aiclip, czyli niewidzialna ściana zatrzymująca tylko potwory.
Innym wygodnym usprawnieniem jest menu z teksturami dostępne pod F2. Nie trzeba już kręcić rolką trzymając Y i przeglądać wszystkich tekstur po kolei.



Pojawiły się także nowe byty (entities):
-box (/newent box 20, gdzie 20 to numer modelu), który może być przesuwany i podrzucany. Tu przykładowy wózek potraktowany rakietnicą.



-barrel - to samo co box, tylko potrafi wybuchać ostrzelane.
-elevator (/newent elevator 16 0 10, gdzie 16 - numer modelu, 0 - tag sterujący, 10 - prędkość) - winda.
-platform (/newent platform 16 0 10) - platforma poruszająca się poziomo.
Żeby je zobaczyć trzeba zapisać mapę /savemap nazwamapy i otworzyć w trybie singleplayer /sp nazwamapy.
Tagi sterujące - jeśli wynoszą 0 to windy i platformy poruszają się samodzielnie, jeśli są różne od zera to steruje się nimi przy pomocy polecenia /platform 3 1, gdzie 3 to numer tagu (może być inny), a 1 to kierunek poruszania (gdy -1 to się cofa, gdy 0 zatrzymuje).
Zrobiłem w ten sposób lewitujące łóżko (Tag numer 2) aktywowane dźwignią dwustronnego działania (Trigger multiple, przykładowo o numerze #2). By działał, trzeba w pliku konfiguracyjnym nazwamapy.cfg dodać:

alias level_trigger_2 [
if (= $triggerstate 0) [platform 2 -1]
if (= $triggerstate 1) [platform 2 1]
]




Co jeszcze? Np. particle, czyli dymy, ognie fontanny czy flary. Poleceniem /newent particles 2 0 dodałem "żródełko".



Testowa mapka

Brak komentarzy:

Prześlij komentarz