Warsztat.GD

Społeczność => Compo i bitwy => Warsztat Summer of Code 2015 => Wątek zaczęty przez: wezu w Lipiec 06, 2015, 21:50:54

Tytuł: Wieśmin: Dziki Samogon
Wiadomość wysłana przez: wezu w Lipiec 06, 2015, 21:50:54
Wątek/devlog na temat powstającej w bólach gry na Summer of Code 2015.

Na dzień dzisiejszy istnieje zarys fabuły i pomysł na gameplay - ma to być przygodówka w 3D z elementami akcji (tak wiem, najstarszy błąd w historii przygodówek - ale tym razem się uda!).
Z pozoru gra będzie przypominać RPG ale nie będzie elementów rozwoju postaci, a z tym chyba wszyscy kojarzą erpegi. Nie będzie też machania mieczem (ale będzie rzucanie wybuchowym bimbrem), a bohater nie ma ani many ani punktów życia... chociaż nie, kłamie - ma dokładnie jeden PeŻet.

Gra będzie rozpoczynać się, gdy tytułowego(niedoszłego?) Wieśmina budzi zapach przypalanego zacieru. Po szybkim zbadaniu otoczenia okazuje się, że kur nie zapiał (jakiś wilkołak zdemolował kurnik) i cały zacier nastawiony na samogon nieco się przypalił - ale nie ma tego złego, wiadomo przecież, że policykliczne węglowodory aromatyczne powstające podczas spalania mają właściwości mutagenne...

W ramach swojej przygody Wieśmin będzie polował na rzeczonego wilkołaka - oczywiście na żywca, a jak wiadomo nie ma lepszej przynęty niż czerwone kapturki. Będzie musiał pozbyć się niechcianego kręgu megalitów (druidzi mu postawili komputer pogodowy w lesie, a teraz dziewki po nocy tam jak ćmy ciągnie, wilk jakąś zbrzuchaci i będzie jeszcze więcej wilkołaków). Będzie księżniczka zamieniona w żabę, którą trzeba oczywiście odmienić (powodzenia w szukaniu księcia w okolicy, ostatniego krasnoludki kilofami zarąbały jak im się do panny dobierał). Będzie budzenie wampira (wypadek przy pracy) i wyprawa do czarownicy (bo nikt we wsi nie wie jak ta osika na kołki w zasadzie wygląda). Będzie polowanie nie robale z wybuchowym bimbrem (koszenila potrzebna, by truskawkowej prycie nadać odpowiedni kolor). Do tego wszystkiego trochę skradania, podkradania i kradzieży.

Obawiam się, że nie objedzie się bez wulgarnego słownictwa i nagości, więc gdzieś po drodze będę musiał stworzyć system dynamicznej cenzury obrazu i tekstu. 

Sam bohater nabiera już wyglądu (chociaż brakuje mu puki co wyrazu), chodziło mi o wygląd coś pomiędzy Geraltem, a  Jakubem Wędrowyczem:
(http://s29.postimg.org/3m08l6zwn/wiesmin.png)
Tytuł: Odp: Wieśmin: Dziki Samogon
Wiadomość wysłana przez: wezu w Lipiec 07, 2015, 21:24:09
Główny bohater dostał już zestaw kości, jeszcze mu się szczęka i palce nie ruszają, ale tak to jest dość skoczny. Ubranie ma na razie mocno symboliczne.
Filmik:
https://youtu.be/wCdeMW1PWeg
Tytuł: Odp: Wieśmin: Dziki Samogon
Wiadomość wysłana przez: wezu w Lipiec 09, 2015, 16:49:11
Nadal siedzę nad wyglądem postaci, koszula już jest:
(http://s3.postimg.org/uopatumn7/wiesmin2.png)
Tytuł: Odp: Wieśmin: Dziki Samogon
Wiadomość wysłana przez: Krzysiek K. w Lipiec 09, 2015, 18:09:17
No no... no to tylko jeszcze dwie sztachety na plecy i można w bój iść! Jedna heblowana na ludzi i jedna nieheblowana na zwykłe świnie i buractwo. ;)
Tytuł: Odp: Wieśmin: Dziki Samogon
Wiadomość wysłana przez: wezu w Lipiec 09, 2015, 18:50:49
W założeniu nie miało być latania z mieczem i siekania potworów ... ale te sztachety to niezły pomysł, aż szkoda by było nie skorzystać.
Tytuł: Odp: Wieśmin: Dziki Samogon
Wiadomość wysłana przez: BrunonDEV w Lipiec 09, 2015, 19:33:46
Fabuła jest epicka. :D

Ciekawe jakie będzie wykonanie. :)
Tytuł: Odp: Wieśmin: Dziki Samogon
Wiadomość wysłana przez: aphity w Lipiec 09, 2015, 21:07:10
Bardzo lubię takie parodystyczne tytuły, więc będę uważnie obserwował projekt :)

