[Projekt] Hard Thug Life Oberland

Hier könnt ihr euch selbst, eure Homepage, euren Entwicklerstammtisch, Termine oder eure Projekte vorstellen.
Forumsregeln
Bitte Präfixe benutzen. Das Präfix "[Projekt]" bewirkt die Aufnahme von Bildern aus den Beiträgen des Themenerstellers in den Showroom. Alle Bilder aus dem Thema Showroom erscheinen ebenfalls im Showroom auf der Frontpage. Es werden nur Bilder berücksichtigt, die entweder mit dem attachement- oder dem img-BBCode im Beitrag angezeigt werden.

Die Bildersammelfunktion muss manuell ausgeführt werden, die URL dazu und weitere Details zum Showroom sind hier zu finden.

This forum is primarily intended for German-language video game developers. Please don't post promotional information targeted at end users.
antisteo
Establishment
Beiträge: 927
Registriert: 15.10.2010, 09:26
Wohnort: Dresdem

Re: [Projekt] Hard Thug Life Oberland

Beitrag von antisteo »

Krishty hat geschrieben: 03.10.2024, 11:04TTS mit so wenig Berechnung/Speicher, dass es auf einen Raspberry Pi in Echtzeit läuft. Das sah mir nur wie eine dünne Schicht über eSpeak-NG aus … bis jemand auf Reddit dieses Beispiel postete: https://www.sndup.net/gzjv/
Ich benutze im Prinzip das pytorch-TTS und brauche so ziemlich alle 3 Arten von TTS-Modellen:
  • Text to Speech mit irgendeinem Sprecher
  • Text to Speech mit vorgegebenem Stimmmuster
  • Speech Mapping
Danke für den Tipp. Ich schau mal, ob wenn ich das Thorsten-Modell noch mal rauskicke. Das hatte zwar irre hohe Qualität, aber hat wohl meinem Grafik-RAM den Rest gegeben.
http://fedoraproject.org/ <-- freies Betriebssystem
http://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
antisteo
Establishment
Beiträge: 927
Registriert: 15.10.2010, 09:26
Wohnort: Dresdem

Re: [Projekt] Hard Thug Life Oberland

Beitrag von antisteo »

Die Kinder haben jetzt die Supergolli-Basis im Spiel gebaut mit einem Laserstrahl, der alle verbrennen soll, die dort durchlaufen
Supergolli Basis mit Laserstrahl 2024-10-04 at 16-26-19 Supergolli Basis.png
Aufzüge gehen mit dem Missionen-System übrigens auch:
Aufzug 2024-10-04 at 17-09-52 Hard Thug Life.png
Changelog:
  • Hauptmenü sortiert
  • Drehen mit Tastatur (Q, E)
  • Fix TTS mit eingesprochenen Audios
  • ModelManager für das dynamische Nachladen von Modellen
  • UI Improvements (z.B. kann man Orte-Testen direkt aus der Liste anwählen)
  • Übersichtlicheres Missions-Schritte-Menüs
  • Gegenstände und Portale können durch das Abschließen von Missionen erst auftauchen (-> ermöglicht den Fahrstuhl!)
http://fedoraproject.org/ <-- freies Betriebssystem
http://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
antisteo
Establishment
Beiträge: 927
Registriert: 15.10.2010, 09:26
Wohnort: Dresdem

Re: [Projekt] Hard Thug Life Oberland

Beitrag von antisteo »

So, die Normalen werden jetzt auch festlegbar. Dabei kann man jedem Punkt entweder eine Normale geben (dann ist er gerichtet) oder (0,0,0), dann wird er wie eine Kugel mit Normalen in jede Richtung behandelt
Normalen 2024-10-04 at 19-13-29 Hard Thug Life.png
http://fedoraproject.org/ <-- freies Betriebssystem
http://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
Benutzeravatar
woodsmoke
Beiträge: 87
Registriert: 30.06.2023, 14:05
Benutzertext: behandeltObjektewieFrauen
Wohnort: Ludwigshafen
Kontaktdaten:

Re: [Projekt] Hard Thug Life Oberland

Beitrag von woodsmoke »

Sehr beeindruckend, obwohl (oder gerade weil) ich von der Technik kaum was verstehe. Auf jeden Fall sieht das Bett super bequem aus. ^_^
antisteo
Establishment
Beiträge: 927
Registriert: 15.10.2010, 09:26
Wohnort: Dresdem

Re: [Projekt] Hard Thug Life Oberland

Beitrag von antisteo »

Gibt wieder neues Videomaterial. Diesmal ist das Navi fertig geworden, schaut's euch einfach an:


Changelog für Freitag und Samstag:
  • Normalen pro Vertex
  • Model-Editor: Knubbels löschen
  • Model-Editor: Knubbels umfärben
  • Missionen: Navigiere zu Raum, Navigiere zu Gegenstand, Navigiere zu Avatar (inkl. roter Pfeile zum Navigieren)
  • Raum-Editor: Avatare in Räumen platzieren
  • Avatare werden jetzt in der Welt wieder dargestellt (mit deren Welt-Position; früher war ein Prototyp mit Zufallspositionen)
Das Spiel läuft flüssig auf allen getesteten Handys und auch auf dem Raspberry Pi

http://fedoraproject.org/ <-- freies Betriebssystem
http://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
antisteo
Establishment
Beiträge: 927
Registriert: 15.10.2010, 09:26
Wohnort: Dresdem

Re: [Projekt] Hard Thug Life Oberland

Beitrag von antisteo »

Screenshot 2024-10-06 at 20-58-10 Hard Thug Life.png
Changelog für Sonntag:
  • Bugfixes bei Portalen
  • Multiplayer-Modus eingeführt: Man sieht jetzt, wo die anderen Spieler herumlaufen
Der Multiplayer-Modus hat ein paar Schmankerl, von denen ich gerne erzählen möchte:

Das ganze basiert auf Websockets. Da die Spiele-Engine selbst auf PHP basierte, musste ich dazu zu einer anderen Technologie greifen: MemCP

MemCP ist eine MySQL-protokollkompatible in-Memory-Datenbank mit einem eigenen Modulsystem und genau das habe ich benutzt, um direkt in der Datenbank einen Websocket-Server zu öffnen und ein Publish-Subscribe-Pattern zu implementieren. Der Code ist ganz simpel:

Code: Alles auswählen

(eval (parse_sql "hardlife" "CREATE TABLE IF NOT EXISTS avatar(ID int, x double, y double, z double, r double, location int, UNIQUE KEY PRIMARY(ID))"))
(eval (parse_sql "hardlife" "CREATE TABLE IF NOT EXISTS avatarListen(ID int, container int, UNIQUE KEY PRIMARY(ID, container))"))
(eval (parse_sql "hardlife" "CREATE TABLE IF NOT EXISTS avatarDirty(ID int, other int, UNIQUE KEY PRIMARY(ID, other))"))
(set update_location_prepared (parse_sql "hardlife" "INSERT INTO avatar(ID, x, y, z, r, location) VALUES (@avatar, @x, @y, @z, @r, @l) ON DUPLICATE KEY UPDATE x = @x, y = @y, z = @z, r = @r, location = @l"))
(set update_dirtylist_prepared (parse_sql "hardlife" "INSERT IGNORE INTO avatarDirty(ID, other) SELECT ID, @avatar FROM avatarListen WHERE ID != @avatar AND container = @l"))
(set clear_listen_prepared (parse_sql "hardlife" "DELETE FROM avatarListen WHERE ID = @avatar"))
(set insert_listen_prepared (parse_sql "hardlife" "INSERT IGNORE INTO avatarListen(ID, container) VALUES (@avatar, @l2)"))
(set get_listen_prepared (parse_sql "hardlife" "SELECT avatar.ID, avatar.x, avatar.y, avatar.z, avatar.r, avatar.location AS l FROM avatarDirty, avatar WHERE avatar.ID = avatarDirty.other AND avatarDirty.ID = @avatar"))
(set clear_dirty_prepared (parse_sql "hardlife" "DELETE FROM avatarDirty WHERE ID = @avatar"))
Es werden also alle Avatar-Positionen in avatar gespeichert, sowie eine Liste aller Räume, die man auf dem Bildschirm sieht in avatarListen. Reportet jetzt ein Spieler seine Position, bekommt er im Gegenzug die veränderten Positionen aller anderen Spieler, die zwischendurch in avatarDirty gesammelt wurden.

