EulerHobeln

Aus II-Wiki
Zur Navigation springen Zur Suche springen

EulerHobeln

Oder auch Vektor-Rennen. Ein beliebtes Papierspiel für zwischendurch.

Und wir wären nicht Informatiker, wenn wir nicht probieren würden, es in C selber zu schreiben.

Eine Anleitung für die wenigen, die dieses Spiel nicht kennen, gibt es hier

Konzept

  • C-Code auf Linux (von mir aus auch C++, aber KEIN Delphi, sonst macht der Hauptstädter alleine)
  • SDL als Grafikbibliothek
  • Netzwerkfähig, große Nutzeranzahl (Rooms, Chat, ...)
  • viele Maps (Auswahl...)
  • große Maps (größer als dargestellt, scrollen)
  • Animation, Qualm, Autos, Boxen, Reifenschaden, Slicks und Regenreifen, Motorsetup, Zeitlupen ;)
  • Highscore im Internet

Zusatz:

  • Computergegner mit vorberechneten Routen (Tiefensuche dauert dann doch ein bissl lange)
  • Ganzes Spiel speichern als Demo zum wiederabspielen
  • Java-Client auf selbem Protokoll basierend (oder irgendwas mit .NET für MS-PDAs von gewissen Personen, oder Handys?!?)
  • Cheats ;)

Mitarbeiter

  • Peter (würde das Netzwerkkram übernehmen)
  • Zoddltier (würde gern mitmachen, wenn der Hauptstädter nicht gleich in 2 Tagen alles fertig proggt und Zoddl nichts dabei lernen kann)

Ich würde mich gerne zur Wahl des Projekt-Leiters stellen. Es wird noch schöne andere Titel wie "Chief Executive Producer" oder sowas geben....

Petronios 14:58, 26. Nov 2005 (CET)

Konkrete Ideen

Strecken

Die Strecken werden in sogenannten Maps gespeichert. Dazu entwerfen wir ein neues Dateiformat. Es besteht aus einer Zip-Datei mit folgendem Inhalt:

  • einer XML-Datei zur Beschreibung der Strecke (Name, Spieleranzahl, Rundenlänge, Credits, ...)
  • die Strecke als Bild, voraussichtlich PNG, weil die Kompression verlustfrei ist
  • die Metainformationen zur Strecke ebenfalls als Bild, selbe Größe, wobei die Pixelfarben die verschieden Streckenfunktionen repräsentieren
  • optional: Ein Thumbnail der Strecke zur Verwendung außerhalb des eigentlichen Spiels
  • optional: Eine XML mit berechneten Waypoint-Daten für eventuelle KIs
  • optional: Eine XML mit einer Farbtabelle für das Funktions-PNG, wenn abweichend von der Standardimplementierung
  • optional: weitere Addons (Sounds, Animationen, Texte,.....)

Offene Fragen

Wie stellen wir Brücken, Sprünge über Strecken usw. dar? Da sind dann 2 Metainfos pro Pixel... (Diskussionsbedarf!!!)

KI

Das ist was für Herrn Filzhuth. Ich dachte da so an Tiefensuche oder sowas.

Der Algorithmus muss nicht ins Spiel integriert werden, weil man zu jeder Map Waypoints speichern könnte. Ideen?

Umsetzung als MIDlet

MIDlets sind Java-Applikationen für Mobile Devices. Dafür gibts es sogar 3D-Implementierungen.

Aber es ist nicht wirklich vergleichbar, deswegen schieb ich das mal auf die lange Bank.

Java-Client

Einen Java-Client wirds geben. (Vielleicht noch vor der C-Version ^^) Denn mit dem will ich das Netzwerk-Protokoll entwerfen.

Mit der neusten SWT (Grafik-lib von Java) kann man sogar OpenGL einbinden, was ich aber nicht vorhabe.

Warum sollte es einen Java-Client geben, wenn die SDL auch auf allen Platformen läuft?

Mhm, gute Frage. Ich hab Lust das in Java zu schreiben. Im Endeffekt ist mir nur das Applet eingefallen, also als Webapplikation. K.A.

Außerdem interessiert mich der Vergleich bei beiden Systeme in Hinsicht auf die Implementierung. Also als Feldstudie.

Netzwerk Layout

Wenn die Zeit da ist, würde das wie bei der HalfLife-Engine (oder verleichbaren) machen. Jeder Client kann dann als Listenserver arbeiten, im P2P-Mode. Oder über einen dezidierten Server (dedicated server).

Protokoll erster Wahl ist TCP. Wir haben (überhaupt) keinen hohen Echtzeitanspruch, so dass UDP nicht notwendig ist. (Das freut die FEM-Leute)

Ein nettes Detail wäre, das man vom Server nicht vorhandene Maps nachladen kann. Die Version sollte per Checksumme verifiziert werden. (Server schickt Chksum, Client hasht selber und vergleicht...)

Diskussion

Sollte es z.B. wie bei Yahoo-Games einen Raum mit Spiel-Tischen und einem Mainchat geben ODER wie bei vielen MP-Games bestimmt der Server die Map?

Spiel Layout

Das klassische Spiel soll implemntiert werden. Es können aber noch weitere Spiel-Modes erfunden werden. Hier sind kreative Ideen gefragt.

Demo Feature

Das wird auch erst ab Version 2 machbar sein. Wär aber interessant ein Konzept zu entwerfen, wie man sowas speichert.

Intro

Querdenker Entertaiment? Ideen?