A sztachety to dobra rzecz. Nawet jak się połamie, wystarczy znaleźć najbliższy płot i znów być w pełnym rynsztunku ;)
Tytuł: Odp: Wieśmin: Dziki Samogon
Wiadomość wysłana przez: FoToN w Lipiec 09, 2015, 22:42:37
@K.K. Mylisz się. Obie są na świnie i buractwo ;-)
Tytuł: Odp: Wieśmin: Dziki Samogon
Wiadomość wysłana przez: Kikert w Lipiec 09, 2015, 22:58:10
Czekam na serię „Poszukiwanie rynsztunku...” :)
Tytuł: Odp: Wieśmin: Dziki Samogon
Wiadomość wysłana przez: TukanHan w Lipiec 10, 2015, 00:33:57
Geralt bez mutacji tak by wyglądał XD
Nie zapomnij o alchemii:
denaturat na spowolnienie tętna i zwiększenie czasu reakcji
amarena na regeneracje żywotności
piwko na wytrzymałość
czysty na "oczyszczenie" organizmu z negatywnych efektów
Tytuł: Odp: Wieśmin: Dziki Samogon
Wiadomość wysłana przez: Paweł w Lipiec 10, 2015, 09:42:39
Myślę że Wieśminowi do twarzy by było z krzywą szczęką.
Tytuł: Odp: Wieśmin: Dziki Samogon
Wiadomość wysłana przez: wezu w Lipiec 20, 2015, 19:48:38
Jeśli chodzi o widoczne postępy to mogę pokazać jedynie gotową postać (no mniej więcej, jak zostanie mi czasu to może jeszcze kilka poprawek zrobię):
(http://s11.postimg.org/cj9pbrwc3/wiesmin3.png)
Jak widać na plecach ma dwie sztachety - jedną z osikowego drewna, a drugą ze srebrnymi gwoździami - sami się domyślcie, która na kogo.
(http://s29.postimg.org/j20xsnqgn/wiesmin4.png)

Ale za to są postępy niewidoczne!
Trochę kodu napisałem, ale niestety są to komponenty, które razem nie tworzą jeszcze działającej całości.

Nadal nie zdecydowałem jeszcze jak zapisać niektóre dane - np. użycie przedmiotu na elemencie planszy (map/level/area) - czy powinno być to zapisane razem z właściwościami przedmiotu (id, ikona, nazwa, opis, model 3d...), zapisane w pliku z planszą (levelem), czy raczej szukać odpowiedniego wpisu po id planszy, przedmiotu i obiektu w zupełnie innym pliku (bądź nawet bazie danych)?

Najbardziej kusi mnie to trzecie rozwiązanie, chociaż potencjalnie daje aż 3 miejsca do popełnienia błędu... a z moim talentem... no cóż, wspominałem już, że jestem patentowanym dyslektykiem? 
Tytuł: Odp: Wieśmin: Dziki Samogon
Wiadomość wysłana przez: koirat w Lipiec 20, 2015, 20:46:02
Jak widać na plecach ma dwie sztachety - jedną z osikowego drewna, a drugą ze srebrnymi gwoździami - sami się domyślcie, która na kogo.
Ta z osikowego pewno na wampiry.
Tytuł: Odp: Wieśmin: Dziki Samogon
Wiadomość wysłana przez: Xender w Lipiec 20, 2015, 21:00:44
Nadal nie zdecydowałem jeszcze jak zapisać niektóre dane - np. użycie przedmiotu na elemencie planszy (map/level/area) - czy powinno być to zapisane razem z właściwościami przedmiotu (id, ikona, nazwa, opis, model 3d...), zapisane w pliku z planszą (levelem), czy raczej szukać odpowiedniego wpisu po id planszy, przedmiotu i obiektu w zupełnie innym pliku (bądź nawet bazie danych)?

Najbardziej kusi mnie to trzecie rozwiązanie, chociaż potencjalnie daje aż 3 miejsca do popełnienia błędu... a z moim talentem... no cóż, wspominałem już, że jestem patentowanym dyslektykiem? 

Skoro już wspominasz o bazach danych, to o ile dobrze Cię zrozumiałem, brzmi to dla mnie jak typowa relacja wiele-do-wielu - czyli opcja 3. ;)

Jeśli nie masz jeszcze db, a rozważasz taką opcję, to rzuć okiem na SQLite.
Możesz też się rozejrzeć za jakimś ORM do języka/platformy w której kodzisz, wtedy pisanie SQL jest z głowy, odpytuje się bazę bardziej obiektowo.
Tytuł: Odp: Wieśmin: Dziki Samogon
Wiadomość wysłana przez: DanielMz25 w Lipiec 23, 2015, 03:01:53
Jeśli to singleplayer, to nie baw się z bazą danych. Bazy danych zwykle dużo jedzą i śmierdzą, te relacyjne są szczególnie niebezpieczne :D :D Pliki przy single sprawują się o wiele lepiej :D Nie przetwarzasz dużych ilości danych, nic nie musisz segregować. A baza musi chodzić w tle, pomimo że i tak do niczego się nie przyda.

PS. Gość robi całkiem niezły przerzut w przód, chociaż jak by miał prostsze ręce(przy przerzucie najlepiej rąk nie zginać wogólez chyba że robi się z miejsca) i postawił je bardziej przed sobą, to by skończył całkiem na prosto i mógłby po tym nawet jakieś salto próbować, powiedz mu żeby poćwiczył :D
Tytuł: Odp: Wieśmin: Dziki Samogon
Wiadomość wysłana przez: Xender w Lipiec 23, 2015, 10:47:00
@up - Poczytaj, czym jest SQLite i dlaczego sprawdza się dobrze jako alternatywa dla rzeźbienia własnego formatu plików.
Przeczytaj chociaż FAQ.

Nie, to nie jest kolejna wielka baza klient-serwer, przeciwnie, jest ściśle oparta na pojedynczym pliku i optymalizowana pod użycie przez inne aplikacje jako format przechowywania lokalnych danych.
I w żadnym wypadku nie mamy chodzącego w tle demona, cała obsługa db jest czysto biblioteczna.
Współbieżność dostępu przez wiele procesów zrealizowana jest przez locki na pliku, demon jest niepotrzebny.

Jakby ktoś chciał użyć np. Postgresa do gry singpleplayer a nawet małego multiplayer, to rzeczywiście byłby powód do niezłej porytki. Natomiast specyfika SQLite powoduje, że można go uwzględnić na serio jako jedną z sensownych opcji.

Więc proszę mniej ':D' a więcej czytania, żeby mieć pojęcie o tym, co się mówi.
Tytuł: Odp: Wieśmin: Dziki Samogon
Wiadomość wysłana przez: DanielMz25 w Lipiec 23, 2015, 12:51:17
Jak już pisałem, przerzut całkiem niezły. :D :D :D :D :D

@Xender Co do SQLite to masz rację.
:D :D :D :D :D :D :D :D :D
Chociaż ja i tak użyłbym plików. (Używałem SQLite i jeżeli nie jest to magiczna biblioteka zagłady, tylko zwykła, napisana np w C, to zbyt bardzo bolałoby mnie to ile operacji prawdopodobnie muszę wykonać przy każdym pobraniu/zapisaniu czegokolwiek).
Co do czytania, to wolę trochę więcej programować niż siedzieć godzinami na internecie, polecam Ci to samo.
:D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D
Tytuł: Odp: Wieśmin: Dziki Samogon
Wiadomość wysłana przez: Karol w Lipiec 23, 2015, 15:22:04
Co do czytania, to wolę trochę więcej programować niż siedzieć godzinami na internecie, polecam Ci to samo.
:D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D
Sęk w tym, że nie wiesz ile czasu Xender poświęca na te czynności, a po Tobie od razu widać, że masz braki w wiedzy, którą warto uzupełnić, a której nie zyskasz samym programowaniem. O wiele fajniej składa się solidne konstrukcje oparte na fundamencie wiedzy, niż szałas z liści w błocie (braku tejże wiedzy).


Co do tematu to fajnie by było zawrzeć jakieś nawiązania do głównych bolączek tej gry, podobnie jak w https://youtu.be/0aOp1p7e0d4 :)
Tytuł: Odp: Wieśmin: Dziki Samogon
Wiadomość wysłana przez: Xender w Lipiec 23, 2015, 15:34:51
Używałem SQLite i jeżeli nie jest to magiczna biblioteka zagłady, tylko zwykła, napisana np w C, to zbyt bardzo bolałoby mnie to ile operacji prawdopodobnie muszę wykonać przy każdym pobraniu/zapisaniu czegokolwiek.
Do tego z kolei można użyć ORM.
Np. takiego:
http://www.codesynthesis.com/products/odb/

BTW, nie chcę sugerować, że SQLite to najlepsze rozwiązanie.
Mówię, że to rozwiązanie warte rozważenia.
Tytuł: Odp: Wieśmin: Dziki Samogon
Wiadomość wysłana przez: wezu w Lipiec 23, 2015, 15:36:09
ORMów to ja patykiem nawet nie tykam, jakoś mi to nie pasuje. I tak muszę się w SQL babrać (albo w coś sql podobnego) a moje obiekty, które pakuje do bazy i tak nie są obiektami, z których mógłby wprost skorzystać a jakieś dziwne zlepki danych.

Tak czy siak, SQLite podoba mi się, nawet już aktualizowałem już swój edytor by zapisywał poziomy do DB, ale moją Koparką to się w innym wątku chwaliłem, kto chce sprawdzić to gdzieś link do githuba wisi.

Wyszła przy okazji jeszcze jedna zaleta bazy danych - cały 'stan świata' mam w bazie danych więc zapisywanie i wczytywanie stał się trywialnie proste, wystarczy zrobić backup zaczynając nową grę a reszta dzieje się praktycznie automagicznie.

No ale dziwie się, że nikt nie zauważył kardynalnego błędu w wyglądzie postaci. Co to za wieśmin, któremu słoma z butów nie wystaje? Buty do poprawki...

Aha, no i dzięki za link do filmiku bo [wstyd]...em.. no tego ... w zasadzie to w Dziki Gon to ja nie grałem wcale[/wsyd]
Tytuł: Odp: Wieśmin: Dziki Samogon
Wiadomość wysłana przez: DanielMz25 w Lipiec 23, 2015, 15:55:20
Mam pewne brak w wiedzy, jak każdy, są tematy które mnie interesują i takie których nawet się nie tykam. Zwykle kiedy ktoś chce być dobry we wszystkim, nie jest dobry w niczym, dlatego jeśli mam czytać setki artykułów i poznawać pobieżnie rzeczy których nigdy w życiu nie wykorzystam, wolę pobrać jakiś większy bardziej specjalistyczny artykuł na temat w którym już posiadam pewien stopień zaawansowania i który już wkrótce sam dokładniej zbadam.

Dlaczego piszę że własne pliki są lepsze? Ponieważ są. Zawsze rozwiązania wyspecjalizowane są lepsze od tych które są do wszystkiego. My lepiej wiemy jak będziemy pobierać dane z nośnika, więc lepiej możemy to zoptymalizować. W przypadku multi kiedy mamy do przetwarzania bardzo dużo danych różnych użytkowników, wygląda to trochę inaczej, ale w single, raczej nie ma zadań w których wykorzystalibyśmy możliwości bazy danych, w większości przypadków wiemy dokładnie skąd co mamy pobrać, więc po co przeszukiwać jakąś bazę wiedzy?
Tytuł: Odp: Wieśmin: Dziki Samogon
Wiadomość wysłana przez: wezu w Lipiec 23, 2015, 16:04:37
(...ciach!) Zawsze rozwiązania wyspecjalizowane są lepsze od tych które są do wszystkiego (ciach...)

Ja wyznaję zasadę, że lepsze jest wrogiem dobrego. Jeśli SQLite jest wystarczająco szybkie, a zapisywanie i wczytywanie danych z bazy jest wystarczająco proste, to po co mam tracić tygodnie na wymyślanie i kodowanie własnego formatu plików? 
Tytuł: Odp: Wieśmin: Dziki Samogon
Wiadomość wysłana przez: DanielMz25 w Lipiec 23, 2015, 16:08:10
Rób jak uważasz :D
Tytuł: Odp: Wieśmin: Dziki Samogon
Wiadomość wysłana przez: Xender w Lipiec 23, 2015, 16:08:51
Mam pewne brak w wiedzy, jak każdy, są tematy które mnie interesują i takie których nawet się nie tykam. Zwykle kiedy ktoś chce być dobry we wszystkim, nie jest dobry w niczym, dlatego jeśli mam czytać setki artykułów i poznawać pobieżnie rzeczy których nigdy w życiu nie wykorzystam, wolę pobrać jakiś większy bardziej specjalistyczny artykuł na temat w którym już posiadam pewien stopień zaawansowania i który już wkrótce sam dokładniej zbadam.
Odleciałeś od głównego zarzutu.

Zarzut jest bardzo prosty - na SQLite odpowiedziałeś m.in., że "baza musi chodzić w tle", podczas gdy SQLite to rozwiązanie czysto biblioteczne, bez osobnego demona.
Dalej mówisz, że używałeś SQLite...
Jeśli używałeś, ale uwzględniasz w swoim komentarzu podstawowych rzeczy o jego budowie (czym odróżnia się od typowych silników RDB), to albo nie wiesz wiele na temat, na który się wypowiadasz, albo okropnie generalizujesz (SQLite na RDB w ogóle, nawet te o innej budowie), co też nie służy merytoryce dyskusji.

Dlaczego piszę że własne pliki są lepsze? Ponieważ są. Zawsze rozwiązania wyspecjalizowane są lepsze od tych które są do wszystkiego. My lepiej wiemy jak będziemy pobierać dane z nośnika, więc lepiej możemy to zoptymalizować.
Generalnie tak, ale możesz być nieświadomym lub nawet celowo ignorować 2 rzeczy:
- Przygotowanie i optymalizacja rozwiązania wyspecjalizowanego może zająć [sporo] więcej czasu, niż użycie rozwiązanie ogólnego, dobrze jest wiedzieć lub umieć oszacować, ile właściwie.
- Można nawet ponieść fiasko - jeśli wyjdzie się ze złych założeń, własne rozwiązanie może nie działać lub być wolniejsze od generycznego.

Twoja sprawa. Ja napisałem jak uważam. Mam pewną manię na temat optymalizacji :D
Przypominam, że WSoC to "zrób grę w 3 miesiące", nie "zrób grę zoptymalizowaną". ;)
Tytuł: Odp: Wieśmin: Dziki Samogon
Wiadomość wysłana przez: DanielMz25 w Lipiec 23, 2015, 16:14:02
Xender. Nic nie napisałem na SQLite, tylko ogólnie na bazy danych. Ty się oburzyłeś (jak zwykle). Co do własnego formatu danych, nie wydaje mi się żeby to był jakiś problem, to można zrobić dość szybko i wcale nie wymaga jakiegoś mega skilla. Napisałem ogólnie odpowiedź, a nie do Ciebie, to już nie pierwszy raz jak napiszę coś nie do Ciebie, a Ty czujesz się wielce urażony/atakowany i zaczynasz wojnę.
Bazy danych nie wydają mi się wcale wygodniejsze od plików, dlatego polecałem pliki i koniec tematu. Po krótkiej przygodzie z SQLite wcale mnie nie zachwycił dlatego pozostaję przy plikach i polecam pliki, bo NAPRAWDĘ uważam że są lepsze, i nie chodziło mi tu o żadne dyskredytowanie twojej wypowiedzi ani jakiś atak. Nie napisałem też niczego co nie jest zgodne z prawdą, ale oczywiście jak zwykle powód do kłótni się znajdzie.
Ale jak tak bardzo chcesz żebym się tłumaczył, to może ja wyszukam jakiś post w którym piszesz totalne bzdury i też zacznę się czepiać. Nonsens, Ty po prostu kochasz się kłócić.
Tytuł: Odp: Wieśmin: Dziki Samogon
Wiadomość wysłana przez: Xender w Lipiec 23, 2015, 16:38:45
^ Tu nawet nie chodzi o wojnę, a o to, by rozmówca zapoznał się z podstawowymi faktami dotyczącymi rozwiązania, które się proponuje.

