Das größte Problem wird beim erstellen der Texturen liegen.
für die Karte kannst du im einfachsten Fall ein simples Array nehmen, dass du dann mit Objekten für Wiese, Wasser, Strand etc. befüllst.
Im Fall von etwas Siedler-Ähnlichen, musst du nur eben die anordnung von sechseckigen "Kacheln" irgendwie in ein z.B. zweidimensionales Array/Vektor/ArrayList etc. speichern.
Am Besten würdest du meherere Arrays/Vektoren/ArrayLists etc. nehmen, z.B. eine für den Untergrund, eine für Gebäude und Bäume etc. und eine für Einheiten wie Soldaten und schiffe.
Problematisch dabei word das Speichermanagement werden.
Das Zeichnen der Objekte gestaltet sich relativ einfach, da du nur den Bildschirm von oben nach unten mit den zum Inhalt des jeweiligen Elementes im Array gehörigen Bildern füllen Musst.
Das ganze machst du dann für jedes Array einmal (erst der Boden, dann die Bäume und Gebäude, dann...).
Evtl. könnte man den Biodern, der sich ja nicht verändert schon von vornherein z.B. in einem BufferedImage speichern, von dem man dann nur den entsprechenden Ausschnitt zeichnet. Das spart einem bei jeden Bildaufbau einige Rechnenzeit.
evtl. aknn man das mit den anderen auch so machen, wo man bei einer Änderung eben die betreffenden Bereiche neu zeichnet.