Skocz do zawartości

Pomysł jak może konkurs wyglądać


Force

Polecane posty

Bardzo beznadziejny tytuł na temat.. no cóż :D

 

Pomyślałem, że można nie robić tylko konkursy na gry, ale na co to potem, najpierw lista "wady konkursów na gry", która nie jest po to aby nie było takich konkursów, ale aby były też inne :D

Aby napisać grę, trzeba mieć pomysł, przemyśleć wszystko, może jakiś diagram, doc itp. a to zajmuje czasu, a nie zrobienie tego zwiększa szansę, że potem będzie jakiś refraktoring (choć też nie gwarantuje) albo jakieś problemy.

Trzeba także bawić się w obrazki, grafiki, renderowanie albo zapisywanie, odczytywanie z plików, tworzenie własnych formatów, no ogólnie może być masa kodu, który dal samej gry jest mało przydatny.

 

Po tej negatywnej kampanii czas na konkrety :D

Wymyśliłem, że powinny być konkursy nie tylko, że "napisz grę". Powinny być też takie co też do gier, ale ich efektem nie jest gra. Przykłady:

- konkurs na format na w miarę uniwersalny sposób sposób zapisu map dwuwymiarowych.

- klasa używająca jakiegoś silnika graficznego (może Blinda, tak czy siak najlepiej jeden silnik dla wszystkich, choć może dla użytkowników liunksa wyjątek) do wyświetlania np. map heksalnych (wraz z obiektami na komórka, rzeczkami itp.) Format danych jest już od razu dany, albo ustalony w poprzednim konkursie. I te klasy mają implementować jakiś interfejs (też dany), co da, że potem można podpinać wszystkie te klasy do używanie gdzie indziej.

- klasa jakiegos managera (tez ma implementować dany interfejs)

- edytor np. do mapy heksalnej, której format ustali się w jednym konkursie, a klasę renderującą w drugim :D

- proste gui.

 

Oczywiście założenia będą bardziej szczegółowe w zależności od problemu, ale te się nie zmieniają:

- interfejs, który należy implementować jest w osobnym pliku (jakiś wspólnie dla wszystkich konkursów), a nie na zasadzie kopiuj-wklej, tylko do sekcji uses.

- jest dany interfejs, który trzeba implementować i nie można od użytkownika gotowej lasy wymagać, aby używał innych metod niż te z intefejsu.

- składnia języka bez używania specyficznej tylko dla Lazarusa, lub Delphi Borlandowego. aby jak najbardziej zagwarantować przenoszalność (choć może czasami się nie, dal trzeba zminimalizować ilość kodu niezgodnego).

- dla wyświetlania grafiki starać się tylko jeden silnik używać gdzie się da.

- mogą być odstępstwa do niektórych punktów, ale w szczególnych okolicznościach (może nie zawsze się da interfesy robić)

- 50% oceny daje autor konkursu, a 50% forumowicze (kryteria do ustalenia)

- ważne: jeśli nie jest to konkurs, w którym się implementuje gotowy interfejs, to trzeba dać bogatą dokumentację i choć jeden przykładowy program.

 

Uważam, że takie konkursy mają większą szansę, bo nie każą pisać całej gry na raz, tylko jakąś cząstkę, która można użyć kilka razy przez wiele osób co daje możliwość wypracowania jakiegoś standardu. Potem można kazać w innych konkursach używać klas które powstały w poprzednich konkursach. Zmusza też do pisania kodu, który będzie użyty więcej razy niż jeden projekt, podwyższy się więc efektywność i szybkość pisania innych rzeczy jeśli będą używać gotowe rozwiązania. Też samo pisania będzie szybsze bo trzeba skupić się tylko na jednym problemie, jaki powstaje przy pisaniu gry i można go lepiej rozwiązać i ma się więcej czasu.

 

Więcej pomysłów nie mam, za wszystkie serdecznie żałuje

 

nie jest to konkurs, tylko ma być dyskusja nad takim stylem konkursów. Może po 3 takich konkursach, konkurs na napisanie gry będzie łatwiejszy, bo już cześć kodu była napisana, a jury wybrało najlepszy pomysł.

 

Edit: acha - i do autora konkursu by należało napisać aplikację testująca i udostępnić ją z kodem, aby inni mogli swoje klasy testować, aplikacja byłaby bardzo prosta, może jej nawet nie trzeba, tylko wystarczą jakieś unit testy. Także by testowano czy nie ma wycieków pamięci. I są to jeden z warunków koniecznych aby móc wygrać - brak wycieków i działanie z założeniami, szybkość też istotna, ale jedynym warunkiem by było, że ma być np. szybciej niż 5 sekund, i się w ms nie bawić, tylko jak ktoś ma procedurę działającą o 30% szybciej to dopiero to docenić, a nie że o 5% (chyba, że procedura ma być wywoływana np. 10 000 000, to wtedy można te % docenić).

 

To są oczywiście moje luźne myśli, czekam na innych pomysły i dyskusje. Może takie konkursy zwiększą liczbę użytkowników np. z 3 na 6, a im większa konkurencja tym lepsza np. klasa managera powstanie

Baza tysięcy lotnisk: http://airportsbase.com

Link do komentarza
Udostępnij na innych stronach

Pomysły bardzo dobre, ale ktoś to musi organizować. Konkurs można zrobić z byle czego, ale musi to być coś takiego co się "chce" napisać. Jako pozytywny przykład daje tu ostatni konkurs z piłką.

 

Force jeśli masz dobry pomysł to sam zorganizuj. Opisz dokładne zasady, temat... Zobaczymy ile uczestników zdobędziesz :)

Link do komentarza
Udostępnij na innych stronach

Ooo, ktoś mnie rozumie :D Coś w tym stylu, albo raczej jako takie drzewko rozwoju tych etapów, tak że pod koniec mogą być dwie różne gry mające część elementów wspólnych, a część różnych z innych odgałęzień. Bo wg mnie to ma sens, jak każda rzecz będzie pisana tak aby można ją było użyć więcej niż raz. To zmusza do myślenia co się robi i pracowania nad elastycznością

Baza tysięcy lotnisk: http://airportsbase.com

Link do komentarza
Udostępnij na innych stronach

  • 3 years later...

To ja może lepiej poleciłbym wam stworzenie rankingu projektów w danej kategorii...

Przykładowe kategorie:

- silniki graficzne

- silniki gier

- gry

- edytory

- moduły do gier

 

itp.

Ogółem mi chodzi o to, by każdy coś sobie pisał... i to coś by było oceniane przez innych. Następnie pod koniec każdego miesiąca czy tam półrocza na stronie głównej wystawiany byłby najlepszy projekt z danej kategorii. (ten co ma max pkt.)

 

Takie ala warsztat ranking rozbudowany o kategorie.

 

PS. BEngine jest jeszcze rozwijane ? na SVN projektu widzę pliki z przed 2 lat :D

 

Pozdro.

Prawdziwy programista wiesza sie wraz ze swoim programem.

Link do komentarza
Udostępnij na innych stronach

Mnie pomysł z Drabinką programistyczną się bardzo podoba ( może wreszcie to zmotywuje mnie do pracy ;D ). Jak dla mnie pomysł fajny. Tylko warto nie tyle co narzucać konkretne narzędzia co dać narzędzia do wyboru, ponieważ ja biorąc udział w takim konkursie nastawiałbym się bardziej na Linux'a i Python'a i uważam, że trzeba wziąć pod uwagę "mniejszości narodowe" programistów ;)

Link do komentarza
Udostępnij na innych stronach

  • 4 years later...

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

×
×
  • Utwórz nowe...