Montag, 24. Dezember 2018

Nintendo Switch Homebrew Programmiertutorial veröffentlicht

Was gibt es besseres als die langweilige Zeit von Weihnachten (den zweiten Weihnachtstag oder so) mit Programmieren zu verbringen. Aber Wenn man nicht programmieren kann, dann geht das natürlich nicht. Deshalb kannst du das jetzt mit dem Nintendo Switch Homebrew Programmiertutorial ändern:
https://www.dropbox.com/sh/fop5bev3n1cjovr/AADiMrAQPoWdiy2VMUxABJNda


Changelog:

BETA 2 (30.3.2020):
  • Kapitel 4 und 5 hinzugefügt
  • Anleitung um Homebrew Launcher mit mehr RAM auszuführen verfeinert
  • Hinweis bezüglich Softwarekeyboard bei USB Keyboard ergänzt

Mittwoch, 6. Juni 2018

Schusstest V2.ii

Nachdem wir den "Schusstest" für das DS Homebrew Menu portiert haben ging die Entwicklung noch etwas weiter: das Spiel wurde zu einem kooperativen 2 Spieler Spiel an einer DS Konsole entwickelt. Mehr Details zur Steuerung usw. gibt es in der ReadMe. Natürlich lässt es sich auch über die gestern veröffentlichte ugopwn Version für den DSi starten.
Leider haben wir den Quellcode dieser Homebrew mit einer Festplatte verloren. Allerdings handelt es sich nur um einige Ergänzungen zum Quellcode vom Schusstest 2.i. Notfalls kann also dieser zurate gezogen werden.


Hinweis: zum Laden der Grafiken wird ARGV verwendet. Wenn deine Flashkarte das nicht unterstützen sollte wird empfohlen das Homebrew Menu zu verwenden.

Sonntag, 3. Juni 2018

Useless Homebrew Wii U

Wie bereits geteasert gibt es heute einen weiteren Port der Useless Homebrew. Diesmal wenden wir uns keinem Handheld zu, sondern der Nintendo Switch.
Das Spielprinzip ist relativ einfach. Man versucht, einen Schalter einzuschalten, der sich von selbst ausstellt. Dabei gibt es ab und zu ein paar besondere Reaktionen um das dröge Geklicke aufzulockern.

Download:
- Version 1.0 (*.elf)
- Version 1.0 (Sourcecode)

Links:
- Switch Port: https://fukteam.blogspot.de/2018/02/useless-homebrew-switch-version-10.html
- 3DS Port: https://gbatemp.net/threads/useless-homebrew.378284/
- GBA Port: https://fukteam.blogspot.com/2018/03/useless-homebrew-gba.html
- Originale DS Version: https://gbatemp.net/threads/the-most-useless-ds.293231/

Freitag, 11. Mai 2018

Noch ein Teaser

Es gab schon länger keinen Teaser mehr also wird es mal wieder Zeit. Übrigens geht es unser Wii U gut.

Samstag, 31. März 2018

Useless Homebrew GBA

Um das Warten auf Ostern etwas zu vereinfachen gibt es bereits heute ein kleines Präsent von uns: die Useless Homebrew, portiert auf den Gameboy Advance.
Das Spielprinzip ist relativ einfach. Man versucht, einen Schalter einzuschalten, der sich von selbst ausstellt. Dabei gibt es ab und zu ein paar besondere Reaktionen um das dröge Geklicke aufzulockern.

Download:
- Version 1.0 (*.GBA)
- Version 1.0 (Sourcecode)

Donnerstag, 22. März 2018

Nintendo Switch: Labo-artiges ferngesteuertes Fahrzeug

Labo ist noch nicht käuflich erhältlich, aber warum sollten wir warten? Warum sollten wir 70€ für Pappe ausgeben? (Ja ich weiß, ein Teil davon ist für die Cartridge.) Ich musste einfach mein eigenes per Vibration der Joy Cons angetriebene Fahrzeug bauen nachdem libnx Rumble Support bekommen hat. Dieses Projekt ist komplett open source!

Die Software

