Seite 1 von 3

AntMe! Klon

Verfasst: Dienstag 20. Mai 2008, 09:46
von Crazed
Hallo,
Ich hatte eine (wie ich finde) super Idee für ein Python Multiplayer Spiel:

Ein AntMe! - Klon. Man müsste dann mittels Python seine eigenen Ameisen (oder in Python Schlangen :D :lol: ) so programmieren das sie auf bestimmte Ereignisse reagieren und dementsprechend irgendwelche Aktionen ausführen.

Die Standard Aktionen der eigenen Schlange erbt man von einer Basis-Schlange und definiert dann einige Funktionen neu.
Die neu definierte Schlange wird dann im Spiel mehrere Male neu instanziert. So ist es glaube ich in AntMe!

Leider geht das völlig über meine eigenen Kentnisse hinaus (das realsieren des Spiels + Multiplayer) und deswegen frage ich hier ob vielleicht erfahrene Python-Programmier Lust hätten sowas umzusetzen.

Um eine Idee davon zu bekommen was AntMe! ist schaut ihr euch am besten AntMe! unter http://antme.net/ an.

Es würde sich auch sicherlich toll dazu eignen Anfängern in Python (wie mir) das Programmieren spielerisch, schnell nahe zu bringen und Spaß würde es auch machen.

Ich würde mich über Antworten sehr freuen.

MfG,
CracKPod

Verfasst: Dienstag 20. Mai 2008, 10:43
von Imperator
Das wäre echt der Hammer, wenn es so etwas für Python gäbe. Darüber habe ich mich nämlich echt schon schwarz geärgert.

Verfasst: Dienstag 20. Mai 2008, 10:49
von Crazed
Freut mich das dir die Idee auch gefällt!

Jetzt bräuchten wir nur noch einen Python Profie der sowas realisieren kann.

*Zu Leonidas und diversen anderen Leuten schiel* ^^

Verfasst: Dienstag 20. Mai 2008, 10:57
von BlackJack
Nette Idee. Muss jetzt nur noch jemand implementieren. :-)

Verfasst: Dienstag 20. Mai 2008, 11:20
von Crazed
BlackJack hat geschrieben:Nette Idee. Muss jetzt nur noch jemand implementieren. :-)
Sagt jemand mit 6448 Beiträgen :shock: !
*Peitsch* los los los! ^^

Name wäre dann: BiteMe! (Wegen Python == Schlange) ^^
oder PythMe! (Ne Abwandlung von Bite nach Python) ^^

MfG,
CracKPod

Verfasst: Dienstag 20. Mai 2008, 12:05
von Masaru
*lach* wir haben ja sonst auch nichts zu tun ... Zeit ohne Ende ... keine anderen Programmieraufgaben ... die Miete zahlt sich auch von selbst und das Tischlein deckt sich ebenfalls von ganz allein :D

Lern doch einfach selber Python und dann hau rein. Arbeite Dich dann vielleicht noch in ein 3D-Framework mit Python-Port ein (Ogre3D, Panda3D, ... gibt dutzende ;)) ein und erfreue uns mit einem AntMe-Klon in Python.

Verfasst: Dienstag 20. Mai 2008, 12:17
von Crazed
Masaru hat geschrieben:*lach* wir haben ja sonst auch nichts zu tun ... Zeit ohne Ende ... keine anderen Programmieraufgaben ... die Miete zahlt sich auch von selbst und das Tischlein deckt sich ebenfalls von ganz allein :D

Lern doch einfach selber Python und dann hau rein. Arbeite Dich dann vielleicht noch in ein 3D-Framework mit Python-Port ein (Ogre3D, Panda3D, ... gibt dutzende ;)) ein und erfreue uns mit einem AntMe-Klon in Python.
Zu 1. Das habe ich ja gar nicht behauptet. Ich sagte:

"und deswegen frage ich hier ob vielleicht erfahrene Python-Programmier Lust hätten sowas umzusetzen. "

Falls du keine Lust hast lass es doch einfach bleiben ;).

Zu 2. Wenn das alles so einfach wäre hätte ich das nicht unter 'Ideen' geschrieben sondern gleich selbst gelernt und realisiert. Ist es aber leider nicht, deswegen frage ich erfahrene User.

Versteh das nicht angreifend oder so, war auch nicht so gemeint, ich möchte jetzt nur keine Diskussion anfangen die eventuell völlig sinnlos ist und mich mit irgendjemanden hier verstreiten.

MfG,
CracKPod

Verfasst: Dienstag 20. Mai 2008, 13:30
von Imperator
hm, in 2D könnte ich sowas vielleicht machen. Aber erst wenn ich mein "megafrustig zu machen" Spiel fertig hab. Mal sehen ...

Verfasst: Dienstag 20. Mai 2008, 13:44
von Crazed
Imperator hat geschrieben:hm, in 2D könnte ich sowas vielleicht amchen. Aber erst wenn ich mein "megafrustig zu machen" Spiel fertig hab. Mal sehen ...
Das wäre echt klasse! Ich habe keine Ahnung wie weit das möglich ist aber probier es so dynamisch wie möglich zu halten, so das man nachher, falls mehrere Entwickler mit in das Projekt einspringen, einfach deinen Code benutzen können und somit z.B nachher zwischen 2D/3D umschalten können , bzw. deinen Code gut anpassen - falls das so möglich ist.

