Autor Wątek: Wojny Bogów  (Przeczytany 6603 razy)

Offline Lamer

  • Użytkownik
    • www.inwriter.wordpress.com

# Kwiecień 22, 2010, 12:37:17
Powiedzmy, że swego czasu programowałem w AS2, napisałem parę prostych gierek w tym silnik na prostego RPG, można było dopisać tam funkcję, która przy detekcji kolizji gracza z danym obiektem (np. prostokątem) zmniejszałaby jego prędkość lub zatrzymywała całkowicie. Do tego musiałbym poszukać jakiegoś tutka odnośnie podstaw AI (widziałem w AS2 tutka na AI odnajdowania drogi opartego na tablicach, całkiem prosty zresztą) w AS3. W sumie to AS3 pozwala generować proste bryły (powiedzmy prostokąty), gdzie parametr wysokości wypluwałaby metoda z jakieś klasy odpowiedzialnej za zmianę prędkości. Czyli sama wysokość obiektu byłaby jedynie odzwierciedleniem szybkości obiektu podczas kolizji na zasadach identycznych jak te dla opisanych wyżej dwuwymiarowych kwadracików.

No dobra, mamy już więc opcję modyfikacji terenu, ale wszystko nadal wygląda bardzo mało zachęcająco, co prawda pozwala na przetestowanie takiego rozwiązania (nawet bez brył 3D, które są tylko odzwierciedleniem wysokości, a nie jej definicją samą w sobie). Mam tu pytanie, czy taki prototyp, gdzie wszystkie obiekty byłby symboliczne, służący do przetestowania samego rozwiązania byłby wystarczający? Bo w sumie od designera wymagać napisania silnika do gry... nie wiem, od tego są chyba programiści.

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline zxc

  • Użytkownik

# Kwiecień 22, 2010, 12:55:49
Prawdopodobnie najlepiej byłoby to zrobić za pomocą bitmapy, na której wysokość zakodowana jest w postaci koloru (im jaśniejszy zielony tym wyżej, poniżej pewnego poziomu woda). Rysowałbyś to w powiększeniu, a postacie byłyby kropkami na takiej mapie. Co krok symulacji postać musiałaby analizować najbliższe otoczenie i szukać najkrótszej drogi do świątyni wroga (atak), lub świątyni swojej (wycofanie) oraz podążać nią. To wyszukiwanie najkrótszej drogi jest tu problematyczne, bo teren ciągle się zmienia, a postaci jest wiele. Nie wiem jak to rozwiązać na szybko nie wnikając dodatkowo w temat. Potrzebowałbyś zrobić własne uproszczenia, może wcale nie jest niezbędne wyszukiwanie dokładnej ścieżki?

W populousie mogłes stawiać miejsca kultu, do których zmierzali wyznawcy. Myślę, że to było rozwiązanie bardzo podobnego problemu - nie trzeba wykonywać skomplikowanego wyszukiwania ścieżek, a tylko wysyłać wyznawców w linii prostej do miejsca kultu. Nawet w takim prostym pomyśle są wciąż niuanse, o których nie pomyślisz dopóki sam czegoś takiego nie zrobisz.

Za reprezentacje przestrzeni w prototypie niech wystarczy coś, co ty sam rozumiesz. Mapa 2d widoczna z góry, teren za pomocą odcieni szarości,czerwone kropki to wróg, niebieskie kropki przyjaciel, trójkąty świątynie, zielone kółko to chmura toksycznego dymu. Takie rzeczy, które możesz zrobić szybko.

Offline Lamer

  • Użytkownik
    • www.inwriter.wordpress.com

# Kwiecień 22, 2010, 13:08:18
Myśląc o obiektach 2D na początku myślałem raczej o okręgach z gradientem (white-gree), które za pierwszym kliknięciem byłby nanoszone na mapę z alfą 100%. Każde kolejne kliknięcie to alfa -1% (no chyba że klikniemy na pustej przestrzeni, wtedy to zostanie stworzona kolejna kopia tego obiektu), więc dla odbiorcy obiekt zielona góra wyłaniałaby się z ziemi, oczywiście byłoby to złudzenie optyczne. Jednak jak powiedziałeś, że mnie wyśmieją z czymś takim, to pomyślałem, żeby zamiast kopii obiektów 2D wrzucać obiekty 3D, gdzie wysokość byłaby generowana jak alfa, tyle że w drugą stronę. Z tego co pamiętam to funkcja na prostokąty przyjmuje 3 parametry, gdzie jednym jest wysokość, więc to jest do zrobienia chyba, ale szybciej jednak będzie pełne 2D.

Offline zxc

  • Użytkownik

