Teraz jest Wt 24 cze, 2025 05:25


Noc martwych martwiaków [projekt]

Archiwum działów sekcji Operation Flashpoint
  • Autor
  • Wiadomość
Offline
Avatar użytkownika

DeviAnCE

Major

Major

  • Posty: 611
  • Dołączył(a): So 07 sie, 2004 12:09
  • Lokalizacja: Terra

PostN 08 maja, 2005 13:30

Jonez napisał(a):Super =] Ja się piszę :twisted:

I ja również :)
We do not know death... only change. We cannot kill each other without killing ourselves.
Offline
Avatar użytkownika

Zabix

Major

Major

  • Posty: 931
  • Dołączył(a): Śr 21 lip, 2004 11:30

PostN 08 maja, 2005 14:09

Może być ciekawie :lol:
Offline
Avatar użytkownika

Jerry

Pułkownik

Pułkownik

  • Posty: 2598
  • Dołączył(a): Pn 19 lip, 2004 21:28
  • Lokalizacja: 52° 14'N, 20° 56'E

PostN 08 maja, 2005 14:37

Daj tylko namiary czasoprzestrzenne :twisted:
Obrazek
Offline
Avatar użytkownika

alderous

Pułkownik

Pułkownik

  • Posty: 1784
  • Dołączył(a): Cz 19 sie, 2004 13:20
  • Lokalizacja: Łódź

PostN 08 maja, 2005 16:30

Bo ja wiem? Ja ogólnie rzecz biorąc czas mam. W takie coś lepiej gra się nocą, ale obecnie ciemno robi się dosyć późno.
Offline
Avatar użytkownika

Jon

Generał

Generał

  • Posty: 10721
  • Dołączył(a): Wt 20 lip, 2004 00:43
  • Lokalizacja: Kraków

PostN 08 maja, 2005 16:57

18.30? :) Btw, sprawdź gg please :clever:
http://www.pajacyk.pl

“Politics is supposed to be the second oldest profession. I have come to realize that it bears a very close resemblance to the first.”
~ Ronald Reagan
Offline
Avatar użytkownika

alderous

Pułkownik

Pułkownik

  • Posty: 1784
  • Dołączył(a): Cz 19 sie, 2004 13:20
  • Lokalizacja: Łódź

PostN 08 maja, 2005 17:02

Jonez napisał(a):18.30? :) Btw, sprawdź gg please :clever:


Może być.

BTW Nie wiem czemu gracie skoro skrypty nie działają - bez nich zombiaki zbyt bystre nie są.
Offline
Avatar użytkownika

Jon

Generał

Generał

  • Posty: 10721
  • Dołączył(a): Wt 20 lip, 2004 00:43
  • Lokalizacja: Kraków

PostN 08 maja, 2005 17:55

Dla relaksu, zabawy i bezmyślnej przemocy :D
http://www.pajacyk.pl

“Politics is supposed to be the second oldest profession. I have come to realize that it bears a very close resemblance to the first.”
~ Ronald Reagan
Offline
Avatar użytkownika

alderous

Pułkownik

Pułkownik

  • Posty: 1784
  • Dołączył(a): Cz 19 sie, 2004 13:20
  • Lokalizacja: Łódź

PostN 08 maja, 2005 20:18

Wnioski są oczywiste. Nie było lagów, bo nie było skryptów, są skrypty to zaczynają się lagi. W każdym razie sądzę że zombiaki są o wiele bardziej agresywne niż do tej pory. Tworzyło ich się za dużo - w sumie w sześciu miejscach co 0-30 sekund (losowe) powstawało 6 zombiaków i nie było żadnego limitu ich ilości. Każdy zombiak co sekundę wyszukiwał cel, a to jest trochę pętli.

Sądzę, że po pierwsze zombiaków było za dużo - nie mogły się dopchać i utykały w szeregu (to już kwestia miejsca, bo te budynki to dla AI spory problem).

Po drugie nie ma sensu co sekundę sprawdzać jaka ofiara jest najbliżej. Skoro radziły sobie wogóle bez skryptów to pięć sekund wystarczy.

Wysłany 8 Maj 2005, 20:31:

