Gra w RoR

Cześć,
czy jest możliwość napisania gry na podobę http://www.lordofultima.com/pl/ w RoR i jakie widzicie plusy i minusy takiego rozwiązania (o ile istnieje) :wink:

Pozdrawiam

[quote=ostryhood]Cześć,
czy jest możliwość napisania gry na podobę http://www.lordofultima.com/pl/ w RoR[/quote]
tak, choć więcej niż przeciętna dawka javascriptu też będzie potrzebna

gruba kasa jeśli gra okaże się popularna

gruba kasa wtopiona jeśli gra nie będzie popularna

Wybralbys rails gdybys myslal od poczatku o skalowaniu takiej gry ? Nie lepiej jakis asynch serwer ktory serwuj co potrzeba i framework JS ktory to wyswietla ?

Pytanie brzmi “czy jest możliwość”, a nie “co bym wybrał”. Mój wbór zależałby prawdopodobnie od celu jaki miałby ten projekt. Jeśli miałby powstać pierwsza wersja jak najszybciej, to wybrałbym technologię w której mój zespół czuje się najelepiej. Jeśli miałby to być projekt hobbystyczny to wybrałbym technologię którą znam najsłabiej a wydaje się ciekawa. A jeśli miałby to być redisgn instniejącego systemu aby utrzymał większe obciązenie to być może wybrałbym “asynch serwer ktory serwuj co potrzeba i framework JS ktory to wyswietla”.

Wybralbys rails gdybys myslal od poczatku o skalowaniu takiej gry ? Nie lepiej jakis asynch serwer ktory serwuj co potrzeba i framework JS ktory to wyswietla ?[/quote]
Rails can’t scale? :frowning:

@ostryhood:
Railsy się nadadzą, ale pamiętaj, że wszystko to co będziesz walidował po stronie klienta, będziesz musiał też zwalidować po stronie serwera. Dlatego możesz się zastanowić nad użyciem node.js i dzieleniem części kodu. Jest to stosowane np. w http://www.isogenicengine.com/, dzięki takiemu podejściu nie trzeba się aż tyle napisać i wszystko piszesz w jednym języku.