# Kwiecień 22, 2010, 13:21:29
Nie przypominam sobie, żebym mówił, że "cię wyśmieją".

Ze względów wydajnościowych łatwiej jest operować na mapie z kafli, na której każdy kafel ma wysokość. Wtedy podnoszenie terenu nie wiąże się z dodaniem nowego obiektu. Twoje rozwiązanie z okręgami jest niezbyt sensowne, bo nie tyle wysokość terenu zmniejsza prędkość postaci, a różnica wysokości wpływa na nią. Masz więc kierunek, w którym idzie postać i musisz obliczyć nachylenie terenu w tym kierunku, żeby obliczyć jej prędkość. Najlepiej byłoby pobrać z mapy wysokości pola, którym odpowiada pozycja postaci i wyliczyć nachylenie.

W Populousie jest to jeszcze prostsze, bo mapa wysokości nie jest zupełnie dowolna, a tylko ma pewną ograniczoną ilość nachyleń - płaski teren lub spadek w jednym z ośmiu kierunków, jeśli mnie pamięć nie myli.

Generalnie nie musisz tutaj wynajdywać koła. Poszukaj tutoriali i na każdy z powyższych problemów powinieneś coś znaleźć.

Offline Wiesiu

  • Użytkownik

# Kwiecień 22, 2010, 13:33:03
Widze ze zxc pisze madre rzeczy, w sumie jak wiele tu osob - wiec chyle czola.

Co do tej gierki we flashu co podalem to zdaje sie ze nie graliscie dlugo, bo po paru lvl widac pare podobienstw do tego zalozenia.
Sama gra posiada zestaw czarow/mocy etc. , ktore wraz ze wzrostem poziomu sie "dokupuje" za specjalne punkty, sluza one do niszczenia wojsk przeciwnika. Aby je rzucac nalezy posiadac specjalne "krysztalki", ktorych poziom rosnie w zaleznosci od tego ilu ludzikow wpakowalismy do specjalnej kopalni.

I szczerze mowiac to ma sens.

U Ciebie ilosc many zalezy od ilosci zabitych przeciwnikow. Przypuscmy ze uda Ci sie rzucic "soczystego" AoE.
Tym jednym czarem nie dosc ze zniszczysz praktycznie polowe wyznawcow przeciwnika, to jednoczesnie tak naladujesz swoja mane ze bedziesz mogl rzucic kolejny czar.

Kolejna watpliwosc, celem jest stanie sie bozkiem no.1 - pytanie, jak to osiagnac?

Zakladajac ze Ty i przeciwnik startujecie z tego samego poziomu - czyli macie swoja mala wioske, w ktore dzieja sie rzeczy XYZ (oczywiscie nie masz na nie wplywu), do tego masz czary, ktore mozesz rzucac tylko po tym jak uzbierasz mane z zabijania przeciwnikow itd.
To jak dla mnie jest to sytuacja patowa.
- po co mam atakowac przeciwnika?
- dlaczego mam atakowac przeciwnika skoro mamy taki sam stan startowy i to da mu przewage?
- o co mamy walczyc, jak zdobyc przewage na tyle duza by zwyciezyc?

Mowisz ze chodzi tutaj o rzucanie czarow, wiec po co opcja przejecia kontroli nad wojakiem. Wspomniales ze wojsko jest tu tylko rzecza pobczna, a jednoczesnie dajesz kontrole nad 1 zolnierzem, jakby on byl na tyle potezny by mogl "cos zdzialac" w sytuacji ze jako bozek mozesz spalic go w 3 sekundy piorunem.

Jest wiele jeszcze takich pytan - ale nie ma wiekszego sensu ich wypisywac, bo albo odpowiedz masz w glowie, albo ow problemy ujawnia sie podczas testowania prototypu. :)
« Ostatnia zmiana: Kwiecień 22, 2010, 13:36:32 wysłana przez Wiesiu »

Offline MadBonsai

  • Użytkownik
    • Ifrit

# Kwiecień 22, 2010, 13:40:19
Bycie prawdziwym bogiem byłoby nudne, mało dynamicznie i raczej niegrywalne.
Jeśli mogę rozwalić armię wroga zrzucając mu górę na łeb, to przeciwnik też to może, tak? Rozwalam jedną górę, drugą górę, pozamiatane. Ostatecznie może skończyć się na WarSimCity. Nie robiłbym z tego major feature'a.

Jeśli bóg ma nie uczestniczyć w samej walce, to w dziwny sposób przychodzą mi na myśl rts-y wymagające myślenia i planowania zamiast soczystej akcji.

Offline MichalBe

  • Użytkownik
    • MichalBe's Github

