Naja fuer Android gibts ja gluecklicherweise (und VERNUENFTIGERweise) das Native Development Kit, also kann man auch C/C++ Code uebersetzen und wie Flo damals schon schrieb, laeuft SDL wohl auch unter Android (zumindest glaub ich, dass dafuer sogar extra Makefiles beilagen).
Der Einwand mit OpenGL ES ist absolut richtig. Dahingehend ist die Frage, ob in der RTTR-Render-Engine die OpenGL-Aufrufe konsequent abstrahiert wurden. Falls ja, muessen "nur" diese Funktionen durch OpenGL ES Funktionen ersetzt werden, ohne, dass groessere Aenderungen am Spiel selbst erforderlich sind. In der Form machen das auch aktuelle Engines wie OGRE oder PixelLight. Sie besitzen eine abstrakte Renderklasse, an die sich beliebige Hardware-Spezifische Renderer anbinden lassen ohne den Code veraendern zu muessen. Allerdings sind diese auch fuer ein breites Spektrum programmiert. Die Siedler-Engine hier orientiert sich logischerweise speziell am RTTR-Projekt und muss deshalb auch nicht vollkommen separat sein. Schliesslich liegt das Ziel von RTTR darin, ein Spiel zu schreiben und keine Engine.
Windows Phone: Aufgrund Microsofts Haltung in der Vergangenheit zu nativer Programmierung fuer Entwickler ausserhalb von Microsoft wird das wohl vorerst nicht passieren. Da hilfts wohl nur, wenn jemand RTTR in C# unsafe uebersetzt :-D.
Was allerdings generell native Entwicklung auf mobilen Plattformen angeht, hatte sich seit einigen Jahren der Trend abgezeichnet, in Zukunft nur noch managed Code zu erlauben. Selbst Android bot anfangs lediglich Java als als Marketing-Zugpferd, erst viel spaeter wurde das Native Development Kit released und auch nur, um damit hardware-hungrige Module zu schreiben (so heisst es offiziell). Ganze Anwendungen sollen damit nicht programmiert werden, da fuer diese Aufgaben Java gedacht ist. Eine ziemlich bloede Situation momentan, da sie den Entwicklern die Freiheit nimmt. Bleibt nur noch zu hoffen, dass diese Entwicklung nicht auch noch auf Desktop-Betriebssysteme uebergreift. Wobei das bei Windows nicht der Fall zu sein scheint. Fuer Windows 8 wurde das COM-Konzept, welches von .NET abgeloest werden sollte, wieder aufgemotzt und eine neue WinAPI (WinRT) in C++ implementiert. Dazu hat man einige .NET Konzepte auf dieses Modell portiert. Offenbar konzentriert man sich jetzt doch wieder auf C++. C# kann zwar mit WinRT benutzt werden, aber die Schnittstelle ist "nur" ein Wrapper. Microsoft hat wohl auch angekuendigt, mit Windows Phone 8 (Mitte 2012) wieder Native Code zu erlauben. Offenbar hat man die Programmierer nur zu C# "zwingen" wollen, damit sie XNA zum Entwickeln fuer Windows benutzen. Da das aber nach hinten losging, lockert man die Politik wohl wieder und besinnt sich C++ und mehr Freiheit zurueck. Klingt erstmal alles sehr gut :-). Bleibt abzuwarten.
Aber jetzt bin ich irgendwie abgeschweift :-D.
Editiert von
Xaser am 13.11.2011 16:51