Im mniej "przeszkód" tym lepiej dla zombiaków. Jeśli jest za dużo obiektów engine nie jest w stanie wyznaczyć "ścieżki". Do takowych zaliczają się też skrzynie z amunicją - nie ma sensu ustawiać więcej niż jedną.

Wysłany 8 Maj 2005, 21:24:

Podaję fragment description.ext z brońmi z SOF2

Kod: Zaznacz cały
class Weapons
{
   class sof2_ak74 {count = 6;};
   class sof2_ak74b {count = 6;};
   class sof2_rpd {count = 6;};
   class sof2_m4 {count = 6;};
   class sof2_m4gl {count = 6;};
   class sof2_m3a1 {count = 6;};
   class sof2_m60 {count = 6;};
   class sof2_m590 {count = 6;};
   class sof2_usas12 {count = 6;};
   class sof2_msg90a1 {count = 6;};
   class sof2_oicw {count = 6;};
   class sof2_mm1 {count = 6;};
   class sof2_m1911a1 {count = 6;};
   class sof2_ussocom {count = 6;};
   class sof2_ussocomsil {count = 6;};
   class sof2_microuzi {count = 6;};
};

class Magazines
{

   class sof2_ak74Mag {count = 60;};
   class sof2_rpdMag {count = 30;};
   class sof2_m4Mag {count = 60;};
   class sof2_m203Grenade {count = 30;};
   class sof2_m3a1Mag {count = 60;};
   class sof2_m60Mag {count = 30;};
   class sof2_m590Mag {count = 60;};
   class sof2_usas12Mag {count = 60;};
   class sof2_msg90a1Mag {count = 60;};
   class sof2_oicwMag {count = 60;};
   class sof2_oicwGrenade {count = 30;};
   class sof2_mm1Mag {count = 30;};
   class sof2_m1911a1Mag {count = 30;};
   class sof2_ussocomMag {count = 60;};
   class sof2_ussocomsilMag {count = 60;};
   class sof2_microuziMag {count = 60;};
};


Niestety nie mogę dać gwarancji że wszystko zadziała, bo wygląda na to że te zasr**** podały błędne nazwy broni i magazynków w readme :x
Offline
Avatar użytkownika

BlaK

Chorąży

Chorąży

  • Posty: 167
  • Dołączył(a): Pn 27 wrz, 2004 17:09
  • Lokalizacja: Warszawa

PostPn 09 maja, 2005 12:53

Po tej sieczce co grałem u Joneza, stwierdzam:
Są za mocne, nawet 2 magazynki z SOF_AK nie mogły ich powalić.
Albo się nie spawnują przez dłuższy czas, albo za dużo ich naraz.
Offline
Avatar użytkownika

Jon

Generał

Generał

  • Posty: 10721
  • Dołączył(a): Wt 20 lip, 2004 00:43
  • Lokalizacja: Kraków

PostPn 09 maja, 2005 14:53

podały błędne nazwy broni i magazynków w readme

Z tego, co kiedyś sprawdzałem błędne są nazwy jedynie magazynków dla pistoli. Reszta się zgadza.

No i m.in. dlatego strzelaliśmy z BIS'owych pistoli.

Są za mocne, nawet 2 magazynki z SOF_AK nie mogły ich powalić.

Co Ty mówisz? :| Seria-dwie w łeb i koniec :D Zresztą i tak najlepiej sprawują się Usas12, Mossberg i M60 :twisted: Mniam :D :twisted: :twisted: :twisted:
http://www.pajacyk.pl

“Politics is supposed to be the second oldest profession. I have come to realize that it bears a very close resemblance to the first.”
~ Ronald Reagan
Offline
Avatar użytkownika

BlaK

Chorąży

Chorąży

  • Posty: 167
  • Dołączył(a): Pn 27 wrz, 2004 17:09
  • Lokalizacja: Warszawa

PostPn 09 maja, 2005 15:31

Ja waliłem 2 magi w łeb i nic :/
USAS RoX :P
Offline
Avatar użytkownika

alderous

Pułkownik

Pułkownik

  • Posty: 1784
  • Dołączył(a): Cz 19 sie, 2004 13:20
  • Lokalizacja: Łódź

