![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 348 Pomógł: 26 Dołączył: 8.10.2008 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Meritum to 3 pytania zawarte w podtytule.
Od jakiegoś czasu w wolnych chwilach robię proste gierki w JS. Czasami jak mi się nudzi lubię pograć w jakąś strategie. Niestety żadna z gier w jakie grałem nie była "idealna", zawsze czegoś brakuje, zawsze mam wrażenie, że zrobiłbym coś lepiej itd... Rozplanowałem punktowo gierkę którą chciałbym zrobić. Ciężko opisać jaka miałaby być ale byłoby to coś podobnego co "Master of The Secret Sea" (online, dobrze zaczęta, szybko się nudzi) jednak o wiele bardziej rozwinięte. Większy świat, więcej możliwości itp. Zdaje sobie sprawę, że aby nauczyć się robić cokolwiek w tym kierunku potrzeba wiele czasu. Kiedyś w podobny sposób postanowiłem nauczyć się PHP, aby zrobić sobie stronę i teraz pracuje w tym fachu także myślę, że jakieś szanse mam. 1. Jak jest lepiej (łatwiej, szybciej itp.) robić taką grę pod przeglądarkę, czy pod windows? 2. W jakiej technologii? 3. Do tej pory wszystko co robiłem polegało na tym, że ruszamy elementem na stronie i coś tam robimy. A teraz chodzi o coś takiego gdzie element jest na środku a otoczenie się rusza... To jest dla mnie jak na razie największą zagadką... Ten post edytował Adi32 3.09.2012, 14:06:46 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
1. szybciej jest w tym w czym czujesz się mocniejszy
2. patrz wyżej, choć jeśli wybierzesz w przeglądarce, to oczywiste że HTML5 i tagi z niego, canvas, audio, video, websockets (lub ajax long polly). 3. musisz stworzyć tzw. strefę buforową czyli zakładając najprymitywniejszy wariant: #world - wiadomo, generowana mapa, drzewa, krzaki, morze i inne pierdoły #buffor - to właśnie osobny sektor w którym znajduje się gracz, poruszasz i/lub tylko nim we wszystkich kierunkach, obliczając to na podstawie rozmiarów #world. Taka strefa może pełnić też i nawet powinna inne założenia, jak ukrywanie tego czego nie widać (po co zajmować pamięć przeglądarki), możesz stworzyć w nim efekt FoW(fog of war) i wiele innych... takich stref może być więcej, w zależności od rozbudowania... #palyer - nic innego jak postać w grze, z reguły sprite poruszający się wedle kierunku jaki obraliśmy, zawiera animacje i jest statyczny (choć nie musi, bo może przesuwać się względem bufora np. gdy skończy się mapa, aby przejść do końca planszy. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 348 Pomógł: 26 Dołączył: 8.10.2008 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
!*! byłem pewien, że jeżeli zabierzesz głos w tym temacie to napiszesz "nie ma sensu", a tu miłe zaskoczenie (IMG:style_emoticons/default/smile.gif)
Wydaje mi się, że wybiorę przeglądarkę. Na pewno będzie to dla mnie łatwiejsze. Jednak dalej - nie wiem nic o profesjonalnym stworzeniu czegoś takiego, inaczej mówiąc byłbym w stanie zrobić w JS ale nie miałoby to nic wspólnego z profesjonalizmem. Dzięki za info o strefie buforowej, wiele mi to rozjaśnia jednak nie wiem nic o zastosowaniu tego... |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
I jeszcze jedna rzecz, musisz się zastanowić jak to napisać ,tzn. chodzi mi o to jak chcesz stworzyć świat gry, jakim sposobem.
Kiedyś szukałem podobnych rzeczy, znalazłem http://jgen.googlecode.com/svn/branches/ma...itor/index.html jednak było to tak ubogie i nie działało w każdej przeglądarce, a autor porzucił prace, więc napisałem własny silnik z edytorem który pozwala mi tworzyć gry podobne do warcrafta2, openttd czy fallout2 jednak z braku czasu i większej ilości gotówki zbyt wolno powstaje chociażby demo (IMG:style_emoticons/default/wink.gif) Akurat w tym przypadku wybrałem tworzenie map tradycyjne na div, img... canvas do tego typu rzeczy mimo iż "nowszy" jest zbyt powolny przy dużych ilościach, używam go tylko do efektów np. ognia, dymu czy wody. Wspomniana strefa buforowa... może to Ci naświetli http://gamequeryjs.com/documentation/first...utorial-step-1/ chodzi o to że świat gry jest głównym pojemnikiem, gracz przed monitorem widzi tylko bufor, cała reszta jest nieaktywna, z chwilą poruszania się, elementy się zmieniają na widoczne (tu musisz też zaplanować system kolizji). |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 348 Pomógł: 26 Dołączył: 8.10.2008 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Strona z tutorialem strefy buforowej to chyba to czego szukałem. Będzie na pewno bardzo przydatna.
Cytat I jeszcze jedna rzecz, musisz się zastanowić jak to napisać ,tzn. chodzi mi o to jak chcesz stworzyć świat gry, jakim sposobem. A jakie są? Dodam, że gra nie będzie polegała tylko na poruszania się. Będzie system walki (chyba podobny jak w grze którą wymieniłem bo nie mam innego pomysłu) System handlowania, który będzie zakładał różne waluty (różne porty w różnych pseudokrajach przyjmujące różne waluty i różne przeliczniki) i inne |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
A jakie są? Tak jak napisałem, albo robisz to na div/img albo w canvas. Chyba że cała mapa byłaby jednym wielkim obrazkiem, co też nie byłoby złe, pod warunkiem że mapa byłaby bardzo mała, bo po co czekać aż załaduje się jeden wielki obrazek, jak można podzielić go na setki mniejszych (tzw. tiles) i załadują się tym sposobem szybciej. Zaplanuj pierw całą mechanikę, to jak gra ma działać, chyba że skorzystasz z gotowego silnika. Handel, walka, życie to dodatki które i tak piszesz w fazie końcowej, całej produkcji... pierw potrzebny jest dobry silnik który to obsłuży. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 348 Pomógł: 26 Dołączył: 8.10.2008 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Jeden wielki obrazek definitywnie odpada.
Nie wiem czy elementy miałyby być rozłożone losowo czy na stałe, chyba bardziej na stałe ale chciałbym mieć coś w rodzaju bazy danych elementów. W bazie zawierałyby się pozycje x y miasta, tak samo chyba wysp? Silnik miałby być taki, aby łatwo było dodawać nowe rzeczy. Jest taki gotowy? |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Trudno o dobry gotowiec, szczególnie że jak piszesz coś rozbudowanego to z gotowca i tak wywalisz/przepiszesz/dopiszesz 98% rzeczy... Popatrz na jGen, masz tam przykłady działania (przejdź na stronę główną, bo podałem link do edytora tylko), napisz do autora, może robi coś nowego, ogólnie facet bardzo dobrze to zaplanował, podpatrz kod bo mechanizm sprite czy trzymania wszystkich obiektów jest dobrze pomyślany.
Jak zdecydujesz się na budowę map przy pomocy właśnie kafli, to masz wiele możliwości, od generowania bezpośrednio dokumentów html (co z czasem może być kłopotliwe), do plików XML które generują właśnie widok html, który wrzucasz w cache... Baza elementów? Tzn? chodzi o edytor? Tu nie plątałbym w to nawet bazy danych, tylko zwykły odczyt plików z katalogu, w końcu na mapie i tak nie będzie to niczym innym tylko divem/ z tłem czy samym obrazem. Pozycja miasta x i y też możesz rozwiązać różnie... ja używam określenia w PX, jest wygodniejsze od umieszczania pozycji konkretnego elementu i chyba nawet szybsze. Ten post edytował !*! 3.09.2012, 15:29:03 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) ![]() ![]() |
Obejrzyj sobie http://www.youtube.com/watch?v=iZ5ky19IqC0
Grą narazie zastopowana, bo to wydaje się proste. Kod silnika gry po stronie przeglądarki przepisywałem z 3 razy. Oparte całośc na obrazkach + kafelkach. Licze odleglosc klikniecie od miejsca gdzie gracz stoi i wiem w co kliknąłeś. Ogólnie masakra. Jest multi tak że widać innych graczy ale działa to jak działa. Duże problemy z wydajnością. Ja to robiłęm 3 lata a i tak dużo zostało do zrobienia. Odradzam zabawy w takie coś ;d |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) ![]() ![]() |
I to i to.
Algorytm już pokazywałem tutaj na forum. http://hernas.pl/art/5-SearchWay/ Prosta sprawa ten algorytm i wydajny niezależnie od wielkości mapy. Gra jest uruchomiona. Rejestracja: http://epicknight.com/Epicknight-registerForm/ Logowanie: http://epicknight.com/Epicknight-loginForm/ Ten post edytował bim2 7.09.2012, 18:47:15 |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 348 Pomógł: 26 Dołączył: 8.10.2008 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
3 lata mówisz? Ale nie siedziałeś nad tym non stop?
Jaki miałeś poziom wiedzy kiedy zaczynałeś tworzyć grę? Na pewno nauczyłeś się czegoś ciekawego w trakcie tworzenia gierki? |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) ![]() ![]() |
No nie cały czas. Po szkole sobie kodziłem powoli i w wakacje. Dużo nauki Javascript i Html (IMG:style_emoticons/default/smile.gif) Od strony serwera to nie za dużo. Poznanie algorytmów, obliczeń itd. Dużo pomogło w rozwoju wyobraźni i potem nie miałem problemów w szkole z czymkolwiek z matmy (IMG:style_emoticons/default/tongue.gif)
Poziom wiedzy taki że tworzyłem sobie już na zlecenie strony. Pracowałem wcześniej na 5gb bazy danych liczbowych więc z optymalizacją mysql nie miałem problemów. Zawsze się czegoś nauczysz więc warto. Jeśli masz chęci i czas. Ja mam zamiar to dokończyć bo niewiele zostało i sprzedać komuś jako gotowy silnik gry. Btw. To pociągło mnie do nauki Javy aby stworzyć MapEditora: http://hernas.pl/art/3-EpicknightDev/ Teraz spokojnie jak czegoś potrzebuje na potrzeby swoje to samemu sobie w Javie kodze. ;] |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 915 Pomógł: 210 Dołączył: 8.09.2009 Skąd: Tomaszów Lubelski/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Abstrahując od technologii to jeśli chodzi o sam design gry to polecam książkę "Grywalizacja" (org. "Gamification by Design: Implementing Game Mechanics in Web and Mobile Apps"). Podobno dobre też jest "The Art of Game Design: A Book of Lenses", ale jeszcze nie czytałem.
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) ![]() ![]() |
Design nie jest moją borszką. Plany były większe do tego projektu ale musiał zejśc na bok, a deign był zamówiony. Ale dzięki za polecenie, z chęcia przeczytam (IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
I to i to. Algorytm już pokazywałem tutaj na forum. http://hernas.pl/art/5-SearchWay/ Prosta sprawa ten algorytm i wydajny niezależnie od wielkości mapy. Gra jest uruchomiona. Rejestracja: http://epicknight.com/Epicknight-registerForm/ Logowanie: http://epicknight.com/Epicknight-loginForm/ Nieźle, nie wyrzucaj tego z serwera tak prędko, jak znajdę czas przyjrzę się bliżej (IMG:style_emoticons/default/wink.gif) Mi zajęło trochę ogarnięcie jak taki sam algorytm przerzucić na "widok" izometryczny... oraz jak napisać "sprite" który obraca się we wszytkich 8 kierunkach do tego. Ten post edytował !*! 8.09.2012, 12:01:56 |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 433 Pomógł: 64 Dołączył: 29.01.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
http://www.ludumdare.com/ - masz do inspiracji ; )
|
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 49 Pomógł: 8 Dołączył: 5.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Niestety żadna z gier w jakie grałem nie była "idealna", zawsze czegoś brakuje, zawsze mam wrażenie, że zrobiłbym coś lepiej itd... (...) jednak o wiele bardziej rozwinięte. Większy świat, więcej możliwości itp. Nic nie jest idealne (IMG:style_emoticons/default/tongue.gif) Muszę cię zmartwić, ale to co chcesz, czyli większe, bardziej rozwinięte, więcej... itd. to nie jest problem umiejętności tylko czasu i ilości pracy jaki trzeba na to poświęcić. Nawet programowanie to jest tylko wycinek pracy jaki byś musiał w to włożyć. Ja teraz robię dość prostą grę zręcznościową z małym zespołem, zawodowo po 8 godzin dziennie. I siedzimy nad tym już 8 miesięcy, a plan przewiduje, że do końca pozostało jeszcze 2. No i mamy trochę więcej doświadczenia niż przesuwanie elementu po ekranie (IMG:style_emoticons/default/wink.gif) Na pocieszenie powiem, że też tak zaczynałem, chciałem stworzyć lepszą grę niż w tą w którą grałem i najlepiej odrazu super MMO czy RPG (IMG:style_emoticons/default/wink.gif) Ogólnie moje rady są takie, najpierw odpowiedź sobie na pytanie czy chcesz programować silniki do gier, czy robić gry. Jeżeli interesują cię algorytmy podziału przestrzenii, grafy, poszukiwanie ścieżki, triangulacja, symulacja płynów, AI i inne dziwne algorytmy, implementacje systemu komponentów, eventów, procesów itd. to prawdopodobnie zainteresuje cię tworzenie silnika do gier. Jak chcesz zrobić grę to polecam zacząć na przykład od moddingu, zrób questa do Skyrima i zobacz ile to roboty. Albo wykorzystaj jakiś gotowy silnik np. Unity i stwórz jakąś prostą grę od początku do końca. Jak chcesz obejrzeć sobie kod (JS) czegoś podobnego do tego co chcesz stworyć http://browserquest.mozilla.org/ https://github.com/mozilla/BrowserQuest |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Jak chcesz zrobić grę to polecam zacząć na przykład od moddingu, zrób questa do Skyrima i zobacz ile to roboty. Albo cokolwiek co jest na silniku od ID'S, np. tech3 (quake3, ET, TCE), tech4 (q4,doom3), lub Source od valve (HL2) dobre edytory map mają te produkcje... Theqos - co to za zręcznoścówka? Coś pod przeglądarkę, chmura czy natywne? |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 592 Pomógł: 62 Dołączył: 3.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Warto obejrzeć http://www.youtube.com/watch?v=_RRnyChxijA
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 01:32 |