 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
ebrady
Anmeldungsdatum: 06.07.2005 Beiträge: 45
|
Verfasst am: 27.08.2007, 00:54 Titel: BioSphere |
|
|
Hallo zusammen!
Vielleicht kann sich noch jemand daran http://forum.qbasic.at/viewtopic.php?t=3293 erinnern.
Jedenfalls ist mir das Projekt jetzt nach einem 3/4 Jahr Versenkung wieder in den Sinn gekommen und ich dachte mir, es ist eigentlich zu schade dafür, gerade, da es schon so weit war. Die Idee ist finde ich ganz gut und vielleicht kann der eine oder andere was damit anfangen. Vielleicht mache ich auch noch was grösseres darauf aufbauend.
Naja, also habe ich mich daran gemacht und es in ein paar Tagen noch auf Beta-Status geschossen
Hier das Wesentliche aus der Readme:
F: Was ist BioSphere?
A: BioSphere ist eine Art "Evolutions-Simulation". Man lässt den
Rechner arbeiten und schaut seelenruhig zu, wie in einer Art
virtuellem Aquarium klitzekleine Zellhäufchen vor sich hingedeihen
und dann wieder verschwinden, und, sich dabei immer weiter
"entwickeln", ganz nach dem Grundsatz "der stärkere überlebt".
Das eigentlich interessante ist, dass man aufgrund der modularen
Konzipierung des Programmes relativ unkompliziert und schnell eigene
Module/Routinen zum Verhalten dieser Zellarten schreiben und
in DLLs legen kann, und zwar weitestgehend frei von irgendwelchen
Vorgaben, einzig die Daten, die das Programm dafür zur Verfügung
stellt, limitiert das Ganze.
F: Was sind diese Module jetzt genau?
A: Eine Zellart setzt sich aus 3 verschiedenen Modulen zusammen:
Fortbewegung, Stoffwechsel und Fortpflanzung. Sie können dabei
beliebig kombiniert werden. Sie enthalten Algorithmen, die
jede Runde für die jeweilige Zelle ausgeführt werden.
Welche Module das Programm einlesen und verwenden soll,
bestimmt der Benutzer, indem er sie in die "module.ini" einträgt.
F: Das Prinzip ist sehr simpel. Jede Zelle, die sich teilt,
hat eine bestimmte einstellbare Wahrscheinlichkeit, dabei zu
mutieren. Es mutiert dabei ein Modul einer Art
(Fortbewegung, Stoffwechsel, Fortpflanzung) zu einem anderen.
Alle möglichen Mutationen werden dabei in der "module.ini"
festgelegt. Ausserdem ist es möglich, dass das maximale Alter,
nach dem die Zelle stirbt, und die maximale Zellmasse, variiert.
Die Umwelt der Zelle ist dabei entscheidend dafür, ob eine Zelle
stoffwechseln und sich schliesslich vermehren kann oder vorher
stirbt.
F: Wie ist die Umwelt von Biosphere aufgebaut?
A: Sie besteht aus einer 2D-Welt mit 800x570 Pixeln, auf der sich
die Zellen, die alle 1 Pixel gross sind, bewegen können. Wenn sie
sterben, hinterlassen sie tote Biomasse, die 1. Ressource,
dargestellt durch graue Pixel auf der Karte.
Zudem gibt es 11 verschiedene chemische Stoffe, die von
20x20 Pixel grossen Feldern mehr oder weniger stark hin- und
herdiffundieren, wenn grosse Konzentrationsgefälle zwischen
ihnen bestehen. Die Zellen können diese Ressourcen individuell
zum Stoffwechsel nutzen, sollten dabei aber den Grundsatz
des Spiels "eine Ressource kann nicht entstehen oder verloren
gehen, es kann nur eine Ressource in eine andere umgewandelt
werden" beachtet werden.
F: Welche Eigenschaften haben die Zellen und was können sie?
A: Jede Zelle setzt sich zunächst aus ihren 3 Modulen zusammen.
Darüber hinaus haben sie aber auch davon unabhängige Eigenschaften,
die u.a. bei der Modulprogrammierung genutzt werden können.
Die Masse der Zelle beschreibt natürlich, wie gross, und, naja,
wieviel Masse sie hat. Die Masse wird beim stoffwechseln aufgebaut
(und evtl. abgebaut) und bei einer Teilung halbiert. Die maximal
erreichbare Masse ist für jede Zelle festgelegt, unterschreitet
die Zellmasse 1/6 der Maximalmasse, stirbt die Zelle.
Jede Zelle hat ausserdem ein Alter und ein Maximalalter, bei dessen
Erreichen sie unweigerlich stirbt. Die Zellen leben für gewöhnlich
255 Runden, dies kann aber variieren.
Dann gibt es noch den Speicher. Bei bestimmten Stoffwechselarten
wird er benötigt, damit zunächst Ressourcen gespeichert werden
können, bevor sie "verdaut" o.ä. werden. Stirbt eine Zelle, wird
ihr Speicher als Nährstofflösung freigesetzt (Diese Ressource können
übrigens alle Zellen gleich verstoffwechseln).
Zu guter letzt kann eine Zelle beim Stoffwechseln Energie für die
Fortbewegung oder Fortpflanzung gewinnen, die dabei wieder verbraucht
wird.
Übrigens legt die Farbe der Zelle das Stoffwechselmodul fest, welche
ebenfalls in der module.ini vermerkt wird.
Grundsätzlich ist es der Phantasie überlassen, was eine Zelle
durch ihre Module alles kann. Vorstellbar wäre zum Beispiel,
dass sie durch erdachte Sinne in ihrer Umgebung befindliche
Zellen ortet und sie entsprechend angreift oder flüchtet. Oder
dass sie bei bestimmten Konzentrationen von Stoffen vergiftet
wird, oder grundsätzlich nur Nachfahren zeugt, wenn sie auf einer
Zelle der gleichen Art "hockt", sich gar teleportiert usw.
F: Wie erstelle ich nun so ein Modul?
A: Dazu gibt es ein extra Tutorial im Ordner "editing" des Programms,
indem das Ganze etwas näher beleuchtet wird.
Grundsätzlich solltest du die Sprache FreeBasic halbwegs beherrschen.
Bei aufkommenden Fragen vielleicht unten zum Punkt Kontakt gucken.
Herunterladen kann man das gute Stück hier: http://www.14mb.de/u/brady/BioSphere.txt
Einfach die Endung .txt in .rar umwandeln und dann entpacken! |
|
Nach oben |
|
 |
Neo187

Anmeldungsdatum: 26.12.2005 Beiträge: 350 Wohnort: Oldenburg
|
Verfasst am: 27.08.2007, 01:08 Titel: |
|
|
moin,
gefällt mir wirklich SEHR gut!
BugReport:
Habe beim Wert für maximale Organismen 5000 eingegeben. Danach wurden das beim Start immer mehr bis auf 4800 hoch und dann beendete sich das Programm von selbst.
MfG,
Neo187 _________________
 |
|
Nach oben |
|
 |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 27.08.2007, 01:16 Titel: |
|
|
Hi,
kurz vorweg... vermutlich haette ich im Biologie unterricht weniger schlafen sollen oder ich haette wenigstens einen Kurs ueber komplexe Mathematik besuchen sollen, an mindestens einem von beidem fehlt es an verstaendniss des Programm...
Nach der ersten Anfaenglichen enttaeuschung an das Programm, nachdem die kleinen Pixelwesen offensichtlich durch einer Katastrophe ausgerottet wurden viel mir nicht wirklich etwas dazu ein.
Und auch nach einem Neustart dachte in noch, es wuerde sich wiederholen als dann doch noch etwas passierte und in diesem moment gerade ein ganzer Haufen Pixeliger Wesen im hintergrund das Fenster bevoelkern
Dennoch, als 'DAU' auf dieser Ebende muss ich sagen, "nice work' es ist eines von den dingen, die mir gefallen ohne zu wissen warum
EP _________________
 |
|
Nach oben |
|
 |
ebrady
Anmeldungsdatum: 06.07.2005 Beiträge: 45
|
Verfasst am: 27.08.2007, 01:22 Titel: |
|
|
Oh ja danke, habe da was wichtiges vergessen beim letzten Edit.
Dürfte jetzt nicht mehr passieren. Soviele auf einmal ist eh zuviel
Naja, ich sage mal ein bisschen Einarbeitung braucht's sicher, aber ich habe
es bewusst so simpel wie möglich gehalten *g* |
|
Nach oben |
|
 |
Neo187

Anmeldungsdatum: 26.12.2005 Beiträge: 350 Wohnort: Oldenburg
|
Verfasst am: 27.08.2007, 01:30 Titel: |
|
|
Ahh ... danke für den Fix. Falls Interesse besteht, dann kannst du mir ja mal paar Parameter nennen, die ich testweise fahren soll. Kann einen recht brauchbaren Rechner hier in der Nacht werkeln lassen.
MfG,
Neo187 _________________
 |
|
Nach oben |
|
 |
ebrady
Anmeldungsdatum: 06.07.2005 Beiträge: 45
|
Verfasst am: 27.08.2007, 01:45 Titel: |
|
|
Ne, keine Ahnung, könntest höchstens testen, ob da am nächsten Tag noch was lebt (was ich eher nicht glaube). |
|
Nach oben |
|
 |
Neo187

Anmeldungsdatum: 26.12.2005 Beiträge: 350 Wohnort: Oldenburg
|
Verfasst am: 27.08.2007, 01:45 Titel: |
|
|
Nochmal 2 'Fehler':
von 2000 sind 1 = 0,05% und 3 = 0,15% ... aber 2 = 0,00%?
Außerdem:
Von 2000:
900 = 45 %
901 = 45,0 %
902 = 45,1 %
Ich hoffe, dass ich damit helfen kann.
MfG,
Neo187 _________________
 |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4702 Wohnort: ~/
|
Verfasst am: 27.08.2007, 02:29 Titel: |
|
|
Hört sich gut an, kann ich aber nicht emulieren - könnte ich vielleicht den Quellcode haben, zum selbst compilieren? _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
Lutz Ifer Grillmeister

Anmeldungsdatum: 23.09.2005 Beiträge: 555
|
Verfasst am: 27.08.2007, 11:24 Titel: |
|
|
sieht hoch interessant aus - wenn auch meine erste kleine welt nur eineinhalb minuten gelebt hat. irgendwas hat sie dann alle dahingerafft.
Lutz Ifer _________________ Wahnsinn ist nur die Antwort einer gesunden Psyche auf eine kranke Gesellschaft. |
|
Nach oben |
|
 |
ebrady
Anmeldungsdatum: 06.07.2005 Beiträge: 45
|
Verfasst am: 27.08.2007, 11:53 Titel: |
|
|
Das mit den 0.00% ist mir auch schon aufgefallen, fand das aber jetzt nicht sooo wichtig. (Hab leider den Fehler auf Anhieb nicht finden können, ich glaub es ist die FB-str-Funktion, die nicht so arbeitet, wie ich es mir gewünscht hab.)
Das
Von 2000:
900 = 45 %
901 = 45,0 %
902 = 45,1 %
stimmt aber doch. So soll das sein.
Den Quelltext wollte ich zunächst erstmal nicht freigeben. Ich kann es aber auch versuchen für Linux zu kompilieren, wenn mir gesagt wird, wie es denn geht. Mit "-target linux" meckert er, dass "as.exe" nicht da ist.
Die Welt ist bisher auch noch nicht besonders komplex, da müssen weitere Module geschrieben werden. Bisher gibt es nur die 4 Stoffwechselarten (wobei die Konsumenten wohl derzeit bisschen schwachbrüstig sind) und die Bewegungs- und Fortpflanzungsstandards.
Wer will, kann sich da ja gerne dran betätigen.  |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 27.08.2007, 13:10 Titel: |
|
|
Schließe mich mal EternalPain an.
Super Arbeit!
(Hätte damals nicht gedacht, dass das was wird. ) _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 27.08.2007, 13:33 Titel: |
|
|
Laut euren Berichten scheint das ja ganz toll zu sein.
Leider kann ich das hier unter Linux nicht nachvollziehen, sourcecode zum kompilieren ist leider nicht da, und unter wine ist es nicht lauffähig:
Screenshot _________________
Code: | #include "signatur.bi" |
|
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 27.08.2007, 13:41 Titel: |
|
|
sieht doch schön aus, RGB  _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 27.08.2007, 13:55 Titel: |
|
|
Nur leider auch ein wenig verzerrt, und nacher sieht man gar nichts mehr, also nur die großen schriften kann man einigermaßen lesen  _________________
Code: | #include "signatur.bi" |
|
|
Nach oben |
|
 |
Neo187

Anmeldungsdatum: 26.12.2005 Beiträge: 350 Wohnort: Oldenburg
|
Verfasst am: 27.08.2007, 13:56 Titel: |
|
|
moin nochmal,
wollte nochmal fragen, weshalb man in dem Optionsmenü erstmal Buchstaben drücken muss, um zu sehen, welcher Wert derzeitig eingestellt ist? ... Wäre schön, wenn die sofort beim Betreten des Optionsmenüs schon dort stehen würden. Und wie man die editiert muss man auch erstmal rausfinden. Kein Cursor oder Ähnliches, kein 'drüberschreiben', nein. Man muss erst den vorherigen Wert per Backspace löschen und kann dann einen neuen eingeben. Vielleicht dort noch ein Bisschen drüber nachdenken, wie das komfortabler gelöst werden kann.
Achja, es würde glaube ich helfen, wenn du durchgehend 2 Nachkommastellen bei den Prozentzahlen anzeigen lässt. Finde das zurzeit eh Bisschen komisch, dass das Komma wild hin und her springt in den Zahlen. XX,XX% als feste Anzeige würde ich mir wünschen. Wenn auch nur als Extrawunsch per Optionsmenü.
MfG,
Neo187 _________________
 |
|
Nach oben |
|
 |
The real Agent D

Anmeldungsdatum: 24.11.2005 Beiträge: 605 Wohnort: Hall i. T.
|
Verfasst am: 27.08.2007, 14:14 Titel: |
|
|
so mal testen...
Ich schließe mich der Mehrheit an und sag da nur: WOW!!
mfg
The real Agent D |
|
Nach oben |
|
 |
Toa-Nuva
Anmeldungsdatum: 14.04.2006 Beiträge: 204 Wohnort: München
|
Verfasst am: 27.08.2007, 15:31 Titel: |
|
|
Klingt ja ganz toll, aber ich komm damit irgendwie net zurecht... Wenn ich da jetzt eine neue Welt erschaffe, ist die ganz schwarz und nix tut sich... Hab ein bissel in den Optionen rumgeguckt, hab da auch nix gefunden. Bin ich zu doof für das Programm? XD |
|
Nach oben |
|
 |
Lutz Ifer Grillmeister

Anmeldungsdatum: 23.09.2005 Beiträge: 555
|
Verfasst am: 27.08.2007, 15:47 Titel: |
|
|
also ich bekomm leider keine lebensfähige "biosphäre" hin. entweder nur produzenten, die dann irgendwann aussterben, oder nen stabiles produzenten / destruenten system, dass dann einen einzelnen konsumenten hervorbringt.
Lutz Ifer _________________ Wahnsinn ist nur die Antwort einer gesunden Psyche auf eine kranke Gesellschaft. |
|
Nach oben |
|
 |
ebrady
Anmeldungsdatum: 06.07.2005 Beiträge: 45
|
Verfasst am: 27.08.2007, 17:31 Titel: |
|
|
@Neo: Ja, ich weiss, könnte komfortabler sein. Habe dafür eine alte Eingaberoutine verwendet, war halt zu faul. Kommt auf die To-Do-Liste (in meinem Kopf).
@Toa-Nuva: Maximale Zellanzahl eingestellt? Ansonsten mal TAB drücken und gucken/schreiben, was da steht.
@Lutzifer: Ja, das liegt daran, dass es momentan noch nicht mehr Module gibt. Die kann man auch selbst dazuprogrammieren, das ist ja gerade der Witz an der Sache. |
|
Nach oben |
|
 |
Neo187

Anmeldungsdatum: 26.12.2005 Beiträge: 350 Wohnort: Oldenburg
|
Verfasst am: 27.08.2007, 17:49 Titel: |
|
|
moin,
also in der nächsten Version würde ich mir dann diese Dinge wünschen:
- Mehr maximale Organismen möglich
- Richtige Prozentrechnung
- Optionsmenü mit angezeigten Werten und neuer Eingaberoutine (vllt. per Maus)
- Insgesamt vllt. 6 Module, die aufeinander besser abgestimmt sind? *Ganz-lieb-guck*
MfG,
Neo187 _________________
 |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|