NukeBoards

Plany - [Strzelanka] Dni wojny: Ruch oporu

Mateusz - 29-01-2018, 02:23
: Temat postu: [Strzelanka] Dni wojny: Ruch oporu
Tytuł:Dni Wojny: ruch oporu

Gatunek: Strzelanka top-down

Autor: Mateusz9206 Industries

Opis:
Akcja gry dzieje się pomiędzy Dni wojny II a Dni Wojny III.
Trwa zawieszenie broni między ludźmi a siłami Imperium. Po wielu latach walk, w końcu nadeszła chwila wytchnienia. Tymczasem w układzie Synux trwa właśnie szkolenie jednego z najnowszych oddziałów Cobra. Wcielasz się w postać sierżanta Hanka Ramseya. Niespodziewany rozwój wydarzeń sprawi, że twoje wyszkolenie zostanie poddane najważniejszemu testowi.

Cechy gry:
- usprawniony silnik, tfu, klik-kod Dni Wojny III
- rozbudowana, nieliniowa kampania. Około 13 misji głównych i 10 misji dodatkowych. Misje dodatkowe wpływają na zakończenie gry.
- dynamiczne efekty świetlne. Misje snajperskie po zmroku, tego nam było trzeba :)
- tryb przetrwania: zmierz się przeciwko nieskończonym falom coraz groźniejszych wrogów!
- usprawnione AI towarzyszy. Serio, mogą się teraz sami bić xD po 10 latach jak w końcu wpadłem na to jak to zrobić, to wstałem o 4 nad ranem i przed komputer.
- trening wbudowany w kampanie: to mnie uderzyło po GTA 4: kilkanaście pierwszych misji to w zasadzie nauka mechaniki gry, okraszona fabularnym wyjaśnieniem. Chcę mieć u siebie taki poziom, gdzie gracz pozna dobrze wszystkie zasady a potem będzie mógł się nimi bawić w grze (poprzednie treningi wyglądały jak oderwane symulacje)
- i odnośnie tego treningu - wielowątkowe misje, które miały zalążek w Dni wojny 3. W poprzedniczkach było to tylko wybij wszystkich albo wejdź w punkt kontrolny. Teraz chcę coś w stylu: zbadaj - znajdź - zastrzel - osłaniaj.

Opcjonalne:
- system rozwoju postaci. Każda ukończona misja daje nam punkt doświadczenia który będziemy mogli wykorzystać na różne mechanizmy: więcej amunicji, większa wytrzymałość, dokładniejsze celowanie, więcej zdrowia, itp. Problemem jest dla mnie dokładnie ogarnięcie liczników i ich zmian przy wartościach maksymalnych. Ale miałem juz w tym sukcesy, więc chyba do zrobienia.
- opcjonalne: myślę poważnie nad zatrudnieniem grafika, żeby w końcu Dni wojny doczekały się poklasku, jaki im się słusznie należy :D
- zremasterowana kampania trylogii. Serio xD W Dni wojny 3 zrobiłem najlepszy balans silnika względem poprzedniczek i strasznie mnie denerwuje jak ogrywam stare tutyły (np. shotgun z pierwszych części jest beznadziejny, a w 3 to moja ulubiona broń. Tak samo snajperka, poprzednio granie nią to masochizm). Wszystko zależy od tego, czy tak sobie ułożę silnik, że robienie poziomów to będzie kwestia rozmieszczania wrogów i obiektów tła. Poprzednio miałem zrobione tylko strzelanie a jak coś się dodawało do poziomu (np jazda ciężarówką, to wymyślałem koło od nowa. Teraz jestem trochę starszy, odrobinę mądrzejszy i chcę wyjść na przeciw wszystkim możliwym zagwozdkom.

Zrzuty ekranu:
https://iv.pl/images/14575038035896242027.jpg
W obecnej sytuacji praktycznie niczym się to nie różni od DW3, ale tutaj widać efekt latarki. Dla nieobeznanych w serii - Dni wojny to głównie fantastyczny gameplay i fabuła, podobnie jak seria Gothic od Piranha Bytes - nie grafiką ta gra stoi XD

Uwagi:
Planowane ukończenie gry: rok 2018, data nieokreślona.

Trylogia:
http://romanx.webd.pl/nb/...ighlight=#30667
http://romanx.webd.pl/nb/...ighlight=#32969
http://romanx.webd.pl/nb/...ighlight=#36644
Jak linki nie działają, to do znalezienia na klikibazie.
jarlfenrir - 29-01-2018, 10:20
:
Ciekawe, czy jest tu jeszcze jakiś fan serii poza mną :P
Mam nadzieję, że gra zostanie dokończona, bo dawno nie grałem w nic takiego.
kamiledi15 - 29-01-2018, 13:36
:
O rety, kiedy to było :D Przyznam, że zupełnie nie pamiętam, ani jak gra wyglądała, ani o co w niej chodziło, muszę sobie odświeżyć stare części.
Minty - 30-01-2018, 12:43
:
Też jestem fanką serii :P
Kalon - 30-01-2018, 17:15
:
Lubiłem tą serię i myślę że warto do niej powrócić, chociaż mogłeś się trochę postarać żeby gra bardziej "świeżo" wyglądała. Natomiast nowością tutaj jak sam mówisz będą wielowątkowe misje, które mogą przyciągnąć na nieco dłuższe godziny gry.
Mateusz - 31-01-2018, 03:25
:
Mały updejt, żeby pokazać, że biorę się za projekt na poważnie i pokazać zmiany, jakie mam w dziedzinie organizacji pracy ;)