Faktycznie, powinienem był od razu explicite wspomnieć, że SQLite jest plikowe i biblioteczne, może byłoby mniej gadania.

Jak udzielałeś odpowiedzi nie mi, a węzowi, to najlepiej by było explicite oznaczyć, na który post odpowiadasz, bo inaczej dla mnie logiczne są dwie możliwości: pierwszy post w temacie (tam akurat nie było mowy o db) albo post bezpośrednio nad swoim.

No dobra, jak dla mnie starczy offtopu, co?
Tytuł: Odp: Wieśmin: Dziki Samogon
Wiadomość wysłana przez: krzychulak w Sierpień 02, 2015, 23:27:20
Znamie na czole niczym Harry Potter XD
Tytuł: Odp: Wieśmin: Dziki Samogon
Wiadomość wysłana przez: Karol w Sierpień 14, 2015, 20:08:23
Witcher the Slav (modDresik)
http://wpc.4d7d.edgecastcdn.net/004D7D/files/mod/ModKit-SampleModscreationwalkthrough.pdf

Masz konkurencję od samych REDów :D.
Tytuł: Odp: Wieśmin: Dziki Samogon
Wiadomość wysłana przez: wezu w Sierpień 16, 2015, 19:28:24
No to muszę się brać do roboty! Tydzień stracony przez PyWeek, a wcześniej też się za bardzo nie spieszyłem. Jak do końca tygodnia nie zrobię czegoś co da się przynajmniej uruchomić to mogą być problemy ze zdążeniem na czas.