Die SQL-Queries werden als prepared Statements vorbereitet und somit fertig auscompilt. Beim entsprechenden Event müssen sie nur noch aufgerufen werden. Kein Address-Space-Wechsel wie sonst bei TCP/Socket-basierten Datenbankanbindungen.

Long Story Short: Wenn ihr euch auf hardlife.io einloggt, könnt ihr eventuell ein paar andere Spieler ebenfalls beobachten.
http://fedoraproject.org/ <-- freies Betriebssystem
http://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
antisteo
Establishment
Beiträge: 927
Registriert: 15.10.2010, 09:26
Wohnort: Dresdem

Re: [Projekt] Hard Thug Life Oberland

Beitrag von antisteo »

Jetzt mal ein Experiment, wo ich die Landschaft als Splats (also selber Pointcloud-Shader, nur mit Alpha-Kanal) verwende:
Splatting 2024-10-08 at 23-35-17 Hard Thug Life.png
http://fedoraproject.org/ <-- freies Betriebssystem
http://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
antisteo
Establishment
Beiträge: 927
Registriert: 15.10.2010, 09:26
Wohnort: Dresdem

Re: [Projekt] Hard Thug Life Oberland

Beitrag von antisteo »

Bober 2024-10-11 at 00-41-26 Hard Thug Life.png
Hier sieht man einen KI-Generierten Bober, den ich mit OpenAIs Point-E aus einem Bild erzeugt habe
http://fedoraproject.org/ <-- freies Betriebssystem
http://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
antisteo
Establishment
Beiträge: 927
Registriert: 15.10.2010, 09:26
Wohnort: Dresdem

Re: [Projekt] Hard Thug Life Oberland

Beitrag von antisteo »

Changelog für diesen Samstag:
  • Man kann jetzt Missionen erstellen, für die man Geld bezahlen muss (Die Währung heißt "Moneten")
  • Während Missionen kann man Geld ausgeschüttet bekommen (z.B. die Taschengeld-Mission)
  • Bugfixes bei der Avatar-Platzierung während des Raumwechsels
  • Clipping optimiert, sodass man nicht sich selbst sieht, wohl aber den kompletten Raum um sich herum ohne dass dieser abgeschnitten wird
  • Geiler "Mission Erfolgreich" Sound a la GTA
Außerdem hab' ich mich schon mal zu den Quaternionen belesen, sollte relativ einfach werden, die Charaktere zu animieren. Ich hab ja damals schon das GLIDE-Format für gwX implementiert, das ging auch einfach von der Hand.
http://fedoraproject.org/ <-- freies Betriebssystem
http://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
antisteo
Establishment
Beiträge: 927
Registriert: 15.10.2010, 09:26
Wohnort: Dresdem

Re: [Projekt] Hard Thug Life Oberland

Beitrag von antisteo »

Dieses Wochenende ist relativ wenig geworden:
  • Hübschere Raumecken und Bodenübergänge
  • Leiter und Falltür, damit man auch in andere Räume in der dritten Dimension kann
  • Bugfixes beim Multiplayer-Positions-Streaming
http://fedoraproject.org/ <-- freies Betriebssystem
http://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
Antworten