BlackBoard » Design, Programmierung & Entwicklung » Programmieren » Selbstlebende Welt? » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Selbstlebende Welt?
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
theromi theromi ist männlich
Optimiert für IE > 3.2


images/avatars/avatar-2077.gif

Dabei seit: 01.09.2003
Beiträge: 858
Herkunft: Draußen vom Walde komm ich her...

Fragezeichen Selbstlebende Welt?       Zum Anfang der Seite springen

Hi,

mich quält schon seit zwei Tagen ein etwas komplexeres Problem. Also, ich bin kein wirklicher Profi was Programmieren angeht, alles was ich weiß ist wie ich das ein oder andere Programm zusammenschmeisse, halt was man so im Informatik-Unterricht mitbekommt, dazu kommen ein paar kleine Programme für den Eigenbedarf.

Nun, wie gesagt, ich überlege seit zwei Tagen hin und her wie man eine quasi "selbstlebende Welt" realisieren würde. Dabei gehe ich einfach mal von 100 (als Beispiel) "Lebewesen" beider Geschlechter aus, die alle ein eigenes Leben führen, natürlich incl. Heiraten, Beruf, Religion usw. Dabei müsste z.B. ein Ehepaar nach ihrer Heirat natürlich ihr Leben aufeinander abstimmen, oder nach der Geburt ihrer Kinder.
Sehr kompliziert, aber da es hier nur um die Theorie geht, lassen sich die Möglichkeiten eines solchen Lebens ja erstmal sehr weit abstecken Augenzwinkern

Also, bis jetzt bin ich mit meinem Gedankengang so weit, dass ich sagen würde, dass ich eine Klasse "Lebenwesen" erstelle, die alle diese Eigenschaften (Ehepartner, Religion usw.) beinhaltet und davon 100 Stück erzeuge. Dann würde das Programm nichts anderes machen als der Reihe nach (bzw. parallelisiert), in einer Endlosschleife, die möglichen Aktionen eines solchen Lebewesens anzusehen und die "Beste" (oder auch mal nicht die Beste, verläuft ja nicht immer alles nach Plan im Leben Augen rollen ) auszuführen.
Fürs Heiraten würde ich dann z.B. alle heiratsfähigen Männer und Frauen auf einen Stapel schreiben, auf den ein heiratswilliges Lebewesen dann zugreifen kann, und sich seinen Lebenspartner aussuchen kann, wenn es an der Zeit ist.

Ist das so in der Art der Weg, den man bei sowas einschlagen würde?

Hoffentlich gibt es Leute, die das genauso interessiert wie mich großes Grinsen
Roman

__________________
Eine Entwicklung scheint zu sein, dass man als Heranwachsender links ist, später wird man liberal und kurz bevor man stirbt ist man superkonservativ. Wenn diese Theorie aufgeht, bin ich von meinem Tod noch sehr weit entfernt.
Farin U.
21.01.2008 22:24 theromi ist offline E-Mail an theromi senden Beiträge von theromi suchen
Micha Micha ist männlich
Aufsteiger


Dabei seit: 20.02.2002
Beiträge: 59
Herkunft: Erfurt

      Zum Anfang der Seite springen

Also ich finde die Idee echt super! Mach das mal!!! Freude Freude

__________________
In mir da brennt ein Feuer Tag und Nacht und bin ich alleine gibt es mir Kraft. Egal was passiert, ich bleibe stehen.
Schlechte Zeiten, die kommen und vergehen. Mein Traum der ewig hält, ist viel mehr wert als eure Welt.

21.01.2008 22:30 Micha ist offline E-Mail an Micha senden Beiträge von Micha suchen
phlox81 phlox81 ist männlich
Bote des Lichts und Moderator


images/avatars/avatar-2264.jpg

Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo

      Zum Anfang der Seite springen

Es gibt recht einfache beispiele für ähnliche Programme, das bekannteste dürfte das "Spiel des Lebens" sein, wo einfach nach bestimmten Regeln Spielsteine entstehen oder nicht.

Ich selber habe mal eine etwas aufwändigere Welt realisiert, in der es auch verschiedene Tierarten gab etc. Hauptproblem ist immer, diese Welten stabil zu halten, da Resourcen etc. verteilt sein müssen und schließlich auch noch bei einer räumlichen Darstellung diese auch einbezogen werden kann.
Ich habe mich jedoch immer auf Tiere bezogen, nicht auf Menschen oder Gesellschaften. Sicher sind da auch Simulationsmodelle möglich, die einfacher stabil zu halten sind.

