Author Topic: Tworzenie map - instrukcja  (Read 9915 times)

Offline troll

  • Administrator
  • Hero Member
  • *****
  • Posts: 654
    • View Profile
Re: Tworzenie map - instrukcja
« Reply #15 on: December 03, 2012, 05:31:32 PM »
Z tego co widzę, winna jest ostatnia poprawka do bakterii. Przez nią brakuje pamięci.

Do mapy europy dałem 2GB limitu pamięci. Ale wtedy poprawki nie było i wszystko działało.

Wieczorem poprawie to

Offline troll

  • Administrator
  • Hero Member
  • *****
  • Posts: 654
    • View Profile
Re: Tworzenie map - instrukcja
« Reply #16 on: December 03, 2012, 11:11:24 PM »
Wgrałem nową wersje. Bakterie powinny bardziej racjonalnie zarządzać pamięcią. Zobacz, czy zadziała ci teraz.

Troll

Offline hydro

  • developer
  • Administrator
  • Sr. Member
  • *****
  • Posts: 496
    • View Profile
Re: Tworzenie map - instrukcja
« Reply #17 on: December 03, 2012, 11:17:35 PM »
Dobra, zaraz zobaczę.

edit:Uruchomione, za jakiś czas sprawdzę rezultat.

edit2: To jednak chyba będzie problem z konfiguracją tego konkretnego komputera. Tak jakby nie przydzielał żądanej pamięci - pewnie potrzebuje ją na coś innego, albo ja coś jednak źle robię. Albo jedno i drugie ;-)
Może mi się uda jutro spróbować na normalniejszej maszynie, to coś więcej się dowiemy. Tak łatwo nie zrezygnuję ;-)

W każdym razie dzięki za tę nową wersję bakterii, to ważne.
« Last Edit: December 04, 2012, 02:55:34 AM by hydro »

Offline hydro

  • developer
  • Administrator
  • Sr. Member
  • *****
  • Posts: 496
    • View Profile
Re: Tworzenie map - instrukcja
« Reply #18 on: December 05, 2012, 02:08:21 PM »
Faktycznie uruchomienie bakterii na jeszcze innym komputerze pozwoliło mi znaleźć rozwiązanie :-) Początkowo rezultat był identyczny jak wcześniej, czyli program (mimo polecenia zwiększenia limitu) nie używał więcej pamięci niż 256MB. Ale tym razem nie miało to już prawa być spowodowane brakiem dostępnej pamięci w komputerze, bo manager zasobów pokazywał mnóstwo wolnej pamięci. No to przyczyna musiała być inna - i była. Po zainstalowaniu 64bitowej Javy i ustawieniu trybu -d64 wszystko pięknie zadziałało i kolumna pokazująca pamięć na dany krok wypełniła się wartościami do mniej więcej 1487MB, zamiast monotonnym 238MB :-) Dodatkowo wszystko policzyło się bardzo szybko, więc zdążyłam zrobić jeszcze próbę z 64bitową Javą na tym komputerze, co wcześniej próbowałam i nie działało. Teraz działa :-)

Oczywiście pojawia się błąd z pikselami w złym kolorze, jak u Liosana, ale to już zupełnie co innego. Żebyście wiedzieli, jak mnie ucieszyło pojawienie się tego błędu zamiast poprzedniego. Bo to już znaczy, że jestem na dobrej drodze do pozytywnego rezultatu :-)

Offline liosan

  • Administrator
  • Hero Member
  • *****
  • Posts: 585
  • Kataj
    • View Profile
Re: Tworzenie map - instrukcja
« Reply #19 on: December 05, 2012, 02:17:57 PM »
Oczywiście pojawia się błąd z pikselami w złym kolorze, jak u Liosana, ale to już zupełnie co innego. Żebyście wiedzieli, jak mnie ucieszyło pojawienie się tego błędu zamiast poprzedniego. Bo to już znaczy, że jestem na dobrej drodze do pozytywnego rezultatu :-)
To daj znać jak coś z tym wymyślisz... ja aktualnie nie mam dostępu do tamtego kompa, więc prace wstrzymane :)

