Recent Posts

Pages: [1] 2 3 ... 10
Darwinbots3 / Re: Bot testbed
« Last post by Numsgil on November 13, 2017, 07:24:40 AM »
Yeah, that might work.  We can maybe even do pinching to reproduce still, and use the same idea of relaxing the spindle angles slowly over time.
Darwinbots3 / Re: Bot testbed
« Last post by Shadowgod2 on November 12, 2017, 06:38:48 PM »
ok here's my idea:

first i think they when repro should be forced into a circle at the moment they repro. they shouldn't just let the spindles snap into place but be more like a spring pushing the bots out and away, locking into place when they reach their pos. as they they move they have a height tolerance say of 20 in height to be adjustable so the spindles can get underneath and get into place faster. all the while the bot would be unable to move until all spindles are in their places. all this should solve the physics and control during the repro stage.

for manipulating the number of spindles i think it should be both according to body and bot dna storing as a range. say every 20 body gained the minimum spindles would increase by 1, it could have a maximum of 20 or double the minimum spindles that the bot, after repro, could use a store command to get to so it could use a desired spindle number. the reason i say have a minimum and max spindles is because i don't think you would want a bot that has a lot of body and be really large and only have 3 spindles or the other way around and have spindles it doesn't need. if the number of spindles is connected to body them so should the spindle minimum length of the spindles to match.

the pic is very crude but should help with the visuals of it
Darwinbots3 / Re: Bot testbed
« Last post by Shadowgod2 on November 10, 2017, 04:56:31 PM »
Hmm definitely something to think about... i have a few ideas but i need paint to test and show so i might be able to get back to you later tonight... maybe tomorrow.
Darwinbots3 / Re: Bot testbed
« Last post by Numsgil on November 10, 2017, 07:02:00 AM »
Yes, I was thinking along the same lines.  There are two issues to think about:

If you pinch a bot, are the two resulting shapes valid bots?  You have to take the points on the perimeter of the original bot that formed the endpoints for its spindles and map those to the spindles of the new daughter bots.  Even if you try to make the nucleus of the daughter bots as close to the nucleus of the original bot as possible, they can't exactly overlap, since spindles have a minimum length so the nuclei have to be 2x that minimum distance apart.  We could just disallow reproduction until the two resulting daughter bots would be valid, but that's maybe a bit finicky.  We could let them split in an invalid configuration and just softly correct it over a few frames, but that has implications for physics.

Second, if bots reproduce by pinching, that means they need a mechanism for adding more spindles.  Again, the spindles are a uniform angular distance apart, so adding 1 more spindle to a bot changes where the end points of the spindles are.  For bots with lots of spindles that's not that big of a deal but if your bot had like 7 spindles, the difference is pretty obvious.  Do you snap it in to the correct place, or move it slowly over multiple cycles?  Either way has strong implications for either physics or DNA control.

Alternatively you could have bots only be able to double, triple, etc. the number of spindles they have.  That would let the new spindles appear between the existing ones and not have to change the geometry at all.  But it does limit the behavior of bots somewhat.

These aren't insurmountable issues, but I don't have clean answers to them yet, either.
Darwinbots3 / Re: Bot testbed
« Last post by Shadowgod2 on November 10, 2017, 01:10:22 AM »
dang that's a bit... i've decided to almost completely redo the bot sense i need to get back into it and re learn the code, i'll be adding a speed modifier in as well in this next update just as soon as i know how i'm going to do so..

also have you figured out exactly how you will do repro? reason i ask is because i think instead of repro being a sysvar it's an action, 2 spindles at some point are 0ed and that makes the bot repro. with that, the 2 spindles that are 0ed can be what determines the size and pos of the child from the parent. of cores that brings a few issues of it's self such as grater than 2 0ed spindles, which is the parent in the split, ect

for multiple 0ed spindles we could either allow it and have multiple children or disallow it and only repro when exactly 2 spindles 0ed. for the which is the parent issue i'd say the obvious choice would be the larger of the 2(or more if you decide down that path). now to prevent accidental or spam repro events body could be the min height of the spindles except for when 0ed which is reset right after repro so the bot has to re 0 the spindles again. after that i can't think of any specific issues that would be big...

i personally like the ability of multiple children because that opens up the most possibilities but the feature alone even with just 2 could make things like cani bots more sustainable on the smaller end to being able to make things like linings(skin, stomachs, and more) easier and better to form on the larger scale. even tough the sysvar way would likely be easier and maybe better at the start while getting other things down first maybe, i think this might be worth the effort, but i'm not the programmer so idk. what do you think?

looks good so far and keep up the good work. hope you get back to it soon but till then enjoy your break, getting too burnt out suck so better in moderation than forced all out war type completion..
Darwinbots3 / Re: Bot testbed
« Last post by Numsgil on November 09, 2017, 05:53:58 AM »
I've uploaded a new version at the top of the thread.

DNA changes:
Upgraded the integer stack to handle 15 digits.
Changed unit angles from 1080 to 9000 to give more room within the domain of a bot's memory [-9999, 9999].

Fixed a crash that occurs if the UI takes too long to start up.
If DirectX version is too low starts up with the null renderer instead of crashing.
Fixed crash when the directX context was lost (because of shutting a laptop lid, for instance).
Fixed an issue with how DNA is parsed that caused a crash if users used a bad metatag.

New features:
Added a watch window for DNA.  You can enter arbitrary DNA snippets in the watch window and it will evaluate them and show the results.  You can also enter numbers to view the memory contents at that memloc.
Added an autos window for DNA to show which memlocs were modifieid in the last cycle.

Minor tweaks:
The undo stack is cleared when loading from a save.
Fixed issue with render and UI not updating the first cycle after loading a save.
Opening the save or load dialogs pauses the simulation now.  Loading a simulation loads it in a paused state.
Darwinbots3 / Re: Bot testbed
« Last post by Shadowgod2 on November 07, 2017, 11:27:17 PM »
sure, yea i kinda got side tracked day after i started the new bot... but in the next few days i should have a good turning bot, after which i'll be working on speed as well and more.
Darwinbots3 / Re: Bot testbed
« Last post by Numsgil on November 07, 2017, 08:55:56 AM »
I'm taking a break at the moment, but if you're interested I can post my most recent build.  It fixes a number of issues.
Darwinbots3 / Re: Bot testbed
« Last post by Shadowgod2 on November 02, 2017, 11:31:13 PM »
wow nice little warning message while posting

so how's everything going? i'm thinking about getting into it a little again, try to see if i can get a turning code in
Off Topic / Re: My SSD drive broke down. What do you recommend?
« Last post by neanderbe on September 07, 2017, 08:19:05 AM »
By the way the program I use to restore the files is Recuva, which i downloaded from It seems to be working well so I can recommend that if this happens to you. There are two versions; a desktop and a portable. The portable is useless, so I had to install Windows first and then run the dektop version.

Same thing happened to me once when I formatted a wrong drive. Recuva is a good tool and it's free but I found Active Undelete to be much more thorough in recovering my files. I use the Pro version.
Pages: [1] 2 3 ... 10