Pamiętając o tym, że gra musi chodzić bardzo płynnie nawet na starszych telefonach, a styl wizualny można podpisać pod neonowy #8bit, zdecydowałem się na coś w rodzaju demoscenowej plazmy. Nawet sposób wykonania jest bardzo demoscenowy - oszczędziłem CPU liczenia sinusów i cosinusów, generując podczas ładowania tabelkę z przybliżonymi wartościami trygonometrycznymi. Algorytm rysujący tło zamiast co chwilę liczyć to samo po prostu zagląda do tabelki :)
Oprócz sterowania akcelerometrem zdecydowałem się na dodanie możliwości sterowania analogowym joystickiem w rogu ekranu. Coś dla ludzi, którzy lubią grać niekoniecznie siedząc/stojąc, albo po prostu chcą wyglądać poważnie w miejscach publicznych :P
Do zrobienia od strony graficznej zostały na przykład: ładne przyciski, particle effects przy obijaniu się o ściany i przede wszystkim jakieś lepsze tilesy.
@jasiek13: nie, taka strategia miałaby sens tylko w przypadku świateł pozycyjnych (tak to się nazywa po polsku?), o prostu unikam dokładnych obliczeń na rzecz przybliżonych, prekalkulowanych wartości.
Tydzień temu pierwszy raz napisałem o moim growym projekcie.
Przez tydzień poprawiłem gameplay, wyeliminowałem znaczną większość oczywistych błędów i.. zrobiłem fajny, pseudoplazmowy background!!
Pamiętając o tym, że gra musi chodzić bardzo płynnie nawet na starszych telefonach, a styl wizualny można podpisać pod neonowy #8bit, zdecydowałem się na coś w rodzaju demoscenowej plazmy. Nawet sposób wykonania jest bardzo demoscenowy - oszczędziłem CPU liczenia sinusów i cosinusów, generując podczas ładowania tabelkę z przybliżonymi wartościami trygonometrycznymi. Algorytm rysujący tło zamiast co chwilę liczyć to samo po prostu zagląda do tabelki :)
Oprócz sterowania akcelerometrem zdecydowałem się na dodanie możliwości sterowania analogowym joystickiem w rogu ekranu. Coś dla ludzi, którzy lubią grać niekoniecznie siedząc/stojąc, albo po prostu chcą wyglądać poważnie w miejscach publicznych :P
Do zrobienia od strony graficznej zostały na przykład: ładne przyciski, particle effects przy obijaniu się o ściany i przede wszystkim jakieś lepsze tilesy.
kod wygląda mniej więcej tak:
float v = (float) (FastSines.sin(time + x) + (time / 144f) - FastSines.cos(time * 0.015f
fajny sposób wykorzystania pixmapy ;)