Pascal-Spiele mit SDL


carli

Member
Joined
Jul 18, 2010
Messages
445
Hi,

ich hab mir mal n bissl Freizeit geschnappt und bastel gerade an nem Pascal-Spiel mit SDL für die Pandora. Funktioniert alles soweit prima, aber die Installation der Toolchain war schoon ein bisschen frickelig.

Wollt ihr die Toolchain als PND verschönert zusammengestellt haben? (FPC mit SDL und SDL_image (sdl_gfx auch gewünscht?))
Oder wartet ihr lieber aufs fertige Spiel? (Wird ein Tower-Defense mit schlechter Grafik)
 
Mach es frei nach dem open-source motto: so früh und so oft wie möglich veröffentlichen. Bin sehr gespannt, ich liebe tds
 
Sehr schön!
:ph34r:

Eine PND wär natürlich schön, wenn sich das leicht machen liesse.. :)
Dann könnten Leute, die von ARM-Linux wenig Ahnung haben, schnell loslegen.

Für den Anfang fände ich -theoretisch- es aber fast wichtiger, ein Tutorial o.ä. zu haben, wo das Erstellen der Toolchain dokumentiert wird, und auf Abhängigkeiten und Fallstricke etc. eingegangen wird. Wenn jeder Nutzer die Toolchain versteht, kommen später bei etwaigen Problemen weniger dumme Fragen. ;)

Allerdings ist mir auch klar, dass sowas in Arbeit ausarten kann... :confused:??

Mir ist alles recht :-D , ich muss eh noch auf meine Pandora warten...
 
Wäre es nicht recht praktisch carli für die dokumentation jemanden zusätzliches an die hand zu geben?
Dann könnte carli weiter entwickeln und der andere arbeitet sich ein und erstellt das das how-to
 
Ich werd ein Script schreiben, das den FPC auf die Pandora installiert.

Nach OpenSource-Manier kann die Community dann folgendes hinzufügen:
- Das Script in eine PND-Datei kapseln
- Ein Tutorial schreiben

-- Di Okt 11, 2011 09:06 --

Sooo,

ein ZIP hab ich gebastelt mit folgenden Sachen drauf:
- Freepascal Compiler
- Install-Script, das den FPC für die Spieleentwicklung mit SDL, SDL_image, SDL_net, SDL_gfx und SDL_ttf einrichtet
- ein README-File für Linux-Neulinge (cd ist nicht erklärt, weil ihr das von DOS her kennen solltet)
- ein Beispielprogramm "towerdefense", welches ihr selbstverständlich erweitern dürft. (Mal sehn, wer das Spiel am besten fertigschreibt)

Downloadlink: http://botwars.tk/pandorapascal.zip

Viel Spaß und gutes Gelingen ;)
 
Hallo carli und vielen Dank für dein Script!
carli said:
Nach OpenSource-Manier kann die Community dann folgendes hinzufügen: - Das Script in eine PND-Datei kapseln - Ein Tutorial schreiben
Ein Tutorial kann ich kaum schreiben, da ich Linux bei weitem nicht so gut wie Windows verstehe.
Da es mich aber freute, dass du uns dein Skript zur Verfügung stellst, habe ich mir wenigstens
mal schnell Informationen zum PND Format angeschaut.

Dank dem "PND Manager" für Windows, brauchte ich auch nurnoch die PXML-Datei zu schreiben.
Hier stelle ich nun meinen ersten Versuch rein, der bei mir problemlos, aber noch ohne Rückmeldung funktionierte.
Auch werden dein Beispiel "TowerDefense" und deine "Readme" nicht kopiert, da diese in deinem Skript nicht berücksichtigt wurden.
Einfach ausführen und warten bis keine Schreibvorgänge mehr stattfinden.

Aus diesen Gründen halte ich diese PND erstmal noch für sinnfrei, da deine Installlationsanweisung genauso einfach sind,
und inklusive des Beispiels und der Readme.


Sollte jemand anderes bereits mehr Erfahrung mit der PND-Erstellung haben,
kann es derjenige gerne übernehmen ;)


An dich hätte ich ansonsten folgende Verbesserungsvorschläge:

- Dein Skript könnte das Kopieren deines Beispiels "TowerDefense" und deiner "Readme" mit berücksichtigen.
- Ein UnInstall-Skript für das restlose Entfernen deiner Änderungen wäre auch sehr fein :)
- Gibt es eine Möglichkeit per Skript-Befehl ein einfaches Fenster zu öffnen mit der Ausgabe "Installation beendet"?
(Habe versucht einen einfachen echo-Befehl zu deinem Skript hinzuzufügen, doch leider wird auch dieser im Hintergrund ausgeführt)

