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
Portierung auf andere Plattformen
- CptGreenwood
- Beiträge: 125
- Registriert: 12.07.2007 10:40
- NicTheQuick
- Ein Admin
- Beiträge: 8809
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
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
Aber wenn man auf API verzichtet, besonderheiten des Dateisystems
beachtet usw. gibts grosse Chancen es anpassen zu können.
Gruß
Thomas
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

Aber wenn man auf API verzichtet, besonderheiten des Dateisystems
beachtet usw. gibts grosse Chancen es anpassen zu können.
Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

-
- Beiträge: 167
- Registriert: 29.12.2005 09:58
- Computerausstattung: Intel Core2 Quad (4x2,4 GHz), 4096 MB RAM, GForce 8800GTX 786 MB
Windows XP 32 Bit, PureBasic 4.40 (x86)
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.
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.
WinXP 32 Bit, PureBasic 4.40 (x86)