narsilion
Sierżant (Sergeant)
Offline
Wiadomości: 18
|
|
« : Marzec 13, 2013, 01:53:34 » |
|
W OpenGeneral bardzo brakuje mi automatycznego generatora kampanii, jakiegoś odpowiednika generatora kampanii znanego ze Steel Panthers. Tam bardzo mi się podobała możliwość wybrania nacji, napotykanych przeciwników, ustalenia ram czasowych kampanii i liczby bitew - i jazda! Ileż to godzin fajnej zabawy spędziłem dzięki na bieżąco losowanym kampaniom! I ileż to najróżniejszych nacji, dla których obecnie nie ma kampanii, można by dzięki temu uruchomić!
Oczywiście, obie gry mają trochę inne założenia i w związku z tym inne możliwości przeprowadzenia takiej generacji, ale stworzenie generatora wciąż wydaje mi się możliwe. Tutaj podaję moje propozycje, które skupiają się przede wszystkim na tym, żeby jak najwięcej wykorzystać istniejących już elementów OpGen, a co za tym idzie - uniknąć konieczności pisania wielkich nowych elementów gry. Bo im mniej trzeba będzie zrobić, tym chętniej twórcy gry mogliby dać się przekonać do zrobienia generatora... :>
Czego byłoby potrzeba? Jak wyobrażam sobie taki generator?
Założenia ogólne: - Generator ma stworzyć możliwość grania wybraną nacją przez kilkanaście/kilkadziesiąt bitew, losując kolejne mapy i dobierając przeciwników oraz ich oddziały. - Gracz wybiera zakres czasowy kampanii, określenia liczby bitew. Generator ustalałby na tej podstawie częstotliwość walk, a więc i datę każdej bitwy. - Gracz wybiera napotykanych przeciwników (główny, czyli najczęściej spotykany, oraz ze 2-3 pomniejszych). Spośród nich generator będzie losował przeciwnika w konkretnej bitwie - Gracz wybiera ewentualnych sojuszników (nacji innych niż własna). W niektórych bitwach będzie miał możliwość kupowania ich jednostek. - Na początku kampanii gracz ma możliwość zakupienia jednostek core. - Przed każdą kolejną bitwą gracz otrzymuje pulę punktów na kupno jednostek auxiliary, występujących tylko w tej bitwie - Generator na bieżąco generuje kolejne bitwy, losując mapę, przeciwnika i tryb bitwy (atak, obrona, bój spotkaniowy)
Teraz trochę szczegółów:
1) mapy Zakładam użycie istniejących już map (powstało ich mnóstwo), ewentualnie odrzucenie niektórych jako nie nadających się. Ale same mapy nie wystarczą, potrzebne jest jeszcze ich przygotowanie. Trzeba byłoby albo pozaznaczać na mapach punkty strategiczne do wyboru dla generatora (to czasochłonne, choć wykonalne) albo będzie potrzebny jakiś skrypt ustalający miejsca istotne dla mapy. Skrypt mógłby działać np. w ten sposób, że oblicza najkrótsze trasy przejścia mapy przez jednostkę lądową (raz koło razu, z północy na południe, a potem analogicznie dla kierunku wschód zachód) po czym heksy, przez które najczęściej jednostka taka musiałaby przechodzić - skrypt wybiera jako pola ważne strategicznie. Będą to oczywiście mosty i skrzyżowania oraz ważne drogi. Prócz tego skrypt powinien wynajdywać sąsiadujące z takimi polami miasta. Spośród tak wskazanych pól generator losowałby jakąś liczbę heksów zwycięstwa. Skrypt mógłby działać za każdym razem przy generowaniu nowej bitwy, ale równie dobrze można by go raz zapuścić, żeby zmodyfikował istniejące mapy i dodał do ich plików odpowiednie zapisy. Następnie bazę map gracze musieliby sobie raz jeszcze ściągnąć. (ale to już szczegóły, a na razie myślę tylko o ogólnych ideach)
2) rozstawienie jednostek Najprostszym modelem byłaby jakaś forma bitwy spotkaniowej, gdzie każda ze stron wychodzi z wybranego fragmentu mapy. Wyobrażam to sobie tak: - mapa dzielona jest siatką na 16 kwadratów/prostokątów - nazwijmy je strefami. - dla każdej strony losowana jest jedna strefa, znajdująca się przy krawędzi mapy. Będzie ona strefą rozstawienia, czyli obszarem na którym można rozstawiać swe siły. - obszary nie powinny być bliżej siebie (licząc po krawędzi mapy) niż 3 pola
Alternatywnie, żeby nie trzeba było pisać osobnego modułu AI do rozstawiania sił (bo chyba takiego w OpGen nie ma?) można by komputerowi wstawiać do strefy kilka SH i jakieś lotnisko polowe. A potem dać wirtualną turę ruchu co zastępowałoby rozstawienie się.
Również prosto wyglądałaby sytuacja, kiedy gracz miałby mapę do obrony: losowane byłyby ze 2 strefy (może na różnych krawędziach mapy?) skąd mógłby rozpoczynać komputer, sąsiadujące strefy byłyby niczyje, a cała reszta mapy - jako strefa rozstawienia gracza.
Problemem będzie oczywiście rozstawienie jednostek komputera, jeśli miałby występować w roli obrońcy, ale to też chyba da się załatwić - w ten sposób, że przed rozpoczęciem scenariusza dostawałby on kilka(naście?) wirtualnych tur na to, by jego jednostki rozpełzły się po planszy zajmując wyznaczone heksy. Następnie AI przestawiałoby się z zaczepnego na obronne.
3) dobór jednostek - no tutaj niestety nie wyobrażam sobie tego inaczej niż jakiś moduł AI dobierający jednostki, chyba że ma ktoś jakiś inny pomysł? Może dałoby się wykorzystać coś, co już istnieje w OpGen, a o czym ja nie wiem? Może da się wykorzystać te elementy AI, dzięki którym komputer dokupuje jednostki w czasie walki? - sugeruję też, by zrezygnować z armii przeciwników złożonych z kilku różnych nacji na jednej mapie. Jeśli w kampanii mamy spotykać wrogów z różnych nacji, niech będą na kolejnych mapach, bo to uprości generator
To tyle z mej strony, ciekaw jestem opinii, czy ktoś jeszcze ma jakieś pomysły? Czy warto zacząć lobbować za takim generatorem?
|