mrkeks.net

Krümligste Neuigkeiten

  • Denken
  • Produzieren
  • Kontakt

Programmieren

Prozess-Gleichheiten als (spielbare) Spiele

21. Mai 2020 / Kommentieren

Gleichheitsbegriffe für das Verhalten von kommunizierenden Systemen korrespondieren zu logischen Spielen. Diese haben mehr mit mathematischer Spieltheorie als mit Computerspielen zu tun. Trotzdem lassen sie sich als Computerspiele umsetzen, was ich sehr cool finde.

In Computing Coupled Similarity habe ich 2018 etwas erklärt, mit welchem Gleichheitsbegriff ich mich bei meiner Masterarbeit beschäftigt habe. Seitdem haben wir die Ergebnisse bei der Konferenz TACAS 2019 präsentiert. Details zu den logischen Spielen gibt unser Acta-Informatica-Artikel „Coupled Similarity: The First 32 Years“. Da erschien übrigens dereinst auch der Artikel von Dijkstra, wegen dessen ich Philosoph*innen für Beispiele verwende ;).

Einige meiner Bachelorstudis und ich haben inzwischen angefangen, Computerspiel-Umsetzungen der logischen Spiele zu entwickeln. Besonders glücklich bin ich mit einem kleinen Spiel, das unter https://www.concurrency-theory.org/rvg-game/ im Browser gespielt werden kann.

Zwei konkurrierende Spieler im Bisimulationsspiel mit Seitentausch.
Starke Bisimulation in Dominiks Process Equivalence Video Game.

Das Spiel entstand im Rahmen von Dominiks Bachelorarbeit und wurde genau rechtzeitig fertig, damit wir es zu Rob van Glabbeeks 60. Geburtstag online stellen konnten. Rob ist einer der Entdecker von Coupled Similarity und diese nimmt eine zentrale Rolle im Spiel ein. Das Timing passte also sehr gut.

Schaut euch das Spiel ruhig mal an! Es liefert einen deutlich freundlicheren Zugang als durch die sonst häufig am Anfang stehenden mathematischen Monster wie Coinduktion, Coalgebren, Kategorien und Modallogiken.

Ich arbeite ja in der Informatik auf dem Feld der Concurrency-Theory, das seine Wachstumszeit schon hinter sich hat. Wichtiger als die (irgendwie immer noch moderne) Erarbeitung immer neuer obskurer Formalismen ist es, den Kern des Feldes so zu stabilisieren, dass er für Menschen überblickbar wird und neue Generationen davon ausgehend auf neue Stufen klettern können. Darum finde ich es wertvoll, interaktive und intuitive Präsentationen zu suchen.

Gepostet in: Produzieren Tagged: Concurrency, Programmieren, Spiel

Computing Coupled Similarity

22. April 2018 / 1 Kommentar

Ich habe dieser Tage meine Masterarbeit mit dem schönen Titel „Computing Coupled Similarity“ eingereicht. Coupled Similarity ist ein bestimmter Begriff davon, was für Zustände von Programmen gleich sind. Natürlich funktioniert der Begriff nicht nur für Programme, sondern auch für allgemeinere Abläufe. Es gibt sehr viele Gleichheitsbegriffe für solche Systeme. Dazu gehören jeweils Algorithmen, um die Gleichheiten zu ermitteln. Für Coupled Similarity wurde wohl bisher vergessen, so einen Algorithmus zu entwickeln, und das ist es, was ich in meiner Masterarbeit nachhole.

weiterlesen

Gepostet in: Produzieren Tagged: Concurrency, Programmieren

Raytracer 2016

27. Juli 2016 / Kommentieren

Für Computergraphik 1 habe ich mit Meike und Amir einen kleinen Raytracer geschrieben. Der ist immerhin schon um einige Größenordnungen schneller als meine Gehversuche von 2007. Dabei floss viel Handarbeit in C++, Multi-Threading und Organisation der Mesh-Geometrie durch k-d-Bäume!

raytrace_softshadows_gi_40passes

