Jak stworzyć gre MMORPG

Vesarix ma rację, fakt że gra ma być multiplayerowa, sprawia że zrobienie jej staje się sporo trudniejsze, a może nie tyle trudniejsze, co po prostu wymaga dużo większej ilości czasu.
Np ja tworzę swoją grę jako singleplayer ale cały czas podczas prac staram się zostawiać "furtki" do stosunkowo łatwego dodania multiplayera. Grę tworzę od ponad roku, sporo z tego czasu zajęła mi nauka jak w ogóle niektóre rzeczy robić. Niektóre aspekty mam już mocno zaawansowane, ale i tak dopiero w przyszłym roku planuje wystartować na kickstarterze, między innymi z myślą o zebraniu funduszy na dodanie trybu multiplayer.

Jak łatwo oszacować, zajmie mi to conajmniej ponad dwa lata...
Więc powtórzę jeszcze raz, jeśli bawisz się w robienie gry samemu, w dodatku dopiero zaczynasz przygodę z programowaniem itd... to przede wszystkim potrzebujesz wytrwałości. wytrwałości i jeszcze raz wytrwałości.

Dodatkowo jeśli planujesz robić gierki to warto dla praktyki robić na początku jakieś mniejsze projekciki - typu snake, saper, arkanoid itp. Na pewno trochę rzeczy się przy tym nauczysz i co ważniejsze dość szybko zauważysz efekty => większa motywacja. A jak przy dużym projekcie będziesz powtarzał błędne rozwiązania to potem to zmienić to trochę słaba sytuacja. Jakbyś potrzebował jakichś prostych pomysłów do ćwiczenia programowania to wpisz w google 49 simple game ideas czy coś takiego i powinno ci wyjść kilkanaście dobrych pomysłów.

Dodatkowo jeśli planujesz robić gierki to warto dla praktyki robić na początku jakieś mniejsze projekciki - typu snake, saper, arkanoid itp. Na pewno trochę rzeczy się przy tym nauczysz i co ważniejsze dość szybko zauważysz efekty => większa motywacja. A jak przy dużym projekcie będziesz powtarzał błędne rozwiązania to potem to zmienić to trochę słaba sytuacja. Jakbyś potrzebował jakichś prostych pomysłów do ćwiczenia programowania to wpisz w google 49 simple games ideas czy coś takiego i powinno ci wyjść kilkanaście dobrych pomysłów.

Chciałbym się nauczyć solidnych podstaw unity 5 2D ale wszędzie tylko 3D jest jakaś różnica pomiedzy tymi językami?

Podesłałbyś jakąś stronke gdzie są napisane podstawy języka unity 5 2D? Bo znalazłem tylko tutorial jak zrobić jakąś minigre a jak chce sie tylko narazie nauczyć podstaw tego języka a nie klikać tylko to co mi każą i mieć gre typu przeskocz dołek by wygrać i tylko to.Dzięki za pomoc !5. :)

Wiele na temat unity i tematów z nim związanych ci nie powiem bo się w tym nie bawię. Ale jak nie masz żadnego pojęcia o programowaniu to warto i tak żebyś przerobił kurs jakiegoś (dowolnego w sumie) języka, bo pewna część pokrywa się we wszystkich językach. Sam nie mam dużego doświadczenia ale myślę, że dobrym początkiem jest c++ - tu mogę polecić kurs Mirosława Zelenta. Myślę, że załapiesz dobre podstawy z tego.

Ludzie poświęcają lata, aby nauczyć się programować. Ty chcesz od razu tworzyć grę MMORPG 2D, nie potrafiąc programować, tworzyć sprite'ów, nie znając się na grafice. Wybacz, ale to nie ma sensu. Wiesz od czego powinieneś zacząć? Od Ponga. Tak! 2 kreski i odbijająca się kropka, potem stworzyć do tego menu, opcje itp. itd. Po jakimś czasie tetris,zwykłe RPG 2D, a dopiero potem możesz w ogóle myśleć o MMORPG 2D.

