Autor Wątek: Strategia dla programistow  (Przeczytany 3056 razy)

Offline Hellbike

  • Użytkownik

# Czerwiec 01, 2010, 12:59:33
Gra jest strategią, w ktorej gracz nie kieruje bezposrednio jednostkami, a jedynie pisze ich AI. Ma ona spelniac nastepujace zalozenia:
- Oprocz umiejetnosci programistycznych licza sie rowniez umiejetnosc strategiczno/taktyczne.
- Mechanika gry (pod wzgledem strategiczno/taktycznym) ma byc dosc prosta, latwa w opanowaniu (ale na tyle zlozona, aby miala istotny wplyw na rozgrywke).
- Pojedynki maja wymagac aktywnosci gracza (tzn, nie ogranicza sie to tylko do napisania algorytmu i obserwowania).

Walka toczy sie pomiedzy dwoma zywmi graczami. Gracz posiada jedna jednostke - Pol Boga, ktorym moze samodzielnie kierowac, cala reszta kierowana jest za pomoca algorytmow. Polbog wyroznia sie lepszymi parametrami oraz wieksza liczba aktywnych umiejetnosci.
Macromanagment uproszczony jest do minimum - pasywny przychod surowcow, brak robotnikow, samoistne tworzenie sie budynkow.
Micromanagment to dla mnie narazie tajemnica; dobrym wzorcem wydaje sie starcraft(z duzymi uproszczeniami) lub warcraft 2.
Na mapie rozmieszczone sa taktyczne budynki, mozliwe do przejecia przez graczy poprzez wyslanie jednostek w ich poblize - moga oferowac one klasyczne bonusy jak wieksza liczba surowcow, odkrycie mapy itp, ale rowniez bonusy "programistyczne" - o tym nizej.

Oprocz standardowych umiejetnosci istnieja rowniez takie, ktore podczas rozgrywki pozwalaja na edycje pewnych fragmentow AI - pod tym wzgledem jest sporo mozliwosci; np. jesli mialoby to sens, moglaby istniec mozliwosc chwilowej zmiany AI przeciwnika (ale z pewnymi ograniczeniami, np. bez mozliwoscia atakowania jego wlasnych jednostek).

Moze tez istniec mozliwosc wybrania kilku skryptow i mozliwosc przelaczania sie pomiedzy nimi w trakcie rozgrywki - chociaz to spory krok w strone klasycznej strategii, bo mozna ustawic skrypt, w ktorym jednostki beda podazac za polbogiem, co daje niemal bezposrednia kontrole nad nimi.

Cel gry zalezny od mapy, moze to byc np. zabicie wrogiego polboga lub king of the hill.

Cel istnienia roznych map/budynkow taktycznych to zwiekszenie roznorodnosci taktycznej, a umiejetnosci zwiazane z edycja skryptu maja zwiekszac aktywnosc gracza, podobnie jak postac polboga.

Nie wiem, jak ma wygladac micromanagment (duzo/malo jednostek), ale to aspekt luzno powiazany z podstawowymi zalozenami i mniej istotny.

Czy to sensowny projekt?
Oferuje duza roznorodnosc strategii przy wzglednej prostocie, ale praktycznie kazda mapa/tryb gry wymaga pisania osobnych skryptow.
« Ostatnia zmiana: Czerwiec 01, 2010, 13:13:52 wysłana przez Hellbike »

Offline Mr. Spam

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

Offline Dab

  • Redaktor
    • blog

# Czerwiec 01, 2010, 13:56:15
W sumie to wyszedł trochę (a nawet bardzo) Colobot :)

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Czerwiec 01, 2010, 14:00:51
W powyższym opisie nie widzę ani krzty strategii: tylko taktyka i micromanagement.

Offline Liosan

  • Redaktor

# Czerwiec 01, 2010, 14:05:26
Micromanagment to dla mnie narazie tajemnica; dobrym wzorcem wydaje sie starcraft(z duzymi uproszczeniami)
o.0 chyba antywzorcem :| Ale ja jestem dziwny...

