Warsztat Zaloguj się | Zarejestruj się
Strona główna
Nowości
Informacje ogólne
Zasady
Nagroda
Porady
Tematy
Download
Edycje
Uczestnicy
Statystyki Compo
Statystyki uczestników
#warsztat-compo
Forum
Historia
E-mail

Tematy

Ogólny podział

Najczęściej spotykane tematy można ogólnie podzielić na takie kategorie:

Efekt, Demo
Nieinteraktywna praca prezentująca jeden lub więcej efektów graficznych
Gra
Interaktywna praca, w którą można zagrać
Ogólne
Dotyczą jakiegoś motywu. Gatunek gry jest dowolny. Liczy się przede wszystkim pomysł. Przykłady: strzelanie, latanie, święta Bożego Narodzenia.
Gatunkowe
Do napisania jest gra określonego gatunku. Liczą się głównie duże możliwości i solidne wykonanie. Przykłady: raptor, platformówka.
Ograniczające
Można napisać dowolnego rodzaju grę dostosowując się jedynie do narzuconych ograniczeń. Przykłady: gra, która porozumiewa się z użytkownikiem tylko jedną linijką tekstu, gra sterowana jednym klawiszem.

WarCompo

War Compo to nowa idea konkursu dla programistów gier. Co do pomysłodawcy, sprawa nie jest jednoznaczna. Na wymienienie zasługują m.in. Shyha, gemGreg i TRSSam. Chodzi o pisanie walczących między sobą algorytmów.

Myślę, że okazałoby się to ciekawym wyzwaniem dla programistów gier, również tych zaawansowanych. Pisanie samego algorytmu to zupełnie inna sprawa, niż tworzenie w 24h kompletnej gry, w której liczy się grywalność, sterownaie, grafika, dźwięk i inne, niestety nie zawsze programistyczne rzeczy.

Aktualności

29 marca 2003 odbyło się pierwsze WarCompo. Tematem był labirynt, tzn. trzeba było napisać algorytm znajdujący wyjście z labiryntu w jak najmniejszej liczbie kroków.

20 marca 2004 odbyło się WarCompo, w którym do napisania był plik DLL z algorytmem gry w statki. Aplikację hosta napisał AyuFan. 17 kwietnia 2004 odbyła się druga edycja WarCompo na ten sam temat.

21 maja 2004 rozpoczęła się edycja z hostem, którego napisał skmskm. Niestety nie było ani jednego uczestnika.

Kiedy będzie następne? Prawdopodobnie wtedy, kiedy ktoś napisze jakąś nową aplikację - hosta do pisania botów. Czekam na propozycje...

Sprawy techniczne

Pojawia się pytanie o sposób tworzenia botów. Możliwych rozwiązań jest kilka:

Pliki
Prace byłyby osobnymi programami i wymieniałyby dane odczytując i zapisując pliki na dysku. Rozwiązanie bardzo nieeleganckie, ale zapewnia najwięjszą kompatybilność (dowolny język, możliwe nawet prace pod DOS).
Sockety
Prace byłyby osobnymi programami i wymieniałyby dane za pomocą systemowych gniazd sieciowych. Rozwiązanie dość niewygodne w implementacji - każdy uczstnik musiałby znać sposób ich programowania.
DLL
Prace byłyby bibliotekami DLL ładowanymi przez aplikację - hosta. Wymaga od uczestników znajomości sposobu ich tworzenia, ale to dość dobre rozwiązanie. Język jest dowolny.
Asemblerowy język skryptowy
Możnaby razem z aplikacją - hostem opracować własny, prosty interpretowany język skryptowy podobny do asemblera. Jednak pisanie w nim botów byłoby dość żmudne, a nie wszyscy lubią takie hardcory...
Język skryptowy wysokiego poziomu
Możnaby wykorzystać jeden z dostępnych języków skryptowych, jak LUA, Python czy TCL. Programowanie w nim byłoby wygodniejsze, ale i tak uczestnicy musieliby się go nauczyć. Rozwiązanie ze skryptami umożliwia za to pełną kontrolę nad zachowaniem botów (czasem wykonania, wykorzystywaniem plików itp.).
Interpreter C++
Możnaby się pokusić nawet o wykorzystanie interpretera języka C++ (są takie!). Rozwiązanie ma tą zaletę, że ten język jest już znany wielu osobom.

