menu
Krylan | Krzysztof Koperkiewicz
Blog

#01 “Qwins!” – założenia projektu i pierwszy commit

2017-03-04 / DSP2017 / Komentarze (0) / Wyświetleń: 884

W poprzednim poście obiecałem, że następnym razem opiszę szczegółowo projekt, który wykonam w ramach konkursu “Daj Się Poznać 2017”. Jestem gotów i mam już nawet początkowy szkic projektu, który Wam pokażę.

“Qwins!” ma być grą wieloosobową, która polega na wyborze jednej z czterech odpowiedzi na zadane pytanie w jak najkrótszym czasie. Pomysł jest dosyć prosty i istnieje już kilka tego typu aplikacji. Czym od nich ma różnić się moja? Chodzi głównie o wieloplatformowość – to jest mój główny cel, jeśli chodzi o ten projekt. Chcę, aby grać można było za pomocą komputerów oraz telefonów… w dowolnej kombinacji. Chcecie grać na komputerze przez sieć ze znajomymi, którzy są daleko? Nie ma problemu. Chcecie grać z rodziną używając jednocześnie telefonów i komputerów? Nie ma problemu. A może chcecie wyświetlać pytania oraz wyniki na ekranie komputera, natomiast odpowiadać na same pytania za pomocą telefonów? Nie ma problemu. To jest jedna z najważniejszych właściwości tego projektu, którą chcę się kierować – jednak nie jedyną. Postaram się stworzyć bazę pytań wiedzy o różnym poziomie trudności z różnorodnych kategorii. Będzie można też wykorzystać quizy do nauki języków – pytania zawierające wyrazy, gdzie w odpowiedzi trzeba podać tłumaczenie słowa lub jego synonim. Kategorie będzie można dowolnie łączyć, dlatego istnieje możliwość utworzenia gry tylko z konkretnymi działami nauki, tak jak i ułożyć quiz ogólny, jednak wyłączając kategorie, które nas nie interesują. Jeśli pozwoli nam na to czas, to możliwe, że uda mi się napisać panel do ręcznego dodawania quizów przez użytkowników, jak i samo logowanie (na samym początku zrobimy tylko gry anonimowe).

Jeden ze schematów, gdzie gracze rywalizują ze sobą za pomocą komputerów.

Będzie też możliwość grania wyłącznie za pomocą telefonów – na przykład będąc poza domem, w podróży.

Z kolei podczas spotkania w jednym pomieszczeniu można użyć telefonów jako "pilotów" do gry – na komputerze z kolei będą wyświetlać się pytania, a także wyniki rozgrywki.

Okay, teraz przyjrzymy się zestawowi technologii, które wybrałem do tego projektu. Jako że będzie to aplikacja webowa, to skorzystamy standardowo z HTML, CSS, JS. Po stronie back-endowej wykorzystamy PHP oraz bazę danych w MySQL. Do tworzenia połączeń między graczami wykorzystamy technologię WebRTC, która do tego celu świetnie się nadaje. Najpierw spróbujemy to zrobić bez użycia bibliotek (jeszcze nie próbowałem), ale jeśli się to nie uda, to możemy sięgnąć po sprawdzony DataChannel.js. Możemy także rozważyć użycie Bootstrapa (a w zasadzie tylko jego części dotyczącej grida), ponieważ CSS Grid nie jest jeszcze powszechnie wspierany (według caniuse.com na chwilę obecną jest wsparcie w 6.34% przeglądarek, to za mało). Z jQuery myślę, że możemy zrezygnować – czysty JS wraz z animacjami w CSS nam w zupełności wystarczą.

Poniżej przedstawiam szkic projektu:

Drugi szkic projektu wykonany na szybko w Photoshopie (pierwszy był jeszcze szybciej zrobiony w programie Paint... tego nie chcielibyście widzieć)

Wykonałem także swój pierwszy commit w tym projekcie. Jest on jednak testowy, w ramach zapoznania się z githubem, dlatego na razie nie znajdziecie tam zbyt dużo ciekawego kodu. Za to po weekendzie będą postępy dotyczące bazy danych oraz początków w tworzeniu gry. Oczywiście możecie włączyć się do zabawy, zaproponować coś, co byście chętnie zobaczyli w takiej grze.


Poprzedni post
#00 Wszystko zaczyna się od zera
Następny post
#02 Projektujemy i tworzymy bazę w MySQL

Wygląda na to, że nic tu nie ma
Uszczęśliw kotka i napisz komentarz