Liosan

Offline troll

  • Administrator
  • Hero Member
  • *****
  • Posts: 654
    • View Profile
Re: Tworzenie map - instrukcja
« Reply #20 on: December 05, 2012, 04:54:29 PM »
Tymczasowo możecie łatwo znaleźć za pomocą np. gimpa kolor, który nie jest czarny, niebieski albo biały.

Troll
« Last Edit: December 05, 2012, 05:05:16 PM by troll »

Offline hydro

  • developer
  • Administrator
  • Sr. Member
  • *****
  • Posts: 496
    • View Profile
Re: Tworzenie map - instrukcja
« Reply #21 on: December 05, 2012, 09:59:36 PM »
Oczywiście pojawia się błąd z pikselami w złym kolorze, jak u Liosana, ale to już zupełnie co innego. Żebyście wiedzieli, jak mnie ucieszyło pojawienie się tego błędu zamiast poprzedniego. Bo to już znaczy, że jestem na dobrej drodze do pozytywnego rezultatu :-)
To daj znać jak coś z tym wymyślisz... ja aktualnie nie mam dostępu do tamtego kompa, więc prace wstrzymane :)
Tymczasowo możecie łatwo znaleźć za pomocą np. gimpa kolor, który nie jest czarny, niebieski albo biały.

W gimpie 2.8.2 w taki sposób (mam nadzieję, że nie piszę zbyt oczywistych rzeczy - mi się dopiero co udało ich nauczyć):

Otwieramy okno dokowalne "Opcje narzędzia" (Menu: Okna -> Dokowalne okna dialogowe -> Opcje narzędzia) i umieszczamy je na ekranie gdzie komu wygodnie. Na moim screenie jest po lewej stronie, a cały gimp jest w trybie jednookienkowym (Menu: Okna -> Tryb jednego okna).

Z przybornika wybieramy narzędzie "Zaznaczanie według koloru" (na screenie jest wciśnięty jego przycisk).

W oknie "Opcje narzędzia" koniecznie trzeba usunąć zaznaczenie wszystkich takich rzeczy jak "Wygładzanie", "Zmiękczanie krawędzi" i temu podobne. Ja na wszelki wypadek odznaczam wszystko ;-)
W polu "Progowanie" ustawiamy wartość 0,0.
Gdyby tego nie zrobić, zaznaczałyby się nie tylko piksele w danym kolorze, ale też sąsiadujące z nimi piksele o zbliżonym kolorze, czyli właśnie te, których szukamy - nie znaleźlibyśmy ich w takiej sytuacji.

Teraz jak klikniemy w dany kolor, zaznaczą się wszystkie piksele na ekranie w danym kolorze. Czyli klikamy w czarny. Zaznaczony obszar jest obwiedziony migającą przerywaną linią. Dobrze. To teraz dodamy do zaznaczenia następny kolor. Naciskamy Shift (dodawanie do zaznaczenia) i klikamy w biały. Trzymamy Shift i klikamy w niebieski (to może wymagać powiększenia obrazka).
I teraz mamy zaznaczone wszystkie piksele w trzech wybranych kolorach. Poza zaznaczeniem pozostają piksele w innych kolorach. Teraz odwracamy zaznaczenie (Menu: Zaznaczenie -> Odwróć).
Zaznaczone (obwiedzione migającą przerywaną linią) mamy piksele w innych kolorach niż czarny, biały i niebieski. To właśnie są nasze nieprawidłowe piksele. Powiększamy obrazek i je przemalowujemy na właściwy kolor.

---

Jak uniknąć tych pikseli nieprawidłowych już na etapie rysowania? W każdym razie - jak ograniczyć ich liczbę ;-)