Pojawiły się też znacznie bardziej odjechane propozycje, jak oglądanie zmagań prac konkursowych na żywo przez sieć.

Organizacja

Zasady WarCompo muszą być zupełnie inne, niż Compo tradycyjnego. Tak więc nie będzie głosowania nad tematem. Nie będzie też ograniczonego od-do czasu pisania. Po prostu opublikowana zostanie aplikacja - host oraz temat, uczestnicy piszą swoje prace kiedy chcą i konkretnego dnia odbywa się finałowa rozgrywka.

Tematy

Na razie wymyślone zostały takie tematy:

  • Kółko i krzyżyk [GoQ]
  • Warcaby
  • Algorytm najkrótszej drogi
  • Chatterbot
  • Generator tekstów piosenek [Sp3ndrak]
  • Dwa boty poruszające się i strzelające do siebie na kwadratowej mapie [Mike] której elementy można niszyczyć [Lux]
  • Piłka nożna lub inne sporty [Bodek]
  • Statki [TRSSam]
  • Reversi [TRSSam]
  • Rymowanie [Goliatus]
  • Bijatyka [Lux]
  • Piłna nożna (taka gra, w którą gra się na nudnych lekcjach na kartce w kratkę rysując kreski) [Goliatus]
  • Wyścigi [Lux]
  • RTS [TRSSam]
  • Bijatyka od boku, turowa, (cios/blok/umiejetnosc specjalna) + grafa do tego robiona przez uczestnikow [gemGreg]

Tematy mogłyby się powtarzać. Np. piszemy warcaby, potem wszyscy mogą oglądać i analizować źródła pozostałych uczestników, a tym samym uczyć się ciekawych rozwiązań i udoskonalać je, po czym robimy warcaby po raz drugi.

Podziękowania

Podziękowania za zaangażowanie i wkład w projektowanie WarCompo należą się: g[R]eK, gemGreg, Goliatus, Lux, Shyha, TRSSam.

The Never-ending Compo

The Never-ending Compo to pomysł na Compo nowego rodzaju. Wymyślił go Hetkris, a wylansował Goliatus.

Zasady

Podstawową zasadą jest ciągłość konkursu. Prace nie są jednorazowo pisane i oceniane. Co tydzień odbywa się kolejna runda. W każdej rundzie uczestnik może wysłać nową wersję swojej pracy. W każdej rundzie także odbywa się nowe głosowanie i publikowana jest nowa tabela z wynikami. Formalnie punkty z poszczególnych rund nie są w żaden sposób sumowane. Każdy może zrezygnować, dołączyć lub pominąć rundę w czasie trwania konkursu.

Celem jest stworzenie takiego konkursu, który uzupełni braki tradycyjnego Compo. Uczestnicy będą rozwijali swoje prace. Projekty będą mogły być rozbudowane. Wymaga to oczywiście lepszego planowania.

Oprócz części formalnej, bardziej niż w tradycyjnym Compo, istotna powinna być nieformalna część konkursu. W kolejnych rundach rozwój prac konkursowych, wprowadzone nowości, użyte techniki, ogólne założenia projektu czy wreszcie sam efekt podlegają dyskusji na forum. Nie można zabronić uczestnikom organizowania własnych nieoficjalnych sond na temat prac z najlepszą grafiką, z najlepszym AI itp. Obowiązuje więc duża dowolność. Liczy się (to jest najistotniejsze!) nieobecna dotychczas możliwość wielokrotnego publikowania i rozwijania jednej pracy w ramach samego konkursu!