Liosan

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Czerwiec 01, 2010, 14:21:04
Micromanagment to dla mnie narazie tajemnica; dobrym wzorcem wydaje sie starcraft(z duzymi uproszczeniami)
o.0 chyba antywzorcem :| Ale ja jestem dziwny...
Przecież każdy wie, że Starcraft jest wzorcem strzelanki, tyle że ma nieco dziwny schemat sterowania (chociaż o dziwo identyczny schemat sterowania w Diablo się jakoś sprawdzał).

Offline Kos

  • Użytkownik
    • kos.gd

# Czerwiec 01, 2010, 14:32:13
Przecież każdy wie, że Starcraft jest wzorcem strzelanki, tyle że ma nieco dziwny schemat sterowania (chociaż o dziwo identyczny schemat sterowania w Diablo się jakoś sprawdzał).

Dobre sobie! Starcraft to był krok wstecz, poczynając od faktu że nie można było już strzelać w miejscu z shiftem.

Offline marcinkoch

  • Użytkownik

# Czerwiec 01, 2010, 16:25:43
Tez chodzi mi po głowie gra pozwalająca implementować "roboty", które będą rozgrywać pojedynki. Chciałbym jednak postawić na szerszy target niż tylko rasowi programiści, więc zastanawiam się na stosunkowo wysokopoziomowym API do tworzenia robotów - być może nawet jakąś nakładką graficzną (jako dodatek do możliwości programowania "z palca"). Zastanawiałeś się może nad tym aspektem? Bo graczy dość łatwo zniechęci nadmierna ilość pracy do wykonania. Skrypty trzeba będzie monotonnie testować i poprawiać bugi. Nie każdy ma tyle cierpliwości.

Offline Liosan

  • Redaktor

# Czerwiec 01, 2010, 16:28:26
@up: http://www.gry-online.pl/S016.asp?ID=167 <- MindRover: The Europa Project

Liosan

Offline virious

  • Użytkownik
    • Bionic Nose

# Czerwiec 01, 2010, 17:05:14
Moim pierwszym skojarzeniem było Core Wars. Było też kiedyś coś w tym stylu napisane przez Polaka, ale nie mogę sobie przypomnieć nazwy jego systemu do takich potyczek. Miał stronkę na republice (w dziale o sobie pisał, że stworzył tą grę, bo chciał nauczyć syna programowania :)).

Offline Hellbike

  • Użytkownik

# Czerwiec 01, 2010, 17:09:53
Tez chodzi mi po głowie gra pozwalająca implementować "roboty", które będą rozgrywać pojedynki. Chciałbym jednak postawić na szerszy target niż tylko rasowi programiści, więc zastanawiam się na stosunkowo wysokopoziomowym API do tworzenia robotów - być może nawet jakąś nakładką graficzną (jako dodatek do możliwości programowania "z palca"). Zastanawiałeś się może nad tym aspektem? Bo graczy dość łatwo zniechęci nadmierna ilość pracy do wykonania. Skrypty trzeba będzie monotonnie testować i poprawiać bugi. Nie każdy ma tyle cierpliwości.

Api wysokopoziomowe, ale to byloby chyba jednak zbyt zlozone, zeby moc stworzyc sensownego klikacza. Widzialbym raczej inne usprawnienia edytora AI, jak np. mozliwosc obserwacji dzialania algorytmu w czasie rzeczywistym(tzn na bierzaco widac wplyw zmian kodu na zachowanie jednostek).
« Ostatnia zmiana: Czerwiec 01, 2010, 17:12:57 wysłana przez Hellbike »

Offline marcinkoch

  • Użytkownik

# Czerwiec 01, 2010, 18:16:32
Moim pierwszym skojarzeniem było Core Wars. Było też kiedyś coś w tym stylu napisane przez Polaka, ale nie mogę sobie przypomnieć nazwy jego systemu do takich potyczek. Miał stronkę na republice (w dziale o sobie pisał, że stworzył tą grę, bo chciał nauczyć syna programowania :)).

Widzę, że w Core Wars programuje się w jakimś pseudo-assemblerze. To dopiero masakra:).

