Aktywne Wpisy

MonazoPL +119
Ruszamy z kolejnym #rozdajo – wygraj kartę podarunkową do Allegro o wartości 100 zł!
Aby wziąć udział w konkursie, zaplusuj ten wpis oraz w komentarzu krótko odpowiedz na pytanie konkursowe: Jeśli wygrasz, na co wydasz (lub do czego dołożysz) to 100 zł? ( ͡~ ͜ʖ ͡°
Aby wziąć udział w konkursie, zaplusuj ten wpis oraz w komentarzu krótko odpowiedz na pytanie konkursowe: Jeśli wygrasz, na co wydasz (lub do czego dołożysz) to 100 zł? ( ͡~ ͜ʖ ͡°
źródło: monazo-promocje-bankowe
Pobierz
SzubiDubiDu +103
Chciałem tylko powiedzieć, że w Polsce tak około 90% infrastruktury drogowej* nie jest przystosowana pod szybką i wydajną logistykę. Większość ulic, które nas otacza było projektowane za komuny a wtedy jak chłop stanął z furmanką węgla na pół dnia na środku drogi to wszyscy to mieli w dupie bo przez ten czas przejechały 3 samochody a ludzie chodzili głównie po drodze bo chodnik nie istniał albo był krzywy jak uśmiechy naszych polityków.
I
I
źródło: b54621e714c86034f163c48ff2f2cc863c14c9e0334b379fe458167f229f5f43
Pobierz




Ostatnio postowałem jakieś 4 lata temu (prawie zanim było to modne), po drodze wiele się zdarzyło (studia i takie tam), ale po wszystkim chyba pora wrócić na dawne tory :)
A zaczynam od rozwiązania problemów technologicznych, które ostatnim razem stanęły mi na drodze w realizacji mojej drugiej gierki. Problem dotyczył zależności między ilością FPSów, a jakością symulacji fizyki. Im gorzej radził sobie telefon z grafiką, tym gorzej zachowywała się symulacja. Dzieje się tak, ponieważ typowa główna pętla gry, to powtarzane w koło instrukcje:
obliczenia(),rysuj(). Im dłużej trwarysuj(), tym rzadziej jest wywoływaneobliczenia(), a wykonanie obliczeń zależne jest od czasu. Zwiększanie ilości iteracji pozycji i prędkości w #box2d pomagało tylko do pewnego momentu.Sprawiało to, że złożone konstrukcje w grze "rozsypywały" lub "rozjeżdżały" się. A że mój pomysł na grę opierał się na długim łańcuchu składającym się z wielu ciał połączonych przegubami obrotowymi, przy spadku FPS występował efekt "rozciągania" się łańcucha, tj. ogniwa odsuwały się do siebie i cały łańcuch sprężynował. W komentarzu wrzucam filmik z tym efektem.
Rozwiązanie? Chwilę zajęło jego zaimplementowanie, ale całkowicie uniezależniłem obliczenia fizyki od renderowania grafiki. Działają cały czas dwa wątki, które robią jednocześnie jedno i drugie. Około 60 razy na sekundę potrzebna jest tylko synchronizacja, która trwa ułamek sekundy i tworzy kopię świata gry na potrzeby wątku z rysowaniem. Teraz mogę mieć obliczenia nawet i 10 000 razy na sekundę, jeśli tylko zechcę :-)
W poniższym benchmarku zestawiłem prostą symulację sztywnego mostu wiszącego, czyli najgorszego scenariusza, jaki udało mi się wymyślić. Jakbym chciał zrobić uginający się most wiszący, to użyłbym sprężynujących przegubów, a nie liczył na to ile FPSów będzie miał użytkownik :-) W pierwszym przypadku symulacja tak się rozjeżdża, że kulki przelatują pomiędzy mostem.
Cóż, to tyle na dziś, największe zmiany zaszły na razie pod maską, trochę ponad 5k linii kodu czegoś w rodzaju własnego silnika do gier na bazie #libgdx - pure Java. W kolejnych wpisach będzie o skalowalności grafik i dostosowywaniu pod różne rozdzielczości (będzie pixel-perfect dla niemal każdej rozdzielczości!), samej grze którą robię i zmianach w grafice, które wykonałem - teraz są jakieś stare, rozpikselizowane :)
Zostawcie subskrypcję na #visherdev, postaram się pisać co tydzień :)
#androiddev i na początek pozwolę sobie #gry #programowanie
źródło: comment_9aRmTnHpVSSeat7pXVZxZYUnKzNVXKIV.jpg
Pobierzźródło: comment_s1Sr7QFC2ZMr9kNBMqC4werD3gGTOGtv.jpg
Pobierzźródło: comment_Jx6875lvncDb789wBqjjA1ZBFzG3ld37.gif
Pobierz