Paintball Arena. Prototyp – scena i obiekty gry. #dajsiepoznac

Siemanko.

W dzisiejszym odcinku scena i obiekty gry. W repo jest branch „Prototype” gdzie będę wrzucał wszystkie próbne kody itp. Nie będzie to ani ładne, ani zgrabne ale od tego jest prototyp. Jak ogarnę wszystkie funkcjonalności to wtedy utworzę nowy projekt, który będę już pisał „produkcyjnie” i kod będzie lądował na masterze.

Scena

Jest to wszystko co widzi gracz. Tło, obiekty ruchome jak i nieruchome to wszystko jest sceną.

Obiekty gry

Wszystko co dodamy do sceny będzie to „game object”. Każdy game object może posiadać wiele komponentów, z których najwazniejszy to script, który nada życiu obiektowi.

scene

go

Game object i jego kilka komponentów

Demo

A tak wyglada na tę chwilę gra. Przepiękna nieprawdaż? 🙂

gra

Aaach gdyby na wszystkich polach w PL była taka zielona trawka 😉

Na scenie z zielonym tłem jest 8 obiektów gry (game objects) z czego 7 to przeszkody, a jeden (czerwona kropka) to zawodnik.

Podsumowanie

W następnym wpisie wprawimy tę czerwoną kropkę w ruch! 🙂

Pjona!

Opis sceny – Paintball Arena #dajsiepoznac

Siemanko

Dziś przybliżę nieco jak będzie wyglądać scena gry.

Perspektywa

Widok będzie z góry w formacie 4:3 gdzie na dole i na górze sceny będą bazy (miejsca startu drużyn). Na polu będą rozmieszczone obiekty przeszkód (balony) o różnych wymiarach i kształtach. W realu balony są niższe i wyższe co przy widoku z góry będzie słabo widoczne ale grający w paintball będą doskonale wiedzieli. To oczywiście sprawia problem bo na jednej przeszkodzie możemy być całkowicie zasłonięci, natomiast na innej nie, więc będę musiał jakoś sprytnie to ogarnąć żeby przy widoku z góry kulki odbijały się od jednej przeszkody natomiast przez inną przelatywały i trafiały gracza. Druga sprawa to pozycja gracza – stojącą, kucająca czy wreszcie leżąca na wężu (podłużny balon) – jeszcze nie mam pomysłu ale jestem pewien, że wyjdzie „w praniu”.

wpbo

Zdjęcie pochodzi z profilu fb organizacji WPBO

 

Tak mniej więcej będzie wyglądać scena – oczywiście będą na niej zawodnicy.

Pjona!

Start DSP 2017. Krótki opis projektu Paintball Arena.

Siemanko.

Dziś startuje kolejna (moja druga) edycja konkursu „Daj się poznać” organizowanego przez Macieja Aniserowicza. W poprzedniej edycji za cel postawiłem  sobie napisanie aplikacji mobilnej (android) oraz serwerowej udostępniającej dla niej WebApi. Wiele się nauczyłem i ostatnio nawet to zajebiście zaprocentowało, ale o tym kiedy indziej. Dziś kilka zdań na temat tego co chcę zrobić w tym roku.

Co?

Paintball Arena. Gierka 2D, w której będzie można pograć w paintball.

Jak?

Unity.

Po co?

Dla jaj! 😉

Tak na serio to zawsze mnie intrygowało jak się robi gry. To jest na pewno inny sposób myślenia i programowania więc mam nadzieję poszerzyć horyzonty. A dlaczego paintball? Ponieważ jest to moja pasja na równi z kodowaniem – gram w drużynie Grim Reapers.

W kolejnych postach będę przybliżał jak będzie wyglądać scena, obiekty, sterowanie i w ogóle o co będzie kaman.

Pjona!

Kolejna edycja – kolejne wyzwanie! :)

Siemanko

Z początkiem lutego wystartowała rejestracja do kolejnej edycji konkursu „Daj się poznać”. Jesli nie wiesz co to, to odsyłam Cię do źródła. W poprzedniej edycji wytrwałem do końca w blogowaniu i kodowaniu, i co więcej, aplikacja, którą rozwijałem znalazła się w sklepie google play. Co prawda długo później po zakończeniu ale jednak 🙂 Traktuje ten konkurs jako świetny bodziec do tego aby nauczyć się czegoś nowego na co zwykle nie ma czasu, dlatego też dziś zarejestrowałem się do tegorocznej edycji! 🙂

Co tym razem?

Co to za programista, który żadnej gry nie napisał? No właśnie, dlatego chcę napisać prostą gierkę 2D, w której będzie można pograć w paintball! 🙂 Najchętniej poszedłbym w kierunku opcji multiplayer aby można było tłuc przez sieć, ale zobaczymy jak to będzie szło gdyż jak dotąd nie miałem styczności z programowaniem gier. Gierkę będę robił w Unity.

Od marca będą pojawiać się posty na temat tego jak wejść w świat robienia gierek nie mając z tym wcześniej kontaktu. Natomiast na githubie będzie lądował kodzik.

