Od jakiegoś czasu tworzę grę (typowo hobbystycznie, żaden informatyk za 15k), ostatnio pojawił się problem - na PC wszystko śmiga, tymczasem telefon po jakimś czasie nie nadąża gdy pojawia się więcej obiektów (każdy zawiera sprite, obiekt który reprezentuje w świecie Box2d i emiter cząsteczek (nie wiem czy dobrze tłumaczę, mam na myśli ParticleEffect).Jakie macie sposoby na optymalizację? Co ja mogę zrobić? Czy telefon to takie niewdzięczne urządzenie w porównaniu do pisania pod
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@elektroencefalograf: Optymalizacja to temat rzeka. Na początek zmniejsz ilość emitowanych cząstek i spróbuj dobrać do nich prawidłowy shader (uważaj na przeźroczystość). Zapoznaj się też z poniższymi tematami:

* Occlusion culling
* Object pooling
  • Odpowiedz
@applicattura: Gra posiada już mechanikę, można pograć, poniszczyć przeciwników, mechanizm fal zbudowany, Ai przeciwników jak i Wieżyczek w których "nie siedzi" gracz zrobione. Aktualnie jest spokojnie powyżej 30 fps, aczkolwiek nie ruszaliśmy jeszcze tematu optymalizacji.
  • Odpowiedz
@JavaDevMatt: Jest dobra.

Singleton

This chapter is an anomaly. Every other chapter in this book shows you how to use a design pattern. This chapter shows you how not to use one.
  • Odpowiedz
Czas na kolejne podsumowanie Case Clickera.
Ostatnie wrzucałem jakieś 6 dni temu i jak zwykle dość dużo się zmieniło.

Dla przypomnienia - gra jest połączeniem dość popularnych w google play case simulatorów i clickera. Zacząłem ją pisać głównie w celu nauki pisania gier na telefony.

Pobrania /
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Crypton3: Ale opinie dały mi raka
"Fajna jak ktos uwarza rze jest glupia to jest gupkiem i tyle" (Oryginalna pisownia!)
"Najlepsza gra! Dlatego że jest związana z CS:GO"
"Chyba będę miał amputację palców #iks_de"
  • Odpowiedz
Za dwa tygodnie minie rok odkąd bawię się w #gamedev

Przez ten czas udało mi się odnieść kilka małych sukcesów: przytyć 6kg, wejść na główną z płomieniem, wydać dwie gry w sklepie play, może nie są to żadne majstersztyki, ale kilku osobom się spodobały, a to najważniejsze.

Dlaczego już dzisiaj o tym piszę? Otóż dzisiaj otrzymałem pierwszy przelew za reklamy z adsense...

TadeuszSynZygmunta - Za dwa tygodnie minie rok odkąd bawię się w #gamedev

Przez te...
  • 26
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Ciąg dalszy prac nad moim rpgiem.

Changelog:
- Przepisany całkowicie na nowo system ładowania tekstur - tym razem z użyciem dynamicznych vectorów, zamiast "manualnego" ładowania (wszystko robi się teraz "samo", wystarczy wrzucić pliki w odpowiednie foldery)
- Sprawna zmiana map
- Początki Ai - tworzenie przeciwników, ich spawn i poruszanie - nad tym aktualnie pracuję
Noct - Ciąg dalszy prac nad moim rpgiem.

Changelog:
- Przepisany całkowicie na no...
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Noct: nareszcie ktoś, kto nie robi w Unity czy innym Unreal Engine!
Cenię to, zwłaszcza że SFML to moja ulubiona biblioteka do gamedevu i sam w niej klepię :D, dodaję do obserwowanych.
  • Odpowiedz
God dammit! Wyceniłem ja swego czasu zadanie: "Serializacja i deserializacja drzewa UI" na 3 godziny. To była najmniej trafna wycena zadania w moim życiu, bo nie wziąłem pod uwagę tego, że podczas deserializacji będę musiał czekać na załadowanie assetów używanych przez kontrolki w drzewie, przez co unit testy się wysypują, a więc w realnej apce tym bardziej się to wysypie ()
Chyba jedyne możliwe rozwiązanie to:
Podczas deserializacji
  • 35
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@MP0WER: ok, first things first:
1. java (napisałem z małej litery specjalnie, bo to nie jest język dla facetów - prawdziwi faceci robią w assemblerze ;>) nie jest językiem natywnym - opiera się wyłącznie na maszynie wirtualnej, dzięki czemu wszędzie działa tak samo;
2. wymagania zleceniodawcy są ważniejsze, niż 'widzimisię' programisty - tak wygląda smutny, acz prawdziwy świat (ma działać na web, więc musi być w JSie - flash umarł, a Unity
  • Odpowiedz
[EN] Fajny artykuł z różnymi brudnymi sztuczkami w kodzie gier
http://www.gamasutra.com/view/feature/4111/dirty_coding_tricks.php?print=1
Dirty Coding Tricks
m. in.
"Back at [company X], I think it was near the end of [the project], we had an object in one of the levels that needed to be hidden. We didn't want to re-export the level and we did not use checksum names. So right smack in the middle of the engine code we had something like the following. The
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@javaDevMatt w jednej grze do której miałem wgląd, korzysta z niej ~15k osob dziennie, widziałem kod pokroju

CurrentScore.totalScore = (int)Math.Round(CurrentScore.totalScoreD);
if (CurrentScore.totalScore == 999999)
CurrentScore.totalScore = 1000000;//some round issue.

nic mnie już nie zdziwi ( ͡ ͜ʖ ͡)
  • Odpowiedz
@TadeuszSynZygmunta: @Nicarim:
W #notefighter jest taka ciekawostka: pierwotny prototyp miał 4 ludki, które mogły oberwać nutą. W pewnym momencie pani grafik stwierdziła, że ładniej będzie z jednym dużym ludkiem zamiast 4 małych... zgodziłem się, ale nie chciałem wprowadzać dużych zmian w mechanice gry. Czysto technicznie nadal w grze są 4 ludki, tylko wyciąłem kod ich renderowania :D zamiast tego wprowadziłem różne callbacki w tych 4 ludkach,
JavaDevMatt - @TadeuszSynZygmunta: @Nicarim: 
W #notefighter jest taka ciekawostka: ...

źródło: comment_JRzuGw6uFY17e69YmrmakcowQve5dzzr.jpg

Pobierz
  • Odpowiedz