# Mit Java auf dem Mac anfangen



## Marciboy (30. Sep 2011)

Hallo Java-Freunde,

Ich möchte nun mit dem Java-Programmieren anfangen. Dabei möchte ich mich auf Online-Spiele spezialisieren. Es sollen keine aufwendigen sein, sondern welche wie z.B. Shakes vs. Fidget oder Cityville (Wers aus Facebook kennt). 

Meine Fragen nun:

Welche Pogramme brauche ich dafür ?

Ich bin auf Mac OSX 

Vielen Dank schon einmal im vorraus!


----------



## Evil-Devil (30. Sep 2011)

CityVille und Co sind nicht gerade kleine Spiele. Die Clients der Spiele sind in Flash realisiert und saugen sich die Grafiken. Dahinter steht in der Regel eine kleine bis große Serverfarm die von einer Java Enterprise Architektur gesprägt wird. 

Welche Programme du benötigst hängt in erster Linie davon ab wie dein Spiel realisiert werden soll und das müsstest du zunächst einmal für dich selbst definieren.

//edit:
@Eclipse: Du könntest dein Online-Spiel auch mit einem ganz normalen Text-Editor schreiben.

Vielleicht solltest du dir zunächst darüber in klaren werden, das bei einem Projekt wie einem Online-SPiel sehr viele Komponenten miteinander verbunden sind.

Also Client, Server, die Kommunikation zwischen selbigen. Datenbank zur Verwaltung der Spieler und Spieldaten, etc.


----------



## Marciboy (30. Sep 2011)

EDIT: 

Noch eine kleine Frage: Ich möchte für das Programmieren Eclipse verwenden. Aber es gibt soooo viele Versionen. Welche eignet sich für Online Spiele ?


----------



## Marciboy (30. Sep 2011)

Ok, vielleicht habe ich mich falsch ausgedrückt. Ich meine keine Spiele wie COD oder so wofür man vielleicht 100 Programmierer braucht. Es sollte etwas sein, was man zu zweit schaffen sollte. Also basieren die Internetspiele auf Flash ? Wie heißt die Programmiersprache zu Flash ? auch Flash?

Ich dachte immer Java wäre das ;D


----------



## Evil-Devil (30. Sep 2011)

Jedes Internet Spiel basiert auf einer von vielen Technologien.

Die Clients sind zur Zeit häufig in Adobe Flash erstellt worden. Die Skript-Sprache die man innerhalb der Flash-Umgebung nutzen kann nennt sich ActionScript und ist derzeit in Version 3 verfügbar. Neben den Spielen die einen Flash basierenden Client haben, gibt es noch die SPiele die HTML 5 (Canvas, WebGL) nutzen und sehr viel bzw. ausschließlich JavaScript auf der Client-Seite nutzen.

Die Server-Seite hingegen rangiert von allem was die eigenen Fähigkeiten hergeben. Zb. Java, Python, C#, uvm.

Zu CityVille und Co hatte Zynga mal einen Artikel geschrieben. ICh weiß nicht mehr welches SPiel es war, ich meine sogar CityVille. Das wurde mit ca 12 Leuten innerhalb von 6 Wochen entwickelt und von da an stetig überarbeitet und vorangebracht.

Es ist zwar nicht unmöglich mit nur zwei Leuten ein Spiel zu erstellen, das beste Pro Beispiel ist wohl Minecraft (ursprünglich ein 1 Mann Projekt), aber das kostet alles seine Zeit und vor allem eine ganze Menge Fachwissen.

Zusätzlich zu all der Programmierung müsst ihr die Grafiken erstellen. Sei es in Photoshop, Gimp, einem beliebigen 3D Programm, etc. Also viel Arbeit


----------



## Marciboy (30. Sep 2011)

Danke erstmal für deine Hilfe 

Also Insgesamt sind wir 4. 2 Programmierer, 1 Zeichner und noch einer, der viele Ideen hat. Das es viel Zeit kostet ist uns klar, aber wir wollten das ganze auch nicht in 6 Wochen machen. Wir treffen uns halt einfach mal und schreiben den Code immer und immer weiter..

Was empfiehlst du für Online-Spiele ? Flash oder Java-Scribt ? 

Danke erstmal für deine Hilfe


----------



## Marciboy (30. Sep 2011)

Upsala Doppelt Danke. Naja, warum nicht ein drittes mal ? 

Danke ^^


----------



## Kr0e (30. Sep 2011)

Du musst kein Flash nehmen (Kostet glaub ich auch, oder ?). Java reicht für ein derartig dimensioniertes Spiel aus. Nimm doch einfach OpenGL und lass es als Applet laufen oder evt mit JavaWebstart. Dann kannst du dich auf eine Programmiersprache stützen (Für den Anfang). Datenbanken sind für sehr klein dimensionierte Spiele auch erstmal nicht wichtig. Aber ohne genauere Beschreibung deines Wissensstands kann man hier auch nur begrentzt qualifizierte Tipps geben.... (Wenn du sagst du fängst GRAD erst an und hast quasi 0 Wissen über Progrmamierung, dann : Lass es, mach dich mit den Technologien dahiner vetraut. Ein Spiel oder gar iwas viel kleineres erfordert fundiertes Wissen und wenn du was mit Netzwerk machen willst, dann wirds nochmal etwas schwerer...)


