Browsergame, Ruby on Rails, PHP…?

L

Luinechor

Neues Mitglied
Thread Starter
Dabei seit
02.05.2009
Beiträge
13
Reaktionspunkte
0
Huhu,

ich habe vor ein kleines Browsergame zu programmieren (bitte nichts hier zu sagen, ich bin mir allen Vor- und Nachteilen eines solchen Projektes, sowie dessen Aufwand bewusst).

Ich bin nun allerdings verwirrt, was die Technik angeht. Ich hatte zuerst vor das ganze mit HTML, CSS, PHP/MySQL und JavaScript zu verwirklichen, bis ich dann einiges von Ruby on Rails gehört habe, allerdings blicke ich da nicht wirklich durch. Ich weiß, dass ROR ein Framework ist, aber wie genau das funktioniert, das weiß ich nicht. Ich hab' mir verschiedene ROR-Websiten angesehen, in denen mal eben per Konsole ein neues Objekte (= Post) erschaffen wurde und man dieses in der Website gleich bearbeiten und neue Posts etc. hinzufügen kann. Das sah' schon ziemlich gut aus, aber durchgeblickt hab' ich da nicht.
Findet die 'Programmierung' bzw. eher Erstellung von Klassen/Objekten nur in der Konsole statt? In einem Screencast wurden auch verschiedene .rb-Dateien bearbeitet (dessen Syntax mir schleierhaft erschien), und ein kleines Blogsystem erstellt, aber mir ging das zu schnell.
Deswegen einfach mal kurz:
Ist Ruby on Rails für die Programmierung eines Browsergames geeignet? Und inwiefern benötige ich dann HTML, CSS und JavaScrip
t (bzw. wo kann ich das in ROR einsetzen)?
Die Seite muss ich ja irgendwie strukturieren (HTML) und gestalten (CSS; JavaScript).

Oder empfehlt ihr mir den 'normalen' Weg mit PHP und MySQL?

