Qbasicnews.com

Full Version: Dot Life Simulator
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
Hey, I was reading this thread ( http://forum.qbasicnews.com/viewtopic.php?t=6963 ) in the programming help forum, and got me thinking about trying a sim project.

This is the very rudimentary work I've done so far. It's very basic at this stage; the code is heavily documented so it shouldn't be too hard to follow.

{edit: will update links as it's updated.}
http://www.ifcdata.com/mb/qb/dots-11-10-2004.txt
{/edit}

I'd be interested in getting a bunch of you who are interested in furthering this project involved. Obviously there is a limitless number of ways to make this program more interesting. Let's start small, though, and see where the project goes.

Some of my ideas:

1. No more random movements. Make a dot variable that's a scale ranging from shy<-social, and have it locate the nearest dot and either move towards it or away from it. Adjust the shy<social variable depending on stuff like if the dot gets into a fight, mates, reaches certain ages, etc.

2. Instead of instant birth, have the female dots go through pregnancy (show with new color of dot). Environmental variables can adjust the length of pregnancy.

3. Rework the dying of old age code to be more realistic (the older you get, the higher the chance of death each year)

4. Replace the current "death fight" encounter (occurs 50% of time when dots of same sex meet) with something more interesting.

Let's keep the changes to things of this calibur for now (i.e. no adding food pellets that the dots fight for, hunters/prey, etc). All ideas welcome!

*peace*

Meg.
This looks very interesting. I would like to help, but keep in mind that my Coding skills are limited. I would still hope for others to join.
I was one of the interested ;o

Create a CVS or management system and I'll add to it every now and then.
Screw my last two posts :lol: . I have made up my mind :roll:, finally. I will help out. Could you send me a copy of the *.bas file? I will PM you with my e-mail, as I don't believe that I have it publicly posted. I have an idea for the fighting subject.
the .bas file and the .txt file (linked in my original post) are the same. just download the .txt file and rename it to .bas extension.

*peace*

Meg.

edit: Feel free to post your ideas here; maybe it will spark another idea in somebody else.
updated the link in the initial post. here's a direct link:

http://www.ifcdata.com/mb/dots-10-19-2004.txt

* added text log so you can tell what's going on with the dots.

* added unique ID number for each dot so that even once a dot has died and is removed from the array, you can still reference it historically. This is useful because it ties into the next new thing:

* added two new variables to the dots: mom and dad. These contain the ID number of the new dot's parents. This can be used for any number of things. For example, make it so that a dot won't kill its parents. Or make it so that the dot follows its parents for the first 10 years of its life. Or make it so that dots with common parents won't mate.
That thing to so cool!

My dots keep killing themselves when they are young so everyone dies after the parents grow to old....
I will have to test that out. By the way, in the Init sub, I tried to make it so that the screen is wider. I had the same outcome. Put
Code:
WINDOW SCREEN (0,0)-(100,100)
in the Init sub and try it out. I also am thinking of making that a bit smaller, so that you could have room to put a message center. One that tells you when a dot dies, and which dot. Just a thought.
I fell so stupid :oops: . I should have run it before I posted. You already had a message center. That thing is so cool. Hope you don't mind, but I changed a few things. I made it so that the dots can have twins. I just used a random number, 1 or 2, so I will have to come up with a better way. Also, I made it so that the width of the Environment is as wide as it could be (75 with the WINDOW SCREEN command). It is working nicely. Keep working on it!
You can adjust the environment dimensions in the Initialize sub by changing the values of Env.x and Env.y
Pages: 1 2