Schlagwort: Programmierung

  • Spieleentwurf

    Spieleentwurf

    Im BFO Spieleentwurf habe ich in kleinen Teams Spielkonzepte in zweiwöchigen Abständen konzipiert und als kleine Prototypen umgesetzt. Hier arbeitete ich an mehreren Projekten mit, zB. „Charons Catch“ oder „Connepticon“.

    Vor allem war meine Aufgabe Game Design und Soundart. In „Charons Catch“ erstellte ich mit Aseprite Assets für das Spiel, die dort verwendet wurden. Gemeinsam konzipierten wir eine Spiele-Demo, die wir unseren Dozenten präsentierten. In Connepticon plante ich das Game-Setting und war hauptsächlich für das Sound-Design zuständig.

    Charons Catch

    Das Spiel handelt von einem Fischer, der versucht, über das Tote Meer zu gelangen, muss aber einen Zoll an Charon bezahlen; dazu angelt man drei Fische, um sicher zu gelangen, während Geister einen bedrohen.

    Connepticon

    In „Connepticon“ spielt man einen Ermittler, der von einem Kult gefangen genommen wurde. Man wird in einem Raum gesperrt und löst verschiedene Rätsel. Sobald man das erste Rätsel gelöst hat, gelangt man in ein Panopticon, das in jeder Zelle verschiedene Rätsel bereithält. Dabei hat man die Möglichkeit, mit verwesten Toten zu sprechen, die einem helfen oder einen in die Irre führen.

  • Jahresprojekt01

    Jahresprojekt01

    Im Rahmen meines Jahresprojekts Teil 01 plante und entwickelte ich die Hochschulseite für die Medieninformatik-Studierenden mit und plante die Umsetzung in der Projektgruppe. Die Umsetzung erfolgte mit dem Content-Management-System WordPress; ich erstellte ein Child Theme auf Basis des Twenty-Twenty-Themes.

    Zu meinen Aufgaben gehörten die Planung, das Design eines klar strukturierten Layouts mithilfe einer eigenen style.css sowie die technische Umsetzung von Funktionen mit JavaScript und PHP. Ich passte Templates an und gestaltete Bereiche im Child Theme, beispielsweise Layouts für Beiträge, Header, Footer sowie den Hero. Außerdem war ich verantwortlich für das PHP-Script des Beitragsfilters auf der Website, welches mit einem Masonry-Layout verknüpft wurde. Durch dieses Projekt sammelte ich praktische Erfahrung in WordPress, Webprogrammierung, responsivem Design und strukturiertem Projektmanagement. Zudem gewann ich einen guten Einblick in die Anforderungen realer Webprojekte im Hochschulkontext.

  • Webprogrammierung

    Webprogrammierung

    In der Webprogrammierung entwickelte ich eine kleine Website und lernte die grundlegenden Inhalte der Webentwicklung. Mit HTML strukturierte ich Header, Body und Footer, während ich mit CSS responsive Layouts und ansprechende Designs mit Grids und Containern gestaltete. Über JavaScript integrierte ich dynamische Funktionen und interaktive Elemente wie animierte Buttons. Ergänzend nutzte ich PHP, um Formulare zu verarbeiten und einen Filter anzubinden. Als Datenbank verwendete ich XAMPP mit MySQL. Durch diese Projekte vertiefte ich mein Verständnis für den kompletten Entwicklungsprozess einer Website und wandte dieses Wissen bereits beruflich bei LuchsLikeImmoMedia an.

  • Game Development mit Unity

    Game Development mit Unity

    Im Kurs „Einführung in GameEngines“ entwickelte ich in Unity ein kleines Spielprojekt, bei dem ich GameObjects, Physik, Animationen und einfache KI-Logik erstellte. Ich arbeitete mit C#-Skripten und lernte erstmals die Spiele-Programmierung kennen. Dafür nahm ich mir einen Monat Zeit. Das Projekt zeigte mir den ersten Umgang mit Unity und wie man ein Spielprojekt plant.

    Ich setzte ein kleines Spiel um, das von der Spielereihe „Five Nights at Freddy’s inspiriert wurde. Dabei implementierte ich eine KI-Logik mit Hilfe von Flags und dem AI-Navigation-Package, das die Steuerung von Animatronics kontrollierte und überprüfte, ob die Tür zum Spieler mithilfe von Booleans offen oder geschlossen ist. Der Figur konnte ich eigene Aggressionswerte geben, die sich mit der Zeit steigern. Insgesamt bin ich sehr zufrieden mit dem Ergebnis und lernte, wie viel Spaß mir die Arbeit mit Unity macht.

    Mein Projekt:

  • Android-Programmierung

    Android-Programmierung

     Mit Kotlin entwickelte ich eine Android-App, in der ich grundlegende Konzepte wie Activities, RecyclerViews und Datenmodelle umsetzte. Ich lernte, wie man UI-Layouts erstellt, Benutzerinteraktionen verarbeitet, diese speichert und Layouts strukturiert. Die Praxis in Android Studio half mir, mobile Anwendungen eigenständig zu planen und umzusetzen. Dabei programmierte ich eine Bibliotheks-App, die Bucheinträge nach „Titel, Autor und Seitenzahl“ katalogisiert. Eine große Hilfe war die offizielle Dokumentation von Android-Studio. Die Datenbankstruktur baute ich mit Java und verband sie mit den Text-Containern der App; die größte Herausforderung war das Halten und Speichern der Daten die ich über die Datenbank löste. Wäre mehr Zeit für die Abgabe gewesen, hätte ich die App um NFC-Funktionalität oder einen Barcode-Reader erweitert, um Bücher einfacher zu katalogisieren.

  • Java-Programmierung

    Java-Programmierung

     In der Java-Programmierung arbeite ich an wöchentlichen Übungen und kleinen Anwendungen (Programmierung 1 bis 3), um objektorientierte Konzepte besser zu verstehen. Ich setzte Klassen, Vererbung, Interfaces und einfache Datenstrukturen ein. Besonders lernen wir dabei, sauberen, gut dokumentierten Code zu schreiben und Projektstrukturen übersichtlich zu halten. Dabei behandelten wir Grundlagen von Java, Unit-Tests, JavaFX sowie weitere Beginner-Konzepte.

  • Rest-Webservice

    Rest-Webservice

    In Programmierung 3 entwickelte ich einen eigenen REST-Webservice für einen Kopierservice von Retro-Spiel-Cartridges. Der Server wurde mit Java 21 umgesetzt und kommuniziert über JDBC mit einer MySQL-Datenbank. Registrierte Nutzer können Spiele „einsenden“ und herunterladen, während ein Administrator die Daten verwaltet.

    Die REST-Schnittstellen implementierte ich ohne Spring mit einem eingebetteten Server. Die Kommunikation läuft JSON-basiert, die Umwandlung der Daten übernahm Jackson. Der Server kann mehrere Anfragen gleichzeitig bearbeiten.

    Ein wichtiger Teil war mein eigener DB-Initializer. Beim Start prüft das Programm, ob die Datenbank bereits existiert (z. B. in phpMyAdmin). Falls nicht, wird sie automatisch erstellt und per SQL-Import mit Startdaten befüllt. Fehler habe ich dabei gezielt über Exceptions abgefangen.

    Zusätzlich entwickelte ich einen JavaFX-Client, der die Daten vom Server abruft und übersichtlich darstellt. Durch das Projekt habe ich mein Verständnis für REST, Datenbanken und den Aufbau einer vollständigen Client-Server-Anwendung deutlich verbessert.