No więc przede wszystkim trzeba rysować narzędziem, które nie daje rozmytego konturu. W gimpie jest to ołówek. W opcjach narzędzia (każdego którego używamy) wyłączamy wszystkie zmiękczania, rozmywania, itp. Ustawiamy pędzel, który nie ma rozmycia na krawędziach (np. w gimpie "Hardness100"). Ja pamiętałam o tym przy rysowaniu niebieskiej linii, ale zapomniałam przy rysowaniu białej plamy - i na styku czarnego z białym było u mnie pełno pikseli o stopniowanej szarości ;-/

Rysujemy od razu w docelowej wielkości. Skalowanie jest zawsze ryzykowne. Jeżeli już decydujemy się na skalowanie, to w polu wyboru Interpolacji ustawiamy koniecznie  "Brak". Inaczej powstanie pełno pikseli w niechcianych kolorach.

Od razu z pliku, w którym rysujemy w edytorze, eksportujemy do .png . Nie używamy jakichś formatów pośrednich typu .jpg, bo kompresja zrobiłaby nam dosłownie mozaikę różnokolorowych pikseli.

edit: Jak coś pominęłam, to dopiszcie.
« Last Edit: December 05, 2012, 10:20:39 PM by hydro »

Offline liosan

  • Administrator
  • Hero Member
  • *****
  • Posts: 585
  • Kataj
    • View Profile
Re: Tworzenie map - instrukcja
« Reply #22 on: December 06, 2012, 12:01:23 PM »
Super, dzięki, nie wiedziałem jak to się robi :) Ja rysowałem w paint.NET z wyłączonym antyaliasingiem, więc teoretycznie nie powinno być przejściowych kolorów... teoretycznie. Zobaczymy :)

Liosan

Offline hydro

  • developer
  • Administrator
  • Sr. Member
  • *****
  • Posts: 496
    • View Profile
Re: Tworzenie map - instrukcja
« Reply #23 on: December 06, 2012, 02:27:37 PM »
Muszę niestety powiedzieć, że mi się na razie nie udało usunąć nieprawidłowych pikseli ;-/ Już nic mi się nie zaznacza, a program zgłasza ciągle na koniec ten błąd z kolorem pikseli.
 
Ale przy takim przeglądzie tego obrazka "kawałek po kawałku" znalazłam jeszcze kilka takich miejsc, gdzie w niebieskim konturze był zamknięty pojedynczy biały piksel (na screenie). Mało prawdopodobne, żeby właśnie w nim wylosowywała się jakaś ameba, a niebieski kontur nie pozwala innym amebom zająć takiego obramowanego pola. Myślę, że taki biały piksel może powodować błąd, bo na tym etapie poprawek pewnie już nie powinno być na planszy żadnego białego piksela, tylko same niebieskie.

Nie mam jeszcze pewności, jak jest interpretowana linia grubsza niż 1 piksel, a takich miejsc też sporo znalazłam.

Spróbuję, chociaż pewnie nie dzisiaj, narysować od nowa ten niebieski kontur zwracając od razu uwagę na jednolitość linii. To powinno być skuteczniejsze od poprawienia tego pliku, który już mam ;-)

Offline troll

  • Administrator
  • Hero Member
  • *****
  • Posts: 654
    • View Profile
Re: Tworzenie map - instrukcja
« Reply #24 on: December 06, 2012, 03:15:21 PM »
Grube kreski i wyizolowane piksele nie są raczej źródłem błędów. Zaczynam podejrzewać, że problem stanowi coś zupełnie innego. Jeżeli w inpucie nie ma odpowiednio dużej czarnej ramki program może się wywalać. Być może rzuca takim błędem, że wydaje się wam, że chodzi o kolor.

Zobaczcie, czy kolor czarny przy brzegach nie jest cieńszy niż 40px. Jeżeli jest, może to jest źródłem błędu, zwiększcie ramkę. Jeżeli nadal coś nie działa przyślijcie mi input, być może to jakiś inny banalny błąd, lub bug w programie. Będe przynajmniej wiedział co poprawić.