Ich habe bisher Erfahrung mit C++, Java, HTML, CSS, JavaScript und ein klein wenig PHP/MySQL (genug, um kleine Dinge in CMS' anzupassen).

Grüße,
Luinechor
 
Eine leistungsstarke IDE für Ruby on Rails ist Aptana Studio mit Radrails Erweiterung. RoR unterscheidet ein strenges MCV-Konzept, die Views (rhtml) werden in HTML, CSS, Javascript programmiert, die Controller und Modells (.rb) in Ruby. Ruby kennt ähnliche Konzepte wie Java oder C++, die Syntax unterscheidet sich nur etwas. Wenn man Objektorientierung generell versteht sollte die konkrete Ruby-Syntax schnell erlernbar sein.

Ich empfehle niemanden mehr den Weg über PHP, schon garnicht wenn er mehr als eine "normale" Webseite erstellen will. RoR geht den vernünftigen OO-Weg, wie auch Java, aber ohne den enormen Overhead zu produzieren.

Es gibt einige gute RoR Einsteigerbücher, guck dich mal bei Amazon um.
 
Django und Python sind dafür meiner Meinung nach besser geeignet. Du hast den Vorteil: rechen Intensive Funktionen in C realisieren zu können
 
Django und Python sind dafür meiner Meinung nach besser geeignet. Du hast den Vorteil: rechen Intensive Funktionen in C realisieren zu können

Was hat nen Browsergame für rechenintensive Funktionen? Das meiste wird in intelligenten SQL-Statements liegen.
 
Wow, danke schon mal für die schnellen Antworten!

@alexzero
Das hört sich schon ziemlich gut an. Mit der OO bin ich ziemlich vertraut (perfektes Beispiel wäre ja Cocoa + Objective-C, das hatte ich oben vergessen zu erwähnen). Zumal man so dann auch die Teile sehr gut trennen kann bzw. muss, was bei PHP etwas anders wäre (Controller und View).

Wie sieht das mit Webspace aus? Benötige ich einen eigenen Root, auf dem ich dann Ruby und ROR installieren muss, oder gibt es auch schon gute Angebote, wie z.B. bei strato, OVH o.ä.? Einen Server werde ich nämlich nicht betreiben können (Bin erst 17 und Schüler, da ist's mit dem Geld knapp).

@TingelT
Ist Python nicht eher für Desktop-Anwendungen gedacht? Django sieht aber auch recht gut aus (was ich so auf den ersten Blick erkennen kann), und geht scheinbar nach einem ähnlichen MCV-Konzept vor. Du hast bisher ja nur einen Vorteil aufgeführt, eben die Möglichkeit Code in C realisieren zu können, ist aber zu vernachlässigen. Aber wie sieht's mit den Nachteilen gegenüber ROR aus? Welche würdest Du dazu aufführen (wenn Du Django/Python schon genutzt hast)?

Grüße,
Luinechor
 
@alexzero
Das hört sich schon ziemlich gut an. Mit der OO bin ich ziemlich vertraut (perfektes Beispiel wäre ja Cocoa + Objective-C, das hatte ich oben vergessen zu erwähnen). Zumal man so dann auch die Teile sehr gut trennen kann bzw. muss, was bei PHP etwas anders wäre (Controller und View).

Wie sieht das mit Webspace aus? Benötige ich einen eigenen Root, auf dem ich dann Ruby und ROR installieren muss, oder gibt es auch schon gute Angebote, wie z.B. bei strato, OVH o.ä.? Einen Server werde ich nämlich nicht betreiben können (Bin erst 17 und Schüler, da ist's mit dem Geld knapp).


Du kannst natürlich virtuelle Hosts mit Debian nehmen und entsprechend nen RoR-Server aufsetzen. Die fange ja eigentlich schon bei 5€/monat an. Es gibt aber auch fertige Installationen. z.b. http://www.railshoster.de/

Entwicklung und Tests würde ja erstmal auf deiner lokalen Maschine laufen, sofern brauchst du den Server aktuell ja auch noch nicht.
 
Zuletzt bearbeitet:
Wunderbar.
Habe mir Aptana Studio + RadRails heruntergeladen und ein bisschen damit herumprobiert. Habe auch ein OpenBook zu ROR entdeckt, sowie ein englisches Buch, welches es auch als .pdf kostenlos gibt, dazu.
Werde ROR nun erst mal für eine kleine Website eines Gebrauchtwagenhändlers verwenden, um zu sehen, wie leicht man damit Projekte verwirklichen kann.

Danke für die Antworten!
Grüße,
Luinechor
 
alexzero schrieb:
Ich empfehle niemanden mehr den Weg über PHP, schon garnicht wenn er mehr als eine "normale" Webseite erstellen will.

:faint: RoR ist ein ganz normales Werkzeug so wie andere auch und auch mit PHP und zug. Framework ( etwa CakePHP,Symfony oder Zend) kann man ganz genauso Probleme lösen. Formale Sprachen sind keine Fußballvereine sondern Werkzeuge die man zur Problemlösung nutzen kann.

Die Frage die sich mir stellen würde ist eher: Muß ich das Werkzeug wechseln um ein Projekt zu lösen oder nehme ich mir ein Projekt vor um ein anderes Werkzeug zu testen. Luinechor scheint eher letzteres vor zu haben und das ist immer gut, Ruby ist ein schönes Werkzeug und ja damit geht was mit PHP geht ebenfalls. RoR ist dabei das Framework der Wahl :)
 
Hier hast du ein OpenBook zum Theman Ruby on Rails: http://openbook.galileocomputing.de/ruby_on_rails/
Einfach einlesen.

Wenn du deine Ruby on Rails Anwendung kostenlos hosten lassen möchtest, schau dir mal http://heroku.com an. Der Blossom-Plan sollte am Anfang deinen Ansprüchen genügen. Wenn du dann "produktiv" wirst, kann du dir immer noch einen VPS, Server etc. mieten.
 
@tafkas
Danke für den Tipp mit Heroku, könnte sicher nützlich sein.

@wegus
Richtig, ich werde bzw. habe mir erst mal ein Projekt vorgenommen, um ein bestimmtes Werkzeug - in diesem Fall ROR - zu testen. Für das Browsergame war es eher die Frage eins - ich habe ein bestimmtes Projekt und habe ein Werkzeug gesucht.
 
Hi,

was für eine Art von Spiel soll das denn werden?
 
Was hat nen Browsergame für rechenintensive Funktionen? Das meiste wird in intelligenten SQL-Statements liegen.

Also ich kennen jemanden der ein Browsergame programmiert hat. War so ein Weltraumteil wo man dann Raumschiffe, Planeten, Resourcen und vieles mehr hatte. Dort hat die Berechnung scheints mehrere Sekunden gebraucht um die aktuellen Werte zu haben. Er hat ein Plugin geschrieben und die Rechnung in C ausgelagert, schon wars nach nichtmal einer halben sekunde durch.

Kommt also immer drauf an, was dies für ein Browsergame ist.

EDIT:
@TingelT
Ist Python nicht eher für Desktop-Anwendungen gedacht?

Nein, Python ist sicherlich nicht nur für Desktop Anwendungen gedacht. Python ist mit den ganzen Framework und Wrapper Klasse für alles Mögliche eine sehr mächtige Programmiersprache die vorallem für Anfänger gut geeignet ist. Mit Python kannste quasi fast alles machen. Man kann damit sogar embedded programmieren, oder Funtionen in Postgres und und und.
 
Zuletzt bearbeitet:
Aus dem Bauch raus: Nimm das, was Dir am wenigsten Furcht einflößt. PHP wird einen guten Job machen. Sehr flexibel, einsteigerfreundlich, überall verbreitet und Du kommst schnell zu Ergebnissen. Wie hier schon anklang, sollte man sich wohl exzessiv um gutes Caching usw. kümmern.
 
Hi, was für eine Art von Spiel soll das denn werden?

Das weiß ich noch nicht - auch, wenn wir schon ein paar Spielkonzepte vorhanden sind. Es ist auch nicht sicher, ob das Browsergame überhaupt programmiert bzw. fertig gestellt wird, da wir momentan zu Lernzwecken
Spiele programmieren, wie z.B. einen 2D-Spaceshooter, welcher aber auch einige Features beinhalten soll. Danach ein Jump'n'Run und danach ein Rollenspiel, so dass wir uns leicht steigern.

Nebenbei werden dann noch kleinere Dinge fertig gestellt, wie ein paar Websites (z.B. die des Gebrauchtwagenhändlers, hier wird auch HTML, CSS, JavaScript und ROR genutzt) oder Dashboard-Widgets.
www.lycron.de - wenn ich das so nennen darf. (noch in Entwicklung)

Und ein Browsergame würde ziemlich viele Inhalte der Webentwicklung/programmierung beinhalten. Mir geht's darum so viel Erfahrung wie möglich zu sammeln, da ich noch 2 Jahre Schule vor mir habe und dann studieren möchte.

@newkid
Mh, mal sehen. Da erst mal ein Designdokument erstellt werden muss, bevor die Programmierung überhaupt anfängt, sieht man ja dann, was alles berechnet werden muss und kann abwägen, was man nutzen sollte.

@jazzyjeff
Danke, wird mir sicherlich behilflich sein.
Ruby hatte ich mir schon mal angesehen. Wird wohl auch kein Problem sein, zu dieser Sprache zu wechseln, man muss sich halt immer nur kurz an die Syntax und ggf. bestimmte anders gelöste Dinge gewöhnen.

@der_Kay
Mh, da ist's einerseits ROR und einerseits PHP.
Ich denke, dass man mit ROR schneller am Ziel ist, wenn man's mal kann, aber vor allem anfangs gibt's so viele Dinge, die einen bombardieren, dass man sich erst mal einen Überblick verschaffen muss. Aber spätestens dann sollte man damit ziemlich viele Dinge sehr leicht regeln können.
 
Hi,

ich wundere mich, dass noch niemand Flash genannt hat. Wie möchte man denn mit Ruby on Rails oder gar PHP beispielsweise ein Jump'n'Run hervorzaubern?
 
Oh, ja, mit Spaceshooter, Jump'n'Run und ähnliches geht's mir nicht um die Webentwicklung. Das wird mit Hilfe von C++ und SFML entwickelt und läuft so mit auf allen Plattformen.

Browsergame geht eher in Richtung Ogame oder Space-Pioneers.
 
Zurück
Oben Unten