Przede wszystkim, w poprzednich grach, silnik był zrobiony w połowie i wszystko było niemal na sztywno. Jak przy 30 levelu doszedłem do wniosku, że snajperka powinna się przeładowywać szybciej, to musiałem przez 30 lvli zmieniać czas przeładowania. Przy 3'im mi się znudziło i dlatego snajperka w Dni wojny 2 ssała.

Teraz bronie mam zapisane w postaci macierzy w jednym levelu, są wczytywane na początku ich parametry i zmiana czegokolwiek ogranicza się do jednego zdarzenia.

Tryb poziomu. Prosty przykład. W Dni wojny 3 możemy porozmawiać z gościem w bazie, żeby otrzymać misję. Przełączając dialogi (spacja), postać na chwile zmienia animację - jest to spowodowane tym, że pod spacją mamy "kucanie". Poprzednio miałem namotane tyle flag i zmiennych, że w zasadzie nie wiedziałem już po jakimś czasie co jest do czego, dlatego nie byłem w stanie tego poprawić. Teraz każdą zmienną opisuje w pliku tekstowym. Co do trybów: w poziomie można wyrożnić np: przerywnik, rozgrywkę, jazdę ciężarówką. Gdy mamy aktywny przerywnik, jakaś zmienna ma jakąś wartość - i wtedy wszystkie pozostałe opcje są wyłączone. Niby to banalne, ale jak ktoś kiedyś klepał gry byle jak, to teraz widzi jak bardzo to poprawia projekt, niweluje błędy, przyspiesza pracę.

Opcjonalny rozwój postaci, został zaimplementowany: będziemy mogli zwiększać życie, tarcze, wytrzymałość, obrażenia przy celowaniu, szybkość chodu, szybkość strzelania. Dokładne celowania zmniejsza szybkość strzelania z broni automatycznych, zwiększając obrażenia. Szybkość i obrażenia będziemy mogli ulepszyć.


Cytat:
Sne napisała: Też jestem fanką serii :P

Bez Twojego wkładu nowej części bym nie robił :D tylko dlatego, że działa mi stary projekt w click fusion, to wymyśliłem, żeby jednak spróbować na nowo. AI Sne ma kilka fajnych cech, które moje nigdy nie miało - robi uniki, rzuca granaty, nie strzela przez ściany. Jednak korzysta z fastloopa i jest zasobo żerne. Dlatego wymyśliłem system aren, gdzie część wrogów się odradza, a część jest wpisana w level. Gracz ma przed sobą ciągle wrogów, ale faktycznie w levelu jest ich z 10 na raz jednocześnie. Poprzednio (np. NRCP) wklejałem wrogów na stałe i potem biegali sobie, głupkowato odbijając się od ścian.

