RunRabbit - moja pierwsza produkcja


#1

Witajcie!
Niezwykle się cieszę… to się pochwalę, a trochę promocji też nie zaszkodzi.
Nieco ponad miesiąc temu, dokładnie 10 marca, natrafiłem gdzieś na Unity, trochę poczytałem, okazało się że jest to całkowicie darmowy program, dzięki któremu mogę spełnić moje marzenie, czyli tworzyć swoje gry. Ponadto okazało się że w zasadzie nie jest niczym niezwykłym to, że gry są tworzone przez jedną osobę… to było zbyt piękne, ale że mam ostatnio sporo wolnego czasu to postanowiłem spróbować.
Pierwszy tydzień poświęciłem na stworzenie prostej gierki z tutorialem Brackeys’a (można ją pobrać na itch.io … tylko po co), a gdy zrozumiałem całą koncepcję i ogarnąłem czego gdzie szukać, postanowiłem od razu stworzyć swój własny projekt… zależało mi żeby był w miarę oryginalny (żeby nie było kompletnego tutorialu jak zrobić coś takiego) i żeby użyć jak najmniej assetów.
No i wczoraj moja pierwsza gra ukazała się na Google Play.
Prosty zabijacz czasu, zbierasz marchewki, one dodają Ci czasu i chwilowo prędkości, z czasem jest coraz więcej szczurów które czas odbierają i ogólnie przeszkadzają. Jedyna trudność polega na tym że nie możesz się zatrzymać, a gdy za bardzo zwolnisz to szczury Cię łatwo dopadną.
Biorąc pod uwagę że przystępując do tego projektu nie miałem zielonego pojęcia absolutnie o niczym, nie umiałem programować, nie umiałem obsługiwać blendera (tego kuchennego nadal nie umiem), a moja wiedza na temat Unity ograniczała się do jednego tutoriala to wydaje mi się że wyszło całkiem nieźle.
Gra działa stabilnie w 30 fpsach nawet na starszych telefonach, jest kompatybilna ze wszystkimi urządzeniami (z tego co mi wiadomo) i grywalna, może nie ma za wiele zawartości ale też w końcowych etapach zrezygnowałem z wielu elementów… spieszyłem się bo bardzo mi zależało na tym żeby przekonać się czy wydanie gry faktycznie jest takie proste… spodziewałem się jakiegoś haczyka… no i może poza Admobem (którego implementacji totalnie nie rozumiem) oraz leaderboardu z google play service (potrafiłby mi ktoś to racjonalnie wytłumaczyć jak mam to gónwo dodać pod konkretnym buttonem?)… to pozytywnie się zaskoczyłem i faktycznie można wydać swoją grę bez większych problemów.

Tak więc jeżeli ktoś jest ciekaw tego co można stworzyć w miesiąc, zaczynając całkowicie od zera to zapraszam:
https://play.google.com/store/apps/details?id=com.BiGrEEnGames.RunRabbit