I tak w sumie to chcę poświęcić rok conajmniej ,aby stworzyć tę grę.

Co najmniej rok to powinieneś poświęcić na naukę programowania, grafiki, bla bla bla. MMORPG jest stanowczo zbyt dużym projektem na początek. Daj sobie najlepiej z 2 lata na naukę, a dopiero potem zacznij myśleć o tworzeniu pełnoprawnego MMORPG 2D, w zależności od pozyskanej przez ten czas wiedzy.

Uwierz mi, masz chwilowy zapał, będziesz uczył się programowania i pierwsze tygodnie będą Ci szły bez problemów. Potem zacznie się górka, cięższe tematy i zaczniesz wątpić w swoje możliwości. Nie bierz się od razu za takie duże projekty, tylko za małe (Pong, Snake, Saper, Tetris). Piszę Ci to, abyś nie stawiał sobie za wysoko poprzeczki i po prostu zderzył się z rzeczywistością, że to co chcesz osiągnąć nie jest proste.

Chciałbym się nauczyć solidnych podstaw unity 5 2D ale wszędzie tylko 3D jest jakaś różnica pomiedzy tymi językami?

Unity 5 nie jest językiem, tylko silnikiem. Unity, jeśli się nie mylę wykorzystuje język C#.

Nie chcę Cię zniechęcić, tylko uświadomić, że tworzenie gier (tym bardziej samemu) jest bardzo trudnym zadaniem, wymagającym pasji, wiedzy, umiejętności i ogromnego wkładu czasowego.

Xardoks WIELKIE dzięki ,i chyba zrobie podobnie jak mówiłeś.

Nauczę się solidnych podstaw które potrzeba do stworzenia gry 2D mmorpg,później będę robił snake,tetrisa i różne takie prostsze gry,potem coraz bardziej złożone i gdy będę gotowy to zrobię to mmorpg,czy to dobry plan czy raczej nie?

Ja robię przymiarki, i na przymiarkach się kończy. A dokładniej Unreal engine vs Unity. Z jednej strony do Unity jest lepszy support, z drugiej to gównie C# a tej język to marnowanie czasu. Niby są jakieś obejścia ale co z tego jak 90%+ assetów jest w C#.

Witam, i ja dorzucę swoje 5 groszy.

Na sam początek polecalbym zapoznać się z ideą programowania obiektowego, ponieważ jest to podstawa. Ludzie mysla, że skoro kochają gry to są w stanie nauczyć się je robić. Z czego nie zdają sobie sprawy, to że wszystko co dzieje się na ekranie gracza jest reprezentacją bardzo złożonych operacji matematycznych. Nie staram się zniechęcić autora, a jedynie dac pogląd na to co go czeka(zagadnienia typu: polimorfizm, wzorce projektowe, rekurencja, przeciazanie, dziedziczenie itp.) Byłyby bardzo przydatne. Kolejna rzeczą jest znajomość baz danych- i nie mówię tu o Accesie : )

Jeżeli jesteś zdeterminowany to polecam zacząć od początku (asm się nie przyda)czyli C, potem C++ a do zabawy polecam C# i jave.

Pozdrawiam

Ja polecam przejrzeć materiały Mirosława Zelenta, i nauczyć się podstaw C++ lub C# , to da ci już możliwość grzebania i zmieniania prostych kodów w Unity oczywiście po wstępnym ogarnięciu jak korzystać z funkcji Unity. Sam dopiero zaczynam zabawę z Unity(dość późno) ale mam już przynajmniej podstawy C++ oraz grafiki 3D(Blender).

Rozpocznij przygodę z programowaniem od napisania np. Kalkulatora z fajnym Menu lub prostej gry konsolowej. Po przejściu do Unity będziesz już wiedział jak ma mniej więcej wyglądać kod, a potrzebne ci rzeczy znajdziesz w dokumentacji bądź jakiś poradnikach. Zacznij od małego projektu lecz takiego, który będzie dawał ci satysfakcje z tworzenia. Ja np. teraz zajmuje się tworzeniem gry zręcznościowej na androida gdzie w głównym założeniu latasz cube'm i próbujesz nie trafić w przeszkody i choć wydaje się to proste to od strony programistycznej zawsze możesz się czegoś w ten sposób nauczyć :)

 Z czego nie zdają sobie sprawy, to że wszystko co dzieje się na ekranie gracza jest reprezentacją bardzo złożonych operacji matematycznych.

Takie tam odstraszanie potencjalnych programistów. Matematykę załatwiają biblioteki.

Można też próbować robić grę za pomocą specjalnych narzędzi, jak np to ----->
https://www.assetstore.unity3d.com/en/#!/content/51078

Z grubsza przypomina to tworzenie MODA do gry, ale z tego co mi się wydaje, możliwości mamy chyba większe. Nadal jednak wymaga to wiedzy i zdolności matematycznego i logicznego myślenia.

Innym sposobem, są wizualne języki skryptowe (tak to się chyba nazywa) a wygląd np tak:

2016-08-07_16-11-31.thumb.jpg.9465ddda68
Żeby korzystać z tego, nadal potrzebna jest przynajmniej podstawowa wiedza na temat programowania i przynajmniej przyzwoite zdolności matematyczne, plus umiejętność abstrakcyjnego i logicznego myślenia.
W Unreal Engine 4 jest to darmowe i działa bardzo sprawnie, w Unity trzeba za takie narzędzia niestety zapłacić.

Im bardziej rozbudowana gra, tym trudniej za pomocą tych narzędzi zrobić grę, ale...

Generalnie sytuacja wygląda tak, że można korzystając z takich narzędzi + gotowe grafiki (jest ich mnóstwo) itd, sklecić grę całkiem przyzwoitą i stosunkowo skomplikowaną, i wtedy...

Pokazać ją światu, jeśli będzie niezgorsza, to ma się atut w postaci tego że coś się zrobiło, a wtedy o wiele łatwiej zaistnieć w branży, zainteresować kogoś, znaleźć współpracowników aby rozwijać projekt, zachęcić ewentualnych sponsorów itd...

Wiem że to o 2D ale to przeszłość nie lepiej widok izometryczny ??

Nie do końca się zgodze z tym co piszecie, jeśli chce stworzyć jakąkolwiek gre to trzeba zacząć od najważniejszej kwesti jakim budżetem dysponuje, czym ambitniejszy projekt tym więcej trzeba $.

Po 2 musisz mieć wizje gry i pełnej mechaniki lub ludzi którzy maja o tym pojecie, dlatego że każde późniejsze przeróbki i modyfikacje pochłaniają czas a czas to $

Po 3 zapomnij o marzeniach typu sam "zrobie gre" to jest całkowice niewykonalne no chyba że ma być klasa C jakiś ulep. Tak wiem zaraz sypniecie linkami tylko prosze o takie do ukończonych projektów bez podpierania sie w czasie produkcji zewnętrznymi materiałami skryptami obiektami itd.

Po 4 Nie musisz być programistą ani grafikiem w końcu ktoś musi być szefem i zarządzać projektem.

Po 5 Część pracy zlecasz zewnętrznym studiom a to wiąże sie z $

A tu pare rzeczy zobacz sobie. 1 kit 140$ 2 kit 160$ 3 kit 80$

https://forums.unrealengine.com/showthread.php?53208-MMO-Starter-Kit

https://www.unrealengine.com/marketplace/landscape-auto-material

https://forums.unrealengine.com/showthread.php?74295-Procedural-Nature-Pack-Vol-1


I już masz podstawowa mechanike MMO i ładnym otoczeniem. Działa testowane.

Przejrzyj sobie sklep i forum UE4 dzięki temu da ci to jakeś tam podstawowe pojecie.

Siedze w UE4 od jakiegoś czasu i powiem ci tyle bez odpowiedniego budżetu i ludzi zapomnij o robieniu gry.

hmm 2 tygodnie i zerowe pojęcie w takim razie polecam poszukać poradników, jakiś wykładów i zadań z polibudy - przerobić je po czym spróbować napisać zwykły prosty kalkulator. Jeśli dalej będziesz mieć zapał do pracy powinieneś zapoznać się z zagadnieniami wymienionymi przez Forcell po czym spróbuj zrobić kółko i krzyżyk, snake'a, tetris'a, sapera, szachy. Następnie spróbuj do kik i szach zrobić przeciwnika. Na koniec aby doszlifować umiejętności mały side-scroll'er z przeciwnikami oraz spróbować dodać multi. Potem będziesz się mógł bez problemu* zabrać za większy projekt jakim jest mmorpg.

Więc najlepiej zacząć od czegoś prostego opanować podstawy a z czasem i bardziej zaawansowaną wiedzę na temat programowania. Oczywiście można od razu ściągnąć EU4 albo Unity5 klepać kod z poradników i w sumie nic nie zrobić oraz mieć problem kiedy przyjdzie do napisania czegoś własnego, choć wiedzie w ten sposób też się jakąś zdobędzie.

Po 3 zapomnij o marzeniach typu sam "zrobie gre" to jest całkowice niewykonalne no chyba że ma być klasa C jakiś ulep. Tak wiem zaraz sypniecie linkami tylko prosze o takie do ukończonych projektów bez podpierania sie w czasie produkcji zewnętrznymi materiałami skryptami obiektami itd.

Samo korzystanie z UE czy Unity wiąże się z korzystaniem z zewnętrznych klas. Rzecz w tym że są zarówno klasy jak i assety darmowe lub bardzo tanie.

I masz tu przykład gry zrobionej przez jedną osobę: http://store.steampowered.com/app/467930/

Przepraszam, nie chciało mi się czytać wszystkich odpowiedzi.

Krotki poradnik ode mnie:

1. Pomysł i jeszcze raz pomysł. Trzeba dokładnie rozpisać fabule, postaci, wszystkie zależności- od tego zależy jak Ci się będzie pracować. Przykład:

Jesteś kartoflem Benkiem w świecie Eciepecie. Masz moc strzelania skrobia ziemniaczana z palców. Max lvl w grze to 40, z każdym lvlem rośnie moc skrobi. Itd, itd.

Bez tych informacji będzie Ci ciężko cokolwiek zrobić, rozplanować. Nie polecam pisać gry "w locie"- będziesz co chwile zmnienial zdanie, łatwo się pogubisz i szybko zniechęcisz.

2. Mamy pomysł to teraz silnik. Szkoda, ze na wstępie napisałeś, ze nie interesuje Cie game maker. To wlasnie Game Maker http://www.yoyogames.com/gamemaker jest moim zdaniem najlepszy na początek. Nie myl go z programami typu RPG maker, gdzie wszystko robisz na zasadzie kopiuj wklej gotowe modele, skrypty, mapy, etc. Game Maker jest rozbudowanym silnikiem do pisania gier 2D. Ma on duze możliwości i jest przyjazny dla nowych programistów.

3. Mamy silnik? Pomyśl nad grafikiem. Do 2D nie będziesz potrzebował super modeli 3D, wystarczy Ci ktoś, kto ładnie rysuje i może Ci robić sprity.

x1armor.gif

Do animacji polecam program Spriter https://brashmonkey.com/

jest świetny.

4. Muzyka, dźwięki, etc.

Możesz nagrywać swoje i przerabiać je w audacity, lub kupić gotowe paczki, których w necie jest cala masa.

Po krotce to tyle, mam nadzieje ze pomogłem. Jak robienie gier wciągnie Cie na serio- daj znać. Pracuje nad jednym projektem, może będziesz chciał się zaangażować.

Powodzenia :)

wiesior

klasa C jakiś ulep.

