Na początku chcę stworzyć niezawodny protokół sieciowy, który będzie automatycznie w tle sterował wysyłaniem oraz pobieraniem pakietów między osobami połączonymi do serwera.
Niby łatwa sprawa, ale czasem zdarza się, że pakiety przepadają po drodze lub dochodzą uszkodzone. Dochodzi wtedy do utraty synchronizacji między serwerem a klientem. Pakiety zaczynają przybywać nie po kolei, a gra staje się niemożliwa.
Np.: Na serwerze zabito ludzika i wysłano zawiadomienie. Ale ono nie doszło i klient cały czas ma żywego tego ludzika.
Dlatego należy ściśle kontrolować przepływem pakietów.
Zaprojektowałem już protokół i napisałem pierwszą jego wersję. Na razie trochę mu jeszcze brakuje, ale pakiety z ważnymi danymi przybyły po kolei i na czas. Na ponad 1000 (500 sekund) wysłanych pakietów z danymi trzeba było odnawiać kolejność około 25 razy. W sumie wysłano o wiele więcej pakietów np. : z zadaniem pingowania. Łącznie było ich ponad 6100. Co daje natężenie 12,2 pakietów na sekundę i margines 0,4% błędów.
To dwa razy większa wydajność niż będzie nam potrzeba. Na czas testów podniosłem poprzeczkę, aby sprawdzić poprawność protokołu w trudniejszych warunkach.
Minęło kilka dni więc czas na kolejne informacje o projekcie DC2.
Protokół sieciowy jest gotowy w 95%. Rozpocząłem tworzenie menu gry (na razie prostego najważniejsza jest gra ) i zacząłem robić dział multiplayer.
Poza tym testuję importowanie map z DC. Wszystko idzie jak trzeba. Wczytywanie podłoża, kratek mapy itp. Dużo zawdzięczam dreamermanowi, który rozpracował pliki i który jest w tej dziedzinie naszym najlepszym ekspertem . Na razie do testów nad wczytywaniem map oraz do ich wyświetlania używałem kontrolek API. Na szczęście gra będzie używała w 100% DirectXr17;a, który jest wiele lepszy.
Inaczej niż przewidywałem zająłem się trochę grą online. Być może od razu z pierwszą wersją gry udostępnię chat online w grze, aby łatwiej można było dogadać się o postawienie serwera .
ozi_ns10/09/2023 00:07 spróbuj na nowo wgrać grę. Zaliczyłem plansze 3 razy każdorazowo zmieniając taktykę i żdnego błedu.
ozi_ns10/09/2023 00:05 Jedyne co wtedy ma miejsce to zmiana pory dnia. w tej misji skrypty są tylko na podstawie czasu wiec twoje działania nie mogą powodować błedu.
maranta05/09/2023 18:34 Lol... jak dropbox to zrobił XD