Jest jeszcze jedna rzecz, która znacząco zmieni gameplay - to wziąłem z Destiny. Pociski wrogów będą mocniejsze, ale będą strzelali wolniej, a same pociski będą leciały wolniej niż gracza - pozwoli to na skuteczne omijanie ich. W poprzednich częściach nie było możliwe, aby przejsć przez poziom niezranionym. Teraz wszystko będzie zależeć od gracza.

Powróci częściowo system zdrowia z Dni wojny 1 - apteczki i amunicja będą przechowywane w ekwipunku i będziemy mogli ich użyć w wybranym przez nas momencie.
Trzy poziomy trudności wpłyną na ilość granatów, apteczek, jednostek przeciwnika.
Dzięki modułowości silnika niektóre misje będziemy mogli przejść na specjalnych wytycznych - np bez tarcz, albo bez możliwości korzystania z jakiegoś parametru.

Od teraz wszystkie bronie mają strzał 360stopni. W końcu rakietnica dostaje pazura. z 2 naboi w magazynku, jest teraz 5, z maksymalnych 20 naobi, jest 30. Mozna sie pobawic :-)

W planach mam dodanie jeszcze kilku nowych broni, w tym mojej wymarzonej broni laserowej, ale nie wiem czy jednak ogarne przykłady.

Najechanie kursorem na przeciwnika lub kompana, będzie wyświetlało nad celownikiem mały licznik, pokazujący zdrowie. Najechanie kursorem na broń leżącą na ziemi, pokaże nam jej statystyki.

Chcąc umocnić więź z fanami serii, studio równolegle przygotowuje film "kulisy powstawania gry", który zostanie upubliczniony niedługo po premierze. Niedługo jeden z naszych pracowników rusza do Azji w celu nagrania sesji motion-capture, związanej z zaimplementowaniem mechaniki walki wręcz.
Film utrzymany będzie w podobnym tonie, ponownie wynajęliśmy studio FILMedia Pomorze.
https://youtu.be/hfyr8_qiAH8

>:[
>:]
jarlfenrir - 31-01-2018, 10:44
:
Dobrze rozumiem, że grę będziesz tworzył na starym silniku? Takim sprzed 7 lat?
Mateusz - 31-01-2018, 12:05
:
Chyba nie do końca, koncepcyjnie tak, ale wszystko przepisuję na nowo i gdzie mogę dodaje usprawnienia.
kamiledi15 - 01-02-2018, 19:44
:
Dobrze, że przy grze pracuje aż tyle osób. Tylko dziwne, że wszyscy są do siebie podobni :D
Mateusz - 05-02-2018, 01:27
:
https://pasteboard.co/H69wo9g.jpg

dodałem dosyć fajna funkcjonalność. Po najechaniu kursorem na dowolną broń, wyświetli nam się wrogu krótka informacja o niej. Możemy to wyłączyć, wciskając klawisz "Z". Co jest jeszcze ważne. Cały ten tekst wyświetlany jest w postaci ciągu 'string'. Dla gracza to nie zmienia nic, dla mnie zmienia to to, że wszystkie bronie zapisane są w macierzy, tam mają swoje parametry i mogę się do nich łatwo i w każdej chwili odwołać. Pozwala to na łatwiejszą kontrolę nad parametrami i możliwą poprawę balansu w każdej chwili.

Zaimplementowano nowy system strzału. Ponownie, dla gracza nic nie będzie widać, ale ja skróciłem kod z jakichś 500 zdarzeń do setki (a i jeszcze jest sporo miejsca na poprawę). Najważniejszy jest shotgun - teraz wiem, jak działa i będę mógł to trochę ulepszyć. Dlatego zostanie dodana nowa broń, shotgun automatyczny (striker)
https://www.youtube.com/watch?v=GSxz7SuLwUg
Niewielki rozrzut, powtarzalność