----------



## Marciboy (30. Sep 2011)

Da hsst du recht, aber ich möchte gerne wissen, welche Prorammiersprache sich für Online-Spiele eignet, damit ich sie lernen kann.


----------



## Marciboy (30. Sep 2011)

Ach ja, ich habe mit HTML selbst beigebracht, aber ich glaube das bringt mir herzlich wenig


----------



## Kr0e (30. Sep 2011)

Also Java eigent sich durchaus dafür aber Flash aka ActionScript vlt besser bzw weniger Probleme... Aber da du hier in einem Javaforum bist würde ich einfahc mal vorschlagen: Java ;-) (Speziell dann Applets)


----------



## homer65 (30. Sep 2011)

Vielleicht solltest du dir erst mal kleinere Ziele stellen.
Bist du soweit bist ein komplexes Spiel zu programmieren können Jahre ins Land gehen.


----------



## Marciboy (30. Sep 2011)

Ok, ich frage einmal anders. Mit welcher Programmiersprache kann man Online-Spiele gut programmieren??? 

Ich möchte nur eine Sprache um sie dann zu lernen. Natürlich kann man nicht nach einer Woche ein komplexes Spiel programmieren. Das ist klar


----------



## Gastredner (30. Sep 2011)

Es gibt keine "optimale" Sprache. PHP wird gerne genommen, da man es wohl relativ einfach lernen und damit schnell etwas erreichen kann (was aber wohl häufig auf Lasten der Codequalität geschieht - außerdem finde ich PHP hässlich). Auch mit Java kann man Onlinespiele schreiben, sogar auf diverse Art und Weise: als Applet, als WebStart-Anwendung (wobei das aus meiner Sicht dann zumindest kein Browsergame mehr wäre), mit JSP/JSF/Wicket/GWT/deinem Lieblings-Webtoolkit. HTML5 mit JavaScript ist wohl auch langsam im Kommen. Flash wird auch gerne eingesetzt, allerdings wohl eher bei den "tpyischen" Flashspielen - einen Server im Hintergrund benötigst du bei deinen Ideen aber vermutlich auch, und den wirst du wohl eher nicht mit ActionScript schreiben können (wobei ich von AS keine Ahnung habe).
Für PHP gibt es wohl einige Tutorials in diese Richtung (gab hier letztens auch irgendwo einen Link dazu, wenn ich mich richtig erinnere), aber wie gesagt, ich bin kein Fan von PHP. Beliebt ist es dennoch, daher würde ich dir empfehlen, dir Java und PHP mal genauer anzusehen.


----------



## Marciboy (30. Sep 2011)

ok, erstmal danke an alle für die Tipps. Welche Bücher würdet ihr empfehlen ? Für PHP und Java. FÜr Java hätte ich mir zum Beispiel "Java von Kopf bis Fuß" angeschaut. Kennt einer das Buch ?


----------



## Evil-Devil (30. Sep 2011)

Es gibt keine PHP Bücher zur Spiele Programmierung.

Um ein Browserspiel in PHP zu schreiben bedarf es sehr viel Erfahrung mit PHP sowie HTML, CSS, Javascript und diversen anderen Technologien. Auf der Dev-Con in HH war kurzfristig der Chef und Hauptentwickler von CityLife mit einem Vortrag aufgekreuzt. War sehr interessant unabhängig davon wie viel Erfahrung man mit der Materie oder den Technologien hatte. Letzten Endes war aber auch das mit so verdammt vielen Technologien zusammen gepackt das man mit so nebenbei nichts werden wird.

CityLife hatte u.a. PHP 5.3, Agavi (Symfony Fork), Comet, MemcacheD und noch einige andere Technologien im Einsatz.

Bevor du auch nur einen Gedanken an ein Spiel in welcher Sprache auch immer verschwendest solltest du programmieren lernen. Ganz gleich was, aber bitte kein Spiel. Es wird dich am Anfang nur frustrieren.

Falls ihr bei PHP bleiben werdet könnt ihr bei eurer Teamgröße je nach Projektumfang bis zu einem Jahr an Entwicklungszeit einplanen. Und das ist noch fair geschätzt.

@HTML: Das ist keine Programmiersprache 
@welche Sprache: Das kommt ganz darauf an was man im einzelnen machen will. Aber die Entscheidung dazu müsst ihr selbst treffen, denn die hat Auswirkung darauf wie ihr eure gesamte Infrastruktur aufzubauen habt.


----------