Wiem, że obecnie bakterie działają w dość dziki sposób, postaram się w najbliższej przyszłości dodać jakieś sprawdzanie inputu, to powinno poprawić sytuacje.

@Hydro - dzięki za napisanie instrukcji, nie pomyślałem o napisaniu czegoś takiego, a jak widać jest pomocne.

Jeżeli chodzi o pocienianie kresek jeżeli było ci coś takiego potrzebne, to napisałem program, który coś takiego robi. Jeżeli jest taka potrzeba mogę go udostępnić.

pozdrawiam
Troll

Offline hydro

  • developer
  • Administrator
  • Sr. Member
  • *****
  • Posts: 496
    • View Profile
Re: Tworzenie map - instrukcja
« Reply #25 on: December 06, 2012, 04:04:18 PM »
Ramkę sprawdziłam i jest szeroka, może problem w tym, że za szeroka?
Teraz próbuję wklejać te kawałki mapy, które mnie najbardziej niepokoiły, do tego przykładowego małego sandboxa (jak gdyby powtórzyć błąd) i uruchamiam na nim bakterie. Wszystko póki co działa i regiony w tych miejscach z pogrubionymi liniami, plamami niebieskich pikseli, wyizolowanymi białymi pikselami, wąskimi przesmykami, gęstymi rzekami - generują się.
To wyślę Ci ten mój plik, na którym pokazuje się błąd z kolorem pikseli. Myślę, że jednak błąd jest w tym pliku, tylko nie umiem go znaleźć.

Offline troll

  • Administrator
  • Hero Member
  • *****
  • Posts: 654
    • View Profile
Re: Tworzenie map - instrukcja
« Reply #26 on: December 06, 2012, 04:22:20 PM »
Za szeroka ramka nie stanowi problemu.

W takim razie czekam na plik, sam jestem ciekaw co tam nie działa :)

Offline troll

  • Administrator
  • Hero Member
  • *****
  • Posts: 654
    • View Profile
Re: Tworzenie map - instrukcja
« Reply #27 on: December 06, 2012, 11:02:26 PM »
Sprawdziłem co tam się dzieje, wychodzi na to, że jest to w 100% moja wina :(. Wszystko przez to, że zanim wypuściłem ten programik trochę go ulepszyłem. Wierzcie lub nie ale kiedyś działał jeszcze bardziej dziko :). W każdym razie ten błąd występował na wszystkich planszach o liczbie regionów przekraczających około 600. Nowy program testowałem na mapie z około 250 regionami.

W każdym razie już wszystko powinno działać, nie zdążyłem w prawdzie zapuścić testu na dużej mapie. Włączę generacje bakterii na noc, najwyżej rano napiszę, że ciągle nie działa.

Jeżeli chodzi o kolory z poza zakresu zdefiniowanych to program traktuje wszystkie kolory które nie są czarnym i niebieskim jak biały, więc nawet antyaliasing nie powinien bardzo przeszkadzać. Nie powinno to powodować błędów.

przepraszam za problem, mam nadzieje, że to ostatnia taka wtopa
pozdrawiam
Troll

Offline hydro

  • developer
  • Administrator
  • Sr. Member
  • *****
  • Posts: 496
    • View Profile
Re: Tworzenie map - instrukcja
« Reply #28 on: December 06, 2012, 11:58:08 PM »
Nie masz za co przepraszać, przecież to normalne że jak się robi coś nowego albo ulepsza, to nie zawsze od razu wychodzi tak, jak by się chciało :-) Fajnie że znalazłeś możliwą przyczynę.

Offline hydro

  • developer
  • Administrator
  • Sr. Member
  • *****
  • Posts: 496
    • View Profile
Re: Tworzenie map - instrukcja
« Reply #29 on: December 07, 2012, 01:53:13 AM »
Na mapie 4215x5001 px wszystko pięknie zadziałało :)))