Dodanie chyba jeszcze jedna broń automatyczna dwuręczna - niskie obrażenia, mały magazynek, duży zapas amunicji. Mam kolorową tabelkę, gdzie balansuję różne bronie i chyba tylko takiej brakuje. Może dodam więcej broni, bo teraz edytowanie jest łatwe i przyjemne, ale na obecną chwilę jest ich 22 i to już generalnie jest spory arsenał.

Planowałem poziom w którym będzie brak grawitacji i żeby dotrzeć z jednego punktu do drugiego, będziemy musieli się posiłkować odrzutem z broni. Physics daje mi sporo nowych możliwości, ale jeszcze nic z niego nie kumam, więc muszę podpatrzeć przykłady :D Tak samo jeśli to wypali, to chcę dodać ruchome skrzynki, które np będzie można strącać strzelając.

Napisałem mniej więcej skrypt ostatniej misji. Jest to kulminacyjny punkt gry, w którym podjęte przez gracza decyzje, zaważą na jej trudności. Całość jeszcze będę musiał przećwiczyć w jakichś prostych programikach, ale chyba nie powinno być to szczególnie trudne do wykonania. W nowej odsłonie silnika stawiam na parametryzację, czyli łatwą edycję istniejących już wartości (odkąd tylko robiłem gry, wszystko było niemal wpisane na stałe, z każdej zmiennej robiłem stałą).

I co się tyczy, rozwoju bohatera, jedną z ważnych cech staje się teraz wytrzymałość, potrzebna jest ona nam do trzech rzeczy: dokładnego celowania (zadajemy większe obrażenia, wolniej się poruszamy), biegu (zgadnijcie co daje), walki wręcz (absolutnie ostatnia deska ratunku, ale nie najgorsza, najsłabszego przeciwnika zabijemy na hita).

Za misje zdobywamy po jednym punkcie, który możemy potem władować w naszą postać.
kamiledi15 - 05-02-2018, 01:56
:
No no, zmiany jak najbardziej na plus. Najlepiej popraw jeszcze balans broni, bo w jedynce i dwójce sporo było takich dość bezużytecznych - zwłaszcza te, które strzelają tylko jednym nabojem naraz, wcale ich nie używałem, bo po co, skoro są karabiny strzelające całą serią? Tylko snajperka i rakietnica pod tym względem nadawały się do czegokolwiek. Ewentualnie może zrób stopniowanie według etapów w grze, np. w pierwszych paru poziomach będą tylko te jednostrzałowce, w dalszych dopiero dojdą seryjne. Bo jeśli mam wybór między zwykłym pistoletem, a karabinem, to wiadomo, że zawsze wybiorę karabin. A szkoda, żeby te bronie leżały bezużytecznie w kodzie.
jarlfenrir - 05-02-2018, 11:17
:
Podziwiam determinację w naprawianiu tak starego silnika :P Ja bym pewnie się zdecydował na rozpoczęcie od nowa.
Mateusz - 05-02-2018, 12:51
:
jarlfenrir napisał/a:
Ja bym pewnie się zdecydował na rozpoczęcie od nowa.