(upload://huKupiHPxNRW7YLZaDAUyQfotLD.jpeg)

Proszę o feedback, i w miarę możliwości pomoc w tym żeby przycisk leaderboard zaczął działać.
Pozytywny może być na Google Play, a negatywny to prosiłbym raczej tutaj. :slight_smile:


#2

Cześć,

  1. Odpalanie reklamy po każdej rundzie to bardzo zły pomysł. Nawet gdyby to była najlepsza gra na świecie to konieczność oglądania 30 sekundowej reklamy co minutę wuw*a niesamowicie. Reklamy daje się tak, aby były jak najmniej uciążliwe - tylko wtedy jest szansa aby więcej osób zagrało i co ważniejsze wracało. Wtedy coś się może zarobi.

I sztuczka - wyłączenie i ponowne uruchomienie gry zajmuje kilka sekund, więc “czekaj minutę albo obejrzyj reklamę” nie działa.

  1. RunRabbit jako tytuł ma ten problem, że przy wyszukiwaniu na google play po run rabbit algorytm nie pokazuje tej pozycji. A przy “RunRabbit” jest to piąta pozycja.

  2. Model królika w miniaturce byłby lepszy od tej marchewy LP.

  3. Niespójne wizualnie - królik, rośliny, szczury na styl realistyczny, a drzewka low poly. Mi to nie pasuje. Jak również to, że drzewa są sporo za małe.

  4. Na asset store można znaleźć o wiele lepsze trawy. Za darmo oczywiście. Tak samo drzewa, krzaki.

  5. Sztachety w płocie znowu nieproporcjonalnie duże. Na asset store można wynaleźć lepszy materiał na drewno. Nawet całe modele płotów. Niższy płot, jakiś skybox i wygląda to lepiej.

  6. Gwiazdki mnie pozytywnie zaskoczyły. Jednak zmiana kamery po zderzeniu bardzo myli. Przy zderzeniu z płotem wygląda to jakby obiekt przeniknął przez płot na inne pole. Przy samym obrocie kamera wychodzi na chwile poza płot.

  7. Hud nie skaluje się wraz z rozdzielczością.

Ogólnie wiadomo, że to taki projekt ćwiczebny, więc nie przejmuj się za bardzo powyższymi uwagami.

Generalnie następnym razem spędź więcej czasu przy dobieraniu komponentów.


#3

Po prostu game design leży po całości, tak jak to @W_P dobrze podsumował.

Od siebie polecam ściągnięcie kilkunastu tytułów i sprawdzenie ich pod kątem mechanizmów monetyzacji i retencji gracza.

Jeżeli to mają być gry tylko do nauki, to raczej wrzucałbym je na itch.io niż od razu na Google Play czy App Store.

Pozdrawiam i trzymam kciuki za kolejne produkcje!


#4

Hej.
Dzięki za uwagi.
Co do reklam to niespecjalnie mi na tym zależy… wiadomo, sprawdzam, ale bardziej z ciekawości jak to działa, a nie żeby cokolwiek zarobić.
Co do tej minuty oczekiwania to w teorii miało to wyglądać tak że po wyłączeniu gry ta minuta zostaje… ale nie umiałem zrobić tego na jednej scenie… z resztą… najważniejsza nauka jaką wyciągnąłem z tego projektu jest to że muszę przyłożyć dużo więcej uwagi do UI i ogólnie menu… tutaj robiłem to po łebkach, w jeden wieczór… a okazało się to osobnym dużym tematem, czego się początkowo nie spodziewałem.

Co do drzew to próbowałem różnych assetów i te działały najpłynniej, a starałem się zoptymalizować wszystko żeby te 30 klatek było.
Płot faktycznie mógłby być niższy, bo zaburza proporcje… nie pomyślałem o tym… początkowo dało się jeszcze skakać i zdarzało się wylecieć poza mapę przy niższym płocie… ale teraz może być niższy… walnę update :slight_smile:

Krzaki i trawy robiłem sam… i jestem z nich bardzo dumny… także zostają :wink:

Skalowanie HUDa to jest jakiś checkbox gdzieś czy jakiś większy problem? Bo szczerze to nie wiedziałem o tym że tak się dzieje.

Co do tytułu to też to zauważyłem i nie do końca rozumiem czemu tak jest. Powinienem się zająć opisem czy jakieś inne sztuczki powodują to pozycjonowanie? Czy w ogóle mając taki tytuł jestem skazany na pogrzebanie RunRabbita w odmętach wyszukiwarki?

MakkuT
Projekt do nauki… ale też do nauki obsługi Google Play… chciałbym znać niuanse tej straszliwej machiny wydając jakiś poważny projekt.
Nie gram w gry na telefon bo przeważnie są słabiutkie :wink:


#5

@buhubuhu

Co do tej minuty oczekiwania to w teorii miało to wyglądać tak że po wyłączeniu gry ta minuta zostaje…

Możesz to zrobić prostym skryptem, który będzie pobierać czas z serwera (np. strona internetowa) i po kłopocie. Link - wprowadzić kilka zmian pod siebie i powinno działać.

Skalowanie HUDa to jest jakiś checkbox gdzieś czy jakiś większy problem? Bo szczerze to nie wiedziałem o tym że tak się dzieje.

Zależy. Pod iOS to skalowanie jest dużo cięższe. Pod Androida to raczej nie ma większej filozofii.
Poczytaj o Canvas Scaler. Link

Krzaki i trawy robiłem sam… i jestem z nich bardzo dumny… także zostają :wink:

To jeżeli już robisz sam trawę czy krzaki i bardzo chcesz je zostawić to dopasuj pozostałość do tego samego stylu.

#EDIT
Pierwszy link zawierał zły link, już poprawione.


#6
  1. Okres oczekiwania to ogólnie zły pomysł. Najlepiej przedstawić to tak - użytkownik ma chcieć zobaczyć reklamę, a nie być do tego zmuszony.

( m.in tutaj jest mowa na ten temat https://www.youtube.com/watch?v=lMqIHm3dDJI )

  1. 30 klatek na czym?

  2. W ściąganiu tekstur (materiałów) z Asset store chodzi o to, że są one (zazwyczaj ) kompletne. W sensie, że poza samą teksturą albedo w paczce są jeszcze mapy i maski, dzięki którym materiał wygląda realistycznie. Minimum jest tu normal map ( z dużego grubsza chodzi o symulacje faktury materiału ). Ogółem rada moja jest taka - jeżeli nie zamierzasz zostać grafikiem to nie rób tych rzeczy - spędzisz nad tym mnóstwo czasu, a i tak nie uzyskasz efektu jak przy darmówce. Jeżeli chcesz budować gry to naucz się korzystać z pracy innych - w tym pozytywnym znaczeniu oczywiście.

  3. https://foxstrategy.pl/blog/aso-w-google-play/

po pierwsze - gier o zgarnianiu marchew królikiem jest dużo. Ba, są nawet klony. To niestety popularny motyw bo dziewczęta lubią króliki :slight_smile:

po drugie - tytuł nie jest unikatowy

po trzecie i najważniejsze - algorytm przy wyszukiwaniu uwzględnia popularność produktu. Ogólnie wybicie się produktu bazując tylko na wyszukiwaniu graniczy z cudem - tak na prawdę są tylko dwie opcje:
a) bazujesz na modzie i aktualnych wyszukiwaniach, np. Redemption of Dead Red, i przypadkowych ściągnięciach.
b) budujesz zainteresowanie jeszcze przed wydaniem gry, m.in poprzez publikacji materiałów w miejscach takich jak to.

