Delphi-PRAXiS
Seite 3 von 5     123 45      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi AntMe und Co... Delphi Developer Game? (https://www.delphipraxis.net/189993-antme-und-co-delphi-developer-game.html)

Neutral General 19. Aug 2016 12:11

AW: AntMe und Co... Delphi Developer Game?
 
Moment? Ihr wollt dass die Spieler richtige Delphi Programme schreiben müssen?
Eine integrierte Skriptsprache wäre da um einiges zugänglicher.

Benedikt Magnus 19. Aug 2016 12:19

AW: AntMe und Co... Delphi Developer Game?
 
Delphi-Quellcode:
WriteLn(Befehl + Inhalt);
:-D

Die Kompatibilität ist bei REST so eine Sache. Mit einem Stringbefehlssatz ist das sowohl zwischen Versionen als auch mit anderen Programmiersprachen viel einfacher, als ganze Klassen zu verschicken.
Zumal: Wofür?
Wenn wir eine Ameisen- oder Panzerengine schaffen, dann wird es nur eine handvoll Events (Initialisierung, Bewegung, Interaktion und Finalisierung) geben, die der Server verwalten muss.

Aber gut, das klärt man wohl kaum zu Anfang und was sinnvoller ist, wird sich ja dann ergeben.

@Neutral General:
Ich dachte, da das von vornherein so erwähnt wurde, an ein ähnliches Konzept wie AntMe. Oder habe ich da falsch gedacht?
Also dass man eine Engine erstellt mit allem Grundlegenden, Events und Klassen und der "Programmierspieler" leitet dann seine Ameisenklasse ab und verändert, wie die Ameise auf das Sehen von Nahrung reagiert, wie es Botenstoffe freisetzt, spezialisiert seine Ameisen etc.

Neutral General 19. Aug 2016 12:26

AW: AntMe und Co... Delphi Developer Game?
 
Zitat:

Zitat von Benedikt Magnus (Beitrag 1345279)
@Neutral General:
Ich dachte, da das von vornherein so erwähnt wurde, an ein ähnliches Konzept wie AntMe. Oder habe ich da falsch gedacht?
Also dass man eine Engine erstellt mit allem Grundlegenden, Events und Klassen und der "Programmierspieler" leitet dann seine Ameisenklasse ab und verändert, wie die Ameise auf das Sehen von Nahrung reagiert, wie es Botenstoffe freisetzt, spezialisiert seine Ameisen etc.

Ja, aber doch nicht als eigenständiges Programm. Du kannst die Panzer-/Turtle-Engine doch in der Skriptengine zur Verfügung stellen.
Wenn die Leute richtige Programme schreiben können, dann benötigen sie ne Delphi IDE (die es ja leider nicht kostenlos gibt) und vor allem kann man dann in der DLL (die man ja wahrscheinlich schreiben würde/müsste) auch Schadcode einbauen. Wenn du einen Client bereitstellst mit einer Skriptsprache inkl. der Engine dann hast du ne Sandbox und du hast auch nur das zur Verfügung was im Kontext des Spiels Sinn macht.

Benedikt Magnus 19. Aug 2016 12:35

AW: AntMe und Co... Delphi Developer Game?
 
Zitat:

Zitat von Neutral General (Beitrag 1345281)
Ja, aber doch nicht als eigenständiges Programm. Du kannst die Panzer-/Turtle-Engine doch in der Skriptengine zur Verfügung stellen.
Wenn die Leute richtige Programme schreiben können, dann benötigen sie ne Delphi IDE (die es ja leider nicht kostenlos gibt) und vor allem kann man dann in der DLL (die man ja wahrscheinlich schreiben würde/müsste) auch Schadcode einbauen. Wenn du einen Client bereitstellst mit einer Skriptsprache inkl. der Engine dann hast du ne Sandbox und du hast auch nur das zur Verfügung was im Kontext des Spiels Sinn macht.

Die Delphi-IDE könnte Lazarus sein, wir müssten nur eine Freepascalversion anbieten.
Das Programm, das jeder erstellt, bliebe doch auf dessen Computer. Die Kommunikation mit anderen wird ja über den Server betrieben.
Sonst hast du aber Recht, Skriptsprache klingt sehr interessant. Nur wird das das Projekt nicht sehr viel komplizierter machen?

Mavarik 19. Aug 2016 12:36

AW: AntMe und Co... Delphi Developer Game?
 
Zitat:

Zitat von Neutral General (Beitrag 1345281)
Ja, aber doch nicht als eigenständiges Programm.
...
und vor allem kann man dann in der DLL (die man ja wahrscheinlich schreiben würde/müsste) auch Schadcode einbauen.

Ich Verweise da mal auf #1

Zitat:

Zitat von Mavarik (Beitrag 1345128)
Ich würde aber
nie eine Fremde DLL auf meinem Rechner ausführen (dieser Art), wenn ich nicht den Source haben... Vielleicht wird meine Registry per REST verschickt, jeden mal, wenn eine Ameise sich bewegen soll... Tür und Tor für böse Leute...

Und gegen einander zu spielen wäre auch nett...

Also die Idee:

Ein schlanker Client den jeder lokal erzeugen kann... (Source)
Dieser kommuniziert mit einem Server...
Hier können sich alle einloggen und gegen einander spielen...

Daher ja die Idee einen Server zwischen zu schalten... Somit muss keiner seine Daten/Source raus geben...

Mavarik 19. Aug 2016 12:51

AW: AntMe und Co... Delphi Developer Game?
 
Ohh. Großer Denkfehler...

Wenn wir die Daten übertragen, kann der Client natürlich alle Daten einsehen...

Beispiel:
Position von Panzer XY oder Zuckerberg ist (700,800);

Was soll verhindern, dass dies Information einfach von allen Panzern oder Ameisen benutzt wird...

BUG 19. Aug 2016 12:56

AW: AntMe und Co... Delphi Developer Game?
 
Zitat:

Zitat von Mavarik (Beitrag 1345286)
Was soll verhindern, dass dies Information einfach von allen Panzern oder Ameisen benutzt wird...

Es gibt eine Simulationsphase und eine Aufzeichnung. Während der Simulation hat man sowas wie "Nebel des Krieges" / "Fog of War". Nicht sichtbare Informationen werden nicht vom Server übertragen. Erst in der Aufzeichnung kann man sehen was der andere gemacht hat.

Benedikt Magnus 19. Aug 2016 13:04

AW: AntMe und Co... Delphi Developer Game?
 
Zitat:

Zitat von Mavarik (Beitrag 1345286)
Ohh. Großer Denkfehler...

Wenn wir die Daten übertragen, kann der Client natürlich alle Daten einsehen...

Beispiel:
Position von Panzer XY oder Zuckerberg ist (700,800);

Was soll verhindern, dass dies Information einfach von allen Panzern oder Ameisen benutzt wird...

Hm, stimmt. Ich hatte zuerst an Events gedacht, wie bei Onlinespielen. Aber sobald der Client die Information über etwas bekommt, kann er sie ja missbrauchen.
Ich glaube nicht, dass sich da was machen lässt. Daher sollten wir uns hier die Frage stellen:
Soll das Ganze mehr in Richtung Lernspiel/Programmierung gehen (also eher wie AntMe) oder eher in Richtung Wettkampf durch Programmierung?
Beim Ersteren könnten wir die Serversache erst einmal außer Acht lassen und sagen: "Gibt kein Ranking oder sonstwas, setzen wir auf Vertrauen, Betrug bringt sowieso nichts. Vermutlich spielen auch eher Bekannte/Freunde zusammen."
Bei Zweiterem wäre meine Meinung, dass wir Delphi als Skriptsprache bräuchten; oder gleich ein Spiel programmieren...

@BUG:
Ja, das war auch mein erster Gedanke, wie bei Spielen. Nur wenn wir von einem bösen Client ausgehen: Sobald er einmla einen Zuckerberg gefunden hat, kann er all seine Ameisen dorthin schicken, ohne auf irgendeine Duftmarkierungsmechanik zu setzen. Dafür müssten wir das ganze Konzept nochmal überdenken oder andere Funktionen wählen (mehr Richtung Panzerspiel).

Mavarik 19. Aug 2016 13:41

AW: AntMe und Co... Delphi Developer Game?
 
Zitat:

Zitat von Benedikt Magnus (Beitrag 1345289)
Beim Ersteren könnten wir die Serversache erst einmal außer Acht lassen und sagen: "Gibt kein Ranking oder sonstwas, setzen wir auf Vertrauen, Betrug bringt sowieso nichts. Vermutlich spielen auch eher Bekannte/Freunde zusammen."

Klar brauchen wir einen Server... Woher sollen den sonst die Gegner-Daten kommen?

Wobei das bei den Ameisen blöde ist, wenn man alle Daten zur Verfügung hat, bei den Panzern ist es egal, die haben Funk und teilen sich gegenseitig mit wo was steht...

Memnarch 19. Aug 2016 15:35

AW: AntMe und Co... Delphi Developer Game?
 
Zitat:

Zitat von Benedikt Magnus (Beitrag 1345289)
@BUG:
Ja, das war auch mein erster Gedanke, wie bei Spielen. Nur wenn wir von einem bösen Client ausgehen: Sobald er einmla einen Zuckerberg gefunden hat, kann er all seine Ameisen dorthin schicken, ohne auf irgendeine Duftmarkierungsmechanik zu setzen. Dafür müssten wir das ganze Konzept nochmal überdenken oder andere Funktionen wählen (mehr Richtung Panzerspiel).

Wäre halt an diser stelle die Frage wie du die Ameisen kontrollieren können sollst. So wäre z.B. das ganze eher verkraftbar:

Ich programmiere mir ne ScouterAmeise. Wenn die was findet, finden die '?'. Wenn sie es zur basis schafft, wird aus dem '?' dann der entsprechende fund.

EDIT: so muss diese halt auch heile daheim ankommen. Optional kann eine Ameise einer anderen das '?' geben.

EDIT2: Wenns ein normales strategiespiel wäre, könnte man auch einfach nur einen scout losschicken und bei Zuckerfund alles draufstürzen lassen ;).


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:28 Uhr.
Seite 3 von 5     123 45      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz