2020-02-19 21:54:01

Aktualności:

więc koniecznie przeczytaj regulamin (link pod guzikiem "Pomoc" powyżej)


Wurmz! - Propozycje

Zaczęty przez Express, 2003-05-06 21:51:49

0 użytkowników i 1 Gość przegląda ten wątek.

Express

2003-05-06 21:51:49 Ostatnia edycja: 2005-12-25 19:50:56 by Greybrow
Mam nadzieję, że się z tego nie zrobi wishlist, najwyżej temat zostanie zamknięty.
Ale nie będę takich rzeczy pisał w komentarzach do newsów.

1) To o czym pisał vugie.
Wsumie możnaby stworzyć wirtualny obrazek, 1 bajt na pixel (albo mniej, w sumie nie trzeba aż tyle kierunków), a w tym bajcie kierunek kąt normalnej dla danego punktu. w momencie zderzenia pobierana jest ta wartość i kąt jest odpowiednio zmieniany.

W tym celu trzebaby najpierw stworzyć mapkę pixeli odbijających i nieodbijających - to akurat jest banalne. Tylko właśnie zastanawiam się jak zwektoryzować taką zerojedynkową mapę i nic mi do głowy rozsądnego nie przychodzi. Na pewno da się to zrobić, oczywiście ze skończoną dokładnością, ale nie wiem jak.
W razie zniszczenia terenu sprawa jest znacznie łatwiejsza, bo można obliczyć normalne dla każdego punktu "dziury" (w dowolnym momencie przed grą i tam gdzie "dziura" trafia w teren odbijający broń i zniszczalny, tam zmienić kąt wektora.

Oczywiście możnaby też zrobić taki "obrazek" na etapie tworzenia mapy, ale będzie to chyba tak samo skomplikowane, a bardziej błędogenne.

2) Czy docelowo ma pozostać launcher?
Proponowałbym jednak włączenie jego funkcji do samego programu. Jakoś tak ...spójniej by to wyglądało.

[VT] Patrys

ad. 1 Hmm... weź proszę pod uwagę, że lecący nabój bardzo rzadko trafia w krawędź ściany. Znacznie częściej kolizja następuje już wewnątrz ściany (czego nie widać, bo następuje odbicie). Wynika to z dokładności fizyki (kompromis prędkość:dokładność). A jak policzyć kąt dla pikseli wewnątrz ściany? Poza tym zadałem pytanie: jaki kąt ma pojedynczy piksel? Poza tym jak policzyć wektory normalne na krawędziach dziur, skoro dziury są bitmapami i mogą mieć dowolny kształt?

ad. 2 Myśleliśmy nad tym, ale projekt prawdopodobnie poczeka na Wurmz! Echo.
Patrys
The High Council of Seven
Vermis Templari

Express

Cytat: [ALC-X].patrys.[PL] w 2003-05-06 22:08:28
ad. 1 Hmm...

No to faktycznie załatwia sprawę.
Akurat bitmapa dziury nie jest problemem, w końcu kolor definiuje jej kształt (niezmienny przynajmniej w ciągu jednej gry), więc można by ją zbadać tą samą metodą co całą mapę. Ale i tak właściwie nie ma o czym rozmawiać.

Jaras

2003-05-06 23:45:15 #3 Ostatnia edycja: 2003-05-07 06:25:01 by [ALC-X].jaras.[PL]
Patrys: domyślam się, iż Expressowi chodziło o to, by w fazie produkcji "mapy kątów" przyporządkować każdemu pikselowi kąt na podstawie kilku w jego otoczeniu (pomijam fakt rzadkiego trafiania w krawędź ściany). co prawda dla piachu należałoby liczyć nie tylko graniczne piksele, a wszystkie, co jest niemożliwe przed rozpoczęciem gry. tak więc zostaje tylko realtime, a to mogłoby napsuć Patrysowi sporo krwi powodując kolejne desynci i bóg wie co jeszcze. chociaż nie obraziłbym się za dodanie takiej opcji dla map tylko skałkowych, gdyż problem "niefizycznego" odbijania się naboi wnerwia mnie od pierwszego dnia grania w liero.

chodzi o to, że podczas gry skała nie ulega deformacjom i zapisać można jedynie wartości kątów dla pikseli granicznych, a dla piachu należałoby dla KAŻDEGO punktu liczyć to, bo nie wiadomo, czy za którymś strzałem nie będzie on granicznym. jednak nie da się tego zrobić przed rozgrywką, bo nie wiesz, jaki kształt będzie miała krawędź w obrębie danego piksela, który na początku starcia jest w środku wielkiej kupy piachu na ten przykład.
|
V

Express

Wszystko jedno, czy dla piachu, czy dla skały. Powierzchnię piachu można poznać analizując kształt dziury (bmp) i jeśli broń ma się odbić to odbije się jak od skały. A pocisk w skałę wniknie tak samo jak w piach i odbije się gdzieś w środku. Więc właściwie dla dowolnego podłoża problem jest taki sam.

