Neuer Retro-Computer im 8-Bit Style

Es gibt 1.853 Antworten in diesem Thema, welches 267.597 mal aufgerufen wurde. Der letzte Beitrag (12. April 2024 um 17:24) ist von Retrofan.

  • Aber es gibt natürlich auch Dinge ähnlich zu Pico-8 mit Python, z.B. Pyxel.

    Ich sagte ja schon, dass mir die IDE wichtiger ist als die konkrete Sprache, solange da nicht so etwas wie Basic V2 angeboten wird. Ein bisschen moderner darf's schon sein, wenn man auch Menschen unter 50 (oder sogar unter 30 oder 20) ansprechen will, die mit dem hier erlernten vielleicht noch was anderes machen wollen. Auf den ersten Blick sieht auch Pyxel nicht komplett verkehrt aus. Anpassungen (bzgl. fester Auflösung, Farbpalette, UI etc.) müsste man für das Projekt ohnehin vornehmen.

    Wenn also "alle" sagen: Lua ist scheiße und Python ist gold – dann können wir meinetwegen auch alles auf Pyxel aufbauen lassen. Wenn sich durch die spontane Umstellung jemand findet, dem genau dieser Schwenk wichtig wäre, damit er mit der Umsetzung beginnt – mir soll's recht sein.

    Es nervt aber eben nur, wenn immer an bestehenden Einigungen/Definitionen gerüttelt wird, ohne dass man damit der Lösung (oder einer möglichen Realisierung) näher käme. Wenn die Kritiker, denen Lua nicht gefällt, durch einen Schwenk auf Python jetzt aktiv werden würden, dann nur zu, haut in die Tasten ... ;)

    Bitte melde dich an, um diesen Link zu sehen. | Meine Lieblings-Themen im Forum64:

    Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen.

  • Ich bin jetzt weder entschiedener Lua Gegner noch riesen Python Fan. Aber abgesehen von meinen beruflichen bedingten Ausflügen zu Python (Test Framework, Integrations Tests, Buildsystem, etc.), hatte ich den Eindruck,

    dass Python auch im Bildungsbereich zulegt. Meine Frau ist ja "MINT-Lehrerin" und hat an ihrer Schule einen Robotik-Kurs übernommen.

    Da gibt es einerseits noch Lego EV3, andererseits neuerdings Calliope Mini.

    Für beides gibt es grafische, blockbasierte Programmierung (wie Scratch) aber auch Python, bzw. MicroPython.

    Auch beim (Bundes-) Jugendwettbewerb Informatik kann man z.B. Übungen blockbasiert oder mit Python machen: Bitte melde dich an, um diesen Link zu sehen.

    Was Pyxel angeht: ich habe mit meinen Jungs etwas mit PG Zero rumgespielt, inspiriert von Eben Uptons Buch Bitte melde dich an, um diesen Link zu sehen..

    PG Zero will PyGame "einfach" machen, aber es liefert dazu keine Tools. Daher habe ich nach Alternativen gesucht und bin auf Pyxel gestossen.

    Als IDE nehmen wir Thonny (auf Windows und Mac, sollte aber unter Linux/Raspi OS genauso tun).

    Was ich bisher an Pyxel mag, ist dass man die Auflösung und den Vergrößerungsfaktor selbst festlegen kann. Ich mag 320x240 mit 3x oder 4x.

    Sowas wie PICO-8 ist mir einfach viel zu pixelig. Die 16 Farben finde ich ok.

  • Python ist den TIOBE-Index im Laufe der Jahre nach oben geklettert und inzwischen sogar schon seit Jahren an der Spitze. Ich programmiere schon seit rund 15 Jahren mit Python und finde es super.

    Ob ich es jetzt zwingend fuer solch ein Produkt hernehmen wuerde, weiss ich auch nicht, da Python auch stark von seinen Libraries lebt, welche man aber in solch einem Produkt vielleicht nicht einsetzen wuerde. Aber wenn man rein die Sprache als solche hernimmt, dann vielleicht schon eher. Vielleicht waere da auch wirklich sowas wie MicroPython nicht so verkehrt.

    Eine Sache die mich bei Lua stoert, und auch bei vielen Klammer-basierten Sprachen, sind die vielen END- oder geschlossenen Klammer-Statements, die gerade bei einer niedrigen Aufloesung wie in PICO-8 einfach nur Unmengen an Platz verbrauchen. Da ist Python super, weil das alles ueber die Einrueckung geloest wird. Hat man also ein paar verschachtelte IFs und Schleifen, spart das deutlich unsinnige Zeilen ein. Und nebenbei wird man sogar "gezwungen", lesbareren Code zu schreiben.

    Das Thema String-Handling, Listen und Dicts, Klassen usw duerfte bei Python auch wesentlich komfortabler sein als bei Lua, soweit ich mich da erinnern kann (habe ein paar mal was mit Lua gemacht, aber nicht exorbitant viel).

    Unabhaengig von der Sprache sehe ich es allerdings auch als sinnvoll an, eine bestehende Sprache einzusetzen. Auch wenn es evtl. reizvoller waere, eine eigene Sprache fuer so etwas zu erschaffen (z.B. hatte ich mal was aehnliches vor, und wollte eine Art "besseres BASIC" bauen). Aber die Akzpetanz bei solch einem Produkt waere vermutlich groesser, wenn es eine ausgereifte, bekannte Sprache waere, die man auch anderweitig einsetzen kann.

    Pyxel muss ich mir mal ansehen, das sieht interessant aus.

    - neue Spiele für den C64 -
    Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen.

  • Was mir bei Lua nicht gefällt, ist, dass es mit "Retro" so gar nichts zu tun hat. Der zentrale Datentyp von Lua ist eine Hashmap. Da braucht man doch wirklich eigentlich nichts mehr weiter zu sagen. Aber bequem und schnell ist es freilich.

    Die Programmiersprache soll ja gerade nicht retro sein, sondern darf im Gegenteil sehr modern sein.

  • ...

    Eine Sache die mich bei Lua stoert, und auch bei vielen Klammer-basierten Sprachen, sind die vielen END- oder geschlossenen Klammer-Statements, die gerade bei einer niedrigen Aufloesung wie in PICO-8 einfach nur Unmengen an Platz verbrauchen. Da ist Python super, weil das alles ueber die Einrueckung geloest wird. Hat man also ein paar verschachtelte IFs und Schleifen, spart das deutlich unsinnige Zeilen ein. Und nebenbei wird man sogar "gezwungen", lesbareren Code zu schreiben.

    ...

    Ich sag nur PASS. So was sollte es gar nicht geben müssen.

    Bei TIOBE ist auch javascript ganz oben, das hat so ziemlich gar nichts mit Beliebtheit zu tun :)

    So oder so, auf jeden Fall etwas Bestehendes nehmen, etwas Eigenes zu basteln in ein riesiger Aufwand und bedarf dann auch gerne regelmäßiger Pflege.

    C64Studio: Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. --- C64Studio WIP: Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. --- Bitte melde dich an, um diesen Link zu sehen.

  • Ich bin mir nicht mehr sicher, ob wir das auch schon geklärt hatten: Also, sollte neben der Grafikauflösung und so auch die Rechenzeit (künstlich) begrenzt werden, damit bei einem Hardwarewechsel das Spielerlebnis erhalten bleibt?

  • Also, sollte neben der Grafikauflösung und so auch die Rechenzeit (künstlich) begrenzt werden, damit bei einem Hardwarewechsel das Spielerlebnis erhalten bleibt?

    Wie ist denn das, wenn du bei einem C64 die Hardware wechselst? ;)

    Das soll ja ein Computer sein, also Hardware mit Software. Wenn du die Software auf eine andere Hardware spielen möchtest, wirst du das wahrscheinlich tun können (soll ja alles open source sein) – musst aber mMn selbst dafür sorgen, dass die Geschwindigkeit zur Original-Hardware passt.

    Bitte melde dich an, um diesen Link zu sehen. | Meine Lieblings-Themen im Forum64:

    Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen.

  • Ich sag nur PASS. So was sollte es gar nicht geben müssen.

    Das gefaellt mir (als Python-Fan!) auch nicht.

    Aber im Austausch gegen ungefaehr 50x so viele ENDs oder geschlossene Klammern kann ich dann am Ende doch ganz gut damit leben :)

    - neue Spiele für den C64 -
    Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen.

  • Bei TIOBE ist auch javascript ganz oben, das hat so ziemlich gar nichts mit Beliebtheit zu tun :)

    JavaScript ist auf Platz 6 und es geht hier nicht unbedingt nur um "Beliebtheit" sondern auch um "Verbreitetheit" ;) und ja, auch Sprachen, die nicht so beliebt sind, koennen trotz allem sehr verbreitet sein ;)

    - neue Spiele für den C64 -
    Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen.

  • Das soll ja ein Computer sein, also Hardware mit Software.

    Mal angenommen, die gewählten Hardwarekomponenten sollten später nicht mehr lieferbar sein. Aber die vorhandene Nachfrage soll noch bedient werden können. Bei einem Tausch ist ja nicht mehr dieselbe Rechenkraft vorhanden. Durch den technischen Fortschritt wahrscheinlich mehr Power als vorher. Deshalb meine Frage nach einer Art "Tempobegrenzung". Oder soll die Hatdware immer bis zum Anschlag ausgereizt werden?

  • JavaScript ist auf Platz 6 und es geht hier nicht unbedingt nur um "Beliebtheit" sondern auch um "Verbreitetheit"

    Und es gibt auch nicht nur TIOBE, sondern auch andere Top-X Listen, z.B. Bitte melde dich an, um diesen Link zu sehen.. Da ist das Ranking etwas anders aber im Großen und Ganzen auch nicht komplett abweichend.

    Bitte melde dich an, um diesen Link zu sehen. | Meine Lieblings-Themen im Forum64:

    Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen.

  • Mal angenommen, die gewählten Hardwarekomponenten sollten später nicht mehr lieferbar sein.

    Danke, dass du dem Projekt so viel zutraust. Ich würde es einfach so machen, dass die Geschwindigkeit des Computers die ist, die die (erste) verwendete Hardware vorgibt. Welche das ist, entscheidet man, wenn das Projekt so weit ist, dass man in absehbarer Zeit produzieren lassen kann. Und wenn es wider erwarten diese Hardware nicht mehr geben sollte, bevor das Interesse an dem Computer schwindet, nimmt man halt eine schnellere Hardware zum ähnlichen Preis und begrenzt die Performance – dann.

    Man kann nach 7 Jahren (o.ä.) aber auch einen Nachfolger herausbringen, dessen Specs insgesamt besser sind – damit sich die Entwickler nicht langweilen. So machen es ja in letzter Zeit auch die Konsolen-Hersteller – die bringen irgendwann eine kompatible Facelift-Version mit besseren Specs heraus.

    Bitte melde dich an, um diesen Link zu sehen. | Meine Lieblings-Themen im Forum64:

    Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen.

  • Man kann nach 7 Jahren (o.ä.) aber auch einen Nachfolger herausbringen, dessen Specs insgesamt besser sind – damit sich die Entwickler nicht langweilen. So machen es ja in letzter Zeit auch die Konsolen-Hersteller – die bringen irgendwann eine kompatible Facelift-Version mit besseren Specs heraus.

    Ich glaube, bei modernen Konsolen langweilen sich eher die Spieler. Entwickler mögen aber stabile Platformen. Und letztere sollen ja mit einem Mitmach-Computer angesprochen werden. Wenn einmal die Geheimformel gefunden wurde, sollte sie nicht auch mehr geändert werden.

  • Wenn einmal die Geheimformel gefunden wurde, sollte sie nicht auch mehr geändert werden.

    Das wäre ja auch meine erste Option. Aber ich denke, wir müssen uns um Nachfolgemodelle oder eingestellte Hardware noch keine Gedanken machen. Immer Schritt für Schritt. ;)

    Bitte melde dich an, um diesen Link zu sehen. | Meine Lieblings-Themen im Forum64:

    Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen.

  • BTW: heute ist neues Spielzeug angekommen, das ich mit Kindern ausprobieren will: Bitte melde dich an, um diesen Link zu sehen.. Fand ich bisher viel zu teuer, war jetzt aber beim Heise Shop im Angebot für 39€.

    Ist ein ESP32 mit 2MB (PSRAM), 8MB Flash und kleinem 240² Pixel Display. Kommt aus der Schweiz, ist für Schüler/Jugendliche gedacht und wird in einer Python-Variante programmiert.

    Aber Entwicklung ist natürlich nicht auf dem Ding, sondern über IDE im Browser. Also nicht ganz das, was wir wollen.

  • Wie wäre es denn, wenn die Python-Fans, die sich jetzt stark für die Sprache gemacht haben, mal auf Basis von Pyxel o.ä. sowas wie PICO-8 aber mit unseren Wunsch-Specs zusammenbasteln, sodass wir das mal testweise auf unsere Rechner oder Raspis spielen können. So eine Art One-Klick-Installer. Dann hätte man etwas, von dem aus man weitere Schritte unternehmen könnte – Performance testen, HDMI-Ausgabe testen usw.

    Bitte melde dich an, um diesen Link zu sehen. | Meine Lieblings-Themen im Forum64:

    Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen.

  • Gibt es da ein historisches Vorbild?

    Soweit ich weiß, nicht. Der ergibt sich aufgrund der sehr geringen Auflösung, die sich Spiele und IDE teilen. Das ist eines der Dinge, die ich anders machen würde: Zumindest der Code-Editor (oder ein Text-Bereich) soll die doppelte horizontale Auflösung der Spiele/Bitmap-Auflösung bekommen.

    Bitte melde dich an, um diesen Link zu sehen. | Meine Lieblings-Themen im Forum64:

    Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen.

  • Pyxel hat keinen eigenen Texteditor, erst recht nicht im Retro-Look. Instalkation - soweit Python dchon vorhanden - einfach mit pip install pyxel. Ist halt eine Python Lib mit noch dem Editing Tools, aber keine „integrierte“ Allroundlösung, wo man alles in einer einheitlichen Umgebung (oder in einem Prozess/Programm) macht.

    Wenn sowas gewollt ist, müsste man es erstmal „zusammenbasteln“.

    Python Einsteiger können sich Thonny u. ä. mit „integriertem“ CPython 3.x als Installer oder portable App runterladen und den Thonny Paket-Manager für Libs verwenden.

    Ich hab mal testweise ein Pyxel „HelloWorld“ mit PyInstaller auf Mac in ein eigenständiges Paket gepackt, das waren schon zig MB.

    Ein print(‚hello world’) Python Skript (also nur auf der Console) braucht mit PyInstaller auch schon gut 5MB unter Win10/Mac.

    Lua ist sicher schlanker. Glaube minimal ist Lua 5.2 unter 1MB.