Kompendium: Skrypt quizowy "Milionerzy"
Napisane: wtorek, 12 stycznia 2016, 20:02
Trwa aktualizacja tego wpisu. Zwykle jest to robione szybko, ale skoro została dodana ta ramka, tym razem może potrwać to nieco dłużej. Zawartość jest aktualna na chwilę napisania poniższego wpisu (data napisania lub edycji posta, bądź zamieszczona gdzieś w jego treści), ale obecnie może już nie być. Zajrzyj później, gdy ten komunikat zniknie, by przeczytać najświeższe informacje.
Skrypt quizowy „Milionerzy”
Skrypt quizowy „Milionerzy” (a właściwie „Milionerowy Quiz”) jest jednym z kilku skryptów zainspirowanych telewizyjnymi teleturniejami, któremu zawdzięcza też swoją nazwę. Został on napisany przez quizowicza o nicku Dizzy. Wersja 1.0 skryptu powstała ok. 31 stycznia 2001 roku[1], a ok. 9 kwietnia 2001 roku[1] pojawiła się wersja 1.5 posiadająca możliwość wyboru sposobu punktowania. Przeznaczony jest on dla programu do chatowania mIRC.
Skrypt pozwala na dwa rodzaje rozgrywki: ręczne wprowadzanie pytań przez prowadzącego (niedostępny w nowszej wersji skryptu) oraz popularny tryb „autoquizu”, umożliwiający skorzystanie ze wcześniej przygotowanego pliku z zestawem pytań. Używając trybu automatycznego należy pamiętać o przestrzeganiu poprawnego formatu pliku (pytania i odpowiedzi zapisywane są naprzemiennie w blokach po 5 linii tekstu: najpierw pytanie, potem poprawna odpowiedź, a następnie trzy błędne). Opuszczenie którejś z błędnych odpowiedzi doprowadzi do pogubienia się skryptu i konieczne będzie przerwanie zabawy, korekta pliku i jej wznowienie od wadliwego pytania. Możliwe jest za to tworzenie pustych odpowiedzi. Przeciętny quiz zawiera ok. 30-40 pytań z wiedzy ogólnej lub tematycznych. Przykładowe dwa pytania zgodne z formatem:
- Kod: Zaznacz cały
Jakiego pierwiastka jest najwiecej w atmosferze ziemskiej?
azotu
tlenu
fosforu
chloru
Skad pochodzi Conan Barbarzynca?
z Cimmerii
z Rivii
z Oz
z Mordoru
Rozgrywka oparta o ten skrypt wygląda niemal identycznie jak w teleturnieju o tej samej nazwie. Graczom prezentowane jest pytanie wraz z czterema odpowiedziami, z których tylko jedna jest poprawna. Tutaj pewną wadą skryptu (wersje 1.x i 2.x) może być brak mieszania niepoprawnych odpowiedzi, w związku z czym wyświetlane są one w takiej kolejności, jak zapisano je w pliku (odpowiedź poprawna oczywiście jest na losowej pozycji). Następnie grający mają z góry ustalony czas na udzielanie odpowiedzi poprzez podanie literki przyporządkowanej do wybranego hasła (A/B/C/D). Niezależnie od ilości wyborów każdemu zawodnikowi zaliczana jest tylko pierwsza odpowiedź, nawet jeśli później zmieni zdanie i wybierze inną. Na 10 sekund przed końcem czasu wyświetlane jest powiadomienie, a po jego upłynięciu wszyscy gracze, którzy udzielili poprawnej odpowiedzi otrzymują po 1 punkcie, zaś w przypadku złych odpowiedzi decyduje wybrany tryb gry. Skrypt udostępnia bowiem trzy reakcje na błędne odpowiedzi (wersja 1.x): brak przyznania punktów, odjęcie 1 punktu lub wyzerowanie wszystkich zgromadzonych przez gracza punktów. W nowszej wersji skryptu (2.x i 3.x) punktacja jest nieco odmienna oraz przyznawane są dodatkowe punkty i bonusy np. za serię odpowiedzi, co opisano poniżej.
W trakcie gry powstaje ranking uczestników quizu (ranking typu „1234”), przy czym w przypadku wyników ex aequo kolejność zależy od pierwszeństwa zdobycia punktów lub jest losowa (skrypt w wersji 2.x i 3.x). Skrócony ranking wyświetlany poleceniem kanałowym obejmuje trzech najlepszych graczy i polecenia go wyświetlającego można użyć tylko raz podczas danego pytania. Poważnym mankamentem starszego skryptu (wersja 1.x) jest fakt, że zawodnicy zorientowawszy się, iż któryś z nich ma większą wiedzę mogą po prostu powtarzać po nim odpowiedzi, doprowadzając do tego, że końcowy ranking staje się bardzo wyrównany, gdyż każdy z nich otrzymuje dokładnie tyle samo punktów. Dlatego też powstała nowsza wersja skryptu.
Dodatkowo skrypt umożliwia osobie przeprowadzającej rozgrywkę na ignorowanie psujących zabawę graczy oraz na spauzowanie gry.
Quizy te posiadają zawsze stały czas trwania zależny tylko liczby pytań oraz parametrów czasowych. Przy 30 pytaniach oraz rundzie trwającej 30 sekund i 10 sekundach opóźnienia pomiędzy pytaniami quiz taki trwać będzie ok. 20 minut.
W 2007 roku quizowicz KrzS (#QuizPL @ IRCnet) podjął się zmodyfikowania skryptu „Milionerzy” i na jego bazie stworzył zupełnie nowy skrypt quizowy, który od tego czasu był używany zamiast oryginału (początkowo na wyłączność kanału #QuizPL). Skrypt był dynamicznie rozwijany przez autora, który wraz z graczami testował różne rozwiązania i czasem zmiana numeru wersji następowała dopiero po wprowadzeniu ważniejszych modyfikacji, pomimo iż zostały zaprezentowane już na kanale — poniżej opisane są posiadane wersje końcowe. Skrypt posiada nieco inne parametry czasowe, aczkolwiek quiz zawierający 30 pytań przy rundzie trwającej 20 sekund oraz 20 sekundach opóźnienia pomiędzy pytaniami również będzie trwać ok. 20 minut. Często czas trwania rundy jest jeszcze bardziej zmniejszany, aby gracze nie „googlali”.
• Po raz pierwszy publicznie zaprezentowany został on 26 czerwca 2007 roku[2] jako wersja 2.0 skryptu, która wprowadziła nowy sposób punktowania uczestników: wyżej punktowana (ale także i karana) jest dwójka graczy, która najszybciej udzieli (dobrej lub złej) odpowiedzi (odpowiednio: ±3 i ±2 punkty; pozostali otrzymują ±1 punkt), dodatkowo zawodnik, który jako jedyny wybierze właściwą odpowiedź dostaje bonusowy 1 punkt [bonus], ponadto udzielając kilku kolejnych poprawnych odpowiedzi nawet trzykrotnie może wzrosnąć mnożnik punktów (za dwie: ×2 [combo], za trzy i więcej: ×3 [trimbo]). Brak lub błędna odpowiedź kasują mnożnik. W ten sposób gracze dzięki serii poprawnych odpowiedzi mogą otrzymać nawet 9 (lub z bonusem aż 12) punktów, ale grając tak wysoko ryzykują stratę do 9 punktów za złą odpowiedź. Co ważne, z uwagi na to, że grający rozpoznawani są po nickach, to jego zmiana spowoduje utratę mnożnika. Skrypt dodawał też nowy tryb punktowania „power”, aczkolwiek nie został on zaimplementowany, a i same tryby nie były już używane przez skrypt. Zmieniony został również sposób prezentowania rankingu na typ „1224” (przy czym gracze ex aequo są w losowej kolejności), zaś z polecenia wyświetlającego skrócony ranking można było korzystać nie częściej, niż co 30 sekund, aby nie lagować prowadzącego. Ranking wyświetla także liczbę udzielonych poprawnych i błędnych odpowiedzi każdego z graczy.
• W wyniku dalszych prac KrzSia 5 września 2007 roku wydana została wersja 2.01[3], w której usunięto polecenie kanałowe służące do wyświetlania skróconego rankingu — zamiast tego skrypt sam wyświetla cztery najlepsze osoby co pięć kolejnych pytań. Pojawiły się również polecenia do blokowania nieuczciwych osób, polecenie wyświetlania statystyk dla prowadzącego quiz domyślnie pokazuje wszystkich grających (a dokładniej do 99 pierwszych nicków, lecz można podać jako parametr dowolnie większą wartość), a pytania i odpowiedzi do wyboru zaczęły być wyświetlane z wykorzystaniem „antygooglera” utrudniającego wyszukiwanie w internecie. Wprowadzone zostało też 3-sekundowe opóźnienie pomiędzy wyświetleniem pytania a czterema odpowiedziami do wyboru, dające graczom chwilę na przeczytanie pytania, a także pozwalające zredukować lag i sprawiające, że dwie linijki z opcjami pokażą się w tej samej chwili na kanale[4]. Ranking graczy zaś oprócz podawania liczby poprawnych/błędnych odpowiedzi wyświetlać zaczął również ich sumę. 10 października 2007 roku pojawiła się wersja 2.02[5].
• Wersja 3.00 skryptu została zaprezentowana przez KrzSia rok później, 20 października 2008 roku. Poza znacznym przebudowaniem (wraz ze zmianą nazw części poleceń) i uporządkowaniem skryptu wprowadziła ona możliwość włączenia nowego trybu gry, w którym każdy z uczestników dostaje (ukryty) punkt za każdą swoją odpowiedź, bez względu na to czy poprawną, czy nie[4]. Miało to na celu ograniczenie sytuacji, w których jakiś gracz rozpoczął zabawę pod koniec quizu i dzięki krótkiej serii poprawnych odpowiedzi wyprzedził zawodników grających od początku. Ów dodatkowy punkt pozwala też podjąć taktyczne ryzyko, gdyż nawet tracąc jeden punkt za błędną odpowiedź nasza punktacja nie ulegnie zmianie. Z uwagi na ten tryb początkowo planowano, by wszyscy zawodnicy rozpoczynali grę na minusie (minus tyle punktów, ile pytań ma quiz), ale pomysł ten został zarzucony i punktacja startuje od zera. Ze skryptu usunięta została możliwość ręcznego zadawania pytań, pozostawiając tylko tryb „autoquizu” oraz opcja wczytywania pliku z okienka. Ponadto skrypt wprowadził także mieszanie kolejności błędnych odpowiedzi, niezależnie od ich pozycji w pliku.
• 11 stycznia 2016 roku quizowicz wilk (#QuizPL @ IRCnet) udostępnił modyfikację skryptu do wersji 3.01, wprowadzając możliwość udzielania odpowiedzi także prywatnie osobie puszczającej quiz. Założeniem tego było ograniczenie powtarzania przez inne osoby odpowiedzi mocnego zawodnika, przez co rozgrywka stawała się monotonna i była wyścigiem, kto pierwszy skopiuje odpowiedź. Identyczna zmiana została wprowadzona również w oryginalnym skrypcie jako wersja 1.51, który jeszcze bardziej odczuwał tą niedogodność, z uwagi na brak bonusów dla najszybszych graczy (każdy dostaje po 1 punkcie). Zaś 22 stycznia 2016 roku ukazała się wersja 3.02 (i odpowiednio 1.52 dla starszego skryptu), w której odpowiedzi publiczne zostały domyślnie wyłączone i gracze mogą zgadywać tylko prywatnie, ale dodane zostało polecenie je odblokowujące. 4 marca 2016 roku skrypt został rozbudowany do wersji 3.03, w której pojawiła się możliwość wyboru czy odpowiedziom przypisywane są, jak dotychczas, litery A/B/C/D, czy też zestaw składający się z cyfr 1/2/3/4, który ze względu na swoje ułożenie obok siebie na klawiaturze ułatwia odpowiadanie bez zerkania na nią. 23 kwietnia 2016 roku pojawiła się wersja 3.04, która pozwala na podanie dowolnego zestawu znaków jako opcji odpowiedzi (np. Q/W/A/S lub Q/P/A/L, które wizualnie odpowiadają rozmieszczeniu odpowiedzi na monitorze).
• 15 sierpnia 2016 roku pojawiła się wersja 3.1, zmodyfikowana przez quizowicza k4be (PIRC). Treść tekstu pomocy wbudowaną w skrypt została minimalnie przeredagowana przez Andrrew. Skonsolidowane zostały niektóre komunikaty wyświetlane przez skrypt, które pierwotnie były rozbite na kilka linii (długość wyświetlanej linii jest limitowana, tekst dłuższy jest ucinany) - błędnie zakładając, że to mIRC osoby puszczającej quiz zawsze będzie skonfigurowany do dzielenia linii. Część wyświetlanych komunikatów została „zaciemniona” (obfuskacja), by utrudnić przyszły rozwój skryptu. Skrypt opiera się na wcześniejszej wersji 3.0, pomijając późniejsze ulepszenia i zawiera m.in. możliwość udzielania odpowiedzi prywatnych, które to rozwiązanie zostało ponad pół roku wcześniej wprowadzone w wersjach 3.01-3.04 — niestety w wersji 3.1 nie podano jakiejkolwiek o tym wzmianki wprowadzając jeszcze raz te same pomysły i przypisując sobie ich autorstwo. Inne zmiany dotyczą zapisu głównych ustawień do pliku oraz modyfikacji w punktacji: dodatkowy punkt (czyli łącznie dwa, zamiast jednego) dla pojedynczej dobrej odpowiedzi, który jest dodawany przed mnożnikiem i rozdzielenie kolejek dobrych i złych odpowiedzi, prowadząc do jeszcze większego rozstrzelenia wyników poprzez premiowanie osób, które grają na chybił-trafił, zamiast opierać się na swojej wiedzy.
• W efekcie sugestii graczy 28 czerwca 2017 roku pojawiła się wersja oznaczona jako 3.2 zmodernizowana przez quizowicza wilka (#QuizPL @ IRCnet) oparta na oryginalnej, niepopsutej wersji skryptu. Wprowadzona została możliwość wyłączenia maksymalnego mnożnika (TRIMBO), bądź zupełnego wyłączenia mnożników za serię odpowiedzi, skonfigurowania punktów za pierwszą, drugą i kolejne dobre/złe odpowiedzi oraz za indywidualną poprawną odpowiedź (BONUS) - lub wyłączenia ich, umożliwiono ustawienie czasu trwania rundy na mniej niż 10 sekund. Ponadto konfiguracja skryptu jest teraz zapisywana do pliku w przejrzysty sposób, tak by przy następnym uruchomieniu wykorzystywał te same parametry co poprzednio, bez potrzeby ponownego ich ustawiania.
• Z uwagi na puszczany kilka dni później quiz obrazkowy oparty na tym skrypcie oraz fakt, że ochrona antygooglowa pytań uniemożliwiłaby klikanie linków i ich automatyczne otwieranie w przeglądarce, koniecznym była zmiana w skrypcie. 14 grudnia 2017 roku quizowicz wilk (#QuizPL @ IRCnet) dodał polecenie do wyłączenia antygooglera w razie potrzeby i numer wersji skryptu został podbity do 3.3.
• 8 lutego 2019 roku skrypt został zaktualizowany do wersji 3.4 przez wilka (#QuizPL @ IRCnet). W wersji tej wprowadzony został mechanizm zmniejszający szansę na powtórzenie tej samej litery przypisywanej do poprawnej odpowiedzi, gdyż nierzadkim zjawiskiem bywały serie po 4-6 tych samych symboli odpowiedzi. Oraz przywrócona została możliwość wyboru pliku z quizem w okienku, która jak się okazało zniknęła w wersji 3.00.
W połowie 2016 roku, 21 czerwca, quizowicz rud0lf (#QuizPL @ IRCnet) udostępnił napisany przez siebie skrypt „Milionerzy” w wersji 1.19 przeznaczony dla programu do chatowania irssi, oferujący po raz pierwszy taki sposób przeprowadzania rozgrywki na tej platformie. Skrypt działa i jest obsługiwany niemal identycznie jak „Milionerzy” w wersji 3.04 dla mIRCa — jest portem z mIRCScriptu do Perla. Został on pomyślnie przetestowany 25 czerwca[2] i tego samego dnia, po wprowadzeniu niewielkich korekt udostępniony w wersji 1.20.
Obie wersje skryptu „Milionerzy” dla programu mIRC oraz wersja skryptu dla programu irssi są do pobrania w najnowszych wersjach z naszego poradnika dla puszczających quizy.
[1] Data oparta o znacznik czasowy pliku.
[2] Pierwsza premiera quizowa.
[3] Z uwagi na brak skryptu w wersji 2.01 oraz fakt, że tylko jeden quiz na tej wersji został puszczony trudno jest określić dokładny zakres zmian. Opis zmian wynika z porównania wersji 2.0 z 2.02 i potwierdzenia ich istnienia z pomocą logów kanałowych dla zaprezentowanej wersji 2.01, jednak nie wszystkie zmiany wprowadzone w wersji 2.01 są znane.
[4] Rozwiązanie zaproponowane przez quizowiczkę Areylena (#QuizPL @ IRCnet).
[5] Wszystkie znane zmiany między wersjami 2.0 i 2.02 wynikają z porównania tych dwóch wersji skryptów i zostały opisane przy wersji 2.01, gdyż zostały również dla niej potwierdzone na podstawie logu z zaprezentowanego quizu. Faktyczne zmiany pomiędzy wersją 2.01 a 2.02 są nieznane.
Facebook, Twitter, Google+