Skocz do zawartości

Epizod 2 - 1vs1


Uzjel

Rekomendowane odpowiedzi

Tu DOWNLOAD

 

UWAGA! Pojawiła się nowa wersja Epizodu 2! Wprowadźcie odpowiednie poprawki do swoich botów. Czas został przedłużony do 29.04 (piątek)

 

Pamiętajcie, że każdy może wziąć udział. Nawet ten kto nie brał udziału w pierwszym epizodzie!

 

1vs1 Arena

Jeden z moich pierwszych projektów, który nie ujrzał świata dziennego, tworzony w 2005 roku jeszcze w GM 6.0. Dwóch graczy po przeciwnych stronach ekranu strzela do siebie nawzajem. Gra oczywiście pisana od nowa z dużymi usprawnieniami ;-)

Całość zabawy tłumaczy filmik.

 

 

Jak są liczone punkty?

Bot który pokona przeciwnika - wygrywa.

Przy aktualnej ilości uczestników (a każdy może teraz dołączyć) nie ma szans żeby walczył każdy z każdym. Dlatego każdy bot stoczy trzy pojedynki zobaczymy ile pojedynków - zależy od ilości graczy, każdy nagrany, pokazany i jeżeli chcecie to z moim komentarzem głosowym ;)

 

Poziom trudności

Jest raczej niski.

Sprawdźcie najprostszego bota, jest zakomentowany w bot_step

 

Zasady gry

Gra kończy się kiedy jeden z botów przegra.

Na planszy znajdują się osłony: pola siłowe i lustra

Pola siłowe nie przepuszczają żadnych pocisków

Lustra odbijają pociski

Na środku w trzech miejscach może pojawić się jeden z dwóch bonusów.

Redukcja przegrzania pozwala wystrzeliwać więcej pocisków

Regeneracja pancerza skraca czas potrzebny na odnowienie pancerza

Gracz ma 100 punktów zdrowia, każde trafienie zabiera mu 10 punktów, życia nie da się regenerować

Gracz ma 30 punktów pancerza, każde trafienie zabiera mu 10 punktów, jeżeli gracz przez 4 sekundy nie otrzyma obrażeń to pancerz zaczyna się regenerować

Strzelanie kosztuje punkty przegrzania, jeżeli punkty przegrzania spadną do zera to należy odczekać karę - dwa razy dłużej niż normalnie na ponowną możliwość strzelania

 

Zasady pisania kodu

  • Cały kod umieszczajcie w skryptach bot_int i bot_step, możecie tworzyć własne skrypty, nie można modyfikować skryptu shoot
  • Nie można tworzyć nowych instancji i wpływać na nie lub na istniejące.
  • Nie można modyfikować żadnych zmiennych wbudowanych dla żadnej instancji z wyjątkiem pozycji prędkości i kierunku obiektu obj_bot. Oczywiście wszystkie zmienne lokalne dla obj_bot można odczytywać.
  • Jeżeli nastąpi próba zmiany pozycji x lub y to bot zostaje wyeliminowany. Jeżeli coś takiego się zdarzy to autor zostanie o tym poinformowany i będzie miał szansę na poprawkę.
  • Nie można wpływać na zmienne globalne
  • Dopilnujcie, żeby kod nie powodował błędów i był wydajny. Jeżeli coś takiego się zdarzy to autor zostanie o tym poinformowany i będzie miał szansę na poprawkę.
  • Jeżeli autor użyje czegoś co zostanie przeze mnie uznane za nieuczciwe a nie zostało podane to w tym regulaminie, skontaktujemy się i dojdziemy do tego jak to naprawić - bądźcie wyrozumiali, jesteśmy tu po to aby się dobrze bawić :)
  • Zgłaszajcie błędy, bo mogą się takie pojawić. Może się okazać że niektóre aspekty gry zostaną zbalansowane na waszą prośbę.
  • Bot musi być gotowy grać na północnej i południowej części mapy.

 

