![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 31.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam was serdecznie, nawet nie wiem jak ten temat napisać po polsku... Noszę się wreszcie z zamiarem napisania gry www, która od dawna mi już chodzi po głowie, problemem którego nadal nie wiem jak rozwiązać jest uruchamianie operacji na bazach danych (po uprzednim dokonaniu obliczeń) po stronie serwera, bez konieczności inicjacji zadania przez użytkownika. CRON odpada, bo za wolny i zdaje się nie tak dokładny, operacje muszą się odbywać co do sekundy i być bardzo szybkie, zakładając iż będzie tego po kilkaset w ciągu sekundy... Stąd też, nawet nie wiem czy jestem wstanie coś takiego w PHP napisać, czy też muszę wrócić do programowania w C++... Ale przecież to użytkownicy będą inicjować te operacje, po prostu obawiam się że DATE + czas będzie za wolny... Zakładając że będzie dużo użytkowników (IMG:style_emoticons/default/smile.gif) Zna ktoś może jakieś lepsze rozwiązanie?
Pozdrawiam. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat CRON odpada, bo za wolny i zdaje się nie tak dokładny, operacje muszą się odbywać co do sekundy i być bardzo szybkie Pod jakim względem za wolny? Możesz jeszcze spróbować skryptu w SH, jest na Sieci przepis. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 31.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
CRON jest dobry gdy ma się kilka zadań, ale nie gdy są ich setki, z tego co mi wiadomo, dość mozolnie pracuje i potrafi znacznie obciążyć procesor niestety. Na unixie trochę kiedyś pracowałem, jednak zbyt mało aby coś powiedzieć, musiałbym poczytać, nie mniej,czy dałoby się zrobić łatwą komunikację z przeglądarką? Hm... Coraz bardziej wracam do pomysłu wykorzystania DATE + czas, nie wie ktoś przypadkiem na ile ta instrukcja obciąża serwer? Bo nie będę ukrywać iż optymalizacja będzie dla mnie istotna, na początek będzie musiał wystarczyć duron 800, na nic więcej póki co mnie nie stać (IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
CRON jest dobry gdy ma się kilka zadań, ale nie gdy są ich setki, z tego co mi wiadomo, dość mozolnie pracuje i potrafi znacznie obciążyć procesor niestety. No to właśnie nim zrobisz setki zadań. Cronem uruchamiasz skrypt php i on sobie coś robi. Więc prędkość zależy od skryptu jaki napiszesz. Poza tym nie do wszystkiego musi być cron. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 31.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Tyle że CRON odpala się co 5 minut, najwyżej co minutę, a będę potrzebować dokładności do sekundy...
|
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 31.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Bosko! Dzięki, będę się tym bawić (IMG:style_emoticons/default/smile.gif)
No niestety, ale to wstrzymuje wszystkie operacje i użytkownik by musiał czekać np. 2 godziny, aż powiedzmy wykona się misja, zanim cokolwiek innego zrobi (IMG:style_emoticons/default/winksmiley.jpg) |
|
|
![]()
Post
#8
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Czy ty masz jakiekolwiek pojęcie jak się tworzy gry via www? To nie jest zdanie " O zrobie sobie grę" jak nie masz podstaw ( a widać, że nie masz, a tym bardziej głowy). Wiesz co to jest w ogóle cron? Masz jakiekolwiek pojęcie od czego zacząć w grze www? My ci całościowego kursu nie udzielimy.
Ten post edytował wookieb 31.08.2009, 22:17:54 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 112 Pomógł: 15 Dołączył: 2.02.2007 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli myślisz, że takie gry jak ogame są oparte o odświeżanie w każdej sekundzie danych kilkunasty tysięcy użytkowników to IMHO się mylisz (IMG:style_emoticons/default/smile.gif) Jeżeli, tak jak piszesz, użytkownik np. o 15:00 zaczyna wykonywać jakąś misję, która trwa np. godzinę, to nie ma sensu przez całą godzinę lecieć po sekundzie i sprawdzać czy może akurat teraz nie powinna zakończyć się ta misja. Po prostu, gdy użytkownik odświeży stronę (lub zaloguje się ponownie, bo godziny może nie wytrzymać przy grze przeglądarkowej (IMG:style_emoticons/default/smile.gif) ), może to być np. o 16:15 to sprawdzana jest kolejka czynności, które zostały zapisane do wykonania o określonej godzinie a czas ich zakończenia porównywany jest z czasem aktualnym i wywoływane są te akcje, które powinny być już zakończone w przeszłości. Wtedy np. po zalogowaniu może zostać wykonanych kilkanaście zaległych akcji i nie ma problemu, bo wysyłając jakiekolwiek komunikaty do użytkownika podaje się "zaplanowany" czas wykonania danej akcji a nie rzeczywisty (czyli czas zalogowania) co daje wrażenie ciągłego działania konta w grze, nawet gdy jesteśmy nieaktywni.
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 31.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Właśnie myślałem nad takim rozwiązaniem, trochę tabel relacyjnych i faktycznie można w ten sposób zrobić. Nie byłem pewien, z racji iż łatwo pomieszać kolejność zadań, ale po prostu będę musiał nad tym pomyśleć, dzięki za dobre wytłumaczenie, najważniejsze że już wiem jak to zrobić, reszta z czasem (IMG:style_emoticons/default/winksmiley.jpg) Naprawdę jestem wdzięczny, bo to mnie dość trapiło, resztę oprę na JavaScript + AJAX, to też piękne narzędzie (rzecz jasna też PHP i PostGresSQL, bo to zdaje się jest lepsze dla dużych baz danych). Dopiero od 3 miesięcy piszę w PHP, wcześniej C++, szczęśliwie składnia prawie identyczna, tylko że łatwiej (IMG:style_emoticons/default/smile.gif) Zdążyłem już pokochać ten język, o pracy na tablicach nie wspominam, po prostu bajka (IMG:style_emoticons/default/biggrin.gif) Gdyby jeszcze tylko światła dziennego nie ujrzał IE 6.0, a najlepiej w ogóle IE, to już cały byłbym szczęśliw (IMG:style_emoticons/default/winksmiley.jpg)
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 561 Pomógł: 72 Dołączył: 15.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Temat już chyba skończony, więc zaczne offtop.
A co ma IE do PHP ? (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 426 Pomógł: 32 Dołączył: 24.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Misiu a nie lepiej użyć sobie np takiego pythona on przetrzymuje wszystko w pamięci i co jakiś czas robić flush do bazy danych? I udostepniać z poziomu pythona SOAP dla PHP?
Tylko nie odpalaj pythona jako moduł do apacha bo wtedy to traci sens. Btw. Serwer na taką gierkę i tak będziesz potrzebować dedykowany więc instalacja pythona na nim to nie problem (IMG:style_emoticons/default/smile.gif) Ten post edytował deirathe 1.09.2009, 06:28:20 |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 31.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Deirathe, to widzę że muszę poznać Pythona (IMG:style_emoticons/default/smile.gif) Broniłem się przed nim zawsze, ale jeśli potrafi robić okresowo zapis do bazy danych, to z pewnością jest to dużo wydajniejsze rozwiązanie. Z resztą miałem właśnie pytać, czy nie da się robić operacji na bazie danych w pamięci, bo na szybkie dyski to mnie stać na początku nie będzie... A ram nie jest taki drogi, a znacznie szybszy. I tak, będę to stawiać albo na własnym sprzęcie, albo wynajmować cały wirtualny serwer, za 10 euro na miesiąc jest już taki 1Ghz, na 100Mbit łączu, co wcale nie wypada źle. A i tak instalują to co Ty chcesz (IMG:style_emoticons/default/smile.gif)
Też mały offtop, ale z tym związany, zawsze wydawało mi się iż czas dostępu to czas, który dysk potrzebuje aby dobrać się do informacji. Nowe dyski flash`owe mają w danych wpisane 0,2 ms, jednak z tego co wiem, właśnie na długość dostępu do różnych plików nie ma sensu jeszcze ich stosować na serwery. Z pewnością jakieś pojęcia mylę, wie ktoś może jakie? (IMG:style_emoticons/default/smile.gif) Krowal, to tylko ze względu na to, iż CSS jest dla mnie zupełną nowością i nie mogłem się powstrzymać od komentarza, bo myślałem że mnie szlag trafi przy ostatnim projekcie, gdy sobie wymyśliłem na przykład position: fixed (IMG:style_emoticons/default/winksmiley.jpg) . Czy też slideDown w javaScript i zobaczyłem jak to chodzi na IE 8.0... Ten post edytował Karwoch 1.09.2009, 12:31:55 |
|
|
![]()
Post
#14
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
O boże. nawet css-a nie znasz a chcesz się brać za gry. To tak jak pisanie gry w c++ znajac tylko petle...
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 31.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Napisałem symulację ruchu pieszych w C++ to i napiszę to. CSS jest prosty (irytujące jest tylko brak standardów dopiero wchodzą, to jak pisanie pod linuxa i windowsa naraz z lekką przesadą tego przykładu (IMG:style_emoticons/default/winksmiley.jpg) ), PHP w stosunku do C++ też jest prosty, o HTML`u, SQL`u nie wspomnę. JavaSript i AJAX to wręcz sama przyjemność pisania. A jak Ty się nauczyłeś pisać programy, pisząc, czy poddając się, ooo nieee, to za trudne dla mnie!? (IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 426 Pomógł: 32 Dołączył: 24.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli chodzi o tworzenie gier to nie chodzi tylko o programowanie, pozostaje Ci kwestia grafiki(bardzo ważna), grywalnośc (kolejny ogame to katastrofa będzie- nic szczególnego) no i dużo innych. Apropos pythona - język stosunkowo prosty, dostępna jest obszerna dokumentacja, dużo polskich publikacji- także to nie problem, problem jest że zaczynając programować/uczyć się jakiegoś języka rzucać się odrazu do pisania gier bez podstawowej znajomości architektry języka to jakbyś próbował chodzić zimą w klapkach po cieńkim lodzie w samych gaciach:P To się źle skończyć może dla Ciebie lub środowiska- oczywiście nie staram się tu ubliżać Twoim umiejętnością.
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 31.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Pomysł na gierkę to już mi chodzi po głowie od bardzo dawna i jest to coś, czego właśnie jeszcze nigdy nie widziałem w necie, dość rozbudowany, także mało pisania na pewno nie będzie. Grafika szczęśliwie też mam, dla którego zrobię stronę, a w zamian on mi grafikę do mojej. I nie spodziewam się że pierwszy projekt będzie dobrze chodzić, w najlepszym wypadku w połowie zacznę pisać od nowa. Ale jedno co wiem że potrafię, to wymyślać ciekawy pomysł na MMoRPG, z racji iż w postaci aplikacji, to 10 miliardów złotych nie starczy, zostaje mi przeglądarka, ale to ostatnimi czasy zyskuje sobie coraz większą popularność. Symulację ruchu pieszych pisałem rok, ale było warto, nauczyłem się naprawdę sporo. To był mój pierwszy projekt w OpenGL i pierwszy tak duży program w C++, ale dało się, chodziło, dało się robić badania na tym, zmieniać układ pomieszczenia, z udziałem do 200 ludzi naraz (IMG:style_emoticons/default/smile.gif) . Wiem że jak podejmę normalną pracę, to tego projektu nigdy nie skończę, po pracy takiego molocha pisać, to tylko sfera marzeń, także albo teraz zrealizuje swoje marzenie, albo nigdy (IMG:style_emoticons/default/smile.gif)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.09.2025 - 01:21 |