Ich habe zur Zeit Überlegungen zu einem Ansatz, mit dem sich Eigenschaften vererben ließen (verspreche mir davon eine bessere Anpassung und damit Stabilität), aber mir fehlt die Zeit dies zu implementieren. Dies ist nämlich i.d.R. sehr aufwendig.

Auch bei deinem Ansatz würde ich dir raten, erstmal nur das Notwendigste berücksichtigen, später lässt es sich ja erweitern.

phlox

__________________
Intelligenz ist eine Illusion des Menschen

phlox81.de | codenode.de
21.01.2008 22:35 phlox81 ist offline E-Mail an phlox81 senden Homepage von phlox81 Beiträge von phlox81 suchen
LX LX ist männlich
El Comandante en Jefe


images/avatars/avatar-2290.gif

Dabei seit: 25.11.2001
Beiträge: 5.372
Herkunft: Berliner Bronx

Achtung       Zum Anfang der Seite springen

Geht's dir denn darum, wie man das jetzt konkret programmiertechnisch umsetzen könnte oder eher darum, Ideen zu sammeln, was es alles zu beachten gilt und wie man das eher konzeptionell realisieren kann?

Wenn letzteres, dann müsstest du erstmal überlegen, wie denn deine "Menschen" zusammenkommen. Man könnte es mal abstrakt so betrachten, dass die Objekte alle irgendwann mal zufällig mit den anderen in Kontakt kommen und dann basierend auf bestimmten Eigenschaften gegenseitig ausgewertet wird, ob da "mehr draus wird" oder eben auch nicht. Man könnte quasi für jeden Menschen eine "Glücksfunktion" bauen, die aber relativ individuell sein müsste. Wenn dann 2 Objekte zusammentreffen und bei beiden die "Glücksfunktion" basierend auf den Eigenschaften des jeweils anderen Objektes auf einen positiven Wert kommt, dann bilden die beispielsweise ein Paar und interagieren dann in der folgenden Zeit häufiger miteinander und seltener mit den anderen Objekten.

Genauso kann es aber dann später mal der Fall sein, dass die Glücksfunktion beim Zusammentreffen mit einem anderen Objekt einen noch besseren Wert erreicht. So könnte man Trennung und eine neue Beziehung vereinfacht umsetzen. Außerdem könnte man auch noch berücksichtigen, dass einige Objekte vielleicht gar keinen andersgeschlechtlichen Partner suchen, oder dass einige auch Dreierbeziehungen akzeptieren würden. Es kommt drauf an, wie abstrakt oder konkret du das betrachten willst Augenzwinkern

__________________
JS-Games.de - Misled Scripting Skills Gone Mad | Meine Filmkritiken | Urban Photography
Kommt mal in den IRC-Channel: irc.eu.freenode.net | Port 6667 | #blackboard

"Ever tried. Ever failed. No matter.
Try again. Fail again. Fail better."
- Samuel Beckett

21.01.2008 22:39 LX ist offline E-Mail an LX senden Homepage von LX Beiträge von LX suchen
HeaD HeaD ist männlich
Hoffnungsloser Sozialfall in Behandlung bei Styx


images/avatars/avatar-2266.gif

Dabei seit: 31.08.2001
Beiträge: 4.142
Herkunft: Mama

      Zum Anfang der Seite springen

Ich bin schon ewig (und auch ewig nimmer weil ich da grad Pause mache) mit einem ganz ähnlichen Thema beschäftigt...

Dein Vorhaben ist für den Anfang allerdings etwas hart.. ich habe auch erstmal wieder einen Schritt zurückgesteckt, anfangs, um dann erstmal das Grundprinzp zu haben.

Ich würde z.B. mit einer Insektensimulation beginnen. Dann erstellst Du Deine Klassen.

Du benötigst einmal Spawnpunkte für Nahrung.. Das bedeutet, Du hast einfach einen Punkt, den Du zeichnen läßt und diesen lässt Du immer wachsen.

Dann erstellst Du kleine andere Punkte, welches die erste Form von Lebewesen darstellt.. Diese sind darauf aus zu Futtern und sich zu vermehren.
Diese haben eine bestimmte Anzahl von Lebensenergie, die langsam sinkt. Sie müssen es schaffen, sich Essen zu suchen, bevor sie verhungern. Außerdem müssen sie sich paaren. Für die Paarung solltest Du eine Art Geschlechtsreife erstellen und ein Mindestalter. Ja ein Alter sollten sie auch haben und einen Zeitraum an dem sie sterben.

Danach erstellst Du nochmal solche Viecher, aber die sollten sich dann von der ersten Lebensform ernähren.