PostWt 10 maja, 2005 18:29

USAS ma wpadający w ucho dźwięk, ale czy jest najlepszym wyborem na zombie? :? Moim zdaniem najlepiej sprawdzają się ukm'y i rkm'y czyli M60, RPD itp. Raczej ma się gwarancję że w krytycznym momencie nie zabraknie amunicji. Z drugiej strony mały magazynek skłania do celowania.

Co do odporności to już są trzy razy mniej odporne niż pierwotnie, a że trudno je zatrzymać to taki już urok zombie. Chyba właśnie dlatego je lubimy, bo idą dalej mimo że rzucamy przeciw nim wszystko co mamy.

Myślę, że czas już zacząć wymyślać jakieś bardziej skomplikowane zadania, bo samo faszerowanie ołowiem robi się powoli nudne. Kroci mnie by urozmaicić je w ten sposób, że gracze mają mało amunicji i muszą urządzać wypady "w mrok" w poszukiwaniu jej (oczywiście zwykle znajduje się ją przy zwłokach poprzedniego właściciela)

Wysłany 9 Maj 2005, 20:52:

Z luźnych rozmyślań nad typami misji z zombie w roli głównej:

  • Znaleźć i ewakuować - zadaniem jest odnalezienie ważnej osoby i ochrona jej ewakuacji z terenu w którym występują zombie. Oczywiście najlepiej byłoby gdyby miejsce pobytu "zguby" było losowe. Dodatkowo można wprowadzić limit czasowy tzn. po jakimś czasie zombie znajdą szukaną osobę. Oczywiście w takiej sytuacji misja się nie kończy, ale odnalezienie zwłok i wycofanie się to tylko częściowe powodzenie. Skłaniam się ku ewakuacji drogą lądową, bo ochranianie AI jest wyzwaniem samo w sobie.
  • Znaleźć i ewakuować (wariant drugi) - podobne do porzedniego tyle, że tym razem po prostu ratujemy zwykłych ludzi - im więcej się uda tym lepiej. Oczywiście warto by ich rozmieścić losowo i czas również powinien odgrywać rolę, bo zombie nie próżnują.
  • Uciec - zadanie z pozoru proste, ale są pewne komplikacje np. uciec można tylko łodzią, a nie ma paliwa które trzeba najpierw znaleźć (oczywiście za każdym razem jest gdzie indziej), a zombie cały czas nadchodzą, więc może warto się rozdzielić by szybciej przeszukać obszar wyspy?.
  • Dotrzeć - czyli po prostu przejść z punktu A do B, ale trzeba to zrobić na piechotę i co gorsza bez mapy. Można dodatkowo utrudnić zadanie poprzez rozrzucenie graczy na niewielkim obszarze tzn. dobrze byłoby się najpierw wzajemnie znaleźć nim ruszy się do celu.
  • Zniszczyć źródła - zombie powstają w kilku miejscach i aby to powstrzymać trzeba te miejsca odnaleźć i w jakiś sposób (może być samo znalezienia) to powstrzymać. Oczywiście teren jest trudny i amunicji jest mało więc jest to też gra na czas (może się rozdzielić? :twisted: ).

Sądzę, że takie elementy jak: rozproszenie graczy na początku, presja czasu, ograniczone zapasy amunicji które można uzupełnić jedynie znajdując przypadkiem ofiary zombie, fatalne warunki atmosferyczne (widoczność), brak mapy, konieczność znalezienia czegoś itp. to coś bez czego nie da się obejść. Zombie same w sobie nie są wielkim wyzwaniem i głównym wrogiem powinien być czas - one po prostu nie rezygnują i nadchodzą bezustannie.


Wysłany 9 Maj 2005, 21:28:

Co do sposobu w jaki obecnie zombie są naprowadzane na cel to odpowiada za to poniższy skrypt

Kod: Zaznacz cały
?!(local serwer): exit
;skrypt jest odpalany tylko na serwerze

_zombiak = _this select 0
;do skryptu przekazuje sie jednostke-zombie

lista = [x1,x2,x3,x4,x5,x6]
;lista zawiera ofiary na ktore beda polowac zombie. Mozna to przekazac w
;inny sposob, ale ten jest rownie dobry jak inne choc malo uniwersalny