Nochmal einen großen Dank an dich :)

EDIT:
<PND wieder rausgenommen, da noch sudo Abfrage fehlt>
 
Kaworu said:
- Dein Skript könnte das Kopieren deines Beispiels "TowerDefense" und deiner "Readme" mit berücksichtigen.
Wo sollen die denn hinkopiert werden? Es hat ja jeder seine eigenen Vorzüge, wo er Dateien hinspeichert. (ich lass z.B. alles auf der SD-Karte, damit ich auch mal Neu-Flashen kann)
Kaworu said:
- Ein UnInstall-Skript für das restlose Entfernen deiner Änderungen wäre auch sehr fein :)
Uuuh :D Gestaltet sich schwierig, da ja im Prinzip das tar.gz "rückwärts" entpackt werden müsste.
Ich werde darauf reagieren, falls es weitere Leute gibt, die auch einen Uninstaller haben wollen.
Kaworu said:
- Gibt es eine Möglichkeit per Skript-Befehl ein einfaches Fenster zu öffnen mit der Ausgabe "Installation beendet"?
Eine? Nein, mehrere.
- xmessage Hallo Welt
- zenity --info --text "Hallo Welt"
- sowie diverse andere Progrämmchen, bei denen es aber darauf ankommt, ob diese auf der Pandora installiert sind
Kaworu said:
(Habe versucht einen einfachen echo-Befehl zu deinem Skript hinzuzufügen, doch leider wird auch dieser im Hintergrund ausgeführt)
Funktioniert die sudo-Abfrage denn aus der PND heraus?

(und generell, hat das SDK funktioniert? Ich hatte noch Zweifel, dass ich keine Lib vergessen hatte)
 
Wo sollen die denn hinkopiert werden? Es hat ja jeder seine eigenen Vorzüge, wo er Dateien hinspeichert. (ich lass z.B. alles auf der SD-Karte, damit ich auch mal Neu-Flashen kann)
-recht hast du, habe sie aus der PND nun gänzlich entfernt.
carli said:
Eine? Nein, mehrere. - xmessage Hallo Welt - zenity --info --text "Hallo Welt" - sowie diverse andere Progrämmchen, bei denen es aber darauf ankommt, ob diese auf der Pandora installiert sind
"xmessage" gibts nicht ohne dieses nachzuinstallieren.
Dafür aber zenity, klappt bestens, danke!
carli said:
Funktioniert die sudo-Abfrage denn aus der PND heraus?
In der alten Version nicht, in der jetzigen ja :D
(Musste dazu eine Zeile deines Skripts ändern ;)
carli said:
(und generell, hat das SDK funktioniert? Ich hatte noch Zweifel, dass ich keine Lib vergessen hatte)
Also deine und andere SDL Beispiele werden anstandslos kompiliert. Ebenso einfache Terminal Ausgabeprogramme (Hello World).

Von den ganzen Beispielen aus:
/usr/share/doc/fpc-2.5.1/

dagegen ließ sich fast kein Programm erstellen, da ihm libs fehlten.
Beispiel der Fehlermeldungen:
Code:
fpc counter.pp
Target OS: Linux for ARMEL
Compiling counter.pp
Assembling counter
Linking counter
/usr/bin/ld: cannot find -lforms

Ebenso fehlten
-lopenal
-ldl
-lncursesw
Can't find unit libc used by tclock

Und sicher einiege mehr, hab jetzt nicht jedes Beispiel durchgetestet..

Achja, vielleicht könntest du noch die IDE "fp" dazupacken.


EDIT:
Neue PND-Version hochgeladen.. diesmal perfekt! Mit Informationsfenster, Sicherheitsabfrage und funktionierender SUDO-Abfrage :D
# neue Änderung: ärgert einen nicht, wenn man kein Passwort für root-Rechte eingeben möchte ;)
(vorherige Version hatte unnötig oft nachgefragt)


<Link zur neuen PND mit geändertem Autorennamen unten >


P.S.: In der PND Datei wird der Autor registriert.. habe deine eMailAddy aus der Readme eingetragen und den Nick "carli",
wenn du wünscht trage ich deinen richtigen Namen ein, wenn du ihn mir noch mitteilst ;)
 
