Wspólny projekt BallGame – gra na podzielność uwagi

3

Heyka!
Zainspirowany innym wątkiem w tym dziale o podobnym tytule chciałem zaprosić osoby, które uczą się programować (ale mają już jakąś wiedzę) lub są już trochę bardziej zaawansowane do projektu stworzenia gry na podzielność uwagi.

Cele projektu:

  • wspólne wykonanie gry, która na pewno stanie się hitem! ;D
  • motywowanie się nawzajem
  • pomaganie sobie nawzajem
  • zdobycie doświadczenia
  • zabawa
  • wspólne konsultacje
  • etc.

Warunek konieczny:

  • przynajmniej podstawowa umiejętność programowania najlepiej w języku C++ (mój projekt mój język :D)
  • przynajmniej minimalne zaangażowanie ;)
  • fajnie by było, gdyby ktoś miał jakieś umiejętności graficzne ;D

Skąd pomysł na grę:
Dawno, dawno temu, gdy grałem jeszcze w warcrafta 3 na jakiejś bodajże amerykańskiej stronie pewnego amerykańskiego (a może niemieckiego) gracza znalazłem prościutką grę na podzielność uwagi (na poprawienie micro w warcrafcie - jeśli ktoś wie o co chodzi :P). Gra była napisana bodajże w javie (a przynajmniej w czymś przeglądarkowym) i niestety po kilku latach przerwy mimo ogromnego wysiłku nie udało mi się jej nigdzie odnaleźć. Gra miała jednak wiele wad więc jakiś czas temu (bogatszy o nowe umiejętności programistyczne :P) postanowiłem zrobić ją samodzielnie ale znacznie ją udoskonalić. Niestety zabrakło motywacji… ;-(

Zasady Gry - główne założenia
Jeśli chodzi o zasady to gra jest prosta! Jedyne co trzeba robić to ustawiać w odpowiedni sposób "mostki" na planszy tak, by kulki, które będą poruszać się po "drodze" mogły przejść przez mostek (których będzie kilka na planszy). Gdy mostek jest źle ustawiony (jest pod złym kontem) to kulka wpada w "przepaść" do ognia lub czegokolwiek i jest ZONG – tak będę dalej nazywał sytuację, gdy kulka nie przejdzie przez mostek.
W oryginale, gdy był ZONG wszystkie kulki znikały i zaczynało się od nowa na danym poziomie. Były bodajże 3 życia i jak się je straciło to był Game Over.
W oryginale wraz z poziomem trudności rosła tylko liczba kulek na planszy, a kulki po ZONG-u i rozpoczęciu danego poziomu od początku poruszały się w taki sam (zaplanowany?) sposób - co powodowało dużą przewidywalność gry i łatwość jej przejścia.

W moim projekcie zakładam różne rodzaje plansz, losowe wędrowanie kulek po planszy z różną prędkością a także różne rodzaje "mostków" (np. w kształcie litery L) i różne poziomy trudności (nie tylko większa liczba kulek jak to było w oryginale). Dodatkowo, moja koncepcja jest taka, że jak będzie ZONG to gra będzie mogła trwać nadal – co będzie uzależnione od ustawień (chodzi o to, że jak zaczyna się grę od początku to strasznie to irytuje – a przecież nie o to chodzi, głównie chodzi o ćwiczenie podzielności uwagi…).
W załączeniu przesyłam taki wstępnych wzór planszy (wykonane w excelu – to nie jest ostateczna wersja tylko pewien wzór!) byście zobaczyli dokładnie na czym gra polega.

Niebieskie kratki to droga, po których będą poruszać się kulki. Na każdym skrzyżowaniu kulka będzie skręcać w losową stronę.
Kwadraciki czerwono zielone to miejsca, skąd będą „wyjeżdżać” nowe kulki (np. na początku gry lub z czasem, gdy będzie zwiększał się poziom).
Kwadraty czerwone to miejsca, gdzie będą wspomniane mostki. Każdy mostek będzie mógł być ustawiony albo pionowo albo poziomo. Jak kliknie się na dany mostek myszką to zmienia on położenie (obraca się). Chodzi o to, że jak piłeczka będzie się poruszać z góry na dół lub z dołu na górę to mostek powinien być ustawiony pionowo a gdy piłeczka będzie poruszać się w poziome to mostek również powinien być ustawiony poziomo. Brzmi prosto, ale gdy jest więcej kulek to nie jest to takie proste zadanie :].
Na chwilę obecną chyba wystarczy. Więcej szczegółów podam, gdy będą osoby zainteresowane. Wiele rzeczy może zostać ustalone również wspólnie – na co również liczę, bo jest kilka „problemów” związanych z moimi założeniami, które można rozwiązać na kilka sposobów ale przydałoby się wybrać ten lepszy i chciałbym to omówić- :).
Jeśli macie jakieś pytania lub wątpliwości to się nie krępujcie!!!
Wszelkie pytania, sugestie, propozycje, rady etc. mile widziane.
Pisać możecie albo w tym wątku pod spodem, albo do mnie na priv-a.
Pozdrawiam i czekam na odważnych ;).

Uwagi końcowe
Jeśli znajdą się chętni – najlepiej 2 lub więcej osób - do niniejszego projektu to ruszamy pełną parą ;D.
Projekt jest ogólnie dostępny i Open Source.

0

Miło mi poinformować, że jedna osoba zgłosiła się już do projektu. Jeśli ktoś chciałby jeszcze dołączyć to zapraszam. Wstępnie uzgodniliśmy, że do weekendu wstrzymamy się jeszcze z pracami. W tym czasie ja postaram się przygotować dokładny opis gry z prostą wizualizacją.
Gra będzie pisana w C++ z użyciem biblioteki SFML.
Bardzo byłbym wdzięczny jeśli znalazłaby się jakaś osoba mająca umiejętności graficzne i która pomogłaby w przygotowaniu prostych obrazków z których będą tworzone plansze do gry. Fajnie by było, gdyby gra była miła wizualnie ;)

Zastanawiam się również jak zorganizować prace. Pierwotnie myślałem, by podzielić prace na osoby, które będą uczestniczyły w projekcie, ale z drugiej strony projekt jest tak mały, że ciężko będzie go podzielić O_o. Bo w sumie jedyne co trzeba tu zrobić to klasę kulki, kafelka planszy i kilka innych drobnych rzeczy i w zasadzie to wszystko ;). No nic, to jest jeszcze do omówienia...

0

Witam ponownie!
Uprzejmie informuję, że do projektu zapisały się już 3 osoby czyli jest nas razem 4! Tyle osób zdecydowanie wystarczy do stworzenia tak prostej więc nikogo już nie zachęcam. Jeśli ktoś mimo wszystko będzie chciał uczestniczyć w projekcie to może do mnie pisać i zobaczymy jak rozwiązać nadmiarowość zespołu ;). Zawsze można będzie sobie popatrzeć lub pomóc innym ;).

0

Witam,
Tak jak obiecałem dzisiaj postaram się dokładnie przedstawić koncepcję gry.

Plansze

Zacznę może od uściślenia, że podany wzór planszy do gry załączony w poprzednim poście był tylko przykładowy w celu zobrazowania o co w grze chodzi i raczej niepraktyczny (mostki były za gęsto ułożone). Nie pamiętam dokładnie jak wyglądała plansza w grze, w którą ja grałem lata temu, ale możliwości ułożenia planszy jest sporo.
Obecnie przesyłam 3 przykłady wzorów planszy. Plansze mogą być większe lub mniejsze w zależności od poziomu trudności. Istotne jest, by nie było zbyt dużo przeszkód (mostków) o których zaraz coś więcej powiem.

Myślałem również nad możliwością ukośnych ścieżek (np. pod kątem 45 stopni), ale to może w późniejszym etapie ;)

Mostek

Niektórzy mogą mieć wątpliwość o co chodzi z mostkiem więc już wyjaśniam o co chodzi.
W załączeniu przesyłam wizualizację idei mostka i jego rodzajów z dokładnym opisem.
Mostek umożliwia przejście kulki przez pewną przeszkodę – może to być lawa, przepaść, kolce, ogień – cokolwiek. Chodzi o to, że na wybranych skrzyżowaniach droga się nagle kończy i kulka nie może przejść na drugi koniec. Rozwiązaniem problemu jest ustawienie mostka w taki sposób, by połączyć dwa odcinki drogi. Jednak połączona może być tylko jedna droga – albo pionowa albo pozioma.
Ewentualnie może być połączona droga pionowa z poziomą – jest to trudniejszy wzór mostka zilustrowany na załączonym obrazku.
Zmiana ustawienia mostku następuje przez kliknięcie lewym lub prawym przyciskiem myszy (LPM lub PPM) na obszarze w okuł mostku. Z tym, że kliknięcie LPM powoduje obrót w lewo a PPM w prawo. Dla mostku tradycyjnego nie ma to znaczenia. Ma to jednak znaczenie dla trudniejszego typu mostku tj. w kształcie litery L.

