Borgware-2D

Aus LaborWiki
Version vom 2. Januar 2014, 21:42 Uhr von Tunix (Diskussion | Beiträge) (Simulator-Abschnitt auf den Stand von Ende 2012 (!) gebracht)
Wechseln zu: Navigation, Suche

Die Borgware-2D stellt ein Framework dar, um den Wildwuchs an Programmen und Funktionen, die mittlerweile für diverse Borgs geschrieben wurden, zu vereinheitlichen und über ein Ncurses-Menü konfigurierbar zu machen.

Installation

Screenshot der Menuconfig

Zuerst einmal benötigst Du die aktuellen Quellen aus dem svn. Diese kannst Du mit folgendem Befehl auschecken:

svn co https://www.das-labor.org/svn/microcontroller/src-atmel/borg/borgware-2d

Wechsel danach in das Verzeichnis und wähle die Dinge aus, die Du für Deinen Borg nutzen möchtest. Tippe make menuconfig.

Zum erstellen der Software für den Microcontroller kannst Du nun einfach make eingeben und abwarten bis er fertig ist. Zum Flashen mit dem USBasp benutze den Befehl make uflash.

Eventuell fehlen dir zum compilieren diverse packete, die Fehlermeldungen beim ausführen können dir helfen (oder auch nicht). Unter Debian/Ubuntu probiere "sudo aptitude install build-essential make libncurses5-dev gcc-avr avr-libc binutils-avr avrdude freeglut3-dev -y" um die packete zu installieren.

Simulator

Die Borgware enhält einen OpenGL/GLUT-basierten Simulator für Linux und FreeBSD (jeweils x86/x64) und einen GDI/Win32-basierten Simulator für Windows (benötigt Cygwin, x86). Der Simulator-Build lässt sich über den Befehl make simulator anstoßen, wobei das Buildsystem automatischen den korrekten Simulator wählt. Nach einem erfolgreichen Build liegt ein Binary namens borgsim oder borgsim.exe im selben Verzeichnis.

Aufgrund speziell angepasster Linkerskripte läuft der Simulator derzeit nur unter Linux, FreeBSD und Windows (und dort auch nur unter x86 bzw. x64). Prinzipiell ist der OpenGL-basierte Simulator plattform-unabhängig, allerdings müssen pro Betriebsystem und Architektur entsprechende Linkerskripte vorgehalten und ins Build-System integriert werden. Die Linkerskripte erzeugen beim Binden automatisch eine Datenstruktur für die Spielmenüeinträge und ermöglichen die EEPROM-Emulation im Simulator. Die Anhängigkeit von diesen Skripten ist derzeit das einzige Hindernis in Bezug auf Plattformunabhängigkeit. Da derzeit niemand an der Borgware arbeitet wird sich das in absehbarer Zeit nicht ändern. Patches welcome.

Tastenbelegung

q             Beenden des Simulators
wasd          Joystick Befehle
space         Joystick Feuer
Pfeiltasten   Rotation der Ansicht (nicht unter Windows)

Animationen

Mittlerweile gibt es Zahlreiche Animationen für die Borgs. Hier sind ein paar Beispiele:

Snake
Matrix
Feuer
Scroll-Animation für Elemente der Spiele

...und viele weitere

Spiele

Tetris

Tetris

Tetris gibt es gleich in 3 verschiedenen Varianten

  • Classic: Das ganz normale Tetris
  • First Person Tetris: Statt die Steine zu drehen, dreht man hierbei das Spielfeld um den Stein
  • Bastet: Diese Tetris Variante gibt einem stets den Stein, den man gerade am wenigsten gebrauchen kann




Snake

Füttere die Schlange

Pong

hat nix mit dem Befehl Ping zu tun.

Space Invaders

Erst Schiessen, dann fragen.

Verwandte Projekte

  • LibNiftyLed ist ein Projekt das sich mit der Abstraktion von LED-Steuerungen beschäftigt