Zur Software kann man nicht viel sagen, da sie hauptsächlich auf den HID Beispielen (https://github.com/switchbrew/switch-examples/tree/master/hid) basiert. Genauer gesagt: es nutzt irsensor, touch-screen und vibration. Aber beim Entwickeln der Anwendung war ich davon überrascht, wie viele Features der Switch verwendet werden: abnehmbare Controller mit drahtloser Verbindung, die IR Kamera, starke Rumble Motoren und Multi Touch. Wenn man die linke Touchscreenhälfte drückt bewegt sich das Fahrzeug nach links, sonst nach rechts.
Mit Hilfe des Rumble Beispiels von libnx war es kein großes Problem eine gute Frequenz mit einem starken Rumble Effekt zu finden. Ich habe den Quellcode so verändert, dass die genutzten Frequenzen auf dem Bildschirm ausgegeben werden und dann notiert und sie in der Anwendung verwendet.
Die Framerate der IR Kamera ist ziemlich schlecht (ungefähr ein Bild pro Sekunde, vielleicht sogar weniger). Das Beispiel für die Kamera hat aber das gleiche Problem.
Die Rumble Unterstützung von libnx scheint etwas fehlerhaft zu sein. Deshalb veröffentliche ich kein fertiges Build sondern nur den Quellcode: https://filetrip.net/dl?2gsZEXYTZF

Die Hardware

Der erste Prototyp wurde aus Pappe hergestellt. Aber dann ist mir aufgefallen, dass man Pappe nicht anständig debuggen kann (man kann nicht einfach etwas an etwas anderem befestigen und es danach wieder lösen, ein falscher Schnitt und die ganze Arbeit ist Müll). Aus dem Grund wurden die späteren Prototypen mit einer Lego Technic Basis gebaut. Hier ist ein Link zu einer Datei von dem 3D-Modell der Lego-Basis die ich verwendet habe. Man kann sie mit dem Lego Digital Designer (https://www.lego.com/en-us/ldd) öffnen: https://filetrip.net/dl?UvOUJORUTy

Anforderungen an das Fahrgestell:
-Sehr eicht; es muss durch die Rumble Motoren bewegt werden können
-Feste Platzierung der Joy Cons; die Vibration muss so direkt wie möglich von den Joy Cons ans Gehäuse weitergeleitet werden
-Haltbar; das Fahrgestell muss längere Vibrationen aushalten
-Kleine Kontaktpunkte zum Boden: größere Kontaktpunkte zum Boden führen zu mehr Reibung -> keine Bewegung
-Richtige Struktur der Kontaktpunkte zum Boden; ich musste mehrere Konfigurationen ausprobieren um eine zu finden, die das Fahrzeug vorwärts bewegt
-Balanciertes (und balancierbares) Gewicht; das Fahrzeug muss gut balanciert sein um sich vorwärts zu bewegen

Es ergibt Sinn das Fahrgestell mit Lego Technic Teilen zu bauen weil sie leicht und haltbar sind und weil sie einfach balanciert werden können (man kann kleine Teile an den Seiten ergänzen um das Gewicht auszugleichen).
Ein Problem ist, dass die Joy Cons nicht genau ins Lego Technic "Rastermuster" passen. Ich habe einige 1x1 Platten und runde Platten angebaut damit sie besser passen. Wusstest du, dass es als illegale Bautechnik angesehen wird wenn man eine 1x2 Platte direkt auf die Löcher einer Technic Stange steckt?
Die Kontaktpunkte zum Boden wurden ähnlich gebaut. 1x1 Platten sind klein und können einfach umpositioniert werden.

Weitere Medien

Ich habe während der Entwicklung noch zwei weitere Videos aufgenommen. Das Erste zeigt die ersten Tests mit dem Rumblebeispiel von libnx während das Zweite ein schon funktionierendes Fahrzeug zeigt.

Besonderer Dank

-yls8
-plutoo
-Alle anderen, die an dem 3.0.0 Homebrew Launcher, libnx und den Switch Beispielen gearbeitet haben.

Montag, 19. Februar 2018

Useless Homebrew Switch Version 1.1.2

Pünktlich zum Release des Homebrew Launchers für die Nintendo Switch hat auch das FUK-Team eine erste Anwendung auf die Plattform portiert.
Es handelt sich um das Spiel "Useless Homebrew", das ursprünglich von Rydian für den Nintendo DS geschrieben und später von uns auf den 3DS portiert wurde.
Das Spielprinzip ist relativ einfach und Jeder, der ein Video zu einer "Useless Machine" gesehen hat kennt es. Man versucht, einen Schalter einzuschalten, der sich selbst ausstellt. Dabei gibt es noch ein paar besondere Reaktionen um das dröge Geklicke zu unterbrechen.

Wir haben zwei Versionen entwickelt: eine, die auf LibNX basiert (HBL Edition) und eine, die auf Libtransistor basiert (PegaSwitch Edition). Die Screenshots stammen von der Pegaswitch Version.

Durch das Nintendo Switch Systemupdate zu 9.0.0 wurden einige Änderungen vorgenommen. Unter Anderem wurde das Modul zum Auslesen von Tasteneingaben aktualisiert. Damit in Homebrew Anwendungen die Tasten auch zukünftig funktionieren müssen sie an die aktuelle LibNX Version angepasst und neu kompiliert werden. Aus diesem Grund wird die PegaSwitch Version nicht mehr unterstützt werden.

Update (1.1.2):
Die Anwendung wurde angepasst und mit der aktuellen LibNX Version kompiliert. Es sollte keine sichtbaren Änderungen geben.

Update (1.1.1):
Im Rahmen des einjährigen Jubiläums der Konsole (und zu 1000% nicht weil LibNX 1.1.0 veröffentlicht wurde) haben wir die Homebrew Launcher Version dieser Homebrew aktualisiert. Darunter gibt es ein paar Patches, Anpassungen usw. Genaue Informationen kann man dem Changelog entnehmen.

Update (1.0.1):
Die PegaSwitch Version funktioniert jetzt auch mit dem Homebrew Launcher.
Du solltest sie allerdings durch Drücken der "HOME"-Taste verlassen und nicht indem du "-" drückst! Der Homebrew Launcher wird sonst crashen!

Download
- Version 1.1.2 (HBL Edition)
- Version 1.1.2 (HBL Sourcecode)
- Version 1.1.1 (HBL Edition)
- Version 1.0.1 (PegaSwitch Edition)
- Version 1.1.1 (HBL Sourcecode)
- Version 1.0.1 (PegaSwitch Edition Sourcecode)

Links
- 3DS Port: https://gbatemp.net/threads/useless-homebrew.378284/
- Originale DS Version: https://gbatemp.net/threads/the-most-useless-ds.293231/