Gra dla małych dzieci (cz. 1) - Tworzenie gier

in #pl-gamedev7 years ago

Po ostatnich wpisach na temat tworzenia gry marynarzyk, która osiągnęła ogromny nakład finansowy i pozwoliła upaść takim rynkowym gwiazdom jak EA czy Ubisoft dostaliśmy zlecenie od Lorda Archimonda na aplikację.

Lord Archimonde pisze:
Aplikacja, którą przygotujesz ma wspierać plagę ... dzieci oczywiście. Musimy je wychować na dobrych nieumarłych ludzi. Aplikacja ma być stworzona dla dzieci od 0 do 3 lat i ma pozwolić dzieciom w spokoju sobie poklikać na ekranie podczas gdy dorośli będą coś majstrować w kuchni.

Poważne zlecenie. Dzieci w tym wieku oglądają jeśli już muszą to reklamy, co jest bardzo ciekawe - co powoduje, że dzieci lubią oglądać reklamy, są kolorowe? W każdym razie nieważne, mamy zlecenie i już.

Ogólnie pomyślałem o czymś takim:

  • Włączamy dziecku grę
  • Dziecko naciska sobie klawisze (na jakiejś taniej klawiaturze za 20zł) i coś się dzieje - fajerwerki, dźwięki i tak dalej.
  • Wyłączenie aplikacji jest trudne
  • Dziecko (być może) zauważa korelację między wciśnięciami klawiszy, a efektami
  • Spędza 18 lat na wciskaniu klawiszy
  • Jest ekspertem od tego, wciska 4 klawisze na sekundę przez co zasuwa na kasie w biedronce za 3 osoby

Czy to ma sens? Nie wiem.

Nowy projekt

Zrzut ekranu z 2018-02-17 16-37-13.png

Zacznijmy od stworzenia nowego projektu (oczywiście) i stwórzmy pusty pokój z czarnym tłem i obj_controller do zarządzania nim. Dodajmy obj_controller w pokoju.

Zróbmy mechanizm (wstępny), że co 2 sekundy w losowym miejscu pojawi się prosty efekt. Do tego będziemy potrzebować

  • Alarmu, czyli timera, który co 2 sekundy coś zrobi
  • Zrobi losowy efekt
  • Aktywuje sam siebie za 2 sekundy

Dodajmy event Create

Event Create naturalnie uruchamia się w momencie tworzenia obiektu, alarm wywołujemy w ten sposób:

alarm[0] = room_speed*2;

Alarm 0 aktywuje się gdy pomnożymy 2 razy klatki pokoju. Ogólnie jak wiecie gry renderują się w FPSach, czyli klatkach na sekundę. Jeśli mamy 60 FPSów oznacza, że gra jest rysowana w 60 klatkach na sekundę. Jeśli wymnożymy ilość klatek * 2 to znaczy, że kod wykona się po 120 klatkach, czyli 2 sekundach.

Alarm[0] wykonuje kod jak zostanie aktywowany, czyli u nas po 2 sekundach.

Oczywiście aby zadziałało musimy utworzyć event alarm 0 i wkleić kod

effect_create_above(ef_firework, random(room_width), random(room_height), choose(0, 1, 2), make_color_hsv(random(255), 255, 255));
alarm[0] = 2*room_speed;

Pierwszy kod znacie, został pożyczony ogólnie z dokumentacji Game Makera, ale jest na tyle fajny, że omówię o co w nim chodzi.

Na dole mamy kod ten sam co w create. Chodzi o to, że jak już się alarm[0] wykona, by po 2 sekundach wykonał się ponownie - i tak w kółko ;)

Ale pierwsza linijka. Narysuj efekt ef_firework w pozycji losowej (szerokość room i wysokość room), potem wybierz rozmiar losowo od 0 do 2 tworząc nowy kolor, w którym odcień jest wybierany losowo (Hue), a nasycenie (Saturation) i Value (ciemność / jasność?) jest stała na poziomie 255.

Alternatywnie można losować kolor z palety RGB (Czerwony, Zielony, Niebieski), ale zostawmy na razie jak jest.

Zrzut ekranu z 2018-02-17 16-57-22.png

Zrzut ekranu z 2018-02-17 16-57-49.png

Po wciśnięciu klawisza zrób losowy fajerwerk.

Na razie wszystko będziemy na fajerwerkach robić (bo czemu nie?) Z czasem urozmaicimy. Wciskając losowy klawisz zrób losowo fajerwerk.