..a tak przy okazji, może są tu na Warsztatach jacyś chętni aktorzy, którzy chcieliby dorobić voiceover do gry? Płacić oczywiście nie płace, ale daje równy udział w chwale i sławie sukcesu (jak i wstydzie i sromocie klęski).
Tytuł: Odp: Wieśmin: Dziki Samogon
Wiadomość wysłana przez: wezu w Wrzesień 05, 2015, 21:49:10
Jakieś tam postępy są.

Jest krótki filmik z łażenia po pustym pokoju, ale wieśmin łazi już samodzielnie, wystarczy mu myszem wskazać miejsce i sam drogę znajdzie omijając ściany i inne przeszkody (...jakby takowe istniały). Sterowanie kamerą też już działa, w realu jest trochę płynniej niż na filmie, ale cóż taki mam sprzęt...

Filmik:
https://youtu.be/D8LTWvKrH2I
Tytuł: Odp: Wieśmin: Dziki Samogon
Wiadomość wysłana przez: Rakieta w Wrzesień 06, 2015, 01:35:29
Nie jesteś od grania i nagrywania gier, tylko od tworzenia. Do tego nie potrzeba nie wiadomo jakiej maszyny.

Przez chwilę myślałem, że te deski na plecach buja fizyka, ale to chyba tylko część animacji :) Swoją drogą to musi być dla niego niewygodne, chyba dlatego tak sie wierci jak stoi w miejscu.