Pjona!

 

Zewnętrzna paczka do obsługi autentykacji w aplikacjach Asp.Net Core.

Siemanko.

Coraz częściej znajomi pytają się mnie czy nie zrobiłbym im stronki. Oczywiście bez żadnych fajerwerków, ale chcieli by mieć możliwość edycji treści, a więc oprócz statycznej stronki trzeba zrobić jakiś CMS’ik. Jak już ktoś ma edytowac content to dobrze by było gdyby to była osoba, która ma do tego prawo, a nie każdy kto wejdzie na odpowiedni url 😉 Dlatego potrzebna jest autentykacja. Oczywiście jest gotowe rozwiązanie o nazwie Microsoft.Identity, ale wymaga ono bazy danych i ogólnie jest to wyciąganie armaty na komara. Z kolei za każdym razem robić obsługę autentykacji dla każdej aplikacji też by mi się nie chciało (lenistwo) dlatego pomyślałem, że napiszę coś zewnętrznego w class library, spakuję w paczke i wrzucę do nugeta. W taki sposób, w kilka kliknięć i kilka linijek kodu będe miał rozwiązaną obsługę autentykacji (oczywiście na prostym poziomie).

Funkcjonalności

Plan jest taki aby konfiguracja wymagała dodania jednej linijki kodu w klasie Startup.cs oraz jednej linijki przy logowaniu. Będzię się to wiązało z doklejeniem ciasteczka zawierającego token JWT oraz jego validacją w middleware tuż przed wejściem do MVC. W ten sposób po sprawdzeniu property User.Identity.IsAuthenticated bedę wiedział czy user jest zalogowany czy nie. Planuje także dorobic obsługę delegata, który będzie uzupełniał User.Identity o odpowiednie dla danej aplikacji dane z tokena (nazwa usera, uprawnienia, itp.). To jak go będę logował to juz zupełnie inna sprawa (czy bedę sprawdzał w bazie, w pliku, w innej aplikacji – to już inna bajka). Biblioteczka będzie jedynie validowała wchodzące requesty oraz tworzyła i doklejała ciasteczko do response.

Kodzik

Kodzik wrzuciłem na github’a.

Pjona!

 

[Subiektywnie] Dobra pozycja do zrozumienia czym jest DDD i jakie niesie ze sobą korzyści.

Simanko.

Od długiego czasu słyszy się o DDD. Sam słuchałem w 2015r. jednej prelekcji na żywo natomiast drugą oglądałem na prulal sight (Dino Esposito). Godzinna czy dwu godzinna pogadanka w moim przypadku zbyt wiele mi nie uświadomiła prócz tego, że DDD to nie jedynie technologie wykorzystywane do tworzeniu kodu, a filozofia, podejście do całego procesu wytwarzania oprogramowania, które nie dotyczy tylko zespołu programistów, a całego przedsiębiorstwa. Jeśli masz podobnie, a jednak ciekawi Cię o co kaman w tym całym Domain Driven Design to polecam Ci książkę DDD autorstwa Vaughn Vernon’a. Sam kupiłem ją przypadkiem, ponieważ dowiedziałem się pewnej soboty, że akurat tego dnia była przeceniona o 50% w helionie więc grzechem było nie skorzystać z takiej okazji :). Czytam ją w wolnym czasie i w tej chwili mam za soba ok 1/3 książki, a już dostrzegłem jak różne jest DDD od podejścia np. u mnie w firmie (w której pracuję) i jak bardzo wiele popełniliśmy (nadal popełniamy) błędów.

Na tę chwilę jestem najbardziej zajarany architekturą sterowaną zdarzeniami i magazynowaniem zdarzeń (event source’ingiem) dlatego możecie się niedługo spodziewać nowych kodów na moim github’ie z jakimiś małymi wymyślonymi aplikacjami, w których będę starał się implementować wzorce wykorzystywane w DDD.

Pjona!

Prosty generator memów.

Siemanko.

Jak zapowiadałem w poprzednim poście będę strał się wrzucać na github’a każdy kodzik, który napiszę, a tutaj będę opisywał powód jego powstania.

Spory portal na horyzoncie

Dostałem nie dawno  do wyceny draft portalu internetowego, który ma zamiar powstać. Jest w nim na prawdę dużo funkcjonalności, które trzeba spiąć w portal rankingowy. Na długiej liście funkcjonalności jest sporo takich, których nigdy nie robiłem więc ciężko mi się określić ile taki task może zająć. Takim taskiem jest m.in. generator memów. Korzystając z wolnego popołudnia spróbowałem coś zrobić i jak się okazało nie jest to takie trudne 😉 Oczywiście w najprostszej formie, ale dzięki temu wiem, że nie będę ślęczał nad tym wiele dni, a raczej zamknie się to w kilkunastu godzinach.

Jak?

Z użyciem elementu canvas i javascriptu. Nie ma co tu za dużo gadać. Wszystko jest na githubie.

gif-generator

Pjona!