Seite 1 von 1

Portierung auf andere Plattformen

Verfasst: 02.09.2009 14:09
von CptGreenwood
Hi,

ich habe es tatsächlich geschafft, mein erstes komplexeres Spiel in PureBasic fertig zu stellen (stolz!) und habe nun zwei Fragen dazu:

1.
Wie ist das mit der Portierung nach Linux und MacOSX? Ist das wirklich so einfach, dass ich meinen Quellcode mit PureBasic auf dieser Plattform compiliere und alles klappt problemlos? Ich habe letzte Woche schnell mal eine Ubuntu-Kiste aufgesetzt, PureBasic darauf installiert und versucht, meinen Quelltext zu kompilieren, doch da meckerte er bereits bei "InitSprite3D()", dass er es nicht kennen würde. Bei Mac OSX habe ich es noch gar nicht versucht. Wie gehe ich am besten vor? Gibt es da ein Patentrezept zur Portierung?

2.
Als Bug-Such-Crew sind augenblicklich lediglich ich, meine Frau und die Kids tätig. Gibt es auf dem Board (in dem Forum, sonstwo...) einen Platz, wo fertige Spiele der Community zur Verfügung gestellt werden können, um einfach Rückmeldungen über Probleme und Verbesserungspotential von mehr Leuten zu erhalten?

Greetz,
CptGreenwood

Verfasst: 02.09.2009 14:21
von NicTheQuick
Zu 2) ShowCase

Zu 1) Das wüsste ich auch gerne.

Verfasst: 02.09.2009 14:31
von ts-soft
zu 2 Ergänzung:
Hier im Forum: Feedback Spiele

zu 1.
Patentrezepte gibts nicht, man sollte sich aber mit den besonderheiten des
OS auskennen, also Pfade, Dateinamen usw.

Irgendwo gibts auch ne Internetseite wo die Unterschiede aufgeführt worden
sind, finde ich aber im moment nicht.

Einfach neukompilieren wird bei kompletten Anwendungen in 99,999% aller
Fälle nicht genügen :wink:

Aber wenn man auf API verzichtet, besonderheiten des Dateisystems
beachtet usw. gibts grosse Chancen es anpassen zu können.

Gruß

Thomas

Verfasst: 02.09.2009 14:52
von Rokur
Ich würde so vorgehen:

1. Verwendete Libraries prüfen
In der PureBasic-Hilfe gibt es eine Übersicht welche Libraries voll, teilweise oder garnicht von bestimmten Betriebssystemen unterstützt werden.

2. API-Einsatz prüfen
API ist betriebssystemspezifisch, wenn du sowas drinnen hast, dann musst du entweder eine vom OS unabhängige Lösung finden, oder die Funktionen mehrfach implementieren (CompilerIF/Macros).

3. Sonstige betriebssystemspezifische Dinge prüfen
z.B.
- Pfad- und Laufwerksangaben
- Zeilenumbrüche in Dateien
- externe Libraries, DLLs, ...
- usw.
Auch hier kannst du verschiedene Versionen mit CompilerIF/Macros einbauen.

4. Test der Anwendung auf dem Ziel OS
Zum Schluss musst du die Anwendung sowieso auf dem Ziel OS kompilieren, dann kannst du sie dort auch gleich testen. Wenn jetzt alles geht, dann hast du dein Programm portiert, wenn nicht, dann musst du an den Stellen wo es noch hakt eben etwas rumbasteln.