This is a read-only snapshot of the ComputerCraft forums, taken in April 2020.
pruby's profile picture

[COMPETITION]

Started by pruby, 26 September 2012 - 06:40 AM
pruby #1
Posted 26 September 2012 - 08:40 AM
UPDATE:

Due to issues with chunk loading in Forge, and then an introduced incompatability with ComputerCraft, the environment has had to be updated. The versions I will use are now:

Forge 4.1.4.295
Computercraft 1.43
Railcraft 6.4.1.0 for its World Anchor (Core + Automation only, tweaks.rails.useOldRecipes enabled)

Hi all!

While theoretically, turtles can now produce more turtles and reproduce, we haven't yet seen this in practice. I've decided to run a challenge to accomplish this here as a competition. The best complete submission (criteria below) will receive a US$50 voucher for www.amazon.com .


Competition rules:
  • Submissions close on November 1, 2012 at 00:01 UTC time.
  • Entrants may be individuals or teams. There are no limits to team size, but all contributors must be listed.
  • No individual may be a member of multiple teams or contribute to multiple teams' submissions
  • Entrants are to provide a program for a self-replicating turtle.
  1. To be provided as a zip file, attached to a post on this thread.
  2. Must contain a single directory with a unique name.
  3. Extracted files may not exceed 1MB.
  • The zip file will be extracted in /rom, so if your directory is "foo" your files will be under /rom/foo.
  • The "start" program in that directory will be run. In above example, would run /rom/foo/start
  • All code used must be written by the members of your team. As an exception, you may use programs in the standard computercraft bundle.
  • All submissions must be released completely to the community under an OSI-approved open source licence. Your submission must state your choice of licence.
Starting/running conditions:
  • Run with latest stable Technic Pack 7.2 on Windows, all mods enabled with default settings.
  • EDIT: By popular demand, environment will be vanilla Minecraft, ComputerCraft 1.42 and a chunk loader.
  • No additional mod/Java code will be installed.
  • No internet access will be provided.
  • Fuel use is enabled, turtle starts with no fuel.
  • Player will neither help nor deliberately obstruct the turtle.
  • Player may end up in turtle's movement path, but will not deliberately do so.
Challenge:
  • A crafty mining turtle starts at base of a normal tree in a large oak forest.
  • The starting tree will be at least 6 blocks tall.
  • There will be at least one other tree trunk within 8 blocks of the starting tree.
  • There will be water and at least 6 sand within 16 blocks of the starting tree.
  • ADDED: To enable programming more turtles without any other mods, one sugar cane will be planted by the sand/water. This will be within a 33x33 area centred around the starting tree (known safe from chunk unloading). This will not be a naturally spawned cane (don't want to be searching for days).
  • A Railcraft World Anchor will be placed in the air above the trunk of the starting tree.
  • Turtle should not break this
  • Turtle should stay within a 3x3 chunk area to avoid being unloaded. 16 horizontal blocks in any direction from the starting tree will be known safe.
  • The supplied program will be run at any time during minecraft dawn - after full darkness but before full light.
Base goal:
  • Turtle must acquire all the resources it needs to operate by itself.
  • Turtle must place a torch near its starting location by full dark.
  • Turtle must check this torch before nightfall every day, and replace it if missing.
  • Turtle must acquire all the resources required to build additional crafty mining turtles.
  • Must craft two crafty mining turtles, and place them in a chest near the starting location.
  • Must place a sign over that chest reading "Complete" when and only when this goal has been met.
  • These turtles will be removed by the judge when the "Complete" sign is found.
Proof of life:

A run may be stopped at any time if the turtle does not make visible progress towards the goal in a minecraft day, at judge's discretion. Turtles may use signs or displays to help indicate progress.

The judge may remove and discard the first-placed torch at any time in full daylight. The run will be stopped if the turtle does not replace this torch by full darkness. This will not be done excessively or unreasonably, but allows for the turtle to prove it's still working, not trapped or out of fuel. It will be done at least once for every submission.


Bonus goals:

The main goal must be completed before credit can be given for bonus goals. All submissions must list any bonus goals they will try to finish. You may try for any number of goals - none to all.

1. World domination
  • Produce additional block loaders, extend the loaded area.
  • Judged on expanding quickly and putting space to good use.
2. Construction
  • Construct a building around the starting position.
  • Buildings judged on aesthetics - would I want to live in it?
3. Bribery
  • Provide surplus materials to the player.
  • Could include metals, gems, and food.
  • Place these in a clearly signposted chest.
  • Items judged on how likely they are to be useful in a vague manner.
4. Machine uprising
  • Kill mobs and/or the player who enter your area.
  • Player may avoid visible danger.
  • Judged on creativity.
Judging criteria:

Three starting locations will be selected well apart [EDIT clarification - each program will be run at all three]. The turtles will be placed, and the world backed up. This same world will be used for all submissions.

Each site will be checked to see if it has met goals at least daily. The entries will be judged on the following criteria in a very vague way.
  • + + Speed of self-reproduction (measured in whole or part days).
  • + + Readable and understandable code.
  • + Completion of bonus goals.
  • - Messy / visibly damaged environment. e.g. floating blocks, huge quarry, etc.
  • - - Turtle fails to make visible progress for extended periods.
  • - - Consumes excessive resources and makes world lag.
[EDIT: You're allowed one dud without penalty - each submission will be judged on the two most successful sites.]

Community feedback on submissions will be sought, but I (Timothy Goddard) will make the final decision of who to give the prize to and on all matters of the competition's rules. I'll try to avoid it, but may change rules after the start if I decide they are impractical or unreasonable. I, and anyone I personally know, are ineligible to compete.

Only submissions which complete the base goal [EDIT: at at least one site] are eligible for prizes.

Breaches:

The following will result in immediate disqualification.
  • Any form of plagiarism or use of other people's material in your submission.
  • Any attempt to exploit bugs in Minecraft or mods.
  • Any breach of forum rules in relation to this competition. Keep it clean.
  • Any condition which makes it illegal for you to compete.
Prize:

The prize will be a US$50 voucher for www.amazon.com, sent to a single nominated member of the winning team. Only one prize will be issued. If for any reason this prize cannot be provided, a prize of equivalent value may be substituted.


Finally, have fun and feel free to discuss techniques here. A good enough team shouldn't be afraid to give some ideas on starting out to newer members who just want to give it a bash.
Edited on 09 October 2012 - 07:32 PM
dan200 #2
Posted 26 September 2012 - 08:48 AM
This is a great idea but:

Run with latest stable Technic Pack 7.2 on Windows, all mods enabled with default settings.

Technic still runs off computercraft 1.33, which doesn't include the crafty turtle!
pruby #3
Posted 26 September 2012 - 08:55 AM
EDIT: original mentioned railcraft world anchors. I've removed the reference as they seem to be removed. Will search for a different type of chunk loader to use.
pruby #4
Posted 26 September 2012 - 08:56 AM
This is a great idea but:

Run with latest stable Technic Pack 7.2 on Windows, all mods enabled with default settings.

Technic still runs off computercraft 1.33, which doesn't include the crafty turtle!

Ah, good point. I'll upgrade Computercraft to version 1.42 . Clarifying above.
dan200 #5
Posted 26 September 2012 - 10:26 AM
Also:

Fuel use is enabled, turtle starts with no fuel.

If the turtle starts with no fuel and no resources, it won't be able to move! Unless it conveniently starts up directly in front of a block of coal


Never mind, noticed it starts next to a tree. This looks fun, I wonder if i'm disqualified from entering though :P/>/>
jag #6
Posted 26 September 2012 - 01:17 PM
Can you just use a regular minecraft with only CC installed? If so, it would make it easier instead of getting technic pack and then updating the CC mod.

EDIT: Also, could you add a picture so that we can see how the turtle will start. Just a screenshot.
Like this:
SpoilerI didn't got a mod with a chunk loader, so a world anchor cart will do the job. But is this how it will look?
bwochinski #7
Posted 26 September 2012 - 10:49 PM
Sounds like a tough challenge, which I LOVE! I would also vote for having only the CC mod installed, otherwise I could see it taking days just for a turtle to sort through and identify all the ores in technic.
Cranium #8
Posted 26 September 2012 - 10:52 PM
Sounds like a tough challenge, which I LOVE! I would also vote for having only the CC mod installed, otherwise I could see it taking days just for a turtle to sort through and identify all the ores in technic.
That is an excellent point. There are a LOT of items in Tekkit, and even more in Technic…
GopherAtl #9
Posted 26 September 2012 - 11:25 PM
If this was just vanilla + cc + some turtle-compatible chunkloader mod, I'd definitely enter. In fact, I'll probably do it under those conditions even if I can't enter it without being tekkit-compatible. I've wanted to do something similar since first starting CC anyway.
pruby #10
Posted 26 September 2012 - 11:27 PM
Seems to be the overwhelming popular choice to use vanilla MC with CC and a chunkloader. I'll change the environment in the description.

If anyone has objections to the switch and has already started a solution in Technic, I'll accept that too (but speak up soon!).
pruby #11
Posted 26 September 2012 - 11:30 PM
Never mind, noticed it starts next to a tree. This looks fun, I wonder if i'm disqualified from entering though :P/>/>

Sure you can enter. I'll be keeping an extra eye on the "no expoiting bugs" rule though :D/>/>
pruby #12
Posted 26 September 2012 - 11:37 PM
EDIT: Also, could you add a picture so that we can see how the turtle will start. Just a screenshot.

I'll add a picture later this evening. You have the position of the turtle right. The lowest piece of wood in the trunk will be in front of it at start (will not extend down). The ground may or may not be at the same level on other sides of the trunk.

The anchor will be a solid block above the tree trunk. There will be an air gap between the top leaves and the anchor, so you can identify it and not break it. A minimum of 3x3 chunks will be loaded with the anchor in the middle chunk. It will not necessarily be in the middle of the middle chunk - you can only assume that 16 blocks in each direction is absolutely safe.
GopherAtl #13
Posted 27 September 2012 - 12:31 AM
I haven't tested it yet, but a few weeks ago dan had said something about the next version turtles will return false if they try to move into an unloaded chunk. If that held true with 1.42, that'll allow us to exploit the full 3x3 chunk area safely and easily.
pruby #14
Posted 27 September 2012 - 12:59 AM
That's a neat idea, still not risk-free. The player is also a chunk loader :P/>/>
Luanub #15
Posted 27 September 2012 - 05:11 AM
This is a great idea but:

Run with latest stable Technic Pack 7.2 on Windows, all mods enabled with default settings.

Technic still runs off computercraft 1.33, which doesn't include the crafty turtle!

Tekkit runs 1.33 (SMP)
Technic runs 1.4 with crafty turtles (SSP)
GopherAtl #16
Posted 27 September 2012 - 05:23 AM
I don't really care if it's 1.41 or 1.42, I just don't want to have to deal with 100,000 extra recipes, since my turtle will have to identify them largely by testing crafting patterns. This is tricky enough in vanilla+cc, it's a royal pita with every new material and recipe in either tekkit or technic added into the mix.
immibis #17
Posted 29 September 2012 - 10:05 AM
The turtle would need to farm trees using the saplings that drop from the starting tree, right? That would make it very slow, at least in the beginning.
jag #18
Posted 29 September 2012 - 12:19 PM
The turtle would need to farm trees using the saplings that drop from the starting tree, right? That would make it very slow, at least in the beginning.
Well if you make it keep 1 log, it can go around and find other trees and compare the log it got in it's inventory
immibis #19
Posted 29 September 2012 - 02:41 PM
There is guaranteed to be another tree trunk within 8 blocks of the starting tree. Is the a maximum height difference between this tree and the starting tree?
jag #20
Posted 29 September 2012 - 03:23 PM
There is guaranteed to be another tree trunk within 8 blocks of the starting tree. Is the a maximum height difference between this tree and the starting tree?
Dosen't matter, you can just do turtle.detectDown() to find out if you are at the ground level. And if you got a log left in the turtle's inventory you can turtle.compare() with the block in front of it.
matejdro #21
Posted 29 September 2012 - 05:36 PM
Very interesting idea. Just few questions:

1. By "No internet access will be provided." you mean no HTTP API access right?
2. AFAIK There are no chunkloaders that work with 1.3 (CC 1.42) yet.
3. It would be good if we would get an example map or at least a picture of the starting area.
4. In case of an unintended interruption (for example server crashing), will turtle start from beginning?

Otherwise I love the idea. Even without the competition thing, it is still awesome challenge to do. I will try this for sure.
pruby #22
Posted 30 September 2012 - 12:34 AM
1. By "No internet access will be provided." you mean no HTTP API access right?

Yes, I mean the HTTP API will be disabled.

2. AFAIK There are no chunkloaders that work with 1.3 (CC 1.42) yet.

Still looking in to chunkloader options. If necessary will port one and test it.

3. It would be good if we would get an example map or at least a picture of the starting area.

I've set up a sample environment and am working on some pictures - will let you know. I'll see if it's easy to share the map also.

4. In case of an unintended interruption (for example server crashing), will turtle start from beginning?

If Minecraft crashes, the run will be re-started.
pruby #23
Posted 30 September 2012 - 12:56 AM
There is guaranteed to be another tree trunk within 8 blocks of the starting tree. Is the a maximum height difference between this tree and the starting tree?

I won't throw you a curve ball here - will be pretty close. The top wood block of the starting tree will be level with or above the bottom of the nearest tree, and vice versa. Not guaranteeing that searching at any one height will find it though.
immibis #24
Posted 30 September 2012 - 01:28 AM
There is guaranteed to be another tree trunk within 8 blocks of the starting tree. Is the a maximum height difference between this tree and the starting tree?
Dosen't matter, you can just do turtle.detectDown() to find out if you are at the ground level. And if you got a log left in the turtle's inventory you can turtle.compare() with the block in front of it.
It could be on a cliff, with a cave under it.
pruby #25
Posted 30 September 2012 - 01:54 AM
OK, have photos and sample world. Since I don't have a chunkloader mod yet, an iron block has been placed where it would go. This will not be the world the actual judging takes place in - is a sample only. I recommend testing your program on a wide variety of similar sites to ensure it's general.

Site 1 - tree, turtle and chunkloader:


Notice that sand and water are within 16 spaces. This is the edge of a forest (seems water & sand most often found there).

Closer view of turtle:


Loader will be where this iron block is:



Site 2 is similar:




EDIT: Site 3 tree was too short. Not valid placement. Replacing site.
pruby #26
Posted 30 September 2012 - 03:31 AM
New Site 3 set up:



World can be downloaded at:

http://www.goddard.net.nz/~tim/files/cccomp/CC%20Challenge.7z (4.7MB)

Unzip with 7zip in the saves directory. Environment includes:

* Minecraft 1.3.2
* Forge 4.1.1
* Computercraft 1.42
* Rei's minimap (for navigation)

The .points file in the 7z archive needs to be moved under mods/rei_minimap/ to get the sites as waypoints.
Tahg #27
Posted 30 September 2012 - 11:47 AM
To avoid cheating on the challenge would it be permissible to provide a hash of our zip file before the submission deadline, and the actual zip within the day afterwards?
matejdro #28
Posted 30 September 2012 - 11:54 AM
Why not just send the zip at the deadline day?
soccerboy5411 #29
Posted 30 September 2012 - 05:12 PM
Hello, supper excited to attempt this; however, I have a few questions:

1) Is the starting position going to have a set y value or will it be variable?

2) How do you plan on ensuring that all the needed resources will be found within the 16 x 16 chunk? Doing the math, in a perfect world that area will only provide us with 4 or 5 diamonds, which prevents us from making 2 crafty-mining turtles..much less any other turtles to complete bonus objectives. If expansion is the answer then it should be an inherit objective not a bonus one. :)/>/>
jag #30
Posted 30 September 2012 - 06:40 PM
SpoilerHello, supper excited to attempt this; however, I have a few questions:

1) Is the starting position going to have a set y value or will it be variable?

2) How do you plan on ensuring that all the needed resources will be found within the 16 x 16 chunk? Doing the math, in a perfect world that area will only provide us with 4 or 5 diamonds, which prevents us from making 2 crafty-mining turtles..much less any other turtles to complete bonus objectives. If expansion is the answer then it should be an inherit objective not a bonus one. :)/>/>
Well make more chunk loaders then!
Orwell #31
Posted 30 September 2012 - 07:03 PM
2) How do you plan on ensuring that all the needed resources will be found within the 16 x 16 chunk? Doing the math, in a perfect world that area will only provide us with 4 or 5 diamonds, which prevents us from making 2 crafty-mining turtles..much less any other turtles to complete bonus objectives. If expansion is the answer then it should be an inherit objective not a bonus one. :)/>/>

Don't you have a 32x32 area to work with? So that would be 16 to 20 diamonds…
matejdro #32
Posted 30 September 2012 - 07:11 PM
You don't know where boundaries of chunks are and you are not guaranteed to spawn in the middle of the chunk (32 in every direction). If you spawn on the border of the chunk, it might be 16 in one direction and 48 in another direction.

So to be safe, you will have to assume that maximum range is 16x16.
Orwell #33
Posted 30 September 2012 - 07:21 PM
You don't know where boundaries of chunks are and you are not guaranteed to spawn in the middle of the chunk (32 in every direction).
Wrong, it would be 24 in every direction (1 and a half chunk).

If you spawn on the border of the chunk, it might be 16 in one direction and 48 in another direction.
So this would be 16 in one direction, 32 in the other.

So to be safe, you will have to assume that maximum range is 16x16.
Well, in each direction you have a minimum of 16 blocks and a maximum of 32 blocks that are available. So to be safe you take the minimum everywhere. This makes 16 blocks in every of the four directions. So 16 blocks north + 16 blocks south = 32 blocks in that axis. And 16 blocks west + 16 blocks east = 32 blocks in the other axis. That makes a safe area of 32x32 blocks.
matejdro #34
Posted 30 September 2012 - 07:31 PM
You are correct. My bad.
GopherAtl #35
Posted 30 September 2012 - 09:15 PM
he is not correct, your turtle has no way of knowing where in the chunk it is, so it can't know which direction it can go 16 in and which it can go 32 in. Since more chunks will load while a player is present checking on it, then unload when they leave, it can't count on getting false back when trying to move out of the loaded chunks, either.

re: this, I'd suggest a revision to the rules: The judge player logging in to check on their torches, should log out only immediately after witnessing the turtle replace the broken torch. This ought to ensure the turtle is not caught with it's pants down, moving into a chunk that unloads when the judge leaves. Then we could identify the edges of the full 3x3 chunk area and exploit it all effectively.
Orwell #36
Posted 01 October 2012 - 12:07 AM
he is not correct, your turtle has no way of knowing where in the chunk it is, so it can't know which direction it can go 16 in and which it can go 32 in. Since more chunks will load while a player is present checking on it, then unload when they leave, it can't count on getting false back when trying to move out of the loaded chunks, either.

re: this, I'd suggest a revision to the rules: The judge player logging in to check on their torches, should log out only immediately after witnessing the turtle replace the broken torch. This ought to ensure the turtle is not caught with it's pants down, moving into a chunk that unloads when the judge leaves. Then we could identify the edges of the full 3x3 chunk area and exploit it all effectively.
I am still correct. You are right, we can't know which direction we can go 32 blocks in. So we have to assume it's 16 blocks in each direction. But still, then we have a 32x32 area. Because it's 16 blocks north, east, south and west, right?

And I still haven't seen any confirmation in this thread that turtle.forward()/turtle.back() indeed returns false when it tries to move outside a chunk. I'd have to check this to be sure.
GopherAtl #37
Posted 01 October 2012 - 03:03 AM
Oh, sorry, I misread your post. I saw the "1.5 chunks in each direction" re: center, then "16 in one, 32 in the other" for the edge, and apparently skimmed over the rest without entirely reading it. :)/>/> sorry bout that. Yes, 32x32 area, 16 blocks in each direction. This is only guaranteed to find the diamonds in the center chunk, though, meaning if you're unlucky there might be no diamonds at all, if there's an intersection between your one vein of diamonds in the center chunk and a canyon or dungeon or whatever. Unless the generation rules have changed in 1.3.2? I've not really looked into it since the upgrade from 1.2.5…
pruby #38
Posted 01 October 2012 - 06:20 AM
re: this, I'd suggest a revision to the rules: The judge player logging in to check on their torches, should log out only immediately after witnessing the turtle replace the broken torch. This ought to ensure the turtle is not caught with it's pants down, moving into a chunk that unloads when the judge leaves. Then we could identify the edges of the full 3x3 chunk area and exploit it all effectively.

Hi GopherAtl,

I can't guarantee that any chunk will _not_ be loaded and later unloaded except the 3x3 block with the chunkloader in the centre one. Please don't rely on any loaded chunk staying loaded unless in that area - I'd rather not see people's submissions failing due to chunk mechanics. You have a safe area of 33x33 (16 blocks to each side plus the centre line). If resources are missing from there, your program may have to accept a degree of risk by moving outside, but this should be managed carefully.

Sorry all about the chunk loader delay. Looks like at least RailCraft has them working in 1.3.2 again - will confirm.

Cheers,

Tim
pruby #39
Posted 01 October 2012 - 06:28 AM
To avoid cheating on the challenge would it be permissible to provide a hash of our zip file before the submission deadline, and the actual zip within the day afterwards?

I'd rather avoid this, but can manage it. SHA1 only please (no MD5s), and the final file should be attached within 24 hours of the deadline.
pruby #40
Posted 01 October 2012 - 06:35 AM
Hello, supper excited to attempt this; however, I have a few questions:

1) Is the starting position going to have a set y value or will it be variable?

No guarantees here except that it will be at the base of a naturally spawned oak tree. I'm not going to plant one on a single block of dirt in layer 1 :)/>/>

2) How do you plan on ensuring that all the needed resources will be found within the 16 x 16 chunk? Doing the math, in a perfect world that area will only provide us with 4 or 5 diamonds, which prevents us from making 2 crafty-mining turtles..much less any other turtles to complete bonus objectives. If expansion is the answer then it should be an inherit objective not a bonus one. :(/>/>

There will be three sites and the world will be the same for everyone. If one is missing resources within the guaranteed safety area, it'll be the same for everyone. If, extraordinarily, multiple sites are missing resources then I'll re-start the judging for everyone.

I should clarify with submissions being run at three sites:
* If any site completes the base goal your submission is eligible for the prize.
* Extra goals can only be met at a site which has met the base goal.
* Credit will be given for the second site to meet a goal - shows consistency.
* If two sites succeed, no additional credit will be given for a third doing so - feel free to have one dud.
Tahg #41
Posted 01 October 2012 - 11:55 AM
Oh that is much clearer. I thought you were running 3 submissions at once. The OP might be clearer by replacing "The turtles will be placed, and the world backed up." with "An instance of your turtle will be placed at each site, and the world backed up."
soccerboy5411 #42
Posted 02 October 2012 - 06:19 AM
Thanks for answering my questions! But alas another has arisen…

On the topic of chunks I am a little confused. You say that a chunk loader will be above the starting tree loading a 3x3 (9 chunks) chunk area. That would be a 96 x 96 area; however, you state that only a 32 x 32 area is guarenteed safe (which is 4 chunks). Are you saying that only the four chunks surrounding the start location are known while the other 5 chunks are unknown? Or is it because the chunk boundries are unknown so the "safe" area is only 32 x 32, relative to the turtle?
Tahg #43
Posted 02 October 2012 - 06:31 AM
3x3 chunks is a 48x48 area. But consider if the chunkloader was on the very edge of a chunk. In this case you only get 16 blocks beyond the loader. So, all in all you have a known safe area of 33x33 blocks centered around the loader.
soccerboy5411 #44
Posted 03 October 2012 - 02:42 AM
Oh ok :(/>/> I don't understand chunks and how they load very well. Thanks for the help Tahg. :D/>/>
Lyqyd #45
Posted 03 October 2012 - 05:14 AM
So, what is the chunkloader mod going to be? I don't believe that's been specified yet.
Orwell #46
Posted 03 October 2012 - 06:18 PM
Is anyone working on this? I'd like to hear the progress of others. :(/>/>
jag #47
Posted 03 October 2012 - 06:19 PM
Is anyone working on this? I'd like to hear the progress of others. :(/>/>
I'm kind of working on it, I really don't like to make stuff by myself, so would you like you team up? :D/>/>
GopherAtl #48
Posted 03 October 2012 - 06:58 PM
Coming along. I've got it digging the first tree, identifying saplings, logs, dirt and, in the unlikely event, apples. Next up is finding and harvesting any other nearby trees, finding that promised nearby sand at the same time.
jag #49
Posted 03 October 2012 - 07:07 PM
Coming along. I've got it digging the first tree, identifying saplings, logs, dirt and, in the unlikely event, apples. Next up is finding and harvesting any other nearby trees, finding that promised nearby sand at the same time.
How did you get the saplings?
What I did is cut down the tree, refuel with all of the log it got, then it's searching for other trees (comparing using one piece of log left in it's inventory).
GopherAtl #50
Posted 03 October 2012 - 07:09 PM
I got the saplings by digging the leaf blocks. Since I'm limited to a small area, I figured I may need a tree farm later.
jag #51
Posted 03 October 2012 - 07:13 PM
Ah, smart.
But you're not guaranteed to get saplings from that, what if the tree dosen't give you any saplings?
GopherAtl #52
Posted 03 October 2012 - 07:15 PM
then it doesn't give me any saplings. If none of the trees around give me any, well, then I'll just be boned, I guess :(/>/>
Orwell #53
Posted 03 October 2012 - 07:33 PM
On the surface I can identify trees, dirt, saplings, water and sand. I can automatically fell all trees and find the sand. The turtle also maintains an underground quarry and identifies coal, cobblestone, iron and redstone for now. I also have a docking station with chests for easy crafting, storage and melting.

I don't know about the team work, I like every aspect of the challenge so much that I wanna do it all ^.^ .
FunshineX #54
Posted 03 October 2012 - 07:37 PM
I guess for sand you can identify by making a 2x2 with whatever you dig and see if it crafts into something. What's your guys plan to identify redstone?
matejdro #55
Posted 03 October 2012 - 07:38 PM
Whoa, you guys have done really advanced stuff already :(/>/>
GopherAtl #56
Posted 03 October 2012 - 07:40 PM
that is an option, you can also do a "drop test." Move up one (if you're on the ground), placeUp, move down, pause a bit, and detectUp. If you detect something, the thing you placed fell, meaning it's either sand or gravel. If it was on the surface, it's (almost) certainly sand.

Funshine: Mostly by drop count. Not many things drop multiple items from one dig() command.
Orwell #57
Posted 03 October 2012 - 07:45 PM
that is an option, you can also do a "drop test." Move up one (if you're on the ground), placeUp, move down, pause a bit, and detectUp. If you detect something, the thing you placed fell, meaning it's either sand or gravel. If it was on the surface, it's (almost) certainly sand.

Funshine: Mostly by drop count. Not many things drop multiple items from one dig() command.

I identify sand the other way around. I dig the block under it and check if the gap remains. It costs less operations that way. I test redstone by laying it in a circle and testing input/output. : p
GopherAtl #58
Posted 03 October 2012 - 07:49 PM
only 3 things in vanilla drop more than one item per dig, clay, redstone, and lapis, and redstone is the only one that can be placed at all, so laying a circle of it seems superfluous. :(/>/>

As for sand, I detect gravel basically like you're describing - while digging tunnels, if I dig, and am then blocked moving by another block, I assume that block is sand or gravel. I generally do my mining deep enough that I'm not running into sand, though, and in this case I'm searching for sand above the surface while tree-hunting, so digging down to below it to test your way would be more operations for me. :D/>/>
Orwell #59
Posted 03 October 2012 - 08:37 PM
only 3 things in vanilla drop more than one item per dig, clay, redstone, and lapis, and redstone is the only one that can be placed at all, so laying a circle of it seems superfluous. :(/>/>

As for sand, I detect gravel basically like you're describing - while digging tunnels, if I dig, and am then blocked moving by another block, I assume that block is sand or gravel. I generally do my mining deep enough that I'm not running into sand, though, and in this case I'm searching for sand above the surface while tree-hunting, so digging down to below it to test your way would be more operations for me. :D/>/>

You're definitely correct about redstone, I didn't think of that angle. But about the sand, I hunt for trees until I end up in the water. As sand is always around water, I follow the edge of the pool and do the test. As soon as i have one, i can just compare. I'm not sure if it's more or less efficient.
jag #60
Posted 03 October 2012 - 08:39 PM
A really simple way to detect redstone is if when you destroy it, it drops more then 1 item. And because clay does that too, you can just check the y coordinate. Is y like under 30 then it's redstone, else it's clay
GopherAtl #61
Posted 03 October 2012 - 08:43 PM
hmm, hard to say. I'm ignoring water, not really messed with water using turtles much, is there a simple way I'm not aware of to identify when you're in water?
Orwell #62
Posted 03 October 2012 - 09:16 PM
hmm, hard to say. I'm ignoring water, not really messed with water using turtles much, is there a simple way I'm not aware of to identify when you're in water?

It's a sort of inconsistency that makes me able to detect if I'm in water. I don't really feel like telling though. :D/>/> It's a competition after all. :(/>/>
Lyqyd #63
Posted 04 October 2012 - 01:07 AM
A really simple way to detect redstone is if when you destroy it, it drops more then 1 item. And because clay does that too, you can just check the y coordinate. Is y like under 30 then it's redstone, else it's clay

Unless, of course, you've mined lapis.
Orwell #64
Posted 04 October 2012 - 02:39 AM
only 3 things in vanilla drop more than one item per dig, clay, redstone, and lapis, and redstone is the only one that can be placed at all, so laying a circle of it seems superfluous. :(/>/>

As for sand, I detect gravel basically like you're describing - while digging tunnels, if I dig, and am then blocked moving by another block, I assume that block is sand or gravel. I generally do my mining deep enough that I'm not running into sand, though, and in this case I'm searching for sand above the surface while tree-hunting, so digging down to below it to test your way would be more operations for me. :D/>/>
A really simple way to detect redstone is if when you destroy it, it drops more then 1 item. And because clay does that too, you can just check the y coordinate. Is y like under 30 then it's redstone, else it's clay

Unless, of course, you've mined lapis.

As stated before, lapis and clay can't be placed while redstone can. So that's a way to see the difference.
Lyqyd #65
Posted 04 October 2012 - 03:21 AM
only 3 things in vanilla drop more than one item per dig, clay, redstone, and lapis, and redstone is the only one that can be placed at all, so laying a circle of it seems superfluous. :(/>/>

As for sand, I detect gravel basically like you're describing - while digging tunnels, if I dig, and am then blocked moving by another block, I assume that block is sand or gravel. I generally do my mining deep enough that I'm not running into sand, though, and in this case I'm searching for sand above the surface while tree-hunting, so digging down to below it to test your way would be more operations for me. :D/>/>
A really simple way to detect redstone is if when you destroy it, it drops more then 1 item. And because clay does that too, you can just check the y coordinate. Is y like under 30 then it's redstone, else it's clay

Unless, of course, you've mined lapis.

As stated before, lapis and clay can't be placed while redstone can. So that's a way to see the difference.

I am well aware of that; I was posting for the benefit of the person I quoted, who posted that comment after the first comment you quoted had been posted.
Orwell #66
Posted 04 October 2012 - 03:39 AM
I thought it might be like that. But I wanted to avoid any confusion. :(/>/> If someone only read you're last post, he might have been discouraged on using that method without reason. Who else is working on this? Someone reached the basic goals already? :D/>/>
BigSHinyToys #67
Posted 04 October 2012 - 04:31 AM
I thought it might be like that. But I wanted to avoid any confusion. :(/>/> If someone only read you're last post, he might have been discouraged on using that method without reason. Who else is working on this? Someone reached the basic goals already? :D/>/>
I haven't decided if I enter it but I have a basic program that makes a chest and a furnace from the starting position.
jag #68
Posted 04 October 2012 - 05:30 AM
A really simple way to detect redstone is if when you destroy it, it drops more then 1 item. And because clay does that too, you can just check the y coordinate. Is y like under 30 then it's redstone, else it's clay

Unless, of course, you've mined lapis.
Oh yeah, right… I totally forgot about lapis…
BrolofTheViking #69
Posted 04 October 2012 - 11:54 PM
Damn you, I already had a project I was working on that is distracting me from school work, I didn't need this to interest me as well!

A really simple way to detect redstone is if when you destroy it, it drops more then 1 item. And because clay does that too, you can just check the y coordinate. Is y like under 30 then it's redstone, else it's clay

Unless, of course, you've mined lapis.
Oh yeah, right… I totally forgot about lapis…
You could also identify redstone vs lapis by trying to place it, couldn't you?
I'm not a very knowledgeable computercrafter, but that seems like the obvious thing to me.

EDIT: I would be interested in teaming up with anybody if they are interested, although I won't necessarily be able to contribute a whole lot due to my work and limited experience.
Orwell #70
Posted 04 October 2012 - 11:59 PM
You could also identify redstone vs lapis by trying to place it, couldn't you?
I'm not a very knowledgeable computercrafter, but that seems like the obvious thing to me.

Look a couple of posts up. :(/>/>
sjonky #71
Posted 05 October 2012 - 03:43 AM
Im wondering what people are doing with tree's in this challenge, Are you making a kind of pathfinding thing which will go everywhere inside the 32x32 area and search for tree's. or are you just taking saplings from the first tree and create a tree farm? im trying to do the first one. But i just can't get my head around going back and forth and past obstacles which is not tree's, ive made it go back and forth a bit, but it will eventually get stuck somewhere. So i wanted to see how other people are solving that
jag #72
Posted 05 October 2012 - 07:23 AM
Im wondering what people are doing with tree's in this challenge, Are you making a kind of pathfinding thing which will go everywhere inside the 32x32 area and search for tree's. or are you just taking saplings from the first tree and create a tree farm? im trying to do the first one. But i just can't get my head around going back and forth and past obstacles which is not tree's, ive made it go back and forth a bit, but it will eventually get stuck somewhere. So i wanted to see how other people are solving that
I'm cutting down the first tree and crafting everything (except 1 piece) up into planks, then refueling the turtle using the planks.
Then with a remaining tree/log I go around and compare for log, and so each time it moves it checks if it's at ground level, and if it isn't it will go down.
And you know, when it detects something in front of it, if it is log then it will cut down every piece of log (except if it is a large tree :/ ), else if it's not log then it will go up then forward.
(Something similar, not totally correct. But you'll get the point)
FunshineX #73
Posted 05 October 2012 - 10:29 AM
FunshineX is in, and streaming/recording the development. follow Twitch.tv/funshinex to watch (10pm-1am pacific)
Just started so I've just got the first tree and identifying dirt/cobble

else if it's not log then it will go up then forward.
pesky birch trees may interfere

question, if a player is in the way, will turtle.forward() return false?
BigSHinyToys #74
Posted 05 October 2012 - 10:49 AM
question, if a player is in the way, will turtle.forward() return false?
All turtle functions return true if they happened e.g. the turtle moved or false if it did not.
sjonky #75
Posted 05 October 2012 - 04:49 PM
I have a question, how can i get the turtle to indentify grass? because i want my tree searching function to move up if there is dirt/grass, and go through if there is something else (bushes etc). But since you cant pick up grass. and comparing dirt and grass returns false how is this possible? is it meant to be like this? it would be better if grass and dirt would be the same thing if you ask me :S
matejdro #76
Posted 05 October 2012 - 04:51 PM
I don't think you can detect the grass, not without the help of the player.
minecrafter1134 #77
Posted 07 October 2012 - 06:55 PM
which mod will be used for the chunkloader? I'll be building chunkloaders with my turtles to expand its territory, and I need to know the recipe it'll need to use
pruby #78
Posted 08 October 2012 - 10:24 PM
Because nothing else seems to support the recent Forge changes, I'm going to install and use Railcraft 6.4.1.0 as the chunkloader addon. Only the automation and core modules will be enabled, and the old rail recipes will be available (tweaks.rails.useOldRecipes in railcraft.cfg). To support that, Forge will be updated to 4.1.4.295, the recommended version for that Railcraft release.

http://railcraft.wik...load+%28Info%29
http://files.minecraftforge.net/
pruby #79
Posted 08 October 2012 - 10:27 PM
Oh, and I'm aware that means you need Ender pearls to expand :D/>/>
pruby #80
Posted 08 October 2012 - 10:49 PM
Dammit, that means that I need to update ComputerCraft to 1.43 too - the new release just fixed an incompatability with any Forge version which would support working chunkloaders.

UPDATED ENVIRONMENT:
Forge 4.1.4.295
Computercraft 1.43
Railcraft 6.4.1.0 (Core + Automation only, tweaks.rails.useOldRecipes enabled)
Orwell #81
Posted 09 October 2012 - 12:16 AM
Ender pearls? O.o that's hard…

On another subject… If I want this reproduction to be useful, I have to actually place and program the crafty mining turtles. To do that, I see no other option than using floppies. So is sugar cane guaranteed to be in the 32x32 starting area?
pruby #82
Posted 09 October 2012 - 12:26 AM
Very good point - without the Technic mods there's no other way to get paper. I'll plant one sugar cane somewhere by the sand/water. It will be within the 33x33 safe zone and next to the water, but no other guarantees. If you destroy the sugar cane and don't pick it up (e.g. by mining under, etc), you won't be able to program more turtles.
MrDoomah #83
Posted 09 October 2012 - 05:27 PM
Ok, nevermind. Got CC to work again. Let's get to work!
Edited on 09 October 2012 - 03:50 PM
matejdro #84
Posted 09 October 2012 - 06:04 PM
I think ender pearls are impossible to get - unless you are extremely lucky.

Even in normal game it's challenging to find enderman, but since turtle cannot sense anything, it can just randomly drive around until it hits mob.
minecrafter1134 #85
Posted 09 October 2012 - 11:15 PM
hmm, that IS gonna make it hard…

also, is it ok if we use publicly available apis for our turtles, or does it have to be entirely our own code?
Orwell #86
Posted 09 October 2012 - 11:31 PM
hmm, that IS gonna make it hard…

also, is it ok if we use publicly available apis for our turtles, or does it have to be entirely our own code?

See first post: :P/>/>
All code used must be written by the members of your team. As an exception, you may use programs in the standard computercraft bundle.
minecrafter1134 #87
Posted 09 October 2012 - 11:55 PM
well, crap… that complicates things slightly…

thankfully enough, I know how it works, so I can write my own variation
Xavion #88
Posted 10 October 2012 - 11:05 AM
This sounds fairly interesting and I might give it a shot . Your intro is wrong by the way as the safe area is only 32x33 since if they're in different chunks you only get 15 blocks behind the turtle safe not 16, just a minor thing but it could screw someone up with some bad luck.
Orwell #89
Posted 10 October 2012 - 11:25 AM
This sounds fairly interesting and I might give it a shot . Your intro is wrong by the way as the safe area is only 32x33 since if they're in different chunks you only get 15 blocks behind the turtle safe not 16, just a minor thing but it could screw someone up with some bad luck.

If you go one block forward ('in' the tree) and set your coords at (0,0,0) there, then you can be sure that you have a 33x33 area around that point.
dadmob18 #90
Posted 10 October 2012 - 03:51 PM
I just found this post and I'm so jealous! This was my personal goal– to build a self-replicating tribe of turtles! I was planning on starting with one existing tribe hand-crafted, but this challenge takes it to the next level, I love it! The reason I'm jealous is because I will never have enough time to finish by the deadline, with my day job plus parenting. But I will watch with great interest! I've already learned so much about "blind" item identification, very cool.

I am especially curious about water detection, presumably without a bucket? Hmmm…..
Orwell #91
Posted 10 October 2012 - 08:41 PM
I am especially curious about water detection, presumably without a bucket? Hmmm…..

I'll be fair and share my secret with the forums. :P/>/> 'turtle.detect()' returns false only when in front of an air, water or lava block. 'turtle.dig()' returns only false when in front of an air or lava block. So basically.

isWater = not turtle.detect() and turtle.dig()
jag #92
Posted 10 October 2012 - 08:59 PM
I am especially curious about water detection, presumably without a bucket? Hmmm…..

I'll be fair and share my secret with the forums. :P/>/> 'turtle.detect()' returns false only when in front of an air, water or lava block. 'turtle.dig()' returns only false when in front of an air or lava block. So basically.

isWater = not turtle.detect() and turtle.dig()
But then you dug the water/lava, so you can't obtain it with like a bucket…
MrDoomah #93
Posted 11 October 2012 - 02:55 AM
I am especially curious about water detection, presumably without a bucket? Hmmm…..

I'll be fair and share my secret with the forums. :P/>/> 'turtle.detect()' returns false only when in front of an air, water or lava block. 'turtle.dig()' returns only false when in front of an air or lava block. So basically.

isWater = not turtle.detect() and turtle.dig()
But then you dug the water/lava, so you can't obtain it with like a bucket…

turtle.dig() returns true if it can dig the block, and false if it can't.
There seems to be a flaw that turtle.dig() terurns true in water, even though it can't mine it.

ty for the tip btw!
dadmob18 #94
Posted 11 October 2012 - 04:11 AM
Thanks, Orwell! Nice catch on that– and so simple once you know it!

I have also heard that if you drop (place?) a bucket in water and then suck it back up, it is full, but I haven't tried it. Or maybe if you have an empty bucket in inventory when you dig water, it fills it? I've got to do some tests…
Orwell #95
Posted 11 October 2012 - 07:37 AM
I am especially curious about water detection, presumably without a bucket? Hmmm…..

I'll be fair and share my secret with the forums. :P/>/> 'turtle.detect()' returns false only when in front of an air, water or lava block. 'turtle.dig()' returns only false when in front of an air or lava block. So basically.

isWater = not turtle.detect() and turtle.dig()
But then you dug the water/lava, so you can't obtain it with like a bucket…
True, though in most cases it will regenerate immediately. Also, I use this method to find the level of the water, so I know that everything underneath that level and between the surrounding blocks is water.

Thanks, Orwell! Nice catch on that– and so simple once you know it!

I have also heard that if you drop (place?) a bucket in water and then suck it back up, it is full, but I haven't tried it. Or maybe if you have an empty bucket in inventory when you dig water, it fills it? I've got to do some tests…
If you place an empty bucket on a water source block, it will fill the bucket with water. If you place a filled bucket it will empty it. Digging the source block will just destroy it without further more.
dadmob18 #96
Posted 11 October 2012 - 02:29 PM
If you place an empty bucket on a water source block, it will fill the bucket with water. If you place a filled bucket it will empty it. Digging the source block will just destroy it without further more.
Beautiful. I was having trouble getting something to work, but that does it (again, so simple once you know). I noticed that placeDown and placeUp do not work with a water bucket! But place() works just as you say.
Sorroko #97
Posted 11 October 2012 - 06:43 PM
I myself have decided to have a go at this, I have not worked on it much but im interested to see what movement system people are using. I have gone for a relative coordinate system, so from when you place the turtle down it assumes 0, 0, 0 at its position and with each movement updates a vector which stores its position. I would like to know if anyone else uses this method or if people are hardcoding in the routines. I am fairly new at computercraft but I already have experience in programming, so any tips you could share would be great :P/>/>
soccerboy5411 #98
Posted 12 October 2012 - 07:07 AM
I wanted to let everyone know that when disabling modules inside of railcraft, more than just automation of to be kept true.

automation,
chunk.loading,
extras,
factory

all have to remain true. At least they do for me. I don't know if I am the only one, but I get null pointers(and a whole bunch of confusing stuff) if one of them is set to false.
dadmob18 #99
Posted 12 October 2012 - 03:06 PM
I myself have decided to have a go at this, I have not worked on it much but im interested to see what movement system people are using. I have gone for a relative coordinate system, so from when you place the turtle down it assumes 0, 0, 0 at its position and with each movement updates a vector which stores its position. I would like to know if anyone else uses this method or if people are hardcoding in the routines. I am fairly new at computercraft but I already have experience in programming, so any tips you could share would be great :)/>/>
GopherATL has a nice API, turtlex (and inventory), that "wrap" the turtle and keep track of position and item counts, as best you can. Personally I started from that and developed my own turtle wrapper for the same purpose, but I haven't posted mine.. not quite stable yet. There are also some helpful tutorials on inventory management, if you search the forum.
Sorroko #100
Posted 13 October 2012 - 09:10 AM
I don't think we are allowed to use other apis, or are we?
dadmob18 #101
Posted 14 October 2012 - 03:43 AM
I don't think we are allowed to use other apis, or are we?
No, that is absolutely right. I recommend looking at other code just to get ideas and understand some of the problems, then code from scratch in your own style with your own improvements.

We are allowed to use the stock APIs, of course.
damnedsky #102
Posted 15 October 2012 - 01:37 AM
I'm very new to ComputerCraft, in fact this is the first time I actually code on a turtle and the second time ever I code with CC/lua. So you must understand the level of frustration I get when trying to code a BLIND "block" that has to "feel" around every single step… add to that the fact that it has fuel limits and you are ****ed! I really want to see the results of this competition streamed or at least recorded and put on YouTube because it is HELL!!!


Four days have pasted since my last clear thought without a turtle in it… I remember when I was thinking of pathfinding just in theory and had fun times just passing the time with those thoughts… now it's HELL!!!


Do you have any idea what an OCD mind can do to coding?! Have you any clue how every possible scenario has to be met with lines upon lines of code because the OCD can't handle a fixed setup?!
What if there's a cave just under the tree? what if the tree floats over a lake? how do I make sure there are no random floating blocks? what if there are 2 trees very close to each other? what if these 2 trees are of different kinds? do i want to take advantage of a possible birch sapling? how can I tell if I'm on the side of a hill? or maybe on the top of a hill? is there any exposed stone? with what can i compare grass blocks? turtle.dig() while facing water returns true?!?!?!? WTF?!?!?

HELL!!!

I apologize if I offended someone and I hope you have a wonderful life!
Sincerely,
sky
sjonky #103
Posted 15 October 2012 - 10:11 AM
*snip*

Your thinking too big, you just have to start somewhere, doing small things, and the putting them together until you have a good working "path finding". Just start coding, do some test in diffrent areas. and solve thoose problems you see when the turtle does them. And there are simple ways to fix all of the question's your asking, just use your creativity and think. I too had problems thinking of a solution to the detecting grass block. Simple way to do that, is digging it, then comparing. If it's the same block you can place it back again and go over it instead or w/e you want. I've re-made my code many times already making it better and better. The last version im on now im still working on perfecting my moving forward function, with all the comparing and checking. It's starting to look really nice now.
damnedsky #104
Posted 16 October 2012 - 04:01 PM
Your thinking too big, you just have to start somewhere, doing small things, and the putting them together until you have a good working "path finding". […]
I took your advice and it is paying off. The development is much slower because I have to test every single time but it's much more rewarding. I also installed SinglePlayerCommands just so I can reset the region every time. For now though I am going to take a break from this project. It gets to intensive for my not so good programming skills. I got to the point that every problem I try to solve develops new scenarios that have to be taken into consideration(turtle-ception).

Going farming :D/>/>
danekjovax #105
Posted 17 October 2012 - 07:54 PM
(First post.)

I've watched FunshineX's videos on this that that got me interested in trying this out. So, I'll toss my hat in the ring here and see how far I can go; I can also record footage in FRAPS as well, and demonstrate my turtle at certain steps in development.

I have limited exposure to LUA programming - I have done a little dabbling in Tekkit over the last few months, but nothing this extensive. I consider this a good warm-up for me as I'm getting back into programming in general, and since I love MC as well, this is a way of enjoying both worlds. ;2)

Anyways, I do have a couple questions:

1) Is it OK to use a computer terminal to access the turtle UI while in-development?
2) Is it OK to build other turtles/devices in the process of achieving the required goals?

That's all for now. I need to get my head into the LUA coding API and the language syntax. I already have a good amount of pseudo-code in my head, and I'm ready to code it and get it ON! ;2D
pruby #106
Posted 17 October 2012 - 10:20 PM
Anyways, I do have a couple questions:

1) Is it OK to use a computer terminal to access the turtle UI while in-development?

Yes, you can develop however you like. In the actual competition run, the player won't interact with the console though.

2) Is it OK to build other turtles/devices in the process of achieving the required goals?

Absolutely, feel free to build whatever you like. As discussed a bit earlier in this thread, there will be one sugar cane planted next to the water which you'll need to program other turtles.

That's all for now. I need to get my head into the LUA coding API and the language syntax. I already have a good amount of pseudo-code in my head, and I'm ready to code it and get it ON! ;2D

Have fun :P/>/>
danekjovax #107
Posted 18 October 2012 - 01:06 AM
Thanks for the fast response, pruby!

I see a newer Forge build out. Can we use that (4.2.5) or should I stick with the older version per the OP?

(EDIT)

Also, is there a place I can read on how to set up a tournament-spec MC build, or do you have a .zip with the build already available? I'm hung up on how to set up RailCraft to allow the settings you specified in the OP. Thanks for your help!
soccerboy5411 #108
Posted 18 October 2012 - 06:00 AM
Also, is there a place I can read on how to set up a tournament-spec MC build, or do you have a .zip with the build already available? I'm hung up on how to set up RailCraft to allow the settings you specified in the OP. Thanks for your help!

If you are using MultiMC (which I highly recommend) I have uploaded an instance config pack with Railcraft settings setup. Other mods include:
-Rei's Minimap
-NEI

This is just a config pack so you will have to install the example world yourself
matejdro #109
Posted 18 October 2012 - 06:23 AM
Railcraft world anchor? That makes expansion impossible. Tell me how will you hunt enderman with turtle?
damnedsky #110
Posted 18 October 2012 - 10:16 AM
Can we move to CC 1.45? the new turtle.transferTo() looks really nice and I need all the help I can get
dadmob18 #111
Posted 18 October 2012 - 03:31 PM
Nice!! I was really hoping for the transferTo() capability for crafting so I didn't need to drop and suck into a chest or down onto flat ground! It seemed like an artificial limitation, especially when serious turtle programming is already a challenge.
Orwell #112
Posted 18 October 2012 - 03:38 PM
If turtle.transferTo() will be available for the challenge, I'll need to change a bunch of code in order to make my program as efficient as the once using turtle.transferTo().
Cozzimoto #113
Posted 18 October 2012 - 05:17 PM
i think we need the teleport tethers as the chunk loader, only some iron and lapis which will make expansion alot easier than the expensive world anchor from railcraft
soccerboy5411 #114
Posted 18 October 2012 - 06:27 PM
i think we need the teleport tethers as the chunk loader, only some iron and lapis which will make expansion alot easier than the expensive world anchor from railcraft

That's kind of the point. However the point exists that no mobs will spawn unless the player is close enough and light level is at the correct level. So gathering ender pearls will be extremely difficult if not impossible due to the likeliness of a player standing within the chunk boundaries for mobs to spawn and to be killed by the turtle(s).
pruby #115
Posted 18 October 2012 - 10:26 PM
Railcraft world anchor? That makes expansion impossible. Tell me how will you hunt enderman with turtle?

I know this is extremely difficult, but I doubt impossible. Perhaps building a spawning structure would make it easier?
pruby #116
Posted 18 October 2012 - 10:33 PM
Can we move to CC 1.45? the new turtle.transferTo() looks really nice and I need all the help I can get

It does look useful but I'm not going to upgrade the competition environment for that - would disadvantage people who've already worked around the issue. You can rearrange your inventory in any order using an empty chest. Perhaps you could even carry the chest.
pruby #117
Posted 19 October 2012 - 06:37 AM
I see a newer Forge build out. Can we use that (4.2.5) or should I stick with the older version per the OP?

I'll only upgrade versions of any software if bugs make it infeasible to work as in the OP. This is to keep a consistent environment for people to work against. Good luck!
danekjovax #118
Posted 20 October 2012 - 12:41 AM
OK, that's reasonable, pruby. I'll stick with the OP versions as-posted. It's sad we can't use CC 1.45 with the new .transferTo() function, but as many of us already have workarounds for that I'm sure that's not a code-breaker.

What's really on my wish list is something like a .transferInto({slot},{destination slot},{quantity}) function to allow you to place items from your turtle into specific slots into other containers like chests and other turtles especially. But until then I'll continue with my mass deforestation-into-chests coding. ;2)
danekjovax #119
Posted 20 October 2012 - 11:07 PM
Thanks for the mention of MultiPC, soccerboy5411! That helps a lot!
Cozzimoto #120
Posted 21 October 2012 - 09:44 PM
multiMC*
dadmob18 #121
Posted 26 October 2012 - 02:00 PM
It's been quiet on this thread as the deadline approaches. Have people lost interest, or just working hard?

I have found myself trying to build a general workflow engine, which is probably overkill, but if it works it could be generally useful, I think, and a little adaptable.

I've been trying to reproduce the submission packaging proposed in this competition, placing my programs in the server's world/computer/rom/api/mystuff/, but I have had trouble getting anything in rom to appear on other turtles. Have others had success?

[EDIT] I think my problem below was simply that I was running a server. If anyone knows how to put programs in rom on a server and have them show up on all turtles, I am still looking for help, but I was successful in getting my own programs and apis to show up in normal single player mode (dedicated internal server).

[OLD] I have also tried putting my files in the client, unpacking the ComputerCraft zip, dropping my apis into mods/ComputerCraft/lua/rom/apis/* or apis/mystuff/* , restart server + client, no luck.
pruby #122
Posted 28 October 2012 - 09:16 PM
[EDIT] I think my problem below was simply that I was running a server. If anyone knows how to put programs in rom on a server and have them show up on all turtles, I am still looking for help, but I was successful in getting my own programs and apis to show up in normal single player mode (dedicated internal server).

Hi dadmob,

The competition will be run in SSP. Please note the instructions say it will be unpacked in /rom, not /rom/apis .
pruby #123
Posted 28 October 2012 - 09:29 PM
Hello all,

The deadline is approaching quickly, hope you all have some solutions for me to look at! Before submitting, please check that:

* You are placing the torch in the first day as required.
* You are checking the torch every dusk.

The torch is a tool to show that your turtle is still working. I'd rather not have to stop people's runs just because they forgot about it!

In addition, please check that:

* Your turtle stays within 16 horizontal blocks of the world anchor. This is directly over the trunk of the starting tree.
* Your submission must unpack in to a single directory under /rom . If you use multiple files, check you load them from there!
* You should list any extra goals you aim to complete on your submission. If you don't, I'll stop the run after you meet the base goal.
* Either your package or your post here must name the licence you use, which must be an OSI licence to be judged. I'll try to give people a chance to correct this if they submit without, but I can't judge your entry if it doesn't meet that requirement.

I hope people are still enjoying the challenge, and that the community as a whole will have learned a bunch of useful techniques as a result.

As a final note, partial solutions are welcome to be posted here but please note in your submission if it definitely won't meet the base goal (e.g. because the code doesn't get that far). I'd rather look at complete solutions and give the results earlier, then explore the other ideas people have come up with in solutions that didn't quite get there.

Good luck all!
pruby #124
Posted 29 October 2012 - 08:03 PM
And here's the countdown to submission:

http://www.timeanddate.com/countdown/to?p0=1440&iso=20121101T0001&year=2012&month=11&day=1&hour=0&min=1&sec=0&msg=Replication%20Challenge%20Submission&csz=1
bwochinski #125
Posted 31 October 2012 - 05:12 PM
Well I sadly have to say I've given up on this challenge. :P/>/>
Between regular life and my own projects I just haven't had time to get further than a rough start, and there's no way I have enough time left now. I'm looking forward to hearing the results though! :P/>/>
soccerboy5411 #126
Posted 31 October 2012 - 05:42 PM
I would have to agree with the above. It was really fun to plan and code out some of the challanges, but with work and life being in the way it was hard to compete. I'd be really interested to see other people's code and entries. I don't think I will give up on the challenge,but my code is nowhere near ready to submit.

Thanks for starting this challenge pruby!!!
Cruor #127
Posted 31 October 2012 - 08:56 PM
3 Hours remaining! i wish anybody that are doing this challenge good luck! Looking forward to the results :P/>/>
pruby #128
Posted 01 November 2012 - 12:02 AM
Time's up… looks like nobody quite got there?
pruby #129
Posted 01 November 2012 - 12:11 AM
OK, so it looks like nobody quite completed the challenge this time. Where did people get up to before real life intervened? Would be neat if people could do a bit of a write-up of how they approached it. Any feedback for future competitions?

In the absence of eligible submissions, the $50 prize will be donated as cash to the CC project - you made it possible for this to start in the first place!
dadmob18 #130
Posted 01 November 2012 - 12:54 AM
Just my two cents: I think, despite Minecraft being much more deterministic than the real world, that this challenge stepped far enough into AI territory that it faced some of the same difficulties– robotics and AI can be more difficult than we imagine, because they come so naturally to us. We have trouble introspecting and realizing all the stuff our brains do for us unconsciously. And, more practically, this required a fairly complex interconnected system, which takes a different kind of programming, with more modularity and design– perhaps a less fun kind for many folks.

I started building specific steps to chop the tree, refuel, craft a chest, begin mining and identifying item types, and soon decided I needed to build more general and reusable crafting, mining, smelting, exploring and identification tools. And, perhaps taking it one step too far, a general workflow engine, so I could just say addTask({action=getItem, itemType="craftyTurtle", count=2}) then run() and it would derive all the steps required, and decide which ones to do first. I'm still working on that, and making progress, and will post my results eventually. I knew I couldn't make this deadline, but self-reproducing turtles is a personal goal, so I'll keep at it.

Thanks for getting people to think about it, pruby!
kazagistar #131
Posted 01 November 2012 - 07:00 PM
Sadly, I didn't get here quite in time to be able to participate… I hope no one gives up on the dream though. Perhaps if people release the partial work they have, we can patch togeather something?
FunshineX #132
Posted 02 November 2012 - 06:05 AM
Didn't make the deadline due to rl. Anway, I'll keep working at it and uploading to YT as I progress. My current checklist is:

Cut the first tree
Identify wood/dirt/cobble
Chop more trees
Get and Identify saplings
Create a platform for storage/smelting and tree farm
Craft chests and deposit wood/dirt/cobble
Craft Furnace and smelt wood for charcoal
Create a torch and place it
Start mining

Didn't complete the mining section as this is where some procedural AI kicks in as he has to choose whether to keep on mining, go get more fuel, go check the torch, determine if we've mined redstone, iron, diamonds, etc. Up to placing the first torch the flow is very linear. After starting mining it gets vastly more complex.
minecrafter1134 #133
Posted 02 November 2012 - 09:55 AM
I barely got any work into the challenge before rl screwed me out of programming (damn college homework…). But the idea behind the challenge was a very interesting one, and is a goal I plan to accomplish competiton or not.
meeko011 #134
Posted 19 November 2012 - 02:49 AM
This is probably really hard but if dan200 entered then he could possibly do it.
NeverCast #135
Posted 02 April 2013 - 06:32 PM
I'm still working on self reproducing turtles.
But there was no way I would have made this dead-line as I can't put the hours in to it.

I will continue on this journey however, as it's a personal goal for me to achieve this. Watching Stargate recently, the replicators put flame in to this project again.
Lyqyd #136
Posted 03 April 2013 - 09:37 AM
I'm curious to see a summary of your progress so far! I am especially interested in your block type differentiation system, and any actual test results.
NeverCast #137
Posted 03 April 2013 - 06:00 PM
Items go in a chest, blocks that can be compared in block form are placed on the ground. That's how I am doing it anyway.
Stores the position of these blocks and goes back there to consult unknown items.
Engineer #138
Posted 05 April 2013 - 02:53 PM
Items go in a chest, blocks that can be compared in block form are placed on the ground. That's how I am doing it anyway.
Stores the position of these blocks and goes back there to consult unknown items.
But how do you identify those blocks wich needs to be placed. Or is that befire you run the 'impossible' program?
McModder2 #139
Posted 21 June 2013 - 09:13 PM
pruby, I want your permission to see if this (http://www.minecraftforum.net/topic/1748819-replicating-turtle-swarm/) is ok with you. It's basically the same thing but with a little(but ultimate) twist.
Lyqyd #140
Posted 21 June 2013 - 10:18 PM
This topic is rather dead.

Locked.