Aber am besten wäre es, da es ja doch ein etwas größeres Projekt ist das sich da 1-2 Personen dransetzen. Versteht mich bitte nicht falsch, ich möchte keine Befehle o.ä geben, ich möchte nur dafür sorgen das es realistische Chancen dafür gibt das der AntMe! - Klon entwickelt wird.

MfG,
CracKPod

Verfasst: Dienstag 20. Mai 2008, 13:48
von Imperator
Passt schon, so schnell wird mein Spiel eh nicht fertig werden.

Das mit dem dynamischen Code ist so eine Sache: 2D und 3D sind zwei paar Stiefel.

Verfasst: Dienstag 20. Mai 2008, 13:56
von Crazed
Imperator hat geschrieben:Passt schon, so schnell wird mein Spiel eh nicht fertig werden.

Das mit dem dynamischen Code ist so eine Sache: 2D und 3D sind zwei paar Stiefel.
Naja ich denke es wäre für den Anfang auch erstma viel einfacher eine 2D Implementation zu machen, von daher würde sich das eh gut eignen.
Ich sehe jetzt bei 3D auch nicht direkt den Vorteil außer das es vielleicht etwas schöner aussieht. Die AntMe! Variante gabs ja ursprünglich auch nur in 2D, von daher sollte sich 2D sowieso gut eignen.

Danke für das Interesse

MfG,
CracKPod

Verfasst: Dienstag 20. Mai 2008, 14:51
von veers
Ich habe etwas ähnliches mal an der Schweizer Informatik Olympiade gemacht. War allerdings in C. Und die erste Version war da auch noch in "ASCII". Zur Demo hatten sie dann eine OpenGL Version gebaut. Dürfte aber nicht so ein Problem sein das zu machen. Habe es jetzt mal unter ~/code/things.to.code eingetragen ;)

Verfasst: Dienstag 20. Mai 2008, 15:03
von BlackJack
@Imperator: 2D und 3D sind in diesem Fall nicht wirklich ein grosser Unterschied, denn zumindest das Vorbild ist vom Modell her 2D. Eine 3D-Ansicht wäre also nur eine weitere Sicht auf die Implementierung der gleichen Logik. Und da man Logik und Darstellung ja schön sauber trennt, ist 3D etwas, das man relativ leicht nachrüsten kann. Sollte aber ans Ende der Prioritätenliste.

Verfasst: Dienstag 20. Mai 2008, 15:19
von Crazed
veers hat geschrieben:Ich habe etwas ähnliches mal an der Schweizer Informatik Olympiade gemacht. War allerdings in C. Und die erste Version war da auch noch in "ASCII". Zur Demo hatten sie dann eine OpenGL Version gebaut. Dürfte aber nicht so ein Problem sein das zu machen. Habe es jetzt mal unter ~/code/things.to.code eingetragen ;)
was ist dieses
~/code/things.to.code
? Ein Pfad auf einem Webserver? Ein Pfad bei dir auf dem Rechner? Tut mir Leid, ich kenne mich hier nicht so aus, zusätzlich bin ich auch noch unter WinXP.
BlackJack hat geschrieben:Sollte aber ans Ende der Prioritätenliste.
- Wie gesagt selbst wenn es am Ende steht. Wer Zeit und Lust hat ..bitte ^^...

MfG,
CracKPod

Verfasst: Dienstag 20. Mai 2008, 16:00
von veers
Eine Liste mit vielen Dingen die ich irgend wann einmal Entwickeln möchte ;)

Verfasst: Dienstag 20. Mai 2008, 16:10
von Crazed
Ah, das ist gut zu wissen.

MfG,
CracKPod

Verfasst: Dienstag 20. Mai 2008, 16:27
von Hyperion
Wäre es nicht einfacher das ganze per Netzwerk-Interface zu realisieren? Somit wäre man Client-seitig Plattform unabhängig und man müßte sich nicht ums "sandboxed" kümmern ...

Allerdings gibts da ja schon Sachen, auch wenn mir der Name nicht einfällt momentan (findet man aber unter freshmeat iirc).

Verfasst: Dienstag 20. Mai 2008, 16:51
von Crazed
Hyperion hat geschrieben:Wäre es nicht einfacher das ganze per Netzwerk-Interface zu realisieren? Somit wäre man Client-seitig Plattform unabhängig und man müßte sich nicht ums "sandboxed" kümmern ...

Allerdings gibts da ja schon Sachen, auch wenn mir der Name nicht einfällt momentan (findet man aber unter freshmeat iirc).
Sandboxed? In wie fern? Python ist doch so oder so cross-platform?...

Wenn dir der Name einfällt poste ihn bitte.
MfG,
CracKPod

Verfasst: Dienstag 20. Mai 2008, 20:42
von BlackJack
Ich denke Hyperion meint, das man die KI-Progrämmchen in Sandboxen laufen lassen sollte, da man sonst schummeln kann und einzelne Ameisen einfach in die Spiellogik eingreifen können.

Wenn man also nicht auf den Sportsgeist der Ameisenprogrammierer vertrauen möchte, bietet es sich an das Spiel als Server zu implementieren, so dass die Ameisen nicht mehr auf Interna zugreifen können.

Verfasst: Dienstag 20. Mai 2008, 20:50
von Jan-Peer
Schlimmer noch: Fiese Ameisen, die durch das Dateisystem krabbeln. Und die dann irgendwo auf eine "Mod"-Seite hochladen, damit sie sich auch schön verbreiten können.