Kaworu said:
Ebenso fehlten
-lopenal
-ldl
-lncursesw
OpenAL ist gar nicht auf der Pandora dabei. Und für Musik ist ja auch SDL-Mixer da
Vom Rest auch nicht so wirklich.
Kaworu said:
Achja, vielleicht könntest du noch die IDE "fp" dazupacken.
uff, da müsste ich den Cross Compiler ja noch mal anschmeißen.
Oder bekommst du die fp IDE auch so kompiliert? (müsstest halt in den Sourcen stöbern)
Ansonsten wieder: sobald sich ein zweiter meldet, der es auch will, mach ichs.
Kaworu said:
P.S.: In der PND Datei wird der Autor registriert.. habe deine eMailAddy aus der Readme eingetragen und den Nick "carli",
wenn du wünscht trage ich deinen richtigen Namen ein, wenn du ihn mir noch mitteilst ;)
Carl-Philip Hänsch
 
carli said:
OpenAL ist gar nicht auf der Pandora dabei. Und für Musik ist ja auch SDL-Mixer daVom Rest auch nicht so wirklich.
Achja, daran hab ich garnicht mehr gedacht, sorry.
Dann wird alles vollständig sein :)
carli said:
uff, da müsste ich den Cross Compiler ja noch mal anschmeißen.Oder bekommst du die fp IDE auch so kompiliert? (müsstest halt in den Sourcen stöbern)Ansonsten wieder: sobald sich ein zweiter meldet, der es auch will, mach ichs.
Ich habe noch eine komplilierte FP Version auf der Pandora von der FPC-Version 2.2.2.
Habe diese allerdings nicht zum kompilieren überreden können.
Ansonsten ist es auch nicht wichtig, wenns solche Umstände macht..
ein einfacher Editor tuts ja auch.
carli said:
Carl-Philip Hänsch
Ok, nächste Version wird gleich hochgeladen nachdem sie getestet habe.


Nochmal vielen Dank für den funktionierenden Pascal-Compiler auf der Pandora :)

EDIT: Neue PND-Version hochgeladen..
# Änderung, Autor umgeändert von "carli" auf "Carl-Philip Hänsch"

--> http://repo.openpandora.org/?page=detail&app=install_fpc
 
Johnson r. said:
Schickst du die version vlt auch ins repo?
http://repo.openpandora.org/?page=detail&app=install_fpc

Hoffe es entspricht carlis Vorstellung, ansonsten ändere ich es oder nehme es raus.
 
Sehr schön habt ihr das gemacht, meine Pandora kann kommen! :-D

@Kaworu könntest du dem PND vielleicht noch die Kategorie "Development" im Repo zuweisen? Weil dort würde ich FP am ehesten vermuten, und Bennu und C sind dort ebenfalls zu finden ;)

Und vielleicht kann man ja irgendwie noch das Freepascal-Projekt und pascalgamedevelopment.com informieren... :)

Achja, die FPC4ARMv2.7z von Kidpaddle, lässt die sich vieleicht noch irgendwie zusätzlich da einfügen?
Vielleicht sollten wir die Archive zusammenschmeissen... Allerdings müssten wir da natürlich Kidpaddle fragen.
 
xyta said:
@Kaworu könntest du dem PND vielleicht noch die Kategorie "Development" im Repo zuweisen? Weil dort würde ich FP am ehesten vermuten, und Bennu und C sind dort ebenfalls zu finden
Könnte ich zwar machen, aber bezweifle ob das gut wäre.. schließlich ist das NUR ein Installer, der nach einmaliger Nutzung garnicht mehr gebraucht wird
und auch keine weiteren Einträge im Menü hinterlässt. Alles liegt dann direkt aufm normalen Dateisystem,
von wo es auch direkt über der Konsole gestartet wird. Klick mal auf "System" im repo, dort findet man grundsätzlich Installer aller Art.

-- Sa Okt 15, 2011 14:27 --
xyta said:
Achja, die FPC4ARMv2.7z von Kidpaddle, lässt die sich vieleicht noch irgendwie zusätzlich da einfügen?
Vielleicht sollten wir die Archive zusammenschmeissen... Allerdings müssten wir da natürlich Kidpaddle fragen.
Korrigiere mich wenn ich mich irre, aber meines Wissens nach hatte KidPaddle einen Crosscompiler gepostet,
der für die Pandora kompiliert, nicht aber auf der Pandora.
Das waren Windows-Binarys.

Sollte er mittlerweile auch Pandora-Kompilate erstellt haben, habe ich das garnicht mitbekommen :)

In dem Fall würd ich ne PND draus machen, wenn er sich noch nicht damit beschäftigte.
Hab ja jetzt mittlerweile Übung drin xD
 
Kaworu said:
Korrigiere mich wenn ich mich irre, aber meines Wissens nach hatte KidPaddle einen Crosscompiler gepostet,
der für die Pandora kompiliert, nicht aber auf der Pandora.
Das waren Windows-Binarys.

Das ist mir inzwischen auch klar geworden. Aber ins Repo könnte man den Crosscompiler ja auch stellen...