_n = count lista - 1
;liczba elementow tablicy lista konieczna do dzialania petli



#loop
_i = -1
_bliski = _zombiak
_dist = 100000
;wartosci poczatkowe zmiennych ktore pozwalaja okreslic ktora z ofiar jest
;najblizej zombiego. _i to licznik petli, _bliski to najblizsza ofiara
;_dist to odleglosc zombiego od ofiary


#smallLoop
_i = _i + 1

?(!alive (lista select _i)):goto "smallLoop"
;jesli ita ofiara juz niezyje wybiera sie nastepna z listy

_rob = lista select _i
;_rob to ita osoba z listy ofiar

?((_rob distance _zombiak) < _dist): _bliski = lista select _i
;jesli dystans zombie do roba jest mniejszy od do tej pory
;najmniejszego ustalonego to ity staje sie najblizszym

?((_rob distance _zombiak) < _dist): _dist = (_zombiak distance _rob)
;jesli dystans zombie do roba jest mniejszy od do tej pory
;najmniejszego to dystans ten staje się najmniejszym znalezionym

?(_i < _n): goto "smallLoop"
;dopoki nie sprawdzi sie wszystkich na liscie doputy petla smallLoop jest ;wykonywana

_zombiak doMove getPos _bliski
_zombiak reveal _bliski
_zombiak DoFire _bliski
~5
;trzy polecenia kieruja zombie do ofiary po czym nastepuje ;pieciosekundowa pauza (zombie w tym czasie idzie do celu). Po niej ;ponownie sprawdza sie ktora ofiara jest najblizej

?(alive _zombiak): goto "loop"
;jesli zombiak zginal petla nie jest kontynuowana i skrypt zostaje ;zakonczony
exit


Na pewno da się go jeszcze poprawić. Na przykład można na bierząco usuwać z listy ofiar te które już zginęły (nie poprawi to wiele, ale to zawsze coś). Zastanawiam się jak zrobić by przed ocenianiem która ofiara jest najbliżej, sprawdzić czy poprzednio określony cel nie jest nadal nie dalej niż 5 metrów - w takim przypadku nie ma sensu szukać nowych ofiar nawet jeśli są bliżej. Zresztą biorąc pod uwagę jak niezależne okazały się zombie może warto wydłużyć tą 5 sekundową pauzę?


Wysłany 10 Maj 2005, 11:04:

Za spawnowanie zombie odpowiada następujący skrypt

Kod: Zaznacz cały
?!(local serwer): exit
;skrypt jest uruchamiany tylko na serwerze i jest to bardzo wazne w tym przypadku

_point = _this select 0
;punkt w okolicy ktorego tworza sie zombie przkazany poprzez nazwe obiektu np. wyzwalacza albo niewidzialnego H

_leader = _this select 1
;zombie ktory robi za dowodce tworzonej grupy. Zaraz po utworzeniu zombie i tak opuszczaja grupe, ale jego obecnosc jest konieczna

_howMany = _this select 2
;jak wiele zombie ma byc tworzone jednorazowo

_point = getPos _point
;zmienna _point od tej pory zawiera już wspolrzedne, a nie nazwe obiektu

_i = 0
#Loop
_point = [(_point select 0) - 5 + random(10),(_point select 1) - 5 + random(10)]
;wspolrzedne w ktorych powstanie zombie sa losowo zmieniane o niewielka wartosc aby nie tworzyc jednego na drugim

_los = random(3)
;zmienna _los okresli jaki typ zombiego powstanie. Sa trzy typu ubioru

?(_los<=1):_zombiak1 = "ALDI_zombiak1" createUnit [_point,group _leader,"[this] join grpNull;[this] exec {hunt.sqs}; this setSpeedMode {LIMITED}"]
?(_los>1 && _los<=2):_zombiak1 = "ALDI_zombiak2" createUnit [_point,group _leader,"[this] join grpNull;[this] exec {hunt.sqs}; this setSpeedMode {LIMITED}"]
?(_los>2):_zombiak1 = "ALDI_zombiak3" createUnit [_point,group _leader,"[this] join grpNull;[this] exec {hunt.sqs}; this setSpeedMode {LIMITED}"]
;w zaleznoszci od wartosci _los tworzony jest inny zombiak. Od razu odlacza sie go od grupy
;i uruchamia skrypt kierujacy go ku ofiarom