Sam chętnie podłożyłbym głos, uwielbiam nagrywać wokale. Niestety obecnie nie bardzo mam czas i miejsce na pracę z mikrofonem, szkoda, bo byłaby fajna zabawa.
Tytuł: Odp: Wieśmin: Dziki Samogon
Wiadomość wysłana przez: aphity w Wrzesień 06, 2015, 02:12:18
Ładnie. Pochwalisz się jakich technologii używasz? Jakiś znany engine, czy coś własnej roboty?
Tytuł: Odp: Wieśmin: Dziki Samogon
Wiadomość wysłana przez: wezu w Wrzesień 06, 2015, 10:11:22
Deski na plecach bujam ręcznie (znaczy się to część animacji). Każda musi mieć własną kość by dało się zrobić animację ściągania ich z plecy - więc skoro już są to czemu ich nie animować? Mają fruwać nad plecami jak w Skyrim?

Silnik to Panda3D, do robienia poziomów używam własnego edytora (Koparka, jest tu na forum link do tego) większość shaderów jest wprost z tego edytora, chociaż część nieco przerobiona (np. wywaliłem ghosty z lense flare, blur ma inne wagi w kernelu, shader do skóry jest doświetlany czerwonawym ambientem i rozmywany w post procesie by udawać sss).

Shadery mam zamiar zapakować tak by dało się do nich łatwo dostać więc każdy, kto umie używać notepad będzie mógł je obejrzeć i pozmieniać.