Oder wir basteln einen Windows-Installer, der den Crosscompiler installiert und dein PND auf dem Desktop ablegt oder so. :confused:??

Jedenfalls wärs IMHO schon nützlich, wenn andere Programmierer die Pascal-Tools halbwegs schnell finden würden und nicht umständlich aus den Forenthreads zusammensuchen müssten. Deswegen ist das PND im Repo schonmal sehr gut. :)
 
Kaworu said:
Johnson r. said:
Schickst du die version vlt auch ins repo?
http://repo.openpandora.org/?page=detail&app=install_fpc

Hoffe es entspricht carlis Vorstellung, ansonsten ändere ich es oder nehme es raus.
Prima :)
Ist echt cool geworden.

Na dann, auf gute SDL-Spiele.
(ich werd mich da größtenteils raushalten, aber sobald ich 3D-Geschichten mit OGLES hinbekommen hab, werd ich das euch auch melden [und dann hab ich schon ein fertiges Spiel dafür])
 
Der CrossCompiler kann gerne ins repo oder ins File-Archive, aber wie Carli gesagt hat, ist aber nur unter Windows lauffähig.

Carli, wenn Du die Initialisierung von OpenGL ES hin bekommen hast, wäre ich interessiert für die Umsetzung. Leider habe ich es nicht für WIZ/Caanoo geschafft, die 3D Sachen korrekt zu initialisieren.

Gruß
Thomas
 
Hallo nochmal :)

@carli Aufjedemfall schön zu wissen dass du sogar OpenGL ES versuchst zum laufen zu bekommen. Viel Erfolg dazu!


Ausserdem:

Ich halte es für fraglich ob es Sinn macht Windowsbinarys in eine PND-Datei zu packen, da 2 Nachteile:
1. PND-Datei wird deutlich größer wovon warscheinlich eh nur eine Version gebraucht wird.
2. Muss erst auf der Pandora übertragen werden, dort entpackt um es zur Windowsumgebung zu übertragen = umständlich.

Sollte ich der Einzige sein der die Idee in Frage stellt, tu ichs dazu ;)


Ansonsten habe ich ersatzweise erstmal folgendes gemacht:

1. Die Windowsversion erwähnt und verlinkt in der Beschreibung vom FreePascal Installer der repo: http://repo.openpandora.org/?page=detail&app=install_fpc
2. ins Pandora Filearchiv eingetragen:

- FreePascal Installer für Pandora: http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,116,441
(Beschreibung wird noch geändert, muss aber erst gestattet werden)
(Änderungen: URL weg von KidPaddles Homepage, direkt aufs Filearchiv und Korrektur der Versionsnummer. Beides im Bereich der Info zur Windows-Variante)

- FreePascal Crosscompiler für Windows: http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,13,442


@KidPaddle:
Achja, und der der den Hinweis gegeben hat, dass es sich bei deiner Version um Windowsbinarys handelt, war ich ;)
Ausserdem habe ich garnicht gemerkt dass du mittlerweile schon Version 2.7 kompiliert hattest :) Hast Link geändert ohne es zu erwähnen ^^
 
Kaworu said:
Ich halte es für fraglich ob es Sinn macht Windowsbinarys in eine PND-Datei zu packen, da 2 Nachteile:
1. PND-Datei wird deutlich größer wovon warscheinlich eh nur eine Version gebraucht wird.
2. Muss erst auf der Pandora übertragen werden, dort entpackt um es zur Windowsumgebung zu übertragen = umständlich.
Ich dachte eher andersrum ;)

Also an eine SETUP.EXE, welche Kidpaddles Crosscompiler für Win installiert, und auf Wunsch auch die PND auf den Windows-Desktop kopiert... Da könnte man ja Häckchen setzen für die gewünschten Teile. Müsste sich irgendwie mit dem NSIS Installer basteln lassen...
Ansonsten habe ich ersatzweise erstmal folgendes gemacht:

1. Die Windowsversion erwähnt und verlinkt in der Beschreibung vom FreePascal Installer der repo: http://repo.openpandora.org/?page=detail&app=install_fpc

Die Lösung find ich sehr gut! :)
 
Version 2.7? Nee, ich glaube da verwechselst Du was. Der Packer ist 7zip daher kommt die "2.7z" am Ende :)

Allerdings werde ich wohl noch dieses Jahr eine aktualisierte Version erstellen, im Moment hat sich noch nicht soviel getan im ARM - Zweig des Compiler und ich habe leider die 3D Sache nichts an laufen gebracht, dass sollte eigentlich in der naechsten Version rein. Leider fehlt mir immer noch eine Pandora, nur noch 30 Bestellnummern oder so sind vor mir.

Gruß
Thomas
 
Back
Top