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

in pl-gamedev •  7 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.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

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 ;)

  ·  7 years ago (edited)

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