~2
_i = _i + 1
?(_i<_howMany): goto "Loop"
;jesli stworzono jusz wszystkie zombi skrypt konczy dzialanie

exit


Wysłany 10 Maj 2005, 18:29:

obecny ALDI_StrokeFist (135 kB)
Offline
Avatar użytkownika

JaFranek

Major

Major

  • Posty: 581
  • Dołączył(a): Wt 16 lis, 2004 14:46
  • Lokalizacja: Tbg

PostWt 10 maja, 2005 19:20

Alderous napisał :
Na pewno da się go jeszcze poprawić. Na przykład można na bierząco usuwać z listy ofiar te które już zginęły (nie poprawi to wiele, ale to zawsze coś)


Można by to zrobić za pomocą wyzwalacza w obrębie którego były by wybierane jednostki. Wtedy nie istniejące i martwe jednostki nie były by wybierane.

Co do reszty CZARNA MAGIA
Nie pytaj, co OF może zrobić dla ciebie, ale co Ty możesz zrobić dla OF
Offline
Avatar użytkownika

alderous

Pułkownik

Pułkownik

  • Posty: 1784
  • Dołączył(a): Cz 19 sie, 2004 13:20
  • Lokalizacja: Łódź

PostWt 10 maja, 2005 21:11

Nadal są desync'ki :? Mogę zwiększać pauzę w pętli (można by dać kilka wartości jako parametr do wyboru na początku misji), albo zakładając, że największy problem stanowi komenda createVehicle (ona zawsze ostro przycina grę) odpuścić sobie tworzenie jednostek i po prostu je sukcesywnie wskrzeszać. Jeśli w grze nie ma "przyjaznych" graczom AI to nie ma problemu.
Offline
Avatar użytkownika

Jon

Generał

Generał

  • Posty: 10721
  • Dołączył(a): Wt 20 lip, 2004 00:43
  • Lokalizacja: Kraków

PostŚr 11 maja, 2005 13:08

Kilka uwag:

1) Desynci pojawiały się jedynie powyżej 3 osób.
2) Wciąż za mało jest miejsc, w których spawnują się zombiaki. Nie licząc momentów w których wchodzą do szopy, tudzież skracają sobie drogę przez dom, atakują praktycznie z dwóch stron, a wtedy sukcesywne uśmiercanie ich kolejnych fal nie stanowi problemu. Ponad to, z jakiegoś dziwnego powodu nie atakują z jednej ze stron, i zacinają się tam.
3) Trzebaby poprawić briefing, i dodać jakieś sensowne zakończenie [np. po 15 minutach przylatuje helikopter, który zabiera naszych]
4) Ognisko stanowi dla zombiaków jak widać przeszkodę nie do pokonania. Wystarczy ustawić się za środkowym ogniskiem, a jedyne zagrożenie może nadejść jedynie z wnętrza szopy z bronią - reszta zombiaków czeka potulnie naprzeciwko Ciebie, tworząc zwarty mur, który można sprzątnąć 2, 3-ma granatami...
5)
(ona zawsze ostro przycina grę)
Może w NV, w twojej misji jedynie przy pierwszych wczytaniu skryptu, czuć lekki przeskok - potem cały czas misja chodzi płynniutko, przynajmniej mi, zero przyciachów, a już na pewno nie takich jak w NV.

Tak sobie myślę... może gdybyś miał czas, poprawiłbyś Hordę i przy okazji zastanowił się na przerobieniem NV pod twój addon zombiaków? Płynnie chodzące NV z masą zombiaków to jest to! :twisted: Ja bym dodał giwery z SoFa i... żyć, nie umierać...
http://www.pajacyk.pl

“Politics is supposed to be the second oldest profession. I have come to realize that it bears a very close resemblance to the first.”
~ Ronald Reagan
Poprzednia stronaNastępna strona

Powrót do Operation Flashpoint

Kto przegląda forum

Użytkownicy przeglądający ten dział: xersius i 8 gości