I teraz tak - jak chcesz wypromować produkt bez płacenia za reklamy, to musisz wykorzystać marketing szeptany ( pkt b) . Jeżeli twój produkt nie wyszukuje się dobrze, to dupa. Co z tego, że ktoś poleci twoją grę, skoro wpisując jej tytuł znajduje się inna.


#7

Ad. 1 No to racja że cała konstrukcja tutaj tuleje… niestety nie bardzo jest co dawać za te reklamy… no ale ogólnie rozumiem koncepcję… muszę to przemyśleć.

ad. 2 testowane na starym alcatel pop4… telefon mojej córki… zawalony, zamulony i styrany… jak było tam 30 klatek to byłem zadowolony.

ad. 3 tutaj się zgadzam w pełni… eksperymentowałem z wieloma rzeczami… tydzień w Blenderze pozostawił we mnie sporą traume :slight_smile:

ad 4. i tak… gra o zbieraniu marchewek królikiem, bo córka chciała żebym taką zrobił… to zrobiłem. No i dzięki temu mam jednego wiernego fana. :slight_smile:

Marketing to coś na czym totalnie się nie znam… także będę empirycznie się przekonywał co daje jakie efekty na panu króliku… który i tak skazany jest już na pożarcie… Nikt nie mówił że będzie łatwo. :slight_smile:


#8

Update.
Z racji że należy słuchać bardziej doświadczonych posłuchałem waszych rad.
Wczorajszy update zawiera:

  • obniżone i zeskalowane ogrodzenie, teraz jest trochę realistycznej
  • komiksowy skybox, wizualnie trochę to lepiej się komponuje z drzewami
  • dodałem trochę low poly krzaczków, też poprawiło wygląd mapy
  • UI skaluje się z rozdzielczością
  • udało mi się uruchomić leaderboard, żadne gotowce nie działały, musiałem zrozumieć logikę działania i sam napisać skrypt… Satysfakcja dużo większa :slight_smile:

Problemem pozostają reklamy… Nie bardzo na razie wiem gdzie je wcisnąć żeby miało to sens… Myślę że muszę grę rozbudować o coś więcej by miało to sens… Do przemyślenia.

Dzięki za wszystkie rady.
I wesołych świąt :slight_smile:


#9

W grę o króliki biegającym po ogródku nikt nie będzie grał ale dobrze, już wiem, że obczaiłeś podstawy programowania, teraz wybierz temat, powiedzmy wyścigi. Gra w tej tematyce może trafić do większej ilości graczy, dzięki temu będziesz miał motywację do pracy.


#10

“Nie bardzo na razie wiem gdzie je wcisnąć żeby miało to sens”

Wiedza czysto-teoretyczna, nie poparta praktyką, ale zawsze jakiś pomysł:

  • baner, w zasadzie może wszędzie poza sceną samej gry bo bardzo nie przeszkadzają. Banerki dużą nie przynoszą, ale “grosz do grosza”

  • reklama pełnoekranowa po zakończeniu poziomu na odpowiednio długi czas gry. Na moje 30 min jest ok. 30 min liczone ciągle, bo pojedyncza sesja gry trwa często mniej. Nie powinno aż tak mocno irytować. Mnie taka forma nie irytuje.

Z tego co się dowiadywałem to najlepiej jednak wychodzi się na reklamach z nagrodą, ale w tym wypadku gra musiałaby być znacznie bardziej rozbudowa. Przede wszystkim gameplay musiałby trzymać na dłużej.

Jeżeli planujesz dalej rozwijać produkt, to moje sugestie są następujące:

  • dużo więcej poziomów. Najlepiej jakby układało się w jakiś storyline. Na szybko - króliczek musi zbierać marchewy i wracać z nimi do nory i za każdym razem musi iść dalej. W norze są małe króliczki i masz poczucie misji. Jakiś krótki tekst ( pl i en ), np. narrator w 3-ciej osobie i czasie przeszłym. Każdy level to mógłby być np. kolejny miesiąc

  • żeby odblokować następny poziom musisz zebrać jakąś tam ilość marchewy - jedna opcja na reklamę z nagrodą ( obejrzyj reklamę aby zwiększyć ilość zabranej marchewy o 10%, raz/dwa razy na dzień ). Inną opcją jest nie strać marchewy - jak gracz nie przejdzie poziomu to może zachować zabraną marchew jak obejrzy reklamę. O ile level nie jest ustawiony specjalnie tak aby gracz wtopił, to jest akceptowalne.

  • w samej mechanice moim zdaniem brakuje “momentów” - mogłyby się sprawdzić np. fragmenty korytarzowe z wyższym wymogiem zręcznościowym. Albo zagadki środowiskowe - np. w ogródku znajduje się kosz z marchewą, który króliczek mógłby wywrócić jak przywali odpowiednio mocno. Ogólnie trzebabyło popracować nad tym, aby gameplay nie był trywialny


#11

Wow… Dzięki wielkie… i to się nazywa Feedback przez duże F.

Prawdę mówiąc po miesiącu spędzonym z panem królikiem jestem nim dość mocno zmęczony…
Zabrałem się za to nie mając tak naprawdę pojęcia co robię i uczyłem się podstaw próbując zaimplementować kolejne rzeczy… co za tym idzie w kodzie projektu jest taki syf że bardzo ciężko mi się na nim pracuje.
Dla przykładu movement script gracza zawiera praktycznie większość mechaniki całej gry… bo tworzenia odniesień do innych skryptów nauczyłem się gdzieś w połowie realizacji.

Dzięki za wszystkie rady, ale jednak rozpocznę nowy projekt. Z tą wiedzą którą mam teraz może uda mi się stworzyć coś spójnego i elegancko zaprojektowanego… mając już na uwadze design samej gry jak i graficzną “spójność”.
A w razie kryzysu twórczego zrobię sobie dzień królika i naskrobię może jakiś update.
Pozdrawiam.