Nie wiem w którą stronę iść - czy samo wciśnięcie ma coś sprawić? Czy może trzymanie klawisza? Można to przedyskutować. Na razie zróbmy z grupy Keyboard wybierzmy i wklejmy pierwszą linijkę odpowiadającą za fajerwerki, czyli:

effect_create_above(ef_firework, random(room_width), random(room_height), choose(0, 1, 2), make_color_hsv(random(255), 255, 255));

Jak odpalimy grę i przyciśniemy np. spację to będziemy mieli ładny deszcz sztucznych ogni :)

Zrzut ekranu z 2018-02-17 16-59-45.png

Pytanie czy to tak ma działać - to od Was zależy. Po prostu czy dziecko naciskając jakiś klawisz (np. roczne) powinno widzieć pełny "potencjał gry", czy może powinno walić w klawiaturę i widzieć z każdym walnięciem jakiś efekt.

Na zakończenie

Na razie to wszystko. Nie będzie to może Crysis 3 ani nawet Mario, ale musimy (w teorii) analizować każdą grę i myśleć jak ją wykonać. Nie wiem czy ta seria tego uczy czy nie, ale głupie gry potrafią być ciekawymi w tworzeniu. Oczywiście głupie dla jakiejś grupy, bo dla rodziców chcących zająć czymś dziecko to może być potencjalnie wybawienie - mama chce zrobić pranie, podłącza klawiaturę za 20zł, daje dziecku - dziecko się bawi, matka szybko robi pranie i ma parę chwil na swoje potrzeby. Oczywiście nie namawiamy do wyjścia z domu wtedy, bo dziecko dalej jest pod opieką rodziców - ale kątem oka patrzeć na dziecko i coś robić raczej można.

Sort:  

Dobry początek... Od jakiegoś czasu też zastanawiam się nad stworzeniem czegoś edukacyjnego, najlepiej zgodnego z programem nauczania ale bardziej życiowego (nie wiem czy te dwie rzeczy da się połączyć ;)
Nasz system edukacji ssie i coś mi się wydaje, że jeśli sami z tym nic nie zrobimy, to nic się nie zmieni.

W mojej opinii coś w tym jest. Są różne możliwości - tworzenia na przykład darmowych (w wersji elektronicznej, bo wydruk kosztuje swoje) podręczników dla dzieci. Albo filmów edukacyjnych (z licencją do użytku dla wszystkich). Albo po prostu gier ;)

Ale daleka droga według mnie przed tym

Z tą darmochą to bym nie przesadzał... To jest ogrom pracy i nie można oczekiwać, że ktoś zrobi to dobrze i za darmo... ale przy efekcie skali (jakieś 300-400 tys. dzieci w każdym jednym roczniku i każde ma smartfona) można by to puszczać po symbolicznej złotówce. W ten sposób wilk syty, owca cała i droga jakby trochę krótsza ;) Przydaliby się jeszcze kompani do podróży.

Zależy - ludzie tworzą wiele książek i dają za darmo, np. wikibooks. Librivox to darmowe audiobooki - wszystko zależy jak na to patrzymy i kto zacznie ;)

Mam kuzynów od 1-4 lat, wiesz czym ich rodzice zajmują jak chcą mieć spokój? Puszczają im na yt jak jakis gościu otwiera kinder niespodzianki i pokazuje zabawki do kamery. Nawet nie te orginalne kinder niespodzianki tylko jakieś podróby z biedry byle była zabawka w środku, może można by było wykorzystać ten patent do stworzenia gry? np za daną kombinacje klawiszy pojawia się pudełko z którego pokazuje sie jakaś zabawka/postać, która wędruję na bok/ dół, jako trofeum ;)
Dziecko by kombinowało z różnymi kombinacjami klawiszy bo dostać kolejne trofeum :D

Edit: Artykuł mi się podoba leci +

Nom, z jakiegoś powodu dzieci ten syf uwielbiają :(

I takie osoby mają po setki tysięcy wyświetleń ;o

Niestety moja córka też to lubi. Sam jej filmy wybieram, ale czasem wpadnie jakiś z otwierania saszetek. Potem jest proszenie bym to puszczał, co mam zrobić? W końcu nikt tam nie klnie...

U mnie yt też się najlepiej sprawdza. Wszelkie gry na poziomie trzylatki nudzą ją od razu. A tu klik i inny filmik. Chociaż treści tych filmów pozostawiają dużo do rzeczenia.

Dobrze jest zaczynac od takich programow. Ja zaczynalem od the games factory a teraz Unity i C# :D

Coin Marketplace

STEEM 0.17
TRX 0.24
JST 0.034
BTC 96484.42
ETH 2765.60
SBD 0.65