Ale ja robię od nowa :( wzoruję się na starym, bo jak już część działała, to czemu mam wymyślać koło od nowa. Ale np w starej części było takie zdarzenie:

ma bron = x
wciska strzał, ma amunicję -> strzelaj

I dało się zrobić jakoś tak, że w czasie przeładowywania broni, zmienić broń, strzelić i się totalnie blokował strzał. Nie potrafię tego odtworzyć, ale jak ktoś się postarał, to mógł całkowicie zglitchować grę. Teraz mam tak:

ma bron = x
wciska strzał, ma amunicję,
NIE trwa przeładowanie, NIE trwa walka wręcz
JEST normalna rozgrywka (nie steruje pojazdem, nie operuje działkiem)
Z miejsca wykluczam możliwość powstania z 10 błędów.

http://iautomatyka.pl/ste...bishi-electric/

Kod tworzę o zasadę układu sekwencyjnego.
Wcześniej do przeładowania każdej broni to było z 15 zdarzeń, których zasady działania nie odtworzę. Teraz to przemyślałem.
jeśli gracz wiska R -> ustaw magazynek na mniejszy niż 1
Jeśli magazynek mniejszy niż 1 -> aktywuj przeładowanie (dwie opcje przeładowania w jednym zdarzeniu)

dla kazdej broni, oddzielnie (żeby móc operować czasem)
ma broń X, every (zmienna czasowa broni X)
TRWA przeładowanie, MOŻE przeładowywać, cośtam, cośtam -> dodaj 1 do magazynka

magazynek pełny? + trwa przeładowanie? -> wylącz przeładowanie.

To tylko prosty przykład. Po prostu przemyślałem część rzeczy, zamiast robić, bo chcę zrobić grę i mam nadzieję uniknę dzięki temu sporo błędów już na początku.
jarlfenrir - 05-02-2018, 13:43
:
Mateusz napisał/a:
jarlfenrir napisał/a:
Ja bym pewnie się zdecydował na rozpoczęcie od nowa.


Ale ja robię od nowa :( wzoruję się na starym, bo jak już część działała, to czemu mam wymyślać koło od nowa. Ale np w starej części było takie zdarzenie:
Ojej, to źle Cię zrozumiałem ;)
Kiedyś w jakiejś grze zrobiłem broń mniej więcej tak:
Każda broń była obiektem aktywnym należącym do grupy broń. Same obiekty był niewidoczne, ale zawierały kilka zmiennych opisujących działanie broni.
Jeśli gracz wybrał broń (np naciskając "1" na klawiaturze):
Ustaw flagę 0 na off dla grupy broń
+ ustaw flagę 0 na on dla konkretnego obiektu broni

Dalej zakładając, że naraz tylko jedna broń ma flagę 0 na on naraz:
jeśli gracz nacisnął strzał
+ grupa broń ma flagę 0 na on
+ grupa bron ma dość amunicji
+...itd itp
-> stwórz obiekt pocisku
ustaw pociskowi siłę na siłę z grupa broń
...itd

Dzięki temu dodanie nowej broni generalnie nie wymagało zmiany zdarzeń.
Problem się pojawiał dla broni "specjalnych", czyli strzelających inaczej, niż standardowo, np shotgun, miotacz ognia, granatnik...
Ale w jakiejś wersji to też obszedłem dając zmienną "typBroni" w obiektach z grupy Broń.
I wtedy zdarzenie strzału miałem np. 3 razy, gdzie zaraz po sprawdzeniu, czy flaga 0 jest aktywna, sprawdzałem, czy typ broni jest równy odpowiedniej wartości.

W sumie jak się już tak rozpisałem, pomyślałem, że to byłby fajny pomysł na przykład. Może zrobię, jak będę pamiętał.
Minty - 10-03-2018, 22:29
:
Mateusz napisał/a:
Planowałem poziom w którym będzie brak grawitacji i żeby dotrzeć z jednego punktu do drugiego, będziemy musieli się posiłkować odrzutem z broni


<3

U mnie ostatni system strzału uruchamiał pętlę z ilością wystrzeliwanych pocisków naraz i ustawiał cooldown zależny od szybkostrzelności broni z tabeli, i zależnie od jej powtarzalności pozwalała na strzał klikiem, lub ciągłym trzymaniem lpm. Ustawiało też z tabeli cooldown w serii, i długość serii. Ta pętla tworzyłaby obiekty i nadawała im prędkości, uszkodzenia i liczniki penetracji przez ściany zgodne z kalibrem, oraz kąt zależny od rozrzutu broni. W ten sposób wszystkie typy broni były obsługiwane: pistolety, strzelby automatyczne, minigun.