[[Vorlage(Getestet, focal)]] {{{#!vorlage Wissen [:Packprogramme:Archive entpacken] [:Terminal:Ein Terminal öffnen] [:mit Root-Rechten arbeiten:] (optional) [:Programme starten:Ein Programm ohne Menüeintrag starten] [:Menüeditor:Programme zum Menü hinzufügen] }}} [[Inhaltsverzeichnis(1)]] [[Bild(lexaloffle-pico8.png,64,align=left)]] [https://www.lexaloffle.com/pico-8.php PICO-8] {en} ist eine virtuelle Maschine, welche eine erfundene "Fantasy Console" emuliert. Für die Programmierung wird [https://www.lua.org/ Lua] {en} verwendet. Die Titel können später als HTML5-Webspiel exportiert werden. Alternativ kann man diese auf Lexaloffle veröffentlichen. Der Einstieg in die Spieleprogrammierung, durch die integrierten Editoren (Quellcode, Sprites, Sound... ). Interessant ist die Sammellizenz für [https://www.lexaloffle.com/pico-8.php?page=schools Schulen] {en}. {{{#!vorlage Tabelle [[Bild(pico-8.png, x200)]] [[Bild(rambo.png, x200)]] [[Bild(Editor.png, x200)]] +++ <:>PICO-8 <:>[#Module Rambo] <:>[#Programmierung Editor] }}} = Installation = == Humble Bundle == Sofern man Besitzer des [https://www.humblebundle.com/Humble Voxatron Bundles] {en} (2011) ist dann findet man in der Bibliothek den Schlüssel zur ''"Lexaloffle Account Activation"''. Sobald man auf den Link klickt wird man auf die Seite von [#Lexaloffle Lexaloffle] weitergeleitet. == Lexaloffle == Die virtuelle Umgebung kann auf [https://www.lexaloffle.com/pico-8.php lexaloffle.com] {en} erworben werden. Nach dem Bezahlvorgang kann diese aus der [https://www.lexaloffle.com/games.php?page=updates Bibliothek] {en} {dl} als '''.zip'''-Archiv (32-bit, 64-bit oder Raspberry Pi) heruntergeladen werden. Das Archiv entpacken [1] und in den Ordner '''pico-VERSION_ARCHITEKTUR''' wechseln. Den darin enthaltenen Ordner '''pico-8''' nach [:opt:] verschieben [2] [3] [4]: {{{#!vorlage Befehl sudo mv pico-8/ /opt/pico-8 #Verschiebt den Ordner nach /opt cd /optpico-8 #Wechselt in den neuen Ordner ./pico8 #Start des Emulators }}} Auf Wunsch einen Menüeintrag [5] vornehmen. {{{#!vorlage Hinweis Bei Problemen kann alternativ `./pico8_dyn` ausprobiert werden. Eine Vielzahl an Parametern kann beim Start übergeben. Diese sind im [https://www.lexaloffle.com/dl/docs/pico-8_manual.html#Commandline_parameters Manual] {en} zu finden. }}} = Befehle = Die folgenden Befehle finden im Emulator Anwendung: {{{#!vorlage Tabelle Steckmodul +++ Befehl Beschreibung +++ splore [#Module Modul-Explorer] aufrufen. +++ install_demos Installation von Demos im Ordner '''~/.lexaloffle/pico-8/carts/demos'''. Diese dienen als [#Editor Programmierbeispiele]. +++ install_games Installation von 7 Spielen im Ordner '''.lexaloffle/pico-8/carts/games'''. +++ folder Öffnet den Ordner mit den Modulen, welche unter '''~/.lexaloffle/pico-8/carts''' zu finden sind, im [:Dateimanager:]. +++ ls Listet die Inhalte im derzeitigen Verzeichnis auf. Alternativ kann auch `dir` verwendet werden. +++ cd Ordner Öffnet das Verzeichnis '''Ordner'''. +++ cd .. Wechselt eine Verzeichnisebene nach oben. +++ mkdir march Erstellt den Ordner '''march''' im Verzeichnis '''~/.lexaloffle/pico-8'''. +++ load demos/uus.p8 Lädt '''uus.p8''' aus dem Unterordner '''demos'''. +++ run Startet den geladenen Titel. +++ resume Setzt den zuletzt gestarteten Titel fort. +++ save Speichert die zuletzt geladene/gespeicherte Datei. +++ save uus Modul unter dem angegebenen Dateinamen speichern - hier: `uus`. Wird keine Dateierweiterung angegeben dann verwendet das Programm automatisch '''.p8'''. +++ save uus.p8 Sicherung unter '''uus.p8'''. +++ save uus.p8.png Sichert das erstellte Programm im Format '''uus.p8.png'''. Im Vorfeld sollte der Titel gestartet und mittels [[Vorlage(Tasten, f7)]] ein Bildschirmfoto erstellt werden. Das Programm wird mit dieser Grafikdatei gespeichert. Diese wird als Vorschaubild genutzt. +++ export uus.html Exportiert den derzeitigen Titel nach [wikipedia:HTML5:]. Es werden die Dateien '''uus.html''' und '''uus.js''' mit dem angegebenen Namen (hier: `uus`) erstellt und können mit einem [:Internetanwendungen/#Webbrowser:Browser] gestartet werden. +++ export uus.bin Erstellt aus dem aktuellem Programm ein eigenständiges Spiel für die Systeme Windows, Linux, Raspberry Pi und macOS. Es wird der Ordner '''uus.bin''' erstellt, in welchem die Spiele in Rohform sowie als '''.zip'''-Archiv vorliegen. PICO-8 ist danach nicht mehr notwendig um den Titel auszuführen. +++ export uus.png Export des Spritesheets aus dem aktuellen Titel. Das Bild ist 128 Pixel breit und 128 Pixel hoch und verwendet die PICO-8-Palette. Via `import` können '''.png''' eingebunden werden. +++ export uus_sfx.wav Um die Soundeffekte als Audiodatei zu exportieren, verwendet man die Endung '''.wav'''. Um alle enthaltenen Soundeffekte in eigenständige Dateien zu extrahieren wird der Befehl um `_%d` erweitert: `export uus_sfx_%d.wav` Alle extrahierten Dateien werden durchnummeriert abgespeichert ('''uus_sfx_01.wav''', '''uus_sfx_02.wav''' ...). +++ export uus_music.wav Audiodatei mit der Musik erstellen. Um diese in einzelnen Titeln zu speichern muß auch hier `_%d` angehangen werden. +++ save @clip Sichert die Zwischenablage im textcodierten Format. +++ keyconfig [#Tastenkuerzel Steuerung] anpassen. +++ help Programmhilfe aufrufen. +++ info Gibt detaillierte Informationen zum geladenen Titel aus. +++ cls clear screen / Bildschirm leeren }}} {{{#!vorlage Tabelle [[Bild(xvst-0.p8.png, x160)]] <:>[[Bild(rtype-0.p8.png, x160)]] <:>[[Bild(motu-6.p8.png, x160)]] <:>[[Bild(picman-1.p8.png, x160)]] +++ <:>[https://www.lexaloffle.com/bbs/?tid=31443 Star Wars] {en} <:>[https://www.lexaloffle.com/bbs/?pid=98070 R-Type] {en} <:>[https://www.lexaloffle.com/bbs/?pid=81037 MOTU] {en} <:>[https://www.lexaloffle.com/bbs/?tid=44840 Pic-Man] {en} }}} = Module = Über den integrierten Browser oder auf der [https://www.lexaloffle.com/bbs/?cat=7&carts_tab=1#mode=carts&sub=2 Entwicklerseite] {en} können die Module bezogen werden. Hat man auf der Seite einen Titel gefunden, dann klickt man auf das Bild [[Bild(cart32.png,16,)]] und lädt die Datei mit der Endung '''.p8.png''' herunter. Diese Bilddatei enthält alle notwendigen Informationen und kann vom Emulator [#Befehle geladen] werden. Die Datei in den versteckten Ordner '''~/.lexaloffle/pico-8/carts/games''' kopieren, welcher ggf. noch zu erstellen ist. Alternativ kann der Titel per [wikipedia:Drag_and_Drop:Drag & Drop] in das Fenster gezogen werden. = Programmierung = Grundlagen zur Programmierung sind unter den [#Links Links] zu finden. == Editor == Die Entwicklungsumgebung wird mit [[Vorlage(Tasten, esc)]] geöffnet: {{{#!vorlage Tabelle Editor +++ Menüpunkt Beschreibung +++ <:>[[Bild(Editor01.png,32,)]] Code-Editor +++ <:>[[Bild(Editor02.png,32,)]] Sprite-Editor +++ <:>[[Bild(Editor03.png,32,)]] Grafik-Editor / Karten-Editor +++ <:>[[Bild(Editor04.png,32,)]] Sound-Editor +++ <:>[[Bild(Editor05.png,32,)]] Musik-Editor }}} Unter [github:pico-8/awesome-PICO-8#tools:diesem Link] findet man eine Reihe von externen Programmen, welche verwendet werden können. Die Dokumentation von [https://www.lua.org/docs.html Lua] {en} steht in verschiedenen Sprachen zur Verfügung. {{{#!vorlage Hinweis Im [https://www.lexaloffle.com/dl/docs/pico-8_manual.html Handbuch] {en} werden die einzelnen Programmteile genauer beschrieben. }}} == Spickzettel == [[Bild(PICO-8_CheatSheet_0111Gm_4k.png alt="Spickzettel", title="Spickzettel", )]] [pdf::][github:ztiromoritz/pico-8-spick/raw/master/build/pico-8-spickzettel.pdf:PICO-8 Spickzettel] = Tastenkürzel = {{{#!vorlage Tabelle Tastenkürzel +++ Taste(n) Funktion +++ [[Vorlage(Tasten, pfeiltasten)]] Navigation im [#Befehle splorer]. +++ [[Vorlage(Tasten, enter)]] Auswahl +++ [[Vorlage(Tasten, esc)]] Abbrechen / Rückkehr zum Terminal / Quelltext anzeigen bzw. den [#Programmierung Editor] öffnen +++ [[Vorlage(Tasten, enter)]] / [[Vorlage(Tasten, p)]] Pause +++ [[Vorlage(Tasten, f7)]] / [[Vorlage(Tasten, strg+7)]] Bildschirmfoto aufnehmen. +++ [[Vorlage(Tasten, CTRL+9)]] Ein 8-sekündiges Video als '''.gif'''-Datei aufnehmen (Desktop). +++ [[Vorlage(Tasten, CTRL+S)]] Schnellspeichern des aktuellen Titels. +++ [[Vorlage(Tasten, CTRL+M)]] Sound (de)aktivieren. +++ [[Vorlage(Tasten, strg+r)]] Startet den geladenen Titel. +++ [[Vorlage(Tasten, alt+enter)]] Vollbild-/Fenstermodus +++ [[Vorlage(Tasten, alt+f4)]] / [[Vorlage(Tasten, ctrl+q)]] Beenden +++ <-2 rowclass="kopf">Spieler 1 +++ [[Vorlage(Tasten, pfeiltasten)]] Steuerung +++ [[Vorlage(Tasten, z)]] / [[Vorlage(Tasten, c)]] / [[Vorlage(Tasten, n)]] Aktionstaste 1 +++ [[Vorlage(Tasten, x)]] / [[Vorlage(Tasten, v)]] / [[Vorlage(Tasten, m)]] Aktionstaste 2 +++ <-2 rowclass="kopf">Spieler 2 +++ [[Vorlage(Tasten, s+d+e+f)]] Steuerung +++ [[Vorlage(Tasten, tab)]] Aktionstaste 1 +++ [[Vorlage(Tasten, q)]] Aktionstaste 2 }}} [[Bild(pico-8_palette_020.png, alt="Farbpalette", title="Farbpalette", 256, right)]] = Infobox = {{{#!vorlage Tabelle PICO-8 +++ Veröffentlichung: 2014+ +++ Entwickler: Joseph "zep" White / Lexaloffle Games +++ Auflösung 128x128 Pixel +++ Bilder pro Sekunde 30 / 60 FPS +++ Farbpalette 16 Farben +++ Modulgröße 32k +++ Sound 4-Kanal +++ Code [https://www.lua.org/ Lua] {en} +++ Sprites 256 mit einer Größe von 8x8 Pixel. +++ Karte 128x32 Kacheln +++ Medien: Download +++ Strichcode / EAN / GTIN: - +++ <-2 rowclass="kopf"> +++ Läuft mit: nativ }}} [[Bild(./PICO-8_logo.png,256,align=right)]] = Links = * [https://www.lexaloffle.com/pico-8.php PICO-8] {en} * [https://www.lexaloffle.com/bbs/?cat=7 Forum] {en} * [https://www.lexaloffle.com/pico-8.php?page=resources#community Communities] {en} * [https://pico-8.fandom.com/wiki/Pico-8_Wikia Wiki] {en} * [github:pico-8:PICO-8] * [https://www.lua.org/ Lua] {en} * [wikipedia:Lua:] * [https://neko250.github.io/pico8-api/ Pico-8 API] {en} * [wikipedia:Pico-8:] * [github:GrazerComputerClub/Pi-XO:Pi-XO] * [github:pico-8/awesome-PICO-8:Awesome PICO-8] {en} - Eine Vielzahl von Links. * [https://www.thingiverse.com/thing:4938902 Pico 8 fanmade handheld] {en} {dl} (3D-Drucker) * [youtube:VR3x5d8xIKk:Celeste - Pico 8 Machine] * [youtube:2DjggycZXSg:Learning Pico-8 In One Day] * [youtube:NOcZonu65hE:PICO-8 Game Dev for Beginners] * [youtube:Eq_-neky3Jk:Vortrag: Spieleentwicklung mit PICO-8, PyGame & Godot] * [https://mboffin.itch.io/gamedev-with-pico-8-issue1 Game Development] {en} - A zine about game development using PICO-8. * [https://blog.gc2.at/post/pico-8/ PICO-8] {de} #tag: Spiele, unfreie Software, Linux-Spiel, Humble Bundle, Lexaloffle, Lua, Schule, Programmierung