# browsergame anfangsschwierigkeiten



## weljo (4. Sep 2010)

Hi leute wollte schon seit langem mal ein Browsergame schreiben und hab jetzt entlich zeit es umzusetzen. Bevor ich jedoch starte möchte ich noch ein paar allgemeine sachen abklähren. Also einfach mal drüberlesen und die meinung posten ob das so gut realisierbar ist.

Zum Spiel:
Ist ein strategiespiel welches eigentlich nur auf tabellenkalkulationen basiert. Bis auf ein paar bilder hat es eigenlich keine grafik. Vom prinzip her so was ähnliches wie ogame, die-stämme, ec. Diese art von spielen zählt zu den mmog's(massive muliplayer online game). Viele dieser spiele sind mit PHP programmiert, jedoch habe ich eine gewisse abneigung gegen die "sprache".

Werde mal einfach posten wie ich mir das jetzt so vorstelle und sollte ich einen denkfehler haben, oder ihr verbesserungsvorschläge bitte bescheidsagen.

Wollte ursprünglich alles richtig schön ausschließlich mit objecten machen, bin jedoch draufgekommen, dass mir das viel zu viele ressourcen frisst wenn ich jeden besitze(dörfer, häuser, krieger ec.) eines angemeldeten speiler als object anletge. Deshalb werd ich zwar alles schön in in classen strukturieren, welche keine attripute besitzt(die sind in der db) und alle methoden static sind.

verwendete Software:
-linux!!!
-apache
-Servlets (weis nicht ob JSP mitverwenden sollte)
-Java-script (wird nur wenig zum einsatz kommen; für so sachen wie live die rohstoffe raufzählen)
-MySQL (bin für andere vorschläge offen; performance währe halt wichtig)

Wo ich mich nochnicht wirklich auskenne ist, wie ich die benutzer verwalte wenn ich online bin. Hab zwar ideen mit cookies, zu dem thema gibts jedoch sicher bereits ganz saubere lösungen. Währe froh wenn mir da jemand einen guten link, beispeil ec. posten kann hab bisher nicht wirklich brauchbares gefunden.

Mit den Servlets schick ich ja immer die ganze seite; kann ich das irgendwie anders gestalten, da mein menü ja eigenlich immer das selbe ist. Sind zwar nur ein paar kleine zeilen, sollten jedoch viele user sein nimmt auch das bandbreite weck

freu mich schon auf kritiken ec.


----------



## Anonnyym (5. Sep 2010)

> Mit den Servlets schick ich ja immer die ganze seite; kann ich das irgendwie anders gestalten, da mein menü ja eigenlich immer das selbe ist. Sind zwar nur ein paar kleine zeilen, sollten jedoch viele user sein nimmt auch das bandbreite weck



Also einen Teil nachladen also AJAX. Wenn ich du wär und du das mit Java machen willst würd ich GWT nehmen (Google Web Kit)
Das generiert dir aus Java code Javascript.  Unter anderem enthält es komplett fertige Codeteile für Asynchrone Kommunikation zwischen Server und Client. Also AJAX.

Is zwar nochmal ne heiden Arbeit da dahinter zu steigen aber du lernst irrsinnig viel und GWT ist 100% brauchbar und ein Traum für Entwickler ;-) (Für mich find ich halt, GWT hat zukunft  )

Somit würdest du dann Java programme im Backend benutzen die für dich die spieler verwalten bzw aktionen durchführen. Dein Servlet (das von GWT generiert wird) dient dann nur als schnittstelle von client und backend. und im Frontend setzt du dann Javascript HTML und CSS ein welches auch das GWT generiert. Somit musst du wenig mit servelts rummachen und die möglichkeiten sind meiner meinung nach auch mehr  

Wegen Performance: Fällt MySQL eh schon weg, auch weil es dort keine Möglichkeit gibt auf Fehler während querys zu reagiern. Is eher PostgreSQL angesagt. Eigene Programme im Backend haben den Vorteil das man sie dann auch Clustermäßig in verschiedene Dienste aufteilen kann und über mehrere Rechner verteilen. Bzw andere Sprachen, zum Beispiel C++ wenns mal schnell gehn soll 

Du siehst also weshalb viele auf PHP und auf MySQL setzen. Weils einfacher ist 
Viel spaß dabei.

mfg


----------



## weljo (16. Sep 2010)

wtf, gwt ist ja ein gewaltiges ding. Muss echt sagen super sache. Gibts da noch irgend einen haken? so dass ich gewisse lizenzen verwenden muss wenn ich damit arbeite, oder ist es absolut freeeee?

ps: wens interessiert auf youtube sind recht gute tutorials für jeden gwt neueinsteiger


----------



## MrWhite (17. Sep 2010)

Anonnyym hat gesagt.:


> Wegen Performance: Fällt MySQL eh schon weg, auch weil es dort keine Möglichkeit gibt auf Fehler während querys zu reagiern. Is eher PostgreSQL angesagt. Eigene Programme im Backend haben den Vorteil das man sie dann auch Clustermäßig in verschiedene Dienste aufteilen kann und über mehrere Rechner verteilen. Bzw andere Sprachen, zum Beispiel C++ wenns mal schnell gehn soll



Selten so einen bullshit gelesen!

1.) MySQL ist performanter als PostgreSQL. Die Datenbanken unterscheiden sich konzeptionell.
2.) Das mit der Fehlerbehandlung bei Queries....was meinst du damit? Was kann des Postgres was MySQL nicht kann?
3.) Du schreibst: "Eigene Programme im Backend haben den Vorteil das man sie dann auch Clustermäßig in verschiedene Dienste aufteilen kann und über mehrere Rechner verteilen. Bzw andere Sprachen, zum Beispiel C++ wenns mal schnell gehn soll".

Klar, dafür nimmt man ja dann Enterprise Java und Enterprise Java Beans, damit das ganze mit der Last skalieren kann. C++ nimmt man heute meistens nicht für sowas. Der Entwicklungsaufwand ist teurer als die Hardware. Software ist doch nicht automatisch clusterfähig!


----------