[VT] vugie

To właściwie jak w tej chwili jest liczony kąt odbicia jeśli czasem kolizja następuje wewnątrz ściany? (rozumiem dlaczego tak jest)

Tak, wiem.... weź źródła i sobie sprawdź ;)


Trzeba w takim razie wyznaczyć najpierw prostą styczną do ostatniego odcinka trajektorii pocisku i cofając się wzdłuż niej znaleźć moment, w którym skała/piach zamienia się na tło/sprock/spdirt.

A pojedyńczy pixel można traktować jako pionową/poziomą ścianę zależnie od kierunku lotu pocisku. Swoją drogą jak duże jest prawdopodobieństwo, że nastąpi kolizja z pojedyńczym pixelem? Dla szybko lecącego pocisku dosyć niewielkie...
Ptyś... sam zobacz... czy.... czy on jest przejechany?

Kampino

a co z 4 pikselami?
koło z niech będzie, czy kwadrat przy odbiciu?
Wotl
Liero CCCP - v 1.03 z dnia 21.III
gg.2649465

Express

Vugie: nie ma co sie bawić w styczne. Po prostu połączyć dwa ostatnie punkty w których pojawił się pocisk i wystarczy .Bronie szybkie, o długich odcinkach można na ogół uznać za poruszające się liniowo (przynajmniej w krótkim czasie), więc to by wystarczyło.
Ale koieczne jest zachowanie tej mapy zerojedynkowej o której pisałem  - żeby znaleźć punkt uderzenia no i problem - jak zwektoryzować z wystarczającą dokładnością mapę rastrową. Kilkupikselowe plamki (1x1, 2x2 itd) można uznać za kanciaste i nikomu to nie będzie przeszkadzać, ale większe powierzchnie...? I jak w prosty sposób odróżnić która jest duża a która mała?
Na szczęście można to (chyba) zrobić przed walką, podobnie jak rozpoznanie dziur, więc nie musi to być superszybki algorytm, ale też nie może trwać latami...

Denethor

Ja mam kilka propozycji

1. Pain material-czyli specjalny material zadjący obrażenia...dmg można by w konfiguracji mapy odpowiednio określić

2.Obsługa map w zipach-mapy jedna trochę zajmują więć obsługa jakiegoś formatu kompresji by sie przydała.

3.Ustawienie w jakiś sposób AI bota (przez wurmz.cfg zapewne jak by już to weszło)

Durbik

Ja mam takie pytanie... Ten raderek jest jaki jest, ale przejrzysty zbyt nie. MOże lepiej byłoby zrobić tak: jeśli wrogi robal opuszcza ekran, na naszym pojawia się strzałeczka (przy odpowiedniej krawędzi ekranu) w jego kolorze. Strzałeczka byłaby malutka, parę klatek (poziom, skosy, pion), a znakomicie ułatwiałaby pogoń za wrogiem. I na duzych mapach nie trzebaby było się szukać.
Odwiedź wiz8.prv.pl, pierwszy polski fansite o Wizardry 8.

Jaras

co do zipowania map, to nie ma najmniejszego sensu przy obsłudze i wykorzystaniu formatu png. chyba, że do celów porządkowych (katalogi w sumie też są uporządkowane, ale szybciej byłoby komuś mapkę wysłać).

Express

Jestem za tym, żeby można byo używać i spakowanych i niespakowanych.
Ale przede wszystkim (dotyczy launchera, a w przyszłości może samego programu) - niech mapy będą podzielone na kategorie (zdefiniowane w konfigu mapy), wtedy jeśli wybierzesz CTF to do wyboru masz tylko mapy zrobione dla CTF itd.

Kampino

popieram!

wysuwam jeszcze propozycję wyrzucenia do bitmapy paska energii - coś niecoś to TC maker'om da
Wotl
Liero CCCP - v 1.03 z dnia 21.III
gg.2649465

[VT] vugie

2003-05-10 19:36:51 #13 Ostatnia edycja: 2003-05-10 19:41:25 by [VT] vugie
A ja z uporem maniaka będę się czepiał dokładności celowania :)

Niech już tam przy naciskaniu góra/dół skacze sobie o taki kąta jaki skacze... ale po naciśnięciu "góra" i przytrzymaniu "dół" niech skacze o kąt 3 razy mniejszy. Jednym klawiszem celuje się z grubsza, a dwoma precyzyjnie. Ewentualnie taką funkcję mógłby pełnić przycisk "zmiana". "zmiana" +góra/dół celowałoby precyzyjnie, a podczas bujania się na linie celowanie precyzyjne i tak nie ma sensu.

A co myślicie o takim radarze?
Ptyś... sam zobacz... czy.... czy on jest przejechany?

[VT] Patrys

Nieaktualne: obecnie Wurmz! ma radar z Triplane Turmoil wzięty żywcem (pomysł Durbika).
Patrys
The High Council of Seven
Vermis Templari