Jeśli chodzi o pozostałe narzędzia -to (prawie) same darmówki: Blender, Gimp, Geany, xNormal, Audacity i pewnie jakieś tam inne.
Tytuł: Odp: Wieśmin: Dziki Samogon
Wiadomość wysłana przez: matheavyk w Październik 03, 2015, 05:10:51
A mógłbyś nagrać jakiś filmik z gry? Mój komputer nie daje rady, a chciałbym mieć jakąś podstawę do oceny na WSoC ;p
Tytuł: Odp: Wieśmin: Dziki Samogon
Wiadomość wysłana przez: ulugard w Październik 03, 2015, 19:37:38
Mój komputer nie daje rady, a chciałbym mieć jakąś podstawę do oceny na WSoC ;p

To już jest podstawa do oceny ;D
Nie no żartuje, ale może to dobry pomysł, żeby twórcy swoich uber produkcji nagrywali gameplaye pokazujące ich twórczość od najlepszej strony.
Tytuł: Odp: Wieśmin: Dziki Samogon
Wiadomość wysłana przez: wezu w Październik 04, 2015, 12:41:36
Filmik jest tu:
https://youtu.be/2VeYXVL1X9Q

Nagrywane na:
Core2 1.8GHz
2GB Ram
Radeon R7 250
 - i to by były mniej więcej minimalne wymagania, nie są to chyba wyśrubowane wymagania, to sprzęt za ~1000zł.

Niestety w obecnej formie to nie jest gra, ewentualnie symulator chodzenia po lokacjach, nie powinienem tego w ogóle publikować, ale trudno, stało się :/

Jeśli u kogoś gra chodzi bardzo wolno (ale chodzi) to proponuje w opcjach kliknąć 'Wyłącz efekty i Zakończ(!)' i uruchomić grę jeszcze raz (wyłączenie trawy też może pomóc). Jeśli program się zawiesi przy wizycie u sąsiada to trzeba jeszcze przegrać plik "actor_v.gls" z katalogu "shaders" do "simple_shaders".

Jeśli wszystko wyświetla się źle to być może pomoże wyłączenie profilu sRGB, trzeba otworzyć plik config.txt i zamienić w nim "framebuffer-srgb true" na "framebuffer-srgb false", może to być też wina renderowania w dwóch wątkach, żeby wyłączyć ten bajer to w tym samym pliku (config.txt) trzeba wywalić (albo zakomentować, wstawiajac # na początek ) linijkę "threading-model Cull/Draw"

Nie pogardziłbym też logami, jeśli u kogoś program nie działa jak powinien. Niestety Panda3D nie ułatwia sprawy z logami i są nieco poukrywane.
Na windows XP log będzie w:
C:\Documents and Settings\<your name>\Local Settings\Application Data\Panda3D\log\wiesmin.log
Na Vista/7/8/10(?) w
C:\Users\<your name>\AppData\Local\Panda3D\log\wiesmin.log

A jeśli nie log to przynajmniej jakieś info o karcie graficznej (bo podejrzewam shadery, których oczywiście też nie zdążyłem porządnie sprawdzić).


Jeśli chodzi o konkurs, no to chyba szans żadnych nie mam, w końcu to co zaprezentowałem nie jest (jeszcze) grą.  Liczę jednak, że w jakiś miesiąc uda mi się zrobić z tego coś grywalnego.
Tytuł: Odp: Wieśmin: Dziki Samogon
Wiadomość wysłana przez: Adam27 w Październik 04, 2015, 13:12:27
U mnie nie widać bohatera, a niektóre obiekty (beczki, krzesła, mikstura na stole, drzewa) migają, tzn. pojawiają się i znikają.

Log: https://www.dropbox.com/s/zolu0gjqu50jahh/wiesmin.log?dl=1 (https://www.dropbox.com/s/zolu0gjqu50jahh/wiesmin.log?dl=1), karta to GTX 970.
Tytuł: Odp: Wieśmin: Dziki Samogon
Wiadomość wysłana przez: wezu w Październik 04, 2015, 14:41:06
U mnie nie widać bohatera, a niektóre obiekty (beczki, krzesła, mikstura na stole, drzewa) migają, tzn. pojawiają się i znikają.

Log: https://www.dropbox.com/s/zolu0gjqu50jahh/wiesmin.log?dl=1 (https://www.dropbox.com/s/zolu0gjqu50jahh/wiesmin.log?dl=1), karta to GTX 970.

Według logu "global type uvec4 requires "#version 130" or later" a ja je mam opisane jako 120. Mógłbyś zerknąć do katalogu shaders, znaleźć tam pliki player_v.glsl oraz actor_v.glsl, zmienić w nim #version 120 na #version 130 i spróbować jeszcze raz?

Mój driver od AMD zdaje się w ogóle olewać wersję shadera i pozwala prawie na wszystko - z jednej strony fajnie, ale z drugiej ciężko znaleźć błędy.

Jeśli chodzi o migające obiekty, to podejrzewam, że Panda3D chce je rysować jako przeźroczyste (renderuje posortowane), a ja scalam wszystkie obiekty, które się da w quadtree, żeby nieco oszczędzić na ilości przesyłanych indywidualnie obiektów, a posortowanie tak scalonych obiektów raczej się nie udaje. Pewnie powinienem poprawić wszystkie modele (jest ich 350+ w tym demku), albo po prostu wyłączyć im przeźroczystość już po załadowaniu, tak czy siak to chyba dopiero w następnej wersji.

Dzięki za log. 
Tytuł: Odp: Wieśmin: Dziki Samogon
Wiadomość wysłana przez: Adam27 w Październik 04, 2015, 15:33:24
Tak, teraz działa, i nawet obiekty przestały migać :) Ciekawe, bo wydawało mi się że to zawsze sterowniki AMD były bardziej restrykcyjne.