Co do podobnych gier - jest tego troszkę, ale wszystkie działają lokalnie. Mnie po głowie chodzi pomysł gry MMO. Wszystko symulowane byłoby na serwerze, użytkownik miałby stronkę WWW z appletem, gdzie zarządzałby swoim robotem, programował go i obserwował jego potyczki. Do tego istniałby system lig, w których roboty systematycznie rywalizowałyby ze sobą gromadząc punkty (podobnie jak w ligach piłkarskich) + organizacja turniejów. To tylko takie luźne przemyślenia. Jak pomysł dojrzeje to może go przedstawię do Waszej oceny.

Największą zagwozdką jest: jak zrobić, żeby było to na tyle proste, aby każdy mógł spróbować swoich sił? Myślałem o gotowych predefiniowanych algorytmach AI, które bazowałyby na określonych strategiach. Podlegałyby one parametryzacji i (dla bardziej ambitnych) możliwości rozbudowy - poprzez oprogramowanie. Można by też składać bardziej wszechstronne AI z takich gotowych klocków.

Offline crocer

  • Użytkownik

# Czerwiec 01, 2010, 18:53:02
W sumie to wyszedł trochę (a nawet bardzo) Colobot :)
chyba bardziej CEEBOT :)

Offline Groshu

  • Użytkownik

# Czerwiec 01, 2010, 19:48:07
Też miałem kiedyś podobny pomysł ;) Na początek musisz zdecydować czy chcesz to zrobić dla ludzi umiejących programować czy "dla każdego". Pierwsza opcja będzie miała mało odbiorców ale sam bym chętnie się czymś takim pobawił, druga (nie żebym źle życzył) będzie raczej niewypałem, bo nie będzie w niej nic ciekawego. No chyba, że to będzie na jakimś genialnym patencie zrobione ;)

Offline marcinkoch

  • Użytkownik

# Czerwiec 02, 2010, 09:43:12
Też miałem kiedyś podobny pomysł ;) Na początek musisz zdecydować czy chcesz to zrobić dla ludzi umiejących programować czy "dla każdego". Pierwsza opcja będzie miała mało odbiorców ale sam bym chętnie się czymś takim pobawił, druga (nie żebym źle życzył) będzie raczej niewypałem, bo nie będzie w niej nic ciekawego. No chyba, że to będzie na jakimś genialnym patencie zrobione ;)

No ale można jeszcze wybrać wariant mieszany dla rożnych poziomów graczy:
a) podstawowy - wybiera spośród gotowych AI i zmienia ewentualnie jakieś parametry
b) zaawansowany - wybiera kilka gotowych AI, łączy je i ewentualnie wprowadza drobne modyfikacje w kodzie
c) programista - pisze sobie AI od podstaw, albo bierze gotowe i całkowicie przerabia

To wszystko można zrealizować na jednym "silniku" - jeśli by go odpowiednio dobrze przemyśleć.

Offline infernus

  • Użytkownik

# Czerwiec 02, 2010, 10:20:12
Też miałem kiedyś podobny pomysł ;) Na początek musisz zdecydować czy chcesz to zrobić dla ludzi umiejących programować czy "dla każdego". Pierwsza opcja będzie miała mało odbiorców ale sam bym chętnie się czymś takim pobawił, druga (nie żebym źle życzył) będzie raczej niewypałem, bo nie będzie w niej nic ciekawego. No chyba, że to będzie na jakimś genialnym patencie zrobione ;)
Robiłem kiedyś grę tego typu. Coś już tam nawet z tego wychodziło. Borykałem się z takim samym problemem. Ale z drugiej strony skoro gra jest o programowaniu jednostek to liczysz, że kogo przyciągnie taki "slogan"? Gdyby przeciętny gracz interesował się programowaniem, dawno już zacząłby się tego uczyć. Poniekąd rozwiązałem ten problem tak, że do wyboru były dwie "rasy", ludzie i maszyny. Ludźmi sterowało się jak w tradycyjnym RTSie a maszyny trzeba było budować i samemu programować. Nie było to rozwiązanie idealne, ale jako tako się sprawdzało.