• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wykonywalnosc dzialan gry

+1 głos
91 wizyt
pytanie zadane 6 dni temu w C i C++ przez pimpek Początkujący (340 p.)
Cześć.
Nie dokonca wiem czy w odpowiednim dziale ale pytanko brzmi  na jakiej zasadzie dzialaja gry tzn, chodzi mi dokladnie o animacje lub wykonywanie kodu.
Np gdy na jednej mapie buduje sie jakis dom (animacja jak powstaje) i wiesniak robie drzewo(animacja jak rabie) wykonywane sa w tej samej chwili. Czy jest to wielowatkowosc czy moze jakis inny trick,sposob na polaczenie kilku elementow wykonujacych sie niezalezenie od siebie w tym samym czasie?
dzieki za odpwowiedz.
Pozdrawiam.

3 odpowiedzi

0 głosów
odpowiedź 6 dni temu przez redie Obywatel (1,440 p.)
Zależy na jakim "poziomie" jest tworzona gra, ale przeważnie jest to w wielowątkowości tak, żeby każda, większa akcja działa się osobno bez większego obciążania pamięci
komentarz 6 dni temu przez pimpek Początkujący (340 p.)
OK, a najbardzie amatroska mozliwosc jaka jest ?:)
komentarz 6 dni temu przez Evelek Nałogowiec (25,330 p.)
Wpakowanie wszystkiego do jednej pętli i renderowanie na zmianę wszystkiego w jednym wątku.
0 głosów
odpowiedź 6 dni temu przez Pajdas Mądrala (5,780 p.)

gdy na jednej mapie buduje sie jakis dom (animacja jak powstaje) i wiesniak robie drzewo(animacja jak rabie) wykonywane sa w tej samej chwili

 Te operacje mogą być wykonywane jedna po drugiej, animacja to tylko mały element takiego "powstawania domu" czy "rąbania drzewa", trzeba usuwać i dodawać elementy, wykonywać wiele sprawdzeń (czy nie brakuje elementów, czy drzewo nie "skończyło się" już rąbać itd.) najwięcej zasobów w takiej prostej gierce będzie zabierać kolizja i ruch obiektów.

Czy jest to wielowatkowosc czy moze jakis inny trick

Nie rozróżnisz czy to wielowątkowość czy nie kiedy tylko patrzysz na działanie, poza tym, tak czy tak każdy wątek musi zajmować się więcej niż jedną rzeczą pomiędzy renderowaniem kolejnej klatki gry.

Ze strony gracza wygląda to tak, jak gdyby wszystko co widzi działo się w tej samej chwili, tak samo jak w rzeczywistości, każdy zajmuje się swoimi sprawami, ale w grze napisanej na jeden wątek wszystko odbywa się jeden po drugim, ale efekt tych kolejnych obliczeń jest przedstawiany jednocześnie, w postaci nowej klatki.

P.S. z tego co wiem, to żeby pomnożyć dwa int'y trzeba trzy cykle procesora

0 głosów
odpowiedź 6 dni temu przez Strategiusz Dyskutant (8,410 p.)
edycja 6 dni temu przez Strategiusz
Podczas renderingu danej klatki gry sprawdzane jest jaki obrazek ma wyświatlić każdy widoczny element. w zależności od tego co dany element robi i na jakim jest etapie robienia tego (te rzeczy są zapisywane w danym elemencie). Po prostu za każdą klatką wszystkie elementy są sprawdzane po kolei i renderowane.

Wielowątkowości chyba się unika w tym wypadku, bo elementy świata mogą na siebie oddziaływać wzajemnie, więc jest jakiś jeden system kolizji, czy czego tam, który śledzi te wszystkie elementy.

Podobne pytania

0 głosów
1 odpowiedź 116 wizyt
pytanie zadane 1 lipca 2016 w C i C++ przez qwertz Użytkownik (870 p.)
–5 głosów
3 odpowiedzi 297 wizyt
pytanie zadane 19 września 2015 w C i C++ przez Porky Obywatel (1,190 p.)
0 głosów
1 odpowiedź 80 wizyt
pytanie zadane 8 sierpnia 2015 w C i C++ przez user125 Początkujący (380 p.)
...