Jestem programistą C # i chciałem rozpocząć projekt hobby budujący trwałą grę opartą na przeglądarce (PBBG). Pracuję z C #, MSSQL i Angular i pomyślałem, że wykorzystam te techniki również w moim projekcie hobby.
Kiedy zacząłem szukać do i donts i wskazówek, zdałem sobie sprawę, że wiele projektów używa PHP i nie znalazłem żadnego PBBG używającego C #, co wydaje mi się naprawdę dziwne. Wygląda na to, że stos, z którym pracuję (C #, MSSQL, Angular) może pasować do PBBG.
Jedynym powodem, dla którego mogę wymyślić, że C # nie jest używany, jest wysoka cena Visual Studio i fakt, że nie był to open source.
Czy jest jakiś inny powód, czy po prostu źle znajduję projekty, które używają C #? A może jest tak, że jestem po prostu zły w swojej pracy i nie zdaję sobie sprawy, że ten stos nie jest dobry dla PBBG?
źródło
Odpowiedzi:
Zaletą PHP jest to, że jest bardzo szeroko wspierany przez tanie hosty internetowe. Możesz wynająć część LAMP (Linux, Apache, MySQL, PHP) dla hostingu współdzielonego dla orzeszków ziemnych. Przestrzeń ta może również hostować twoją stronę internetową i klienta gry. Konfiguracja większości aplikacji PHP jest równie łatwa. Wystarczy skopiować pliki na serwer WWW i gotowe. Dzięki temu uruchomienie serwera testowego jest bardzo łatwe i wygodne.
Z drugiej strony AC # gameserver może być bardziej skomplikowany. Musisz wynająć rzeczywisty serwer rootowania, który jest droższy i wymaga znacznie więcej pracy i wiedzy, aby poprawnie skonfigurować i utrzymywać. Nie napisałeś, czy C # oznacza aplikację ASP.NET działającą na serwerze internetowym (dość proste rozwiązanie dla PBBG, jeśli mnie pytasz) lub samodzielną aplikację C # działającą jako oddzielny proces (trochę niekonwencjonalny, ale może działać całkiem dobrze, jeśli masz bardziej zorientowaną na akcję grę). Jeśli masz na myśli to drugie, musisz także zainstalować lub wypożyczyć serwer WWW do hostowania swojej witryny i części gry po stronie klienta.
To dodatkowe obciążenie może stanowić barierę dla większości programistów hobbystycznych, co może być dobrym powodem do wyboru PHP. Ale kiedy hobbysta odnosi sukcesy w swojej grze i postanawia to zrobić profesjonalnie, ma już swoją bazę kodów i na pewno nie zacznie od zera. Zachowają więc swój stos technologii LAMP, nawet jeśli początkowe obawy związane z wybraniem go nie są już ważne (kiedy przeprowadzasz poważną operację na stosie LAMP, wcześniej czy później osiągniesz punkt, w którym hosting dzielony już go nie ogranicza i potrzebujesz własnych serwerów).
Pamiętaj jednak, że jeśli spojrzysz na całkowity koszt projektu opracowania PBBG, zazwyczaj zauważysz, że koszty hostingu serwerów i administracji na etapie programowania stanowią zaledwie niewielką część budżetu na rozwój.
Więc twoja decyzja, która technologia powinna zostać wykorzystana, powinna zależeć od tego, która technologia pozwoli ci stworzyć najlepszą grę w jak najkrótszym czasie. Wybór najlepszych narzędzi, które można kupić za pieniądze (najlepsze dla Ciebie i Twojego projektu ), nie kosztuje Cię, oszczędza pieniądze.
źródło
Pozostałe odpowiedzi są poprawne, ale nie wspomniano o czynniku historycznym.
Jeszcze kilka lat temu istniała społeczność programistów PBBG, która głównie istniała na dwóch forach: BBGameZone i MakeWebGames, oba wypełnione głównie programistami PHP. Nowi gracze, którzy nie wiedzieli, jak stworzyć grę, zostali skierowani do niesamowitych samouczków na BuildingBrowserGames.com, które były w PHP. Termin „PBBG” pochodzi głównie z gier stworzonych przez ludzi powiązanych z tymi dwoma forami. Starano się spopularyzować ten termin, aby gatunek miał rozpoznawalną nazwę, której gracze mogliby szukać, i miejmy nadzieję, że spowolni jego upadek, nic dziwnego, że dostajesz PHP tylko podczas wyszukiwania tego terminu.
Myślę, że jesteś w 100% w porządku, używając C #, MSSQL i Angular. Przekonasz się, że większość silników PHP jest przestarzała. PHP4 lub PHP5.
Ludzie BBGameZone byli głównie przeciwko używaniu silników (wszyscy pisali własny silnik, w tym ja). Ludzie MakeWebGames starali się wprowadzić nowe silniki PHP (McCodes był ich głównym starym silnikiem, a NWE (silnik New Worlds) był uważany za jako prawdopodobne, że zostało zrobione w połowie)
Oto dokument Google z porównaniem silnika sprzed kilku lat, porównujący skrypt McCode / NWE / ezRPG / GL: https://docs.google.com/spreadsheets/d/1WM3axFhYaAtjiKd1KRwibx9jEegwjwCJNhQmXP_jzss/pub&s=ml&s=html=s=html?single=s=html?shtml
W przeszłości podejmowano starania, aby ponownie połączyć starą społeczność, ale jak dotąd niewiele szczęścia: https://www.reddit.com/r/PBBG/comments/6r34vi/announcing_pbbgsite/
Myślę, że będziesz w 100% OK, używając C #, MSSQL, Angular, po prostu pamiętaj, że prawdopodobnie jesteś pierwszą osobą, która pisze PBBG za pomocą swojego zestawu narzędzi i będziesz musiał stworzyć wszystko sam, bez żadnych przykładów z przeszłości spojrzeć wstecz na.
Pamiętaj tylko, że gatunek ten umiera teraz, ale wszystko, czego potrzebuje, to jedna lub dwie popularne gry, aby się ożywić, jeśli uważasz, że możesz to zrobić w C #, będę dla ciebie rootować.
źródło
Podsumowanie opinii: jeśli nie znasz żadnego (odpowiedniego) języka (wystarczająco dobrze), zakładam, że „coś” działa szybciej z PHP. Ale jeśli znasz już odpowiedni język, taki jak C # i jak skonfigurować serwer / backend z nim, nie będzie to miało zastosowania (chyba że chcesz użyć określonego silnika w tym języku). Ta zaleta prototypowania PHP może również nie istnieć, im bardziej złożona / stanowa będzie Twoja gra.
źródło