# GWT - Online Browser Spiel



## Kassel (18. Nov 2010)

Hi Community,

ich bin gerade dabei die GUI für unser Projekt ( Online Spiel ) zu entwickeln. Da wir ( mein Studenten Team ) erst gerade angefangen haben, sind wir so weit gekommen dass wir die kommunikation und das einlogen zum server, hinbekommen haben ( wir müssen nur den Client entwickeln). 

Jetzt frage ich mich wie soll ich es schaffen ein SpielFeld zu erstellen ? 
Einige nützliche tips habe ich im Internet auch gefunden jedoch handelt es sich hier um GWT ( Google Web Toolkit ) somit ist die benutzung von swing, awt oder bestimten libraries ausgeschlossen.

Ich möchte ein kleines Spielfeld erstellen in isometrischer form mit kleinen kacheln, die ich dann mit bestimmten Texturen fülle.

Habe sehr viele Artikel darüber gelesen ( Tile, IsometricMap, HexagonalTile,...) jedoch waren dass alles tips zur gestaltung von normalen Java Projects keine Web Application Projects.


Wenn jemand damit schon erfahrung hat bitte ich um hilfe, denn ich bin völlig ahnungslos.
( Ich benutze zur Zeit GWT, SmartGWT )

Danke im voraus


----------



## Heady86 (18. Nov 2010)

Hi,

bei der isometrischen Form kann ich dir nicht wirklich helfen.

Aber um einzelne Kacheln in einem TileGrid mit Bildern zu füllen gibt es folgende Möglichkeit:

Du erstellst dir ein DetailViewerField mit dem type "image" und fügst dieses dem TileGrid hinzu..so kannst du einzelne Kacheln befüllen..

Also grob so (kein funktionierender Code):


```
DetailViewerField picture = new DetailViewerField();
picture.setType("image");
picture.setImageURL(....);
```

Vllt hilft dir das ja schon etwas weiter, ansonsten gibts auch viele Beispiele von Komponenten im smartGWT Showcase

grüße


----------



## Kassel (18. Nov 2010)

Hi Heady86,

also das mit dem ShowCase kenne ich natürlich schon, eine normale Grid die ich mit etwas fülle ist nicht das was ich suche.Ich habe zur Zeit auch mit Grid's experimentiert doch dass ergebniss ist einfach nicht zufriedenstellend, ist halt kein brettspiel sondern ein Strategy Spiel.
Es soll ungefähr so aussehen:

FreeCiv , halt isometrisch.

Habe hier im Forum schon ein Paar diskusionen Verfolgt, über isometrische Maps mit Triangle struktur, was natürlich auch passen würde jedoch nicht kompatibel mit GWT :S

trotzdem danke heady , mal schauen was es noch für vorschläge gibt


----------



## Marcinek (18. Nov 2010)

Ist dir klar, was GWT macht? - Irgentwie denke ich das nicht.


----------



## Kassel (18. Nov 2010)

keine sorge, GWT ist ein Cross Compiler der meinen Code in JavaScript + HTML/ CSS umwandelt, damit der Java code,  browser fähig ist, jetzt erklär du mir wo mein Fehler war ?

so weit ich weiss sind imports wie welche für swing, awt unzulässig für gwt oder warum hast du mich angesprochen ob ich weiss was gwt macht ?


Also wie schon oben erwähnt haben wir alles entwickelt server , client komunikation , interface, usw... alles läuft mich interessiert nur wie ich jetzt auf meinem Panel / oder Canvas ein isometrisches spielfeld zeichne ...


----------



## Marcinek (18. Nov 2010)

Du möchtest isometrische Grafik mit HTML, JavaScript, CSS machen, weil wie du richtig sagst genau das GWT macht. Das geht indem man die generierten Bilder entweder als ganzes oder siehe google Earth als Tiles darstellt. Das hat aber nur dahingehend was mit GWT zu tun, als das du diese Bilder damit in eine Struktur bringst. 

Mit GWT wirst du in keinsterweise es schaffen deine Anforderungen umzusetzen.

Bewegliche Bilder wirst du nur mir Flash oder Applets hinbekommen.


----------



## Geeeee (18. Nov 2010)

Marcinek hat gesagt.:


> Bewegliche Bilder wirst du nur mir Flash oder Applets hinbekommen.


...jedenfalls, wenn es sich dann auch einigermaßen flüssig verhalten soll.

Evtl. wird man mit JS an sich glücklich. Also per Hand geschrieben. Gibt ja viele kleine Demos im Netz, wo JavaScript ohne (große) Frameworks etc. genutzt wird und erstaunliche Ergebnisse zaubert was Grafik und Performance angeht.


----------



## Kassel (18. Nov 2010)

Muss euch beiden leider wiederprechen , es geht doch , z.B: DEMO

werde mich ein bisschen an dieses Konzept halten, wenn jemand doch noch etwas sieht oder kennt bitte posten.

jungs danke für die unterstützung und die hilfe ...

mal sehen vielleicht findet jemand noch etwas


----------



## Geeeee (18. Nov 2010)

Das zu interpretierende HTML-Dokument sieht gar net so schlimm aus (sind nur tausende von tiles vorhanden).
Schaut für mich wie ein rießiges div / Layer mit einem Listener aus. Die Frage ist nun, was kann mir GWT dabei helfen, was ich mit einfachen JS Mitteln nicht erreichen kann. Will ja gar nix gegen GWT (jedenfalls nicht pauschal  ) sagen, aber für deine Idee finde ich es noch immer nicht passend.


----------



## Kassel (19. Nov 2010)

Das Prolem ist ja, dass wir nicht jede beliebige Sprache nutzen dürfen, kein C, C++, usw.
wir sollen alles in Java machen ... klar, wir enutzen einen crosscompiler, aber die hauptsache ist dass wir alles in java machen ... somit kein javascript


----------



## Geeeee (19. Nov 2010)

Ok, DAS ist ein Grund 
Miese Idee: Man könnte auch den JS / HTML als String schreiben und java erzeugt einfach nur Dateien mit den Inhalten. Somit ist alles in Java programmiert. GWT macht bzgl. des Exports der kompilierten Daten ja unter der Haube dann (in eurem Fall) auch nix anderes.


----------



## Kassel (19. Nov 2010)

Hi Geeeee ( weiss jetzt nicht genau wieviele e's ) 

Das ist mir schon klar dass man sich so durchmogeln kann, jedoch ist dies nicht das Ziel dieser Veranstaltung, es muss ürgend wie möglich sein dies per GWT / Java zu realisieren.

Vielleicht hilft es weiter wenn ich sage dass wir ein bestimmtes fenster haben (1024*768) und die oberfläche darauf statisch ist ( damit meine ich: es wird nicht skaliert und man bewegt mit der maus nicht die map) ... die map hat eine standard grösse und die ist ganz im fenster sichbar ( ist halt ganz klein ) - vielleicht könnte ich ein hintergrund bildchen machen ( map in PS zeichnen ) ne normale grid drüber legen ( sehr fein , wie eine matrix (100*100) ) und die figuren dort innerhalb der grid zellen zeichnen ... dass ist meine letzte chance - jedoch so etwas möchte ich nicht es muss bestimmt ein bisschen cleverer gehen

...

wenn jemand noch eine idee hat bitte schreiben ( eventuell... mal schreiben ob die obige lösung, doch nicht clever ist )

EDIT: ne dass mit hintergrundbild wird nicht klappen ... map wird vom server gegeben, glaube koordinaten die man dann interpretieren muss und die map daraus bauen muss - werde mich noch kurz informieren


----------