Das Ganze kannst Du beliebig weiterführen mit weiteren Wesen.

Der Trick ist dann dabei, ein Gleichgewicht zu schaffen, so das alle Lebensformen und die Nahrung möglichst lange durchhält. Wenn Du es in Angriff nimmst, wirst Du feststellen, daß eine Lebensform sich evlt. explosionsartig vermehrt. Oder die Nahrung ausgeht.. Wenn das passiert, hat natürlich der Rest nichts zu essen und alles stirbt aus Augenzwinkern

Falls ich meins jemals fertig bekomme, kann ichs gerne mal posten smile

__________________

21.01.2008 22:45 HeaD ist offline E-Mail an HeaD senden Homepage von HeaD Beiträge von HeaD suchen
Nightwolf Nightwolf ist männlich
BlackBoarder


images/avatars/avatar-2263.jpg

Dabei seit: 17.07.2003
Beiträge: 856
Herkunft: Hessen

      Zum Anfang der Seite springen

Sowas ähnliches wie HeaD schreibt, durften wir vor kurzem in einem Praktikum machen (siehe http://www.sec.informatik.tu-darmstadt.d...3/material.html Praktikum 5). War ganz interessant an der "KI" herumzuoptimieren, ist allerdings nicht allzu komplex (aber für den Einstieg vielleicht genau das richtige).

__________________
Wir ertrinken in Informationen und hungern nach Wissen. - John Naisbitt
21.01.2008 23:01 Nightwolf ist offline E-Mail an Nightwolf senden Beiträge von Nightwolf suchen
theromi theromi ist männlich
Optimiert für IE > 3.2


images/avatars/avatar-2077.gif

Dabei seit: 01.09.2003
Beiträge: 858
Herkunft: Draußen vom Walde komm ich her...

Themenstarter Thema begonnen von theromi
      Zum Anfang der Seite springen

Wow, danke für die Antworten großes Grinsen

Stimmt, was ich vergessen hatte zu sagen, es geht mir nicht darum, dass ich das wirklich umsetzten will. Bei mir steht momentan das Problem an sich, bzw. die dazugehörige Lösung, im Vordergrund, und ob mein Gedankenweg denn schon in die richtige Richtung geht, sowie die Ideen von Anderen zu sammeln.
Solch eine Welt am Computer zu "schaffen", dabei will ich mich natürlich an die Einschräkungen und Freiheiten halten, die mir der Computer gibt, es aber erstmal nicht zu technisch betrachten.

HeaDs Vorschlag finde ich sehr interessant, damit kann man klein anfangen, und daraus nachher etwas "Großes" bauen. Die nächsten Ferien kommen bestimmt Augenzwinkern
Das was LX beschrieben hat, habe ich mir auch so ungefär gedacht. Ein Algorythmus der bewerten kann, wie sich Menschen zueinander verhalten würden, basierend auf ihren Eigenschaften. Kann man nachher sogar als echte Partnervermittlung benutzten großes Grinsen

__________________
Eine Entwicklung scheint zu sein, dass man als Heranwachsender links ist, später wird man liberal und kurz bevor man stirbt ist man superkonservativ. Wenn diese Theorie aufgeht, bin ich von meinem Tod noch sehr weit entfernt.
Farin U.
21.01.2008 23:03 theromi ist offline E-Mail an theromi senden Beiträge von theromi suchen
phlox81 phlox81 ist männlich
Bote des Lichts und Moderator


images/avatars/avatar-2264.jpg

Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo

      Zum Anfang der Seite springen

Hm, hab mein altes Projekt gerade wieder ausgegraben und ein wenig optimiert.
Ich häng die exe einfach mal an. Falls jemand den Code haben will, PN an mich Augenzwinkern

Zu theromis problem:

Man könnte versuchen eine Stadt zu modilieren, in der es dann verschiedene Orte(Schule, Supermarkt, Kneipe, Disco, Kirche), gibt, an denen sich die Menschen begegnen können, und so Verknüpfungen unter einander bilden.

phlox

Dateianhang:
zip wildlife.zip (74,15 KB, 8 mal heruntergeladen)


__________________
Intelligenz ist eine Illusion des Menschen

phlox81.de | codenode.de
22.01.2008 21:40 phlox81 ist offline E-Mail an phlox81 senden Homepage von phlox81 Beiträge von phlox81 suchen
HeaD HeaD ist männlich
Hoffnungsloser Sozialfall in Behandlung bei Styx


images/avatars/avatar-2266.gif

Dabei seit: 31.08.2001
Beiträge: 4.142
Herkunft: Mama

      Zum Anfang der Seite springen

Was genau passiert denn da? Ich seh nur 12 Millionen Buchstaben (mindestens)

Zitat:
Original von phlox81
Man könnte versuchen eine Stadt zu modilieren, in der es dann verschiedene Orte(Schule, Supermarkt, Kneipe, Disco, Kirche), gibt, an denen sich die Menschen begegnen können, und so Verknüpfungen unter einander bilden.


Genau das war mal mein Plan. Ich hab dafür nen ganzen Haufen geschrieben, also kein Quellcode, sondern Ideen, was man machen könnte usw.

Allerdings bin ich kein Stück mehr fit in C und in Blitzbasic ist das ganze etwas nervig, weil man keine richtigen Klassen hat.. im Nachfolger BlitzMax gibt es sowas zwar, aber da muss ich mich noch reinwuseln +fg+

Wenn Interesse besteht, kann ich gerne mal meien Gedanken dazu posten, vllt. hat ja jemand Interesse sich da anzuschliessen. Ich persönlich würde es zwar in BlitzMax machen, aber "Code ist Code".. das Grundprinzip eines Algorythmus ist ja immer umsetzbar und Grafiken bräuchte man auch (da vergeht mir immer die Lust, wenn man keine Grafiken hat +fg+)

__________________

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von HeaD: 22.01.2008 22:26.

22.01.2008 22:21 HeaD ist offline E-Mail an HeaD senden Homepage von HeaD Beiträge von HeaD suchen
theromi theromi ist männlich
Optimiert für IE > 3.2


images/avatars/avatar-2077.gif

Dabei seit: 01.09.2003
Beiträge: 858
Herkunft: Draußen vom Walde komm ich her...

Themenstarter Thema begonnen von theromi
      Zum Anfang der Seite springen

Zitat:
Original von HeaD
Wenn Interesse besteht, kann ich gerne mal meien Gedanken dazu posten, vllt. hat ja jemand Interesse sich da anzuschliessen. Ich persönlich würde es zwar in BlitzMax machen, aber "Code ist Code".. das Grundprinzip eines Algorythmus ist ja immer umsetzbar und Grafiken bräuchte man auch (da vergeht mir immer die Lust, wenn man keine Grafiken hat +fg+)

Also, ich wäre dabei. Von BlitzMax habe ich zwar noch nie etwas gehört, aber bei Grafiken kann ich aushelfen großes Grinsen
Zumindest deine Ideen dazu würden mich interessieren.

Bei phlox81s Programm haben bei mir die Rehe "gewonnen", warum weiß ich aber nicht. Wäre ganz lieb, wenn du dazu sagen könntest, welches Tier die anderen in welcher Art beeinflusst.

__________________
Eine Entwicklung scheint zu sein, dass man als Heranwachsender links ist, später wird man liberal und kurz bevor man stirbt ist man superkonservativ. Wenn diese Theorie aufgeht, bin ich von meinem Tod noch sehr weit entfernt.
Farin U.
22.01.2008 22:52 theromi ist offline E-Mail an theromi senden Beiträge von theromi suchen
phlox81 phlox81 ist männlich
Bote des Lichts und Moderator


images/avatars/avatar-2264.jpg

Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo

      Zum Anfang der Seite springen

Zitat:
Original von HeaD
Was genau passiert denn da? Ich seh nur 12 Millionen Buchstaben (mindestens)


Naja, die Ausgabe passt nicht ganz in die Konsole. Wenn du vergrößerst, wird es wohl was klarer.

Jeder Buchstabe hat eine Bedeutung:

g - Gras
b - Busch
B - Baum
a - Aas

T - Tiger
R - Reh
A - Affe
E - Elefant

Tiger frisst Rehe und Affen
Reh frisst Gras und Büsche
Affe frisst Büsche und von Bäumen
Elefant frisst Büsche und Bäume

Es geht eigentlich nicht um das Gewinnen. Die Rehe sind einfach am robustesten. Beinflussen tun sich alle arten, besonders stehen Rehe und Affen in Konkurrenz, und Tiger sind natürlich die Feinde von Rehen und Affen.

Würde übrigens eine Hochsprache für das Projekt empfehlen, C++ z.B. oder Java.

phlox

__________________
Intelligenz ist eine Illusion des Menschen

phlox81.de | codenode.de
22.01.2008 22:54 phlox81 ist offline E-Mail an phlox81 senden Homepage von phlox81 Beiträge von phlox81 suchen
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
BlackBoard » Design, Programmierung & Entwicklung » Programmieren » Selbstlebende Welt?

Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH