Suggestion: Programmable droids

  • Mob that have 60-place inventory, that doubles as 60-line length program. When powered, loops through inventory, looking for special items (elements) that makes it do things like go one step forward, turn for set amount of degrees, pick up nearby things, dig, take and put things in chests, or place blocks. Each action consumes energy. Also there are special elements that marks start of subroutine, commands to run specific subroutine or repeat next command set amounts of time.


    i can write it in more details, if interested.

  • Maybe you make things like with the Terraformer and its TFBs. some kind of Robot that has an Mining RobotBlueprint mines and goes back to recharge his battery and puts the loot into a nearby box. or refuels the nuclear reactors or something. maybe hunters. somecind of a remote wasnt bad too


    P.S. please excuse my bad english
    me: MinecraftPig

  • Beauty of this is that such thing can do a lot of things, from mining to terraforming to construction to transportation. And also be a sink for huge amount of surplus EU:)


    I think I can code it myself, probably as a standalone mod, that can be integrated into IC with extras, so in vanilla it will run on coal, but in IC will be able to use MFE or batteries.


    Here is a mockup of the program, using vanilla items only for special commands, instead of custom elements. Can someone find what is it doing and find an error in the code? :)

  • Definately a great idea. I love it.
    It reminds me of one project I did for Java course some time ago at our university. Virtual machine that simulated tribes of robots, which were running assembly-like RoboTalk language. It was rather amusing that last coding problem had nothing to do with Java, but actually writing robot AI with RoboTalk, and then pit your tribe against others :) Grand prize was 4 movie tickets and knowledge that my tribe won 99% of all of its matches.


    54 lines is quite restrictive, but you can still certainly do some rather intelligent bots with it.


    Subprograms, loops, gotos, bot memory slots, capability to scan area and communicate with other bots...

  • I've already had a ~45 minute long chat regarding the possibilitys of this idea. We even went as far to discuss whether one could call it a formal Turing-Language XD
    Don't bother working on it, this WILL be a part of IC²... even if it may takes a while.

    Ok, I'll look forward to it.


    And, warbaque, yes, it's 54, not 60. I was thinking all this time that there are 10 columns:)

  • Awesome idea. If I may add a suggestion to this:
    how about using special items for programming which represent certain expressions and functions?
    For example and IF item and an ENDIF item.
    Or for functions for example a MINETHIS item and then with the possibility to suffix it with a certaom block you want the droid to mine like for example an iron ore block or just a wildcard item.
    Oh and Kinda like you have the TFBPs for terraformers, you'd have to craft these code items.
    Also, how about using a central control unit where you place the code? Droids assigned to that CCU would then execute and operate according to that code.

  • Well, i was thinking that item stacks play a dual role - as themselves, and as a symbol of themselves.


    Like, if there is a non-full stack (of iron ore, for example), and droid have some ore iron ore lying around, then it will add ore to this stack. if this stak is after "place block" element, then dorid will take things from this, to place down.


    For example, picture above is a (slightly bugged) program for making railroad with electric tracks, that uses those commands (with sugar,paper, sticks etc as placeholders for logic elements):


    Book stack: start of subroutine
    Paper stack: call subroutine
    Sugar stack: loop next command N times
    Sign:
    place block from next stack, if it's size is 2 or more. If it's size is one,
    then find and use blocks of same type from other stack of size 2 or
    more.
    Boots: step forward
    Sticks stack: vertical (1-5) and horizontal (6-13) turns, in steps of 45 degrees
    Pickaxe: dig


    All other stacks - if stack is not full, pick drops of same type until stack is full.

  • This sounds like something individuals could use to figure out how to have self learning droids in IC^2. I'm pretty sure this is programming Inception. Just look at the crazy things people have done in MC(*COUGH*IC+ anything redstone*COUGH*)

  • What baturinsky exampled sounds like a 'program' version of a redstone chest/box suggestion I saw once. You'd right click on the chest and large inventory/design space would open and you could lay out the design. Substituting certain blocks for various design parts. That and combining the idea with the advanced redstone mod allowing for 1 block making whole stadiums of wiring.