Wybór tematu takiego konkursu powinno odbyć się w miarę możliwości drogą dyskusji, ostatecznie głosowania.

Chciałbym także, by bardziej liczyły się w tym konkursie sprawy techniczne, a mniej efekt końcowy. Oczywiste jest, że w pierwszych rundach prace będą niedokończone. Oczywiste jest także, że w kolejnych skupić należy się na wprowadzonych do poszczególnych prac zmianach, nowościach i poprawkach.

Warto więc dołączać do swojej pracy, wysyłanej na daną rundę, opis wprowadzonych zmian czy nawet jakiś mały art o użytych technikach. Jednym słowem wszystko, co może podnieść ocenę pracy w oczach innych uwzgędniając naturę tego konkursu.

Ocenianie w poszczególnych rundach odbywa się na takich samych zasadach, jak w tradycyjnym Compo. Uczestnicy zobowiązani są do oddawania głosu na innych oceniając pracę wg własnych kryteriów. Można jedynie wymienić ogólne zalecenia, np. by brać pod uwagę grywalność, kod i nakład pracy, a nie pierwsze wrażenie czy jakość grafiki.

Nie ma także niczego złego w pokazywaniu sobie nieoficjalnie, jeszcze przed nadejściem kolejnej rundy, screenów i innych informacji na temat swojej pracy, a nawet całej pracy.

W każdej rundzie wysyłać trzeba oczywiście zarówno kompletny kod źródłowy, jak i działającą wersję skompilowaną. Nie można przysłać na kolejną rundę pracy niezmienionej w sposób wystarczająco istotny (niewidoczny bądź nieopisany) względem poprzedniej.

W The Never-ending Compo dozwolona jest praca zespołowa. Jeśli ktoś potrafi lub chce się nauczyć wspólnego programowania, ma taką możliwość. Prace wysyłać można więc w imieniu swoim lub grupy. Jak zwykle w Compo, liczy się tylko kod. Grafika, dźwięk itp. pochodzić może z dowolnego źródła. Jeśli ktoś pisze kod sam, nie powinien występować w imieniu grupy.

Konkurs trwa, zgodnie ze swoją nazwą, do nieskończenia. Dokładnie dotąd, dokąd będzie wystarczająco dużo uczestników.

Organizator zastrzega sobie prawo do organizowania bonusów i innych urozmaiceń po uprzednim skonsultowaniu tego z uczestnikami oraz wystarczająco wcześniej poinformowaniu o tym fakcie.

Aktualności

Odbyło się kilka rund, lecz niestety przez kilka kolejnych nie było wystarczająco dużo prac, żeby przeprowadzić głosowanie. Uczestników było za mało i dlatego, mimo protestu wielu osób, ta forma konkursu została zaniechana.

Zachęta

Mogłoby się wydawać, że tak długo konkurs nie ma sensu. Warto jednak wziąć w nim udział. Compo to dla niejednego doskonała okazja do napisania ciekawej gry. Taka nowa jego forma może być doskonałą motywacją do programowania, do kontynuowania jednego projektu i wreszcie do jego ukończenia.

Co wysłać?

Ogólnie sprawa wygląda tak: Obowiązkowa jest tylko działająca, skompilowana wersja binarna. Jednak warto wysłać jak najwięcej. Dlatego zalecane jest, aby wysłać:

  • Wszystko, co dotychczas zrobiłeś do swojej pracy.
  • Kod źródłowy.
  • Nie tylko działającą grę, ale i projekty, plany, opisy i wszelkie inne materiały, jakie stworzyłeś.
  • Wszelkie edytory i inne programy pomocnicze, jakie stworzyłeś do pracy.

Tak więc ogólnie - im więcej, tym lepiej. Nawet jeśli jeszcze niewiele masz - wyślij to co masz! Lepsze to, niż wogólnie nie wziąć udziału w danej rundzie.


Copyright © 2004-2009 by Adam Sawicki, design by gemGreg 0 s