To ja wiem ale

bez podpierania sie w czasie produkcji zewnętrznymi materiałami

Darmowe materiały pozostawiają sporo do życzenia prosta gre w UE4 można zrobić korzystając z kitów w pare dni a jak ktoś oblatany i ma materiały to w pare h. Ale są gry i Gry

3. Mamy silnik? Pomyśl nad grafikiem. Do 2D nie będziesz potrzebował super modeli 3D, wystarczy Ci ktoś, kto ładnie rysuje i może Ci robić sprity.

Do 3D również nie potrzeba super modeli przy cell shade (grafika kreskówkowa).

Tworzenie gier unity w Visual studio język C++. Powodzenia.

 

https://www.visualstudio.com/pl-pl/features/unitytools-vs.aspx

Sprostowanie...

Tworzysz w Unity Editor. W Visual Studio możesz conajwyżej pisać kod, ale do tego możesz użyć też zwykłego notatnika lub MonoDevelop który jest razem z Unity. I nie C++ tylko albo JavaScript albo C#.

Unity pozwala Ci na tworzenie i manipulowanie obiektami 2D oraz 3D.

Poza Unity to goła (nie ma do niech czegoś ala Unity Editor) Java lub C++ jeśli chodzi o gry z więcej niż 4 graczami. Możesz do tych języków znaleźć masę gotowych bibliotek który tylko Ci pomogą w dalszym rozwoju projektu.

Do tego opanowanie socketów aby połączenia były możliwe pomiędzy serwerem a graczem, zarządzanie asynchroniczym wysyłaniem pakietów aby gracze widzieli siebie na wzajem oraz ich działanie (ruchy itp.).

Warto żebyś popatrzył również na XML oraz Json'a. Użyteczne w wielu aspektach, np. tworzenie listy questów, przedmiotów, potworów itp. a potem na tych listach operowanie.

Teraz odemnie... Źle zaczynasz. Podejście do programowania "bo chcę zrobić grę MMORPG" jest bardzo, ale to bardzo błędne. Nie dasz rady tego zrobić. Programowanie to nie wszystko. Potrzebujesz jeszcze różnych assetów takich jak:. grafiki, modele, animacje i dźwięki. Jak się jednak nie dasz przekonać to zacznij z czymś łatwym, polecam Pythona. Jak opanujesz go do poziomu podstawowego to możesz iść dalej.

Sprostowanie...

Tworzysz w Unity Editor. W Visual Studio możesz conajwyżej pisać kod, ale do tego możesz użyć też zwykłego notatnika lub MonoDevelop który jest razem z Unity. I nie C++ tylko albo JavaScript albo C#.

Unity pozwala Ci na tworzenie i manipulowanie obiektami 2D oraz 3D.

 

Poza Unity to goła (nie ma do niech czegoś ala Unity Editor) Java lub C++ jeśli chodzi o gry z więcej niż 4 graczami. Możesz do tych języków znaleźć masę gotowych bibliotek który tylko Ci pomogą w dalszym rozwoju projektu.

Do tego opanowanie socketów aby połączenia były możliwe pomiędzy serwerem a graczem, zarządzanie asynchroniczym wysyłaniem pakietów aby gracze widzieli siebie na wzajem oraz ich działanie (ruchy itp.).

To i ja sprostuje: JavaScript jest wyłącznie do front endu dla aplikacji webowych.

Do Unity da się dołączyć kod C++ ale jest to zabawa na około.

No właśnie, i jeśli chodzi o kod sieciowy (i nie tylko) to aż się chcę wziąć bibliotekę QT dla C++. Problemy z C++ przy Unity jest głównym powodem dla którego w tym nie pracuję, natomiast mała liczba darmowych assetów dla Unreal engine sprawiła że puki co zrezygnowałem z próby robienia gier, przynajmniej na razie.

JavaScript jest wyłącznie do front endu dla aplikacji webowych.

Nie, nie jest. W Unity jest używany jako język skryptowy.