Wettbewerb: Egoshooter in nur 10000 Zeilen Code



  • endline schrieb:

    Interessantet, dass du das sagst. Manche Entwickler betrachten die Programmierung nur als Hilfswerkzeug, um Kunst/"Kunst" zu erschaffen, andere nehmen es dagegen als Kunst wahr, das Werkzeug selbst oder Probleme damit zu meistern. Oder, vielleicht ist das Wort 'Kunst' in beiden beiden Verwendungen unpassend. Aber den Gedanken find ich toll. Wir sollten klarstellen, was das Ziel des Wettbewerbes ist.

    Das Problem ist, dass Egoshooter selbst Abseits der Programmierung nicht viel bieten. Am Ende gib es nicht viele Möglichkeiten, einen Egoshooter zu gestalten, so dass er Spaß macht. Ist halt ein beschissenes Genre um neue Spielprinzipien auszuprobieren.

    Aber ich denke, dass es Seppj gar nicht um den Kunstteil geht, sondern um die Herausforderung. Viele herausragende Kunstwerke waren auch technisch eine Herausforderung für den Künstler. Nur, in diesem Fall ist halt alles gelöst. Die einzige Herausforderung ist, sich alle Algorithmen rauszusuchen und die dann einfach runter zu kloppen. Total langweilig. Und bei 10k loc sollte das Ganze ja auch Spaß machen.

    Die Einzigen, für die sowas eine Herausfordeurng wäre, wären Leute, die ein fertiges Spiel (vom Code her) mit Leben füllen müssten. Also Leveldesigner und 2D/3D-Künstler. Und in dem Bereich versagen die meisten Programmierer halt (verständlicherweise, man kann nicht alles gut können).

    Andererseits wirds durch den Genrewechsel nicht zwingend besser. Sobald man von Egoshootern weg geht, kommt man mit 10k loc nicht sonderlich weit. Ist halt ein Vorteil an denen, dass die so Simpel sind.



  • knivil schrieb:

    Jeder kann selbst waehlen. Aber Mal was anderes: Welcher Anreiz ist denn gegeben, beim Wettbewerb mitzumachen?

    Man bekommt hier von allen möglichen Nörglern und Haarspaltern dumme Kommentare zum Code, wenn man irgendwo ein i++ oder ähnliches hat. Das sollte doch Anreiz genug sein. 🤡



  • SeppJ schrieb:

    Schneewittchen schrieb:

    Es geht doch um den Spaß am Programmieren.

    Aber Egoshooter ist langweilig. Alleine schon dieses Themas wegen würde ich nicht mitmachen. Da sind doch alle Algorithmen hinreichend bekannt, es geht nur noch darum Codeäffchen zu spielen und diese umzusetzen. Das ist für mich der langweilige Teil des Programmierens.

    das ist doch bullshit. so könnte man fast jedes projekt schlecht machen. afaik denken sich nur < 1% neue algorithmen aus der rest baut daraus schöne software

    btw. ne gute ki ist nichts leichtes sobald es über schach raus geht... 🕶

    :schland:


  • Mod

    no_code schrieb:

    das ist doch bullshit. so könnte man fast jedes projekt schlecht machen. afaik denken sich nur < 1% neue algorithmen aus der rest baut daraus schöne software

    Genau deswegen will man das ja nicht in einem Wettbewerb sehen. Es gibt ja auch keine Wettbewerbe im Formulare ausfüllen obwohl (bzw. gerade weil) viele Leute das den ganzen Tag machen.

    btw. ne gute ki ist nichts leichtes sobald es über schach raus geht... 🕶

    DAS wäre doch ein guter Wettbewerb. Das Thema ist nur mäßig erforscht, es gibt viele verschiedene Ansätze und kaum jemand kennt sich wirklich gut damit aus. Und es wäre ganz eindeutig feststellbar, wer der Sieger ist.
    Konkret würde ich mir das so vorstellen: Der Veranstalter wählt ein hinreichend komplexes (d.h. taktisch interessant) Spiel welches noch nicht gut erforscht ist (also nicht Schach, Go, Dame & Co.!), aber trotzdem relativ bekannt (z.B. "Die Siedler von Catan") oder mit sehr leicht verständlichen Regeln (z.B. "Tron", aber da gibt's schon einen laufenden Wettbewerb). Dann stellt er einen (portablen) Spielserver mit einem genau definierten Interface (Textinterface oder Bindings für die gängigen Sprachen) zur Verfügung. Wahlweise auch noch einen grafischen Client für menschliche Mitspieler und Zuschauer.
    Die Aufgabe wäre es dann einen Spielerclient für dieses Spiel zu schreiben. Diese werden dann in einem Turnier oder einer Liga aufeinander losgelassen und so der Sieger ermittelt. Die einzigen Beschränkungen die man machen sollte ist, dass die Clients auf einem aktuellen Desktoprechner vernünftig laufen müssen und portabel sind. Also um willkürlich ein paar Zahlen zu nennen: 1 GB maximale Größe und je nach Spiel eine gewisse, dem Spiel angemessene, Gedenkzeit (Schachuhr).

    Das wäre interessant.



  • Das Problem ist, dass Egoshooter selbst Abseits der Programmierung nicht viel bieten. Am Ende gib es nicht viele Möglichkeiten, einen Egoshooter zu gestalten, so dass er Spaß macht. Ist halt ein beschissenes Genre um neue Spielprinzipien auszuprobieren.

    Das glaube ich nicht 😉 Falls sich zB noch jemand an Descent erinnert, da konnte man sein Raumschiff wirklich in allen Dimensionen steuern und drehen. Ich nenns mal Egoshooter weil es sich trotz Raumschiffen wie einer spielte. Oder Portal.
    Auch beim Leveldesign ginge noch einiges, zB Level auf/in einer Kugel und sowas.

    Die Aufgabe wäre es dann einen Spielerclient für dieses Spiel zu schreiben.

    Auf soetwas hätte ich auch mal wieder Lust. Früher fand Ich rars (http://rars.sourceforge.net/) ganz spassig, da hat man einen Rennwagen progammiert.
    Interessant ist auch die springRTS engine für die es einige Spiele gibt. Man kann AIs mit jeder Sprache (die .dlls erzeugen kann programmieren) basteln oder auch mit Lua skripten: www.springrts.com
    Nachteil ist das man sich erstmal in das Spiel und AI Interface einarbeiten muss, da beides etwas komplexer ist als "3 Gewinnt."



  • statt nur voting, waere es doch objektiver und herausfordenerererer mit moeglichst wenig zeichen einen zu schreiben.
    dazu:
    - in einer datei (damit keine include magic dazu kommt)
    - mit z.b. pixeltoaster (damit jeder stumpf mit pixel setzen ohne ogl erfahrung usw. auskommt)
    - ohne jegliches dateiladen.

    dann verrechnet man source-dateigroesse mit dem voting fuer das endresultat



  • war das nicht so das die directx initialisierung schon 1000 zeilen benötigt?


  • Mod

    O G L schrieb:

    war das nicht so das die directx initialisierung schon 1000 zeilen benötigt?

    Mit DirectX schließt du ohnehin schonmal 40% der potentiellen Teilnehmer aus.
    http://www.c-plusplus.net/forum/viewtopic-var-t-is-268233.html



  • SeppJ schrieb:

    O G L schrieb:

    war das nicht so das die directx initialisierung schon 1000 zeilen benötigt?

    Mit DirectX schließt du ohnehin schonmal 40% der potentiellen Teilnehmer aus.
    http://www.c-plusplus.net/forum/viewtopic-var-t-is-268233.html

    Du kanst, musst aber nicht DirectX verwenden ...



  • OpenGL vs DirectX

    Istn das fair?
    Interessanter wäre eh ein fertiges kleines strategie-game, und jeder macht eine KI, und die KIs lässt man dann gegen einander zocken.



  • Sonderzeichen-Button schrieb:

    Das glaube ich nicht 😉 Falls sich zB noch jemand an Descent erinnert, da konnte man sein Raumschiff wirklich in allen Dimensionen steuern und drehen. Ich nenns mal Egoshooter weil es sich trotz Raumschiffen wie einer spielte.

    Hat sich aber trotzdem nicht von den anderen Shootern signifikant unterschieden. Die Constrainints eines Ego-Shooters sind einfach zu dramatisch. Du hast ne Waffe. Und du hast gegner. 1+1 zusammengezählt weiß man, wie eggo-shooter funktionieren. Die einzigen nennenswerten Abweichungen liferten die Schleich-shooter, aber dafür reichen 10000 Zeilen wohl nicht aus um die Logik zu implementieren.

    Oder Portal.

    Ist kein Ego-Shooter. Es mangelt, nur als Beispiel, an Gegnern. Und Gegner sind für diesen Wettbewerb notwendige Bedingung.

    Auch beim Leveldesign ginge noch einiges, zB Level auf/in einer Kugel und sowas.

    Hyperwürfel und Ringe hatten wir bereits. Noch absurder kanns kaum werden.

    //edit @Squan ne, is es net 🙂


Anmelden zum Antworten