Niemniej nadal nie wiem czy oprócz chodzenia można tu coś więcej robić. Nawet nie da się wyjść za ogrodzenie. Ta mgła jest dość wkurzająca, podobnie sterowanie. Skoro to ma być RPG, to może zrób po prostu normalne WASD ;)

Edit: OK, obejrzałem filmik, widzę że da się wyjść za ogrodzenie, ale poza tym za bardzo nic więcej ma. W takim razie powodzenia w dalszych pracach, może z tego wyjść coś fajnego ;)
Tytuł: Odp: Wieśmin: Dziki Samogon
Wiadomość wysłana przez: wezu w Październik 04, 2015, 16:44:14
Legenda głosi, że to Nvidia jest bardziej odporna na błędy, no ale jak widać nie zawsze. Może to prawdą dla HLSL albo Cg. Nie wiem, ostatnia karta nv jaką miałem spaliła się dobrych kilka lat temu.

W zasadzie to nigdy nie miał być RPG tylko przygodówka w 3D (znajdź wiadro, przywiąż linę do wiadra, wiadro z liną użyj na studni, wyciągnij ze studni żabę idź z żabą do księcia aby zamienić ją w księżniczkę, księżniczce zabierz srebrny pierścionek, idź z pierścionkiem do kowala, przerób pierścionek na gwóźdź, gwóźdź wbij w deskę, deską z gwoździem ubij wilkołaka itp itd ), no i jeszcze raz powtarzam - w obecnym stanie to nie jest gra, nic się nie da zrobić, nie ma żadnego celu - można sobie pooglądać kilka lokacji, a same przejścia między lokacjami są źle zrobione - mgła na skraju mapy powinna być poza obszarem po którym gracz się porusza, jak widać jest inaczej :(

Sterowanie WSAD może rzeczywiście dodam, pathfinding, który obecnie mam i tak się nie nadaje.
Tytuł: Odp: Wieśmin: Dziki Samogon
Wiadomość wysłana przez: Xender w Październik 04, 2015, 22:19:00
Legenda głosi, że to Nvidia jest bardziej odporna na błędy, no ale jak widać nie zawsze. Może to prawdą dla HLSL albo Cg. Nie wiem, ostatnia karta nv jaką miałem spaliła się dobrych kilka lat temu.

Z tego, co pamiętam, Nvidia pozwalała w shaderach GLSL na więcej, jeśli w shaderze nie było deklaracji #version - czyli sytuacja trochę odmienna.

A w ogóle to nie było tak, że w czyichś sterownikach kompilator GLSL był po prostu przerobionym kompilatorem HLSL/Cg?
Coś mi kołacze, że w Nvidii właśnie, ale głowy nie dam.
Tytuł: Odp: Wieśmin: Dziki Samogon
Wiadomość wysłana przez: wezu w Październik 17, 2015, 15:32:51
Konkurs już zakończony, wyniki są, ale praca nad grą nadal nie skończona.

Na razie poprawki do grafiki:

Stary świt:
(http://s9.postimg.org/ulobaffqn/wiesmin_old_dawn.png)
Nowy świt:
(http://s9.postimg.org/s5mhwkxnz/wiesmin_new_dawn.png)
Stary zmierzch:
(http://s12.postimg.org/afq3ocayl/wiesmin_old_dusk.png)
Nowy zmierzch:
(http://s12.postimg.org/b7srnjf5p/wiesmin_new_dusk.png)
Stary zasięg mgły:
(http://s12.postimg.org/opznztrb1/wiesmin_old_fog.png)
Nowy zasięg mgły:
(http://s12.postimg.org/5icj388zh/wiesmin_new_fog.png)

Jest też gotowy podsystem do dialogów (no w 90%, drobne bugi jeszcze są z zapisem do bazy danych), oraz całkiem nowy system szukania drogi oparty o Jump Point Search (można go sobie nawet podkraść, o tu (http://www.panda3d.org/forums/viewtopic.php?f=8&t=18237))
Tytuł: Odp: Wieśmin: Dziki Samogon
Wiadomość wysłana przez: wezu w Październik 19, 2015, 23:11:09
Uwaga będzie więcej screenów.

W końcu udało mi się podrasować shader rysujący odblaski soczewkowe (lense flare) do poziomu, który mi odpowiada.
Nie chodzi tu o wklejanie 'sprita' z gwiazdką tam gdzie coś się błyszczy, tylko o generowania efektu na żywca. W większości jest to kopia tego co opisał John Chapman tu (http://john-chapman-graphics.blogspot.com/2013/02/pseudo-lens-flare.html) z tym, że nie używam widoku sceny, w którym próbuje odnaleźć najjaśniejsze punktu bo to się po prostu nie sprawdza (jak ktoś pamięta bloom w Oblivion, to wie o czym mówię) zamiast tego używam specularity (no znaczy jasności odbitego światła - ma to jakąś polską nazwę?) które zapisuje do oddzielnej tekstury w głównym shaderze (razem z cieniami innymi bajerami).

W scenie gdzie są jasne rzeczy (jak worki i ściany na screenie poniżej) ale jest niewiele błyszczących obiektów (obręcze na beczkach) shader zachowuje się bardzo zachowawczo, ledwo widać małą tęcze na prawo od rozwalonej beczki:
(http://s30.postimg.org/drdlins75/flare1.png)

Przy większych lub bardziej błyszczących obiektach efekt robi się wyraźniejszy:
(http://s30.postimg.org/tbkz972bl/flare2.png)

A jak trafi się kamerą dokładnie w "half vector" to nieźle razi po oczach:
(http://s30.postimg.org/v240aojup/flare3.png)

[suchar]Aż kusi mnie, żeby zrobić quest z szukaniem błyszczącej igły w stogu siana, ale to chyba by było zbyt ...rażące. [/suchar]

Gapienie się w słońce też wygląd nieco ciekawiej:
(http://s30.postimg.org/cl9ljv3wh/flare4.png)
Tytuł: Odp: Wieśmin: Dziki Samogon
Wiadomość wysłana przez: Rybopiotr w Październik 20, 2015, 22:24:56
Jaki silnik? Wersja na Linuxa będzie?
Tytuł: Odp: Wieśmin: Dziki Samogon
Wiadomość wysłana przez: wezu w Październik 21, 2015, 00:01:27
Panda3D. Mogę spakować wersje na linuxa i osx, ale nie jest to mój target, nie sprawdzałem czy będzie działać poza windowsami
 Mogę jedynie zagwarantować, że na otwartych driverach ati/amd nie ruszy ( chyba, że nagle dodali vertex texture fetch, bez tego terenu nie będzie).
Tytuł: Odp: Wieśmin: Dziki Samogon
Wiadomość wysłana przez: wezu w Listopad 14, 2015, 12:43:08
Projekt ostatnio trochę zaniedbany, ale coś tam powoli jeszcze dłubie...

Ciekawostka na dziś - dodałem fałszywe AO (znaczy, bardziej fałszywe niż inne algorytmy AO).
Wychodząc z założenia, że światło dochodzi "mniej więcej z góry", AO w mojej grze realizowane jest przy pomocy jednej linijki:
color+= (ambient+max(dot(N,vec3(0.0,0.0,1.0)), -0.2)*ambient)*0.5;
gdzie N to oczywiście normalna, ambient to vec3 z kolorem
Efekt:
(http://s28.postimg.org/n43e5ndpp/ao_or_what.png)
Tytuł: Odp: Wieśmin: Dziki Samogon
Wiadomość wysłana przez: koirat w Listopad 14, 2015, 14:35:57
Mi to wygląda na normalne światło kierunkowe, bez "occlusion" w jakimkolwiek stopniu.
Tytuł: Odp: Wieśmin: Dziki Samogon
Wiadomość wysłana przez: wezu w Listopad 14, 2015, 15:57:36
Mi to wygląda na normalne światło kierunkowe, bez "occlusion" w jakimkolwiek stopniu.

Jeśli zapytać kogoś kto się nie zna, by porównał scenę z AO ze scena bez AO to powie, że w tej z AO to co jest na górze jest jaśniejsze niż to co jest na dole i właśnie z takiej ... ekhem.. "heurystyki" skorzystałem.  Jest to efekt wizualnie podobny do AO, ciut lepsze niż jakby wszystko było jednolicie oświetlone i sporo tańsze jeśli chodzi o renderowanie (szczególnie, że nadal oświetlam scenę 'forward' i nie renderuje ani mapy głębi ani normalnych, a bez tego ani rusz).
Tytuł: Odp: Wieśmin: Dziki Samogon
Wiadomość wysłana przez: Vault 11th w Listopad 15, 2015, 20:46:52
Ach, ta siła przekonywania...