Kulki

Kulki można urozmaicić na kilka sposobów (oczywiście w ramach utrudnienia):

  1. Po pierwsze mogą samoczynnie przyśpieszać lub zwalniać w losowy sposób (oczywiście z ograniczeniami – kulka nie może poruszać się szybciej niż… i wolniej niż…)
  2. Kulka może zmieniać kolor (może mieć to ciekawy wpływ na podzielność uwagi :D)
  3. Kulka może w pewnych sytuacjach (losowo) zmieniać kierunek poruszania się
  4. Kolejne utrudnienie to krótkie znikanie piłeczki (robi się niewidzialna np. przez 1 s. a następnie jest widoczna przez 3 s.)

W wersji treningowej można zrobić tak, że piłeczki będą dodawane do czasu aż ilość utraty piłeczek nie będzie większa niż X / minutę. A odejmowane, gdy kulki będą spadać w większej ilości niż Y / minutę. Z tym, ze nie może być mniej kulek niż N na planszy (N to np. 3-5 kulek).

Droga

Urozmaiceniem gry może być zrobienie pewnych odcinków drogi na których kulki same by przyśpieszały (droga posmarowana olejem :D) lub lekko zwalniały (wertepy :P). Zmiana prędkości mogłaby następować tylko na wybranym odcinku (np. przez 3 kratki) lub przez określony czas (np. przez 15 sekund od wejścia na „posmarowany” kawałek drogi kulka porusza się szybciej).
Innym urozmaiceniem gry może być znikanie pewnych odcinków drogi (droga jest ale jej nie widać :D) lub usuwanie kawałków drogi i wstawianie jej w innym miejscu ;D. Takie trochę hardcorowe ;D
Myślałem również, by umożliwić robienie drogi w zygzaka :) – kulka wówczas poruszała się po niej ze swoją prędkością, ale droga byłaby dłuższa i byłoby złudzenie, że kulka zwolniła.

Rodzaje gry

Powinna być możliwość grania na dwa sposoby:

  1. typowo na punkty tzn. np. ma się 3 życia i po przejściu pewnego levelu przechodzi się dalej. Wówczas zaczyna się od niskiego poziomu i przechodzi się dalej
  2. Można również zrobić tak, że gracz musi wytrzymać na planszy X minut mając np. 3 życia. Gdy mu się to uda przechodzi do kolejnego etapu (zdobywa – na stałe – nową planszę z nowym poziomem trudności).
  3. gra treningowa - gracz ustawia sobie indywidualnie poziom gry oraz planszę (niektórym bardziej zależy na ćwiczeniu podzielności uwagi a nie na pokonywaniu kolejnych poziomów i zdobywaniu nowych „map” więc należy umożliwić graczowi grę „dla siebie”. Oczywiście będą wówczas prowadzone proste statystyki np. ile kulek zostało utraconych, ile kulek na minutę zostało utraconych, ile czasu gracz grał itp. ale gra będzie trwała do czasu, aż gracz sam zrezygnuje. Będzie wówczas również możliwość dodawania na bieżąco nowych kulek lub usuwania zbyt dużej ilości oraz zmiany niektórych ustawień.

Problemy do rozwiązania:

Czy kulki powinny się od siebie odbijać? Czy może umożliwić im poruszanie się obok lub przez siebie?
Jak rozwiązać problem gdy dwie kuleczki będą dążyć do tego samego mostku mniej więcej w tym samym czasie, z tym, że jedna z góry a druga z lewej strony?
Co do drugiego pytania to ja wymyśliłem dwie opcje (mogą być zastosowane równocześnie), ale by nie przedłużać na tym zakończę ;).

Jeśli macie jakieś pytania lub wątpliwości a także sugestie lub propozycje to śmiało piszcie pod spodem lub na priv-a ;)
pozdrawiam!

1 użytkowników online, w tym zalogowanych: 0, gości: 1