Hallo Spieleprogrammierer,
ich habe da mal ein paar Fragen.
Ich möchte mit Java ein Kartenspiel erstellen.
1. Welche Entwicklungsumgebung ist da am besten geeignet, Eclipse (eine bestimmte Version?) oder NetBeans?
2. Ich möchte auch eine Versionsverwaltung benutzen. Welche ist da am geeignetsten (Sprache kann auch Englisch sein)?
3. Gibt es hier ein paar Tutorials zur Versionsverwaltung? Das Richtige benutzen. Habe damit noch nie gearbeitet.
4. Wäre es sinnvoll eine Datenbank für die Karten zu verwenden?
5. Ist es recht einfach eine Datenbank in der Entwicklungsumgebung zu integrieren?
Danke schon mal für die Hilfe/Antworten.
1. Ich persönlich präferiere
IntelliJ IDEA Community Edition (kostenlos), da es die intelligenteste Entwicklungsumgebung ist, die ich kenne.
(sie werben ja sogar auch mit "the worlds intelligents idea")
Das fängt bei kleinen Sachen wie der Code Vervollständigung an, bis hin zu Code Generierung oder sogar Fehler erkennen und selbst auf Knopfdruck beheben zu können.
Keine andere IDE wie Netbeans oder sogar Ecclipse können IntelliJ auch nur annäherungsweise das Wasser reichen.
Das Rebase Problem, welches BlueCobold angesprochen hat, war mir bisher nicht bekannt.
Diesen Fehler habe ich bisher noch nicht gehabt.
2. Definitiv
Git!
Git ist mittlerweile die populärste Versionsverwaltungssoftware geworden, da es im Gegensatz zu SVN dezentral ist.
D.h. du kannst auch entwickeln, ohne einen Server besitzen zu müssen. Bei SVN kann man ohne Internet Verbindung nicht wirklich viel tun.
Außerdem ist Git viel intelligenter als SVN, gerade auch was das Merging betrifft.
Wenn ich bedenke, wie viele Merge Konflikte ich damals bei SVN hatte, wenn mehrere am Projekt mitgewirkt haben und wie wenige jetzt bei Git...
Außerdem hilft dir die geile Git Integration in IntelliJ sogar und mergt für dich das meiste automatisch.
Wenn du etwas pushest und ein Pull vorher benötigt wird, gibt dir IntelliJ keine Fehlermeldung aus, sondern geht das Problem selbst an, pullt das Ganze und pusht dann, ohne dass du da noch einmal was tun musst.
3. Es gibt wenig wirklich gute Tutorials zu Git, da du aber IntelliJ nutzt (und das fast alles automatisiert), wirst du nicht allzu viele benötigen.
Wenn du wirklich Git unter der Haube verstehen willst (was ich dir nur raten kann, da man das ganze dann ganz anders betrachtet), kann ich dir dieses Buch empfehlen:
Daily Git: Wie ein kompetenter Kollege Ihnen Git erklären würde
Ich persönlich habe mir die eBook Variante geholt, als ich schon ein paar Jahre mit Git gearbeitet habe und sie hat mir sehr geholfen!
Einfach, weil ich jetzt auch mehr verstanden habe, wie Git unter der Haube funktioniert, was sich der Entwickler dabei gedacht hat, wie er zu dem Lösungsansatz kam und was die einzelnen Funktionen genau machen.
Ist also sowohl für Anfänger, als auch für Fortgeschrittene zu empfehlen.
Falls du das Buch nicht lesen willst, hier ne kurze, vereinfachte Erklärung der Begriffe:
commit: Trackt / "Speichert" den aktuellen Stand (genau genommen nur die Änderungen, die du gemacht hast) deiner Dateien
Pull: Holt neue Änderungen vom Server
Push: Lädt deine Änderungen zum Server hoch
4. Das kommt drauf an, wie dynamisch das ganze sein muss.
Allerdings wäre es mit z.B. einer MySQL Datenbank vermutlich später einfacher, neue Karten hinzuzufügen.
5. Die Frage ist, welche Datenbank du verwendest und welche Funktionen du dir genau in der IDEA wünscht.
Sicherlich gibt es Datenbank Plugins für IDEA, aber hier kann ich keine pauschale Antwort geben, da es von deiner verwendeten Datenbank abhängt.