multiplayer w grze

multiplayer w grze
HX
  • Rejestracja:ponad 6 lat
  • Ostatnio:około 3 lata
  • Postów:46
0

Witam.
Zastanawiam się jak stworzyć grę multiplayer w c++.
Chodzi o taki przypadek że gra jest już gotowa i trzeba do niej dodać multiplayer.

A więc tak:

  1. Jakieś biblioteki oprócz SFMLa potrzebnego do stworzenia grafiki ? Jeżeli tak to jakie
  2. Czy to spowodowało by to że trzeba zmienić prawie cały kod czy część jego
  3. Czy byłaby potrzeba znajomości jakiegoś innego języka niż c++ ?

EDIT: Bardziej opłaca się najpierw zrobić grę a potem głowić się nad tym multiplayer czy Od razu głowić się nad tym i tym.

edytowany 2x, ostatnio: flowCRANE
Potat0x
  • Rejestracja:ponad 8 lat
  • Ostatnio:17 dni
  • Postów:370
0
Harrty_xx napisał(a):

EDIT: Bardziej opłaca się najpierw zrobić grę a potem głowić się nad tym multiplayer czy Od razu głowić się nad tym i tym.

Jeżeli planujesz multiplayer, to musisz o tym myśleć podczas pisania kodu, bo potem może okazać się, że zrobienie multiplayer jest niemożliwe. To jeszcze zależy co robisz, np gry typu warcaby o wiele łatwiej przenieść na multiplayer, niż dynamiczną strzelankę.
W SFML spokojnie ogarniesz zarówno obsługę grafiki, jak i sieci.

edytowany 1x, ostatnio: Potat0x
HX
  • Rejestracja:ponad 6 lat
  • Ostatnio:około 3 lata
  • Postów:46
0

To jak z tym multiplayer w sfmlu ? Jak to zrobić ?

konserwa
  • Rejestracja:ponad 14 lat
  • Ostatnio:ponad 4 lata
  • Postów:282
0

Na pewno musisz ogarnąć sockety asynchroniczne UDP(ewentualnie TCP).
Logika gry powinna być po stronie serwera, ale nie musi jeżeli dopuszczasz myśl że ktoś będzie grzebał w pamięci to ok.

Jeżeli robisz gre w którą mieli by grać przyjaciele to możesz spróbować najprostszych metod z obliczeniami w kliencie(jak ktoś będzie oszukiwał to koledzy mogą mu zrobić z mordy jajecznice)


Przejdę, przejdę, myślał Red. Nie pierwszy raz, przecież przez całe życie właśnie tak, po szyję w gównie, a nad głową pioruny, zawsze tak było...
edytowany 2x, ostatnio: konserwa
HX
  • Rejestracja:ponad 6 lat
  • Ostatnio:około 3 lata
  • Postów:46
0

Dobrze. To teraz tak co to są sockety asynchroniczne UDP(ewentualnie TCP) ?

HX
  • Rejestracja:ponad 6 lat
  • Ostatnio:około 3 lata
  • Postów:46
0

Jak rozumiesz pojęcie serwer. ? Czy musze jakiś wykupić ?

Zobacz pozostałe 2 komentarze
konserwa
Napisać. A język jaki chcesz. Myślę że jakbyś poszukał to może i nawet znalazł być gotowe rozwiązanie z zarządzaniem połączeniami. Kolejnym krokiem była by logika gry, a raczej zarządzanie tym co odbiera i wysyła serwer.
HX
Łatwiej w c++ czy w Pythonie(o ile w nim można) ?
konserwa
Jak jesteś w stanie to i w paskalu dałoby się. Nawet node.js gra wtedy musiała by przesyłać żądania http POST. A aplikacja serwer tylko analizowała by ich zawartość(to mogło by zadziałać do gry sRPG).
konserwa
Serwer może być pisany w dowolnym języku. Ale musisz pamiętać że to klient łączy się z serwerem. Jeżeli klient jest w c++ to musisz używać socketów w c++, a serwer może być i w pythonie(jeżeli ma coś takiego jak sockety);
HX
  • Rejestracja:ponad 6 lat
  • Ostatnio:około 3 lata
  • Postów:46
0

http://cpp0x.pl/artykuly/?id=66

Tylko że to poradnik pod linuxa chyba jest :(

HX
  • Rejestracja:ponad 6 lat
  • Ostatnio:około 3 lata
  • Postów:46
0

Mógłbyś mi pokazać jak by ten kod wyglądał ?

Zobacz pozostałe 8 komentarzy
konserwa
To zależy co robi. Zresztą to pytanie jest nie na miejscu. Zwykły chat można by zmieścić w 2tys linii kodu albo w 10tys jak ktoś słabo pisze.
HX
To jak coś zmajstruję to się pochwale. Zresztą i tak na razie mam problem do rozwiązania
konserwa
Zacznij od serwera który połączy 5 osób i obsłuży zdarzenia takie jak rozłączenie itd. Na tym etapie nie musisz tworzyć klienta połączysz się po prostu z Telnetu. Potem zrób wysyłanie wiadomości do klientów(Telnet to łyknie). I to będzie dobry start.
konserwa
Także nie chodzi o to jaki język a jaką metodę wykorzystasz żeby stworzyć ten serwer.
TR
  • Rejestracja:ponad 16 lat
  • Ostatnio:6 miesięcy
0

https://gafferongames.com/post/udp_vs_tcp/
i pozniej sobie przejrzyj kolejne artykuły (Next article na końcu strony). Z ich pomocą nauczysz się, jak powinien działać multiplayer w grach i dlaczego oraz stworzysz sobie bazę, którą będziesz mógł rozwinąć.

HX
Dziękuje, na pewno skorzystam

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.