Jump to content

turtles, self replicating


Rareden
 Share

Recommended Posts

What?

ComputerCraft 1.4 has turtles that can craft shit.

wel it should be possible if the crafty turtle has the right materials in the top left 3x3 inventory. And Programs could be transmitted via rednet? Dont know im not up and up an ye olden CC lua API

As far as I know, there is no way to turn on a newly built computer, other than a human player right clicking it. Which would put a damper in your plans.

I have not extensively tested this, though. I know a deployer doesn't work, but redstone signals or other weird things might work.

If you can figure out a way to automatically turn them on, then this would work. What you would do is craft a new turtle, place it on the ground, place a disk drive next to it, eject the disk drive using code, suck it up with a transposer or an obsidian pipe or something, and then deploy it into the disk drive. Then turn on the turtle (somehow), and it would boot from the "startup" program on the disk, which would then copy the actual code onto the turtle that you wanted.

Link to comment
Share on other sites

This sounds like a great project to work on over winter break. The trick is to write the code in such a way that, upon crafting of a new turtle, the parent turtle passes it some arguments that influence the way in which it behaves. The arguments it passes would most likely be those of the parent, however, given a random number dice roll the arguments can change. Only turtles that live to reproduce (Don't get stuck/ run out of fuel) will pass on their arguments to the next generation. To stop overpopulation, you can give each turtle an age, and after their operational period expires, they will be sent to have a date with a block breaker.

Obviosley you want to start small first though. Let's try making turtles that simple go mine a quarry, refuel, and use the gathered materials to craft new turtles.

Link to comment
Share on other sites

This sounds like a great project to work on over winter break. The trick is to write the code in such a way that, upon crafting of a new turtle, the parent turtle passes it some arguments that influence the way in which it behaves. The arguments it passes would most likely be those of the parent, however, given a random number dice roll the arguments can change. Only turtles that live to reproduce (Don't get stuck/ run out of fuel) will pass on their arguments to the next generation. To stop overpopulation, you can give each turtle an age, and after their operational period expires, they will be sent to have a date with a block breaker.

Obviosley you want to start small first though. Let's try making turtles that simple go mine a quarry, refuel, and use the gathered materials to craft new turtles.

The genetics thing is an interesting idea, but this does not address the problem of potentially not being able to turn on a newly crafted turtle. You can't pass on any traits, parents' or otherwise, to a box that won't start.

Link to comment
Share on other sites

The genetics thing is an interesting idea, but this does not address the problem of potentially not being able to turn on a newly crafted turtle. You can't pass on any traits, parents' or otherwise, to a box that won't start.

You must not have played around with computer craft much then. You can use two disk drives, a mating computer and a deployer to create a turtle queen. The two turtles drive up, write their attributes file to one of the two disks, then the mating computer in between the two disk drives reads from each disk, and generates a new generation turtle program which it then copies to the new turtle's "startup" routine. So yes, it is possible, but it will take a lot of effort on the coder's part to get everything working properly.

A computer will look for a startup program on disk first. It runs the startup program whenever it gets unloaded and reloaded, as well as when the server restarts.

Link to comment
Share on other sites

I dont think you understand me exactly.

then the mating computer in between the two disk drives reads from each disk

The computer has to be ON to read from a disk.

A computer will look for a startup program on disk first.

yes, it will do that ... once it is turned ON.

When you first craft a turtle or a computer, it is OFF. no command prompt, black screen, not doing anything, not booting from disks or anything else. You normally have to right click it to first turn it on. I am not aware of any way to turn a computer on other than a real human right clicking it. Deployers do not work.

edit: I tried just now placing a computer, running 500 blocks away and back to unload and load the chunk. That did not make it start, so it only apparently runs startup when its chunk is reloaded AND it was already on previously.

Link to comment
Share on other sites

Ok sweet. Now we just have to wait 15 months for it to show up on tekkit >.>

In the meantime, I guess you could always build your computers and then put them on a frame conveyor belt and hire an evil henchman on your server to stand there and right click every one as it rolls by in exchange for delicious delicious diamonds.

Link to comment
Share on other sites

neh dont bother giving them an age, i want them to replicate out of control, build hives and kill players lol, proximity sensors could be used to tell turtles where a player is.

disk drive is probably the best way to go about transferring the program, not quite sure how to program it.

im still in the "what the hell am i doing" stage of lua, just cannibalizing parts of peoples scripts i see to try and make a wander AI atm, need some sort of counter in it so when this number is greater than this turtle.turn so it could get out of being stuck in a loop, or even as it goes and detects, each time it detects a block infront it sends a signal back to a computer with a big monitor setup and writes a letter on the screen for that location that there is a block in the way so it can build its own map of the area and more easily navigate.

Link to comment
Share on other sites

neh dont bother giving them an age, i want them to replicate out of control, build hives and kill players lol, proximity sensors could be used to tell turtles where a player is.

disk drive is probably the best way to go about transferring the program, not quite sure how to program it.

im still in the "what the hell am i doing" stage of lua, just cannibalizing parts of peoples scripts i see to try and make a wander AI atm, need some sort of counter in it so when this number is greater than this turtle.turn so it could get out of being stuck in a loop, or even as it goes and detects, each time it detects a block infront it sends a signal back to a computer with a big monitor setup and writes a letter on the screen for that location that there is a block in the way so it can build its own map of the area and more easily navigate.

sensors are crap and virtually nobody knows how they work, if they ever do. There's no documentation on them at all. And even if you do get them to work, I think the range is only like 17 blocks, which means your turtle is already spotted and dead if there's a player there.

So I suggest coming up with a different strategy (loaded chunks? Pressure plates? Enticing players to pull interesting looking levers, at which point they die, and turtles suck up all their inventory and condense it into more trap materials?), but If you go with sensors anyway and figure out how to use them please let us know!

Link to comment
Share on other sites

I dont think you understand me exactly.

The computer has to be ON to read from a disk.

yes, it will do that ... once it is turned ON.

When you first craft a turtle or a computer, it is OFF. no command prompt, black screen, not doing anything, not booting from disks or anything else. You normally have to right click it to first turn it on. I am not aware of any way to turn a computer on other than a real human right clicking it. Deployers do not work.

edit: I tried just now placing a computer, running 500 blocks away and back to unload and load the chunk. That did not make it start, so it only apparently runs startup when its chunk is reloaded AND it was already on previously.

If a turtle is adjacent to a computer, or possibly another turtle, then on that computer:

turtleside = peripheral.wrap("<side turtle is on>")

turtleside.turnOn()

will boot it.

I expect screenshots of your turtle replicating factory within hours :)

Source

http://computercraft.info/wiki/index.php?title=Peripheral_(API)#Computers

Link to comment
Share on other sites

cant seem to get a turtle to craft another even with all the materials needed in it, just says "call nil" is crafting in 1.4, think the servers on 1.3

If your turtle has 9 inventory slots, you have CC 1.3 which is the default for the current version of tekkit. In fact, if YOU didnt install CC 1.4 on your oen client in order to log on, then it is 1.3

However, you can still make self replicating turtles in CC 1.3 They would just have to use auto crafting or project tables or something, and it would be a lot more complicated.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...