PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Core War "2.0" - Machbar?


Gast
2009-01-18, 15:04:35
Hallo,

ich hab da eine Idee, die ich gerne verwirklichen würde, aber der Weg ist mir noch nicht ganz klar.

Ich würde gerne eine Simulation programmieren, in der man bspw. einen Roboter durch die Gegend steuert. Das besondere wäre, dass dieser durch eine externe Anwendung gesteuert wird. Diese externe Anwendung kann man austauschen, oder zB zwei gleichzeitig mit dem "Server" verbinden, welche dann gegeneinander antreten, ganz im Stil von Core Wars.
Der Vorteil soll sein, dass man nicht festgelegt auf eine Sprache ist. So könnten unterschiedlichste Programme aneinander gemessen werden.

Das eigentliche Programmieren der "Spielewiese" wäre in erster Linie nicht das Problem, sondern der Austausch mit einem externen Programm.

Was denkt ihr, ist das realisierbar? Wenn ja, wie?

Vielen Dank im Voraus.

Monger
2009-01-18, 15:27:40
Es gibt jetzt natürlich jede Menge denkbare Varianten...

Aber das simpelste in meinen Augen wäre, sich ein passendes Kommunikationsprotokoll zu definieren. Wenn die ausgetauschten Daten vergleichsweise gering sind, lässt sich z.B. sowas äußerst flexibel über HTTP realisieren. Muss man nur noch festlegen wo welche Daten stehen, und dann ist es Aufgabe des Clients dieses Protokoll ordnungsgemäß zu erfüllen.

Eklig wird die Sache, wenn das performancemäßig in den Keller geht. Dann musst die immer und immer weiter in der Komplexität runterfahren, bist du mal an einem Punkt angelangt bist der zufriedenstellend ist. Das geht dann runter bis zu Technologien wie COM (http://de.wikipedia.org/wiki/Component_Object_Model), aber da hast du natürlich dann auch wieder Einschränkungen was Sprache, Plattform o.ä. angeht.

Aber im großen und ganzen sind vorallem die Webprotokolle und Technologien in dem Zusammenhang ganz interessant. Zum einen weil sie standardisiert sind, und zum anderen weil sie nicht wirklich darum scheren ob eine Verbindung nur lokal oder rechnerübergreifend aufgebaut wird.

The_Invisible
2009-01-18, 16:02:48
naja, eben ein server-client model aufbauen und am besten ein eigenes simples protokoll für die kommunikation definieren, da ist es egal welche anwendung bzw von wo man darauf zugreift. möglich sind natürlich auch schon vorhandene protokolle, bringen natürlich einen gewissen overhead mit.

btw
soll das im webbrowser laufen? der threadtitel irritiert ein bisschen.

mfg

Gast
2009-01-18, 19:34:08
Ich denke dbus ist genau das was du suchst.

http://de.wikipedia.org/wiki/D-Bus

MfG

Kinman
2009-01-18, 20:10:04
Ich glaube die einfachste und flexibelste Verbindung ist über Sockets und mittels eigenen Protokoll.

Eventuell einen Wrapper für Robocode (http://robocode.sourceforge.net/) schreiben, dann sparst Du Dir schon das schreiben der "Spielwiese".

mfg Kinman