Da ich mich nicht so recht traue, das Programm selbst hier zu veröffentlichen, denn die Urheberrechtslage für Uni-Hausaufgaben ist hinreichend unklar, gibt’s hier nur eine Bildausgabe des Raytracers. :) (Mit der Maus über das Bild gehen für Hinweise zu den erkennbaren Features im Bild!)

Gepostet in: Produzieren Tagged: Grafik, Programmieren, Uni

Buttonviewer für Ron

22. November 2015 / 1 Kommentar

Ich habe mich mal an JavaScript-3d-Browser-Programmierung versucht. Obwohl ich nicht sehr fit mit JavaScript und co bin, ging das mit three.js doch überraschend einfach.

buttonz

Projekt war ein Programm, mit dem man sich zu 2d-Motiven ansehen kann, wie sich diese auf echten dreidimensionalen Buttons machen würden – ob man genug Rand gelassen hat und so weiter. Ich hatte so ein Programm 2007 mal für Ron geschrieben, der nebenher individuelle Buttons für Bands und andere Interessierte stanzt. Inzwischen war das Windows-Programm etwas sehr angestaubt und es war naheliegend, das ganze für den Online-Einsatz neu zu implementieren.

Das Ergebnis könnt ihr auf http://buttonz.de/viewer/ bewundern. Einfach eure Bilddateien auf den Viewer im Browser ziehen und los geht’s!

Gepostet in: Produzieren Tagged: Programmieren, Web

WordPress

10. Mai 2015 / 1 Kommentar

*poink*

Irgendwas hat mich dazu getrieben, die Inhalte meines guten, alten, handgeschriebenen Blog in ein WordPress-Blog zu übertragen.

Das ist zwar nicht mehr so richtig real, aber dafür muss ich Beiträge in Zukunft nicht mehr von Hand per SQL posten ;). Vielleicht führt das ja sogar dazu, dass ich hier wieder ab und zu was schreibe, wer weiß?

Die Inhalte der alten Website wohnen jetzt unter http://mrkeks.net/old/.

(Vermutlich sind hier unendlich viele Links kaputt. Ich überlege mir die nächsten Tage mal, ob das irgendwie auf eine vertretbare Art zu fixen geht. Auch wird es wohl ein harter Kampf, die alten Beitragsbilder ins WordPress zu hämmern :/.)

Update 10. Mai 2015: Okay, ich habe die Beitragsbilder (etwas mittelcool) gerettet und die alten URLs leiten auch weiter. Außerdem habe ich dem Theme etwas des alten mrkeks.net-Charmes aufgezwungen und an ein paar Interfacetexten gebastelt.

Gepostet in: Denken Tagged: Programmieren

Tintenwolf-Blog für Meas

10. März 2013 / Kommentieren

Gepostet in: Denken Tagged: Programmieren

DGX: BattleSpace 9142

31. Dezember 2008 / 2 Kommentare


Fröhliches Neujahr von der DGX-Entwicklungs-Front. (-> Mehr über DGX)

Gepostet in: Denken Tagged: Programmieren

Das Ergebnis der TheGI1-Klausur

20. Dezember 2008 / 3 Kommentare

Die Ergebnisse der Klausur in Theoretische Grundlagen der Informatik sind jetzt einsehbar.

Na, mit fünf Jahren Programmiererfahrung und 1,0er-Abi war’s doch echt schaffbar! Elitär-selektierend-aussiebende Moppelkotze!

Gepostet in: Denken Tagged: Programmieren, Uni

Theoretische Grundlagen der Informatik

16. Dezember 2008 / Kommentieren

Habe heute meine erste Zwischenklausur in Theoretische Grundlagen der Informatik geschrieben. Ziemlicher Betrug: Dutzende uninteressant, in der Luft hängende Aufgaben, die man in 75 Minuten lösen sollte. Niemand hat es geschafft, die Aufgaben überhaupt alle zu bearbeiten. Habe auch nur 70% oder so beantwortet. Hatte mir irgendwie von der Uni etwas mehr erhofft als einen Unieinbürgerungstest, der mit Multiple Choice und co mehr an die MSA-Prüfungen als an eine Klausur erinnert…

Gepostet in: Denken Tagged: Programmieren

DGX: BattleSpace 9142

19. März 2008 / 25 Kommentare

DGX: BattleSpace 9142 war lange mein persönliches Lieblingsprojekt. Denn es stellt die Verschmelzung zweier meiner Lieblingsspiele dar. Ich spiele normalerweise nicht viel am PC, aber FreeSpace 2 sowie BattleField 1942 hatten es mir wirklich angetan. Darum war es auch ganz logisch, dass ich im Frühling 2004 mit der Entwicklung meines Traumspiels anfing. Leider kamen mir irgendwann Studium, Arbeit und Politik dazwischen.

Screenshots von 2007

Das Konzept ist schnell verstanden, wenn man FreeSpace und Battlefield kennt: Es gibt große Raumschlachten mit Kreuzern, Jägern, Bombern, Geschützen und Stationen, die sich mit fetten Lasern beschießen wie in FreeSpace. Allerdings sind diese nicht FreeSpace-mäßig gescriptet, sondern laufen frei im BattleField-Stil ab. Es wird also um Subraumportale ( = Flaggen in BF) gekämpft, die als Spawnpunkte für Spieler und große Schiffe dienen und deren Einnahme den Ticketverfall der Gegner beschleunigt.

Battlefieldlike gibt es vier Klassen: Aufklärer sind schnell, aber schwach und stören außerdem die gegnerischen Sensoren, verstärken allerdings auch die eigenen um Störungen aufzuheben.
Die normalen Jäger haben ordentliche Feuerkraft und sind immernoch schnell genug. Sie sind die ideale Waffe gegen alles, was kleiner als ein Kreuzer ist.
Bomber sind träge und schwer gepanzert. Sie führen Bomben mit, die kleinere Schiffe in tausend Stücke sprengen könnten, wenn sie nicht so langsam wären. Die Aufgabe der Bomber ist es, die feindlichen Großkampfschiffe und Stationen zu bekämpfen.
Unterstützer sind die letzte Spielerklasse. Sie sind seehr langsam, dafür aber nur schwer zu zerstören und mit einem Laderaum voller Raketen. Sie können Raketen und Reperaturmaterialien auf nahe Schiffe teleportieren und somit zur Aufmunitionierung und Reperatur beitragen.

Des weiteren gibt es einige Schiffstypen, die der Spieler nicht Steuern kann: Frachtschiffe müssen für gewöhnlich von einem Punkt zu einem anderen geleitet werden. Stationäre Kanonen dienen dazu Punkte abzusichern. Kreuzer sind fett und schießen alles kurz und klein. Stationen sind noch deutlich fetter (2 km Durchmesser in Spiel-Einheiten). Geplant, aber noch nicht integriert, sind noch die Flagschiffe, die nochmal deutlich größer als die Stationen werden sollen…

Es gibt auf allen Maps zwei Fraktionen: Evianer und Y’thear. Erstere haben ein etwsa helleres Schiffsdesign und legen wert auf robuste Schiffe. Die Y’thear-Schiffe sind zumeist bei Wendigkeit und Geschwindigkeit überlegen, weshalb allerdings nicht ganz so viel Energie für die Waffensysteme übrig bleibt. Außerdem sind Y’thearschiffe nicht ganz so gut gepanzert wie evianische. Auch ansonsten gibt es leichte Unterschiede zwischen den Rassen.

Download

  • Blitz3d-Sourcecode auf GitHub:
    https://github.com/benkeks/dgx9142/
  • Download des Release 0.2.0 von GitHub:
    https://github.com/benkeks/dgx9142/releases/download/v0.2.0/DGX9142_020.zip (76,9 MB)
  • Alte Version von März 2008:
    http://www.mrkeks.net/files/DGX9142_alpha_06d.zip (33,4 MB)
Gepostet in: Produzieren Tagged: Programmieren, Spiel
1 2 3 Weiter »

github | itch | twitter

leute

  • anna realpolitikerin
  • arno
  • dark corner
  • erik
  • thea
  • lama
  • meas tintenwolf
  • paul geigerzähler
  • purplesloth
  • ron (buttonz)
  • tobi

keks-dabei

  • mittelbauini
  • mtv tu berlin
  • lam berlin
  • café a

Copyright © 2025 mrkeks.net.

Me WordPress Theme by themehall.com