Wybralbys rails gdybys myslal od poczatku o skalowaniu takiej gry ? Nie lepiej jakis asynch serwer ktory serwuj co potrzeba i framework JS ktory to wyswietla ?[/quote]
Rails can’t scale? :([/quote]
http://canrailsscale.com/ :slight_smile:

[quote=ostryhood]Cześć,
czy jest możliwość napisania gry na podobę http://www.lordofultima.com/pl/ w RoR i jakie widzicie plusy i minusy takiego rozwiązania (o ile istnieje) :wink:

Pozdrawiam[/quote]
Znam conajmniej kilka przeglądarkowych gier napisanych w Railsach (patrz np. gry firmy Wooga). Da się.

Plusy: jeżeli znasz już railsy, to nie zaczynasz od zera, tylko na początku skupiasz się na tym co piszesz, później na optymalizacji
Minusy: to co już pisał @drogus - serwer służy Ci w tym przypadku jako odczyt, zapis i walidacja danych, przy czym to trzecie dubluje się z klientem, więc musisz to pisać dwukrotnie.

Może też plusem będzie to, że nauczysz się optymalizować aplikację w miejscach, gdzie do tej pory nieszczególnie musiałeś to robić. Minusem będzie z kolei to, że jeżeli gra będzie popularna, to będziesz musiał się tego nauczyć :smiley:

Ok czyli widzę “światełko w tunelu”, zawsze można użyć php czy asp z tym drugim nie miałem praktycznie nic do czynienia :wink: ja to widzę tak

client-side
html
css
js

server-side
ruby
rails

lub php

Co sądzicie o takim zestawieniu ? Co do optymalizacji na czas tego procesu można podpiąć nowy serwer i spiąć się do optymalizacji i potem zrezygnować z dodatkowych serwerów na rzecz optymalizacji :wink:

Tak naprawdę to bierz to co Ci bardziej podchodzi. Tak jak napisałem, używając czegoś innego niż node będziesz musiał się trochę więcej napisać, ale jeżeli chodzi o wybór rails vs. php, to jest tak jak w przypadku praktycznie każdej innej aplikacji. Czego byś nie wybrał, na pewno uda Ci się zaimplementować to co chcesz, pytanie w czym wolisz pisać.

Co do skalowalności i wydajności to wiele razy już była o tym dyskusja. Wydajność != skalowalność. Ruby 1.9.3 jest szybszy od php 5 w benchmarkach: http://shootout.alioth.debian.org/u32/which-programming-languages-are-fastest.php, a jak pokazały benchmarki robione kiedyś na railsach/merbie, w php istnieje dość duży problem z tym, że kod przy każdym requeście trzeba załadować. Dlatego jak wybierasz między railsami a jakimś frameworkiem php, to nie patrz zupełnie na wydajność tylko na to co Ci bardziej podchodzi.

Gry przeglądarkowe pisze się raczej we Flashu jeżeli chodzi o front - nie sądzę, że js nadaje się do rozbudowanych gier.

A dlaczego nie?

Dobra czas brać papier i kredki :wink: Potem miliony linijek kodu ( pół miliona postów ) :wink: parę miesięcy pracy i powinno być coś widać

Po pierwsze zależy do jakich. Gry turowe typu podana w pierwszym poście lub setki innych (ikariam, travian itp. itd.) nie wymagają flasha.

Co do gier realtime, to nie jest już tak wesoło, ale przeglądarki mają coraz większe możliwości, więc wydaje mi się, że w najbliższym roku, może dwóch, spokojnie będzie można zrobić coś ciekawego, co będzie się dało odpalić na nowych przeglądarkach. Dobrym przykładem jest isogenic engine, do którego link podałem powyżej, są też inne projekty, ktore eksplorują ten temat: http://www.youtube.com/watch?v=Qlsipfu5Qq4&feature=related

Widocznie nie doczytałem, że chodzi o grę turową, fakt - js wtedy się nadaje.

Taaak, bo ActionScript i JavaScript to dwa zupełnie różne i niespokrewnione ze sobą języki :wink:

http://www.youtube.com/watch?v=SmtQOB_KFzU

To już nie jest takie oczywiste. Ten engine został jakiś rok temu kupiony przez zyngę - nie ma tu żadnego flasha, wszystko jest zrobione przy wykorzystaniu canvas. Powstają kolejne enginy tego typu, więc to już nie jest demko w stylu - zobaczcie mam 3d w canvasie, ale odpalam to na 8 rdzeniowym procku i 16GB ram, bo inaczej mi się będzie sypać. To jest prezentacja solidnego enginu, który niedługo pewnie będzie używany produckcyjnie.

@ostryhood: najpierw napisz tę grę, a później będziesz się martwił wydajnością, skalowalnością, HA itp. Jeśli gra okaże się sukcesem to będziesz mieć kasę na lepszy sprzęt i ludzi. Porównania czy rails/php czy js/flash to na chwilę obecną jest akademicką dyskusją, która będzie się toczyć w kierunku czy flash jest lepszy od JavaScript. Technologię wybierasz pod siebie:

  • w czym najlepiej się czujesz
  • czy uda Ci się znaleźć ludzi, którzy będą rozwijać projekt w danej technologii i jaka jest ich cena na rynku pracy
  • support + społeczność - czy pewnego dnia ktoś się nie obrazi i na zgłoszonego przez Ciebie buga powie ‘Od lipca do końca sierpnia jestem na wakacjach, a później mam sesję poprawkową, więc naprawię to za pół roku’
  • pieniążki
  • polityka (bo muszą być windowsy/linuksy/bsd/solarisy/cokolwiek - no bo tak)

Jeśli znasz dobrze php to piszesz w php. Jeśli znasz dobrze railsy to piszesz w railsach. No chyba, że mówimy o projekcie na którym będziesz chciał się nauczyć danej technologi i robić sztukę dla sztuki, gdzie kwestie biznesowe (czy to na siebie zarabia) nie mają znaczenia.

Taaak, bo ActionScript i JavaScript to dwa zupełnie różne i niespokrewnione ze sobą języki ;)[/quote]
Te dwa języki pomimo tego że mają wspólną bazę pt “ecmascript” nie są takie znów podobne. ActionScriptowi (od wersji 3) bliżej jest do Javy niż do Javascriptu. I tutaj zgodzę się z cytowanym kolegą: javascript nie nadaje się do bardziej rozbudowanych gier (czyt. “w as3 łatwiej zapanować nad bardziej rozbudowanym kodem niż w javascript”). Jeśli ktoś jest zainteresowany to chętnie przedstawię stosowne argumenty (poparte nie tylko suchą teorią ale także doświadczeniem praktycznym).

Ja chętnie posłucham. Chciałem się pobawić w pisanie jakiejś gierki, żeby zrobić coś innego niż do tej pory i żeby sprawdzić jakie są teraz możliwości przeglądarek.

Też chętnie posłucham, nie bawiłem się nigdy flashem poza konfigurowaniem video playerow :slight_smile: . Radarek - może coś na KRUG’a przygotujesz ? :slight_smile:

BTW. suchary - wiem - ale przyjemnie się gra:

http://www.kevs3d.co.uk/dev/arena5/

http://canvasrider.com/