# Kwiecień 22, 2010, 13:54:35
a moze tropem W3 - skoro bedzie swiatynia w ktorej bedzie nasza boska postac siedziec to moze zrobic kolejny typ wyznawcow - kaplani - i niech oni sie modla w swiatymi dostarczajac mane.

Offline Lamer

  • Użytkownik
    • www.inwriter.wordpress.com

# Kwiecień 22, 2010, 13:59:10
Samą ilość many z zabijania można przecież zmieniać w taki sposób, żeby jedno AoE nie decydowało o zwycięstwie/porażce. Ale spójrz z drugiej strony, rzucisz AoE, a ono ci nie wyjdzie, zmarnujesz wtedy manę. Ryzyko jest, ale jest też nagroda za jego podjęcie w przypadku powodzenia.

-po co atakować wroga?
To proste, żeby wygrać, możesz stosować jakieś zagrania taktyczne, możesz też lecieć na pałę, zaatakowanie kogoś nie jest przecież synonimem przegranej. Jak odpalasz takiego C&C to chyba nie zadajesz podobnych pytań, a koncepcja jest podobna. Poza tym kto powiedział, że mana musi pochodzić wyłącznie od przeciwników. Mogą być na mapie jakieś punkty strategiczne, których przejęcie daje profity, warto walczyć chociażby o ich kontrolowanie.

-dlaczego mam atakowac przeciwnika skoro mamy taki sam stan startowy i to da mu przewage?
Kto powiedział, że da mu przewagę? W każdej grze RTS/turówce i innych przeciwnicy mają wyrównane szanse, a atak niesie ryzyko utraty surowców włożonych w produkcję jednostek, ale o to chodzi.

- o co mamy walczyc, jak zdobyc przewage na tyle duza by zwyciezyc?
O surowce, w Age of Empires III na przykład są to jedzenie, złoto i drewno, w Wojna Bogów to doświadczenie i mana, myślę, że więcej powodów nie potrzeba. Można wrzucać dziesiątki warunków i modyfikacji, ale znowu utracimy główną ideę i wyjdzie z tego miszmasz.

Bonasi, nie mówię o byciu prawdziwym Bogiem, mogącym jednym pierdnięciem zetrzeć wszechświat. Nie można podchodzić do tego w dosłowny sposób, taka gra skończyłaby się po sekundzie, nie o to chodzi. Moce są ograniczone, nie da się rozwalić całej armii wroga jednym skillem, to byłoby nielogiczne. Poza tym jak chcesz spędzać czas na myśleniu i planowaniu? Mapa nie jest olbrzymia, zanim się obejrzysz, to przeciwnik będzie już biegł w stronę twojej świątyni, więc będziesz musiał szybko zareagować, stworzyć przeszkodę lądową, rzucić piorunem, cokolwiek. Uda ci się zabić kilku wrogów i będziesz czekał i planował, zamiast wykorzystać przewagę i zaatakować wroga, zanim reszta jego armii ten się respanie? To gra akcji, a nie szachy.

Ogółem zadawanie tego typu pytań w fazie pomysłu chyba nic nie da, gdyż są to detale, które się zawiera w DDoc'u, gdybym chciał opisać każdy możliwy przypadek, to wyszedłby 200 stronicowy esej. Pomysł ma to do siebie, że jest jego uproszczeniem i powinien być w miarę krótki, rozpisywanie się o takich detalach to już inna bajka.

Edit1:
Poza tym wszystkim jak chcesz planować skomplikowane strategie mając raptem trzy przyciski rozkazu? Rozwiązania, które zastosowałem zmuszają do dynamicznej zabawy. Klikasz na przycisk "Atakuj" i potem reagujesz w zależności od sytuacji na mapce, tworzysz przeszkody, niszczysz je, itp, itd. Możesz zawrócić jednostki albo powstrzymać je, żeby nie zginęły przy jakimś AoE, ale daleko takiej koncepcji do rozległych strategii wymagających dużo myślenia i planowania.
Chcesz czekać bojąc się stracić jednostki podczas ataku? Przeciwnik nie będzie, szybko przejmie na mapie jakieś tam punkty kontrole czy coś każda sekunda zwłoki będzie dawała mu przewagę.
« Ostatnia zmiana: Kwiecień 22, 2010, 14:10:02 wysłana przez Lamer »

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Kwiecień 22, 2010, 14:37:37
Luźny pomysł do tematu: podzielić manę i czary na kolory/typy. W takim wypadku określoną manę zdobywało by się w okreslony sposób i wydawało na określone czary. Przy okazji dodało by to nieco kolorytu grze, bo można by swojego bożka specjalizować. Przy okazji designer miałby większą kontrolę nad tym, co się w grze dzieje.