Jeżeli ktoś prześle pracę przed terminem, nie będzie miał możliwości dosłania ''lepszej wersji''. Ma to zapobiec codziennym aktualizacjom. Zastanówcie się więc dwa razy zanim prześlecie pracę.

 

Przebieg zawodów będzie opublikowany na YouTubie z moim komentarzem jeżeli chcecie. Możliwe, że codziennie będzie emitowanych kilka rozgrywek (nie na żywo).

Uczestnicy nie muszą (ale mogą) przesyłać całego projektu. Wystarczy kod z bot_int i bot_step

 

Na prace czekam do 29 kwietnia (piątek)

Przesyłajcie je na Prywatną Wiadomość.

 

Tu DOWNLOAD

Odnośnik do komentarza
Udostępnij na innych stronach

Zapisałem już wszystko w komentarzu w projekcie : P

GML
//po dwoch minutach pola silowe znikaja

//po trzech minutach lustra kopiują się i idą w przeciwnych kierunkach

//po czterech minutach boty traca tarcze i przestaja ja regenerowac

//po pieciu minutach boty zaczynaja tracic 6 hp/sek

//po czterech sekundach od ostatniego trafienia boty zaczynaja regenerowac tarcze

//regeneruja ja calkowicie po 0.5 sek</span>

Wszystko jest całkowicie deterministyczne. Jedyne losowe efekty w grze to:

-efekty cząsteczkowe

-czas między tworzeniem kolejnych bonusów

-typ bonusu

Odnośnik do komentarza
Udostępnij na innych stronach

No właśnie, optymalną strategią jest kryć się, gdy ma się więcej HP niż przeciwnik.

Ale w sumie tak jest też w innych grach na czas (piłka nożna, koszykówka itp.)

 

Może gdyby lustra dało się tymczasowo niszczyć, lub gdyby same się losowo dezaktywowały na jakiś czas...

Odnośnik do komentarza
Udostępnij na innych stronach

UWAGA! Pojawiła się nowa wersja Epizodu 2! Wprowadźcie odpowiednie poprawki do swoich botów. Czas został przedłużony do 29.04 (piątek)

Tu DOWNLOAD

 

Co nowego?

Lustra przyspieszone z prędkości 5 do 9 - są teraz szybsze od gracza

Tarcze mają 80hp, po zniszczeniu pojawiają się ponownie po 7 sekundach.

Odnośnik do komentarza
Udostępnij na innych stronach

E: Prędkość może być dowolna z zakresu od 0-player_speed_inc?

Ponawiam pytanie.

 

I proponuję zmianę która nie będzie miała za dużego wpływu na rozgrywkę a jednak:

GML
switch(type)

{

case 0 :

{

other.shield_boost_time += 60 * 10

text = "Shield Boost!"

}; break;

case 1 :

{

other.cooling_time += 60 * 10

text = "Cooling"

}; break;

 

}

Czyli nie ustawianie czasu poweupu tylko jego inkrementowanie z zera

Odnośnik do komentarza
Udostępnij na innych stronach

W tym momencie. Jeszcze z godzinkę posiedzę. ;)

 

Edit: Napisałem bota który doskonale radzi sobie z przegrywaniem stale.

 

E2: Nie potrafię go naprawić. Przegrywam z botem który tylko ustawia się na wprost mnie i strzela!

Odnośnik do komentarza
Udostępnij na innych stronach

Trochę szkoda że skasowałem mojego pierwszego bota. Jego założenia to było chować się za kółko gdy nie ma pełnej tarczy i niszczyć je gdy miało bardzo mało życia żeby szybciej się zregenerowało. Nie reagowanie na bonusy i strzelanie gdy nie ma luster na drodze.

 

Tylko że okazało się że on zawsze przegrywa z botem którego napisałem na odpierdziel tylko by był jakimś przeciwnikiem. I tego bota oddałem. lol Powiem tylko że jest 100% agresywny.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...