Autor Wątek: fps multi - potrzebna porada.  (Przeczytany 2865 razy)

Offline karaluch666

  • Użytkownik
    • Moje folio

# Marzec 01, 2014, 12:36:56
Cze wszystkim. Mam nadzieję, że wybrałem dobry dział.
Kiedyś tam w przyszłości chciałbym stworzyć grę fps multiplayer i chciałbym zacząć zbierać informacje co i jak, więc mam kilka pytanek, na które mam nadzieję dostanę odpowiedzi, albo przynajmniej jakieś wskazówki.

Pierwsze pytanie - Chciałbym aby grę odpalało się przez launcher, w którym było by okienko logowania, jakieś drugie okienko na nowości itp. W czym można zrobić taki launcher (chodzi mi o język programowania)? Czy można to zrobić np znając C++, czy potrzeba coś więcej.

Drugie pytanko - Gra byłaby darmowa, ale w przyszłości chciałbym wprowadzić system mikropłatności (np jakieś dodatkowe bronie, malowanie, stroje dla ludzików) Oprócz tego byłyby też konta premium dzięki którym gracze mieli by np. dostęp do nowych map, lub trybów gier. Co jest potrzebne żeby zrobić takie mikropłatności? Czy np jeśli gra będzie robiona na silniku unity, to osoba odpowiedzialna za programowanie będzie miała możliwość zrobienia tych wszystkich opcji właśnie w unity, czy to całkiem inna bajka?

Trzecie pytanko - czy żeby zrobić system logowania i tych płatności będzie potrzebna na serwerze jakaś baza danych i zarazem jakiś człowiek, który to będzie ogarniał?

Z góry dzięki za wszystkie odpowiedzi i podpowiedzi.

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Xirdus

  • Redaktor

  • +3
# Marzec 01, 2014, 13:09:11
Pierwsze pytanie - Chciałbym aby grę odpalało się przez launcher, w którym było by okienko logowania, jakieś drugie okienko na nowości itp. W czym można zrobić taki launcher (chodzi mi o język programowania)? Czy można to zrobić np znając C++, czy potrzeba coś więcej.
Możesz to zrobić w dowolnym języku, nawet Brainfucku jak się uprzesz. Który konkretnie wybierzesz to już kwestia wygody (jak ci pasuje C++, rób w C++, jak ci nie pasuje to rób w czymś innym). I przede wszystkim - od samego języka ważniejsze są dostępność i jakość bibliotek dla niego.

Drugie pytanko - Gra byłaby darmowa, ale w przyszłości chciałbym wprowadzić system mikropłatności (np jakieś dodatkowe bronie, malowanie, stroje dla ludzików) Oprócz tego byłyby też konta premium dzięki którym gracze mieli by np. dostęp do nowych map, lub trybów gier. Co jest potrzebne żeby zrobić takie mikropłatności? Czy np jeśli gra będzie robiona na silniku unity, to osoba odpowiedzialna za programowanie będzie miała możliwość zrobienia tych wszystkich opcji właśnie w unity, czy to całkiem inna bajka?
Nie znam się na Unity, ale szczerze wątpię by były do tego gotowe mechanizmy. Ale na pewno da się to w jakiś sposób zrobić. Przede wszystkim musisz mieć konto w jakimś serwisie który umożliwia płatności przez internet i połączyć go z twoją grą.

Trzecie pytanko - czy żeby zrobić system logowania i tych płatności będzie potrzebna na serwerze jakaś baza danych i zarazem jakiś człowiek, który to będzie ogarniał?
Baza danych to twój najmniejszy problem.


PS - z pewnością w twoją grę nie zagram. Grałem już w dwie podobne, i obie klasyfikują się pod "klon CS-a ze zwiększoną ilością cheaterów i nieokrzesanych dzieci". Ale najważniejszy powód dlaczego nie zagram to to, że jej nigdy nie ukończysz - po tym jednym poście widzę że projekt cię przerośnie. Nie mówię tego złośliwie - po prostu lepiej jakbyś najpierw zajął się czymś bardziej realnym, a jak nabierzesz doświadczenia to dopiero do tego projektu wróć.

Offline Pastor

  • Użytkownik

# Marzec 01, 2014, 17:23:14
Witaj.
Po pierwsze dobrze, że zaczynasz od zbierania informacji, a nie od razu od tworzenia.
Teoria to podstawa i bez niej albo nie ruszysz, albo będziesz "jechał" powoli na dodatek błądząc.
Po drugie i co bardzo ważne na samym początku nigdy nie słuchaj ludzi, którzy twierdzą, że "nie podołasz", "to cię przerasta" etc.
Psychologowie powiadają, że persony niedowartościowane tak mają, że swoją słabą samoocenę lubią przerzucać w ten sposób na innych. No ale przejdźmy do meritum.

ad.1
Launcher możesz wykonać tak jak mój przedmówca napisał dosłownie w czymkolwiek. Użyty do tego język programowania w żaden sposób nie musi nawiązywać do języka w którym stworzysz aplikację docelową.

ad.2
System mikropłatności nie ma absolutnie żadnego powiązania z zastosowanym silnikiem graficznym, więc mistrz od Unity, UDK czy innego rendera za bardzo nie pomoże, bo to po prostu nie jego działka i jak sam to ładnie nazwałeś "całkiem inna bajka".

ad.3
Tak, należało by to wszystko "spiąć" z jakimś systemem bazodanowym. Co do potencjalnego staffu to czy chcesz się zająć tym sam czy nie to już ty wiesz najlepiej. Nie mniej jednak pojęcie o w/w osoba za to odpowiedzialna mieć musi.

Podsumowując, zdaję sobie sprawę, że powyższe odpowiedzi nie wiele poszerzyły twoją wiedzę na temat  aplikacji massive/multiplayer. Przyczyną tego jest to, że jak większość osób nowych w temacie nie właściwie zadałeś pytania i nie ma w tym nic dziwnego. Sprawy o które pytałeś z reguły przy takich projektach realizuje się już na końcu i są stosunkowo mało skomplikowane. W pierwszej kolejności kiedy myśli się w ogóle o tego typu projekcie, należy się skupić na zwykłym"how to". Czyli jak sobie to wszystko wyobrażam od strony "mechanicznej". Do tego jednak, potrzebna Ci będzie pewna wiedza teoretyczna z zakresu architektury i działania aplikacji sieciowych jak i później z podstaw samych sieci. Stosowne informacje znajdziesz np. w poniższych dwóch tytułach:

1. Devloper's Guide to Multiplayer Games - A. Mulholland, T. Hakala
2. The Architecture of Massive Multiplayer Online Games - Sladjan Bogojevic, Mohsen Kazemzadeh

Na początku, szczególnie ta pierwsza pozycja powinna zwrócić twoją uwagę. Tworzenie aplikacji sieciowych, szczególnie jeśli sprawa dotyczy serwera to programistyczna wyższa szkoła jazdy, gdyż wymaga nie tylko swobodnego poruszania się w wybranym języku programowania, ale również dobrej znajomości danego systemu operacyjnego. O innych inniejszych rzeczach nie wspominając. Przeczytanie powyższych pozycji nie tylko pozwoli ci na zrozumienie sedna działania aplikacji sieciowych, ale przede wszystkim ułatwi podjęcie decyzji czy rzeczywiście chcesz iść tą drogą, do spróbowania której ja gorąco cię zachęcam.

Offline flexi

  • Użytkownik

  • +1
# Marzec 01, 2014, 17:24:54
Jeśli ktoś zadaje takie pytania to nie wiem czy opłaca mu się brać za taka grę :-)

Offline Pastor

  • Użytkownik

  • +1
# Marzec 01, 2014, 17:42:49
Jeśli ktoś zadaje takie pytania to nie wiem czy opłaca mu się brać za taka grę :-)

Myślę, że nie o opłacalność tutaj chodzi. Autor wątku zainteresował się tematem i moim zdaniem zrobił to na właściwym forum, więc dlaczego ma nie uzyskać porady jak to w ogóle ugryźć. Potencjalny projekt jest oczywiście bardzo ambitny, jednak dlaczego kolega ma nie spróbować? Poza tym pewien ciekawy Profesor powiedział mi kiedyś taką rzecz, a mianowicie: "garbage in, garbage out" co myślę świetnie odnosi się do powyższego tematu.

Offline Joker

  • Użytkownik

# Marzec 01, 2014, 18:06:56
Pastor, ale nikt mu nie broni próbować. Niech po prostu potem się nie zdziwi że tej ściany nie przeskoczył tylko się od niej odbił i że gry nie zrobi.

Offline Pastor

  • Użytkownik

# Marzec 01, 2014, 18:57:03
Pastor, ale nikt mu nie broni próbować. Niech po prostu potem się nie zdziwi że tej ściany nie przeskoczył tylko się od niej odbił i że gry nie zrobi.

Dziwienie się to też rzecz ludzka :) Natomiast prorokowanie odnośnie powodzenia ewentualnego projektu (nawet jeśli oparte o wcześniejsze doświadczenia), czy rozważania nad jego sensem w tym miejscu wydają mi się bezcelowe. Tym samym tego typu dyskusją odbiegamy od konsensusu tworząc niepotrzebny offtop.

Offline Joker

  • Użytkownik

  • +3
# Marzec 01, 2014, 19:42:15
Tym samym tego typu dyskusją odbiegamy od konsensusu tworząc niepotrzebny offtop.
To się musisz przyzwyczajać.

Człowiek który pyta w czym napisać launcher nie napiszę gry multiplayer od tak, i taka informacja może być bardziej przydatna niż odpowiedź na to pytanie.

Offline fn2000

  • Użytkownik

# Marzec 07, 2014, 11:40:30
Pierwsze pytanie - Chciałbym aby grę odpalało się przez launcher, w którym było by okienko logowania, jakieś drugie okienko na nowości itp. W czym można zrobić taki launcher (chodzi mi o język programowania)? Czy można to zrobić np znając C++, czy potrzeba coś więcej.

Takie aplikacje najprościej robić w C#, szczególnie jeśli chcesz mieć oddzielnie lanczer i oddzielnie grę.


Drugie pytanko - Gra byłaby darmowa, ale w przyszłości chciałbym wprowadzić system mikropłatności (np jakieś dodatkowe bronie, malowanie, stroje dla ludzików) Oprócz tego byłyby też konta premium dzięki którym gracze mieli by np. dostęp do nowych map, lub trybów gier. Co jest potrzebne żeby zrobić takie mikropłatności?

Musisz zaprojektować grę z myślą o mikropłatnościach, czyli aktywowanie jakichś określonych ficzerów czasowo lub stale do wyczerpania na podstawie jakiegoś systemu wewnętrznej waluty gry. To może Ci zrobić jakikolwiek programista - to nie jest związane bezpośrednio z silnikiem, to jest oddzielna warstwa. Oczywiście trzeba pamiętać o nadużyciach i centralnej weryfikacji uprawnień klienta do danego ficzera.

Druga sprawa to integracja z dostawcą płatności online - czy interesuje Ciebie tylko europa czy może też stany, azja? Wymagać to będzie podpisania umów z wieloma takimi partnerami żeby objąć cały świat. Każdy region geograficzny ma inne przyzwyczajenia do wykonywania płatności online - gdzieś są karty modne, gdzieś przelewy, gdzieś smsy premium. To jest oddzielny, duży temat, obok technologii.

Trzecia sprawa to wsparcie dla graczy - zawsze się znajdzie ktoś kto będzie miał problem z najprostszą funkcjonalnością, szczególnie dotkliwe gdy w grę wchodzi kasa.

Trzecie pytanko - czy żeby zrobić system logowania i tych płatności będzie potrzebna na serwerze jakaś baza danych i zarazem jakiś człowiek, który to będzie ogarniał?

Tak, potrzebny będzie CRM - kupiony lub szyty na miarę - trackowanie konto->gracz->środki->ficzery w grze, historia płatności itd. To oczywiście będzie przedmiotem częstych ataków chińskich magików zatem cały szereg elementów związanych z bezpieczeństwem tej warstwy należy wziąć pod uwagę.

Offline Jechbeat

  • Użytkownik
    • Profil Facebook

  • +2
# Marzec 28, 2014, 16:48:38
lanczer
ficzerów

Wiem, że odkopuję temat, ale nie wytrzymałem, albo się używa polskich nazw, albo angielskich, a nie ponglish.

Offline ArekBal

  • Użytkownik

# Marzec 28, 2014, 18:22:30
Cytuj
Wiem że odkopuję temat, ale nie wytrzymałem. Albo się używa polskich nazw albo angielskich, a nie "ponglish".
FTFY
http://so.pwn.pl/zasady.php?id=629793

Edit: oOps
« Ostatnia zmiana: Marzec 28, 2014, 18:26:24 wysłana przez ArekBal »