Offline dzemeuksis

  • Użytkownik
    • Blog quodmeturbat

# Kwiecień 22, 2010, 15:04:20
Zdaje mi się, że praca Tarainsa z któregoś compo (Apokalipsa, Genesis, inne?) mogłaby być inspirująca.

a jest jakis sens w scislym targetowaniu produktu zanim jeszcze najwczesniejsza alfa ujrzala swiatlo dzienne?
Dla mnie żaden. Ale jakby Lamer tego nie zrobił, to zaraz jakiś forumowicz wytknąłby mu to bezlitośnie w komentarzu, który poza tym nie wnosiłby nic do tematu. ;)

Offline Lamer

  • Użytkownik
    • www.inwriter.wordpress.com

# Kwiecień 22, 2010, 15:41:41
Pobrałem pliki Campo, zaś gra Tarains'a jest... naprawdę ciekawa i pomysłowa, warto mieć w głowie rozwiązania w niej zastosowane, a nuż się przyda. W ogóle ten pomysł Krzysiek K. jest sensowny, zwłaszcza, że gdy opisywałem rozwój postaci, to wspomniałem o "kierunku rozwoju", a zamysł Krzysiek K. jest fajnym jego uzupełnieniem.

A jeszcze jakieś sugestie odnośnie samego pomysłu od strony techniczne? Gdybym chciał to pchnąć dalej, to co zrobić, itp?

Offline hashedone

  • Użytkownik

# Kwiecień 22, 2010, 15:57:38
Szczerze pomysł mi się podoba, zagrał bym. Niestety o tyle nie pomogę (w każdym razie w programowaniu prototypu), że mam sporo roboty na studiach + 2 własne projeky i jakoś niespecjalnie mam czas. Najtrudniejsze w tym wszystkim będzie oczywiście wyważenie mocy. Np. taki AoE powinien kosztować jakąs tam bazową manę + przeciętny zysk z zabitych wrogów (jak wyjdzie nam bardzo ponad przeciętną to fakt, można pocisnąć drugiego:) ). I fakt, jeśli teraz gra pro vs noob, to pro zawsze wygra jak tylko na pierwszego AoE zarobi, bo każdy będzie dawał mu zysk na następnego, a jego własna armia mu przejdzie bez oporu do świątyni:)

Uważam że to wszystko na prawdę jest do zrobienia i na prawdę jest to do zrobienia w sensowny sposób. Pozdrawiam i życzę powodzenia:)

Offline Lamer

  • Użytkownik
    • www.inwriter.wordpress.com

# Kwiecień 22, 2010, 16:39:24
Niestety prawda jest taka, że większość pomysłów ludzi aspirujących do miana GD rozbija się o to, że nie są programistami i na tym kończy się ich przygoda. Ja mam tę wygodę, że kiedyś (dawno temu) pisałem proste gierki w AS2, aktualnie programuję amatorsko w PHP (pomijając banały jak CSS, HTML, jakieś JS API), które jest bardzo podobne do AS, nawet wersji 3. Składnia podobna, OOP, pętle i funkcje podobne, gdyby tylko PHP pozwalało na tworzenie "żywych" aplikacji to byłoby super, wprawdzie napisałem prostego MMO w PHP/MySQL, ale to przecież nie to.

No nic, pozostaje mi "przeskoczenie" na AS3, może nawet dzisiaj zacznę jakieś podstawowe rzeczy robić. Proste wyszukiwanie ścieżki w AS2 to była w sumie jedna funkcja na 50 linijek, nic niezwykłego, choć wtedy nawet nie rozumiałem do końca czym są tablice wielowymiarowe, a na nich oparty był skrypt, o ile mnie pamięć nie myli.

W każdym razie mam nadzieję, że z waszą pomocą wezmę się z DDoc'a, wtedy dopiero zacznie się ostrzał :D

Offline K'Aviash

  • Użytkownik

# Kwiecień 22, 2010, 16:41:50
Hmmm...
Gracz lubi móc wiele... :D a takie ograniczenie dotyczące poruszania może źle wpływać na jego zadowolenie z gry... poza tym trochę ciężko to uzasadnić logicznie... :D w końcu bóg wszytsko może :) no chyba, że są bogowie mniej i bardziej boscy :P

Offline Riddlemaster

  • Użytkownik
    • Moja strona domowa

# Kwiecień 22, 2010, 16:44:12
Cytuj
no chyba, że są bogowie mniej i bardziej boscy
Kwestia religii/mitologii, przecież np. Grecy mieli bogów potężnych, ale i pomniejsze bóstwa o ograniczonej mocy.