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
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.
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 :)
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.
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.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
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
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
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.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
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 ;)
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
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 +
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Nom, z jakiegoś powodu dzieci ten syf uwielbiają :(
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
I takie osoby mają po setki tysięcy wyświetleń ;o
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
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...
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
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.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Dobrze jest zaczynac od takich programow. Ja zaczynalem od the games factory a teraz Unity i C# :D
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit