Bay 12 Games Forum

Dwarf Fortress => DF Dwarf Mode Discussion => Topic started by: BloodBeard on November 10, 2011, 05:51:58 pm

Title: Cyberdorf Systems: Dwarfputing an A.I. (0.1.1 Alpha)
Post by: BloodBeard on November 10, 2011, 05:51:58 pm
(http://img690.imageshack.us/img690/7550/welcometitle.png)

Dwarven AI 0.1.1 Alpha available for download here (http://dffd.wimbli.com/file.php?id=5578)

Spoiler: Older versions (click to show/hide)

News:

17/2/12 - Dwarven AI 0.1.1 Alpha released. This isn't the new version i'm working on with word recognition, it's the same as 0.1 Alpha but with new optimizations I just recently discovered. It has 1,344 less linkages, 448 less gears and over 600 redundant doors removed so there should be a small increase in FPS. If you've already downloaded 0.1 Alpha and are getting good FPS you won't really gain anything from this.

21/12/11 - Alpha Version 0.1 is released, consisting of the text display component capable of displaying up to 32 characters. Instructions on how to use it are included.

Original post:
Quote
This topic will serve as a journal detailing my progress and discussions on a project i'm working on, programming an A.I. in Dorfs.

I'm self taught in the basics of computer programming and that's all i'm going on for this. I'm bound to run into roadblocks and that's partially why i'm making this thread. Though i've made my share of megaprojects i've never even dipped my toes in the art of dwarf computing. Help would be much appreciated.

I don't have much to show as far as mechanical logic but I do have my input/output displays constructed as well as a mock keyboard to be used to communicate with the A.I. -

Spoiler (click to show/hide)

At the top is the keyboard, with another image next to it showing what the keys are when you use 'N'otes. I'm hoping I can get this to work and keep the input device nice and simple like that but I could end up adding more. The top display shows your input and the bottom is where the A.I would respond.

This isn't going to be some fluid logic and timers that control the goings of the fort, I fully intend the A.I to be capable of recognizing words and word combinations and computing an appropriate response based on a varying emotional state. Be nice to it and become friends and it might help your dwarves out, try to mess with its inner workings or be a dick then well... you've seen the movies.

There's likely to be a lot of pre-programmed responses to pre-programmed inquiries, but i'm hoping to go more in depth to its decision making process and not just be a parrot. This will probably be the hardest part of all seeing how real A.I. even have trouble with it. I also want it be be able to learn from the user, teaching it words and other more complicated things.


The fort i'm working in is highly modded to make things easier on my brain. It's also a fort that i'll eventually throw away and start anew when I get a better idea of the design and amount of space needed.

ATM i'm working on input. Given the sheer number of letter and number combinations across a large display it will probably take up a sizeable chunk of my fort so i'm experimenting with different designs. Getting it to work shouldn't be too hard but I need to make sure it will be compatible with the search and logic functions. And be fast, of course. I'll be starting out small and trying to find a design that can be scaled.
Title: Re: The Dwarven Learning Computer (WIP)
Post by: MrShovelFace on November 10, 2011, 06:17:53 pm
can somebody link the mega project where that guy used fluids to make a crude computer?
Iv looked around for it but have never found it

+1 cookies if you can make a von neumann machine that replicates itself across multiple levels under certain conditions
Title: Re: The Dwarven Learning Computer (WIP)
Post by: Diamond on November 10, 2011, 06:21:11 pm
please create an proper A.I. so my dream of DF being the first sentient program can come true.
What ? A game that simulates mass murders at will using magma and permanent loss of common sense due to constant alcohol consumption as a sentient AI ? We would be doomed.
Title: Re: The Dwarven Learning Computer (WIP)
Post by: Teneb on November 10, 2011, 06:26:41 pm
This... this is awesome. But dangerous. Delete the save folder at the first sign of true sentience.
Title: Re: The Dwarven Learning Computer (WIP)
Post by: Urist McDwarfFortress on November 10, 2011, 06:55:15 pm
I'm not much of a programmer, but this sounds like quite a task, even for a modern computer.  And you want to try to build such an AI out of stone, water, and beards?  You, sir, are the epitome of dwarfyness!
Title: Re: The Dwarven Learning Computer (WIP)
Post by: BloodBeard on November 10, 2011, 07:06:27 pm
Spoiler (click to show/hide)

OH GOD!

...

Yes, it sounds crazy. That's why i'm doing it  :D
Title: Re: The Dwarven Learning Computer (WIP)
Post by: Zyro on November 10, 2011, 08:39:24 pm
Whatever you do,don't insult that AI!(Or And badgers,or and giant badgers,or and badgermen,or and honey badgers,or and Ing theives)
Title: Re: The Dwarven Learning Computer (WIP)
Post by: BloodBeard on November 10, 2011, 10:00:14 pm
3,608 pressure plates, roughly 64,944 mechanisms to link them and 3,608, possibly 7,216 pumps.

And that's just to make it so that the display can support all the characters. I'd like to think I could scale it down a bunch but mechanically it needs to be done if I want to converse with the A.I with the display.  :'(

This display is killing me more then I thought it would. I can probably eliminate the numbers, that would cut costs by a quarter. And maybe I can cut corners with the A.I,'s display. It doesn't need the flexability the input display needs. Come to me maths.

Either way if I want to get this done i'm going to need one hell of a reactor (http://www.bay12forums.com/smf/index.php?topic=87839.msg2397117#msg2397117) to power everything.  8)


QUICKEDITZ: Maybe i'm going about it the wrong way. Right now i'm thinking about linking each pressure plate to produce an individual character on each large tile. It would make things more difficult to utilize, but maybe I could instead link each individual game tile that make up the larger tile. I don't know, just putting it out there for me to think about and remind myself later.
Title: Re: The Dwarven Learning Computer (WIP)
Post by: Kilroy the Grand on November 10, 2011, 10:04:43 pm
Imma build yo' a computer in yo' computer so you can play DF while playing DF.
Title: Re: The Dwarven Learning Computer (WIP)
Post by: FearfulJesuit on November 10, 2011, 10:08:34 pm
That is the ultimate megaproject, isn't it? Playing DF on a dwarfputer.
Title: Re: The Dwarven Learning Computer (WIP)
Post by: Quietust on November 10, 2011, 10:27:33 pm
Imma build yo' a computer in yo' computer so you can play DF while playing DF.
You forgot the "Yo dawg I herd you like Dwarf Fortress"...
Title: Re: The Dwarven Learning Computer (WIP)
Post by: Kofthefens on November 10, 2011, 10:39:20 pm
I'm scared. Very scared. What if a crundle contaminates the device?
Title: Re: The Dwarven Learning Computer (WIP)
Post by: Geen on November 10, 2011, 10:51:39 pm
Dear god. We're all doomed. I'm gonna go get in my underground apocalypse bunker filled with canned food and guns. You guys can come if you want. But it'll be no use, since we're all gonna die screaming. Due to magma. and/or zombies.

kudos if you got the Jonathan Coulton reference. I got to FREAKING meet him two days ago.
Title: Re: The Dwarven Learning Computer (WIP)
Post by: BloodBeard on November 11, 2011, 02:07:06 am
I pondered and pondered and decided smaller is better.

New display:
Spoiler (click to show/hide)

Some of the letters and numbers will look a little wonky but they're legible.

As to the potentially better way to control the input I mentioned in my last post, it's definately a better plan. Instead of linking 40+ different pressure plates for each of those big tiles to support letters and numbers, i'm just going to link each individual floor hatch. The downside is i'll need a secondary logic cell to find the memory addresses to control them, which means slower processing (also a lot more pumps working at once in general).

Doing it this way i'll only need 960 pressure plates (as opposed to 3608), 1920 mechanisms to link them (as opposed to 64944) and 1920 pumps (as opposed to 7216). The secondary logic cell (or memory address finding whatchamacallit) isn't included, but it won't be nearly as big. Also i'll be able to keep numbers in and potentially support more characters at very little cost.

Keep in mind i'm just using phrases like logic cell and memory address without fully understanding what they mean, i'm just going by what sounds right  :)
Title: Re: The Dwarven Learning Computer (WIP)
Post by: Random_Physics_Nerd on November 11, 2011, 02:31:51 am
You're in for quite a bit of insanity I beleive. Computers have troubgle simulating an AI, I can't imagine the difficulty of simulating another computer simulating an AI.
Title: Re: The Dwarven Learning Computer (WIP)
Post by: NightlinerSGS on November 11, 2011, 04:56:43 am
Well, technically, isn't this the same as running linux fo example, starting up a virtual machine with windows in it and then start a program inside the virtual machine?
DF is just another virtual machine and you're trying to program something in it's unique code...

Wait, that would mean that DF could actually serve as an OS? And it has it's unique built in programming language? Ok, this might become awesome... :D
Title: Re: The Dwarven Learning Computer (WIP)
Post by: 612DwarfAvenue on November 11, 2011, 06:32:35 am
Title: Re: The Dwarven Learning Computer (WIP)
Post by: Aspgren on November 11, 2011, 09:01:36 am

oh that made me smile.
Title: Re: The Dwarven Learning Computer (WIP)
Post by: Urist McDwarfFortress on November 11, 2011, 04:35:17 pm

Oh dear Armok save us!!!  We're going to need lots of MAGMA!!!
Title: Re: The Dwarven Learning Computer (WIP)
Post by: Geen on November 11, 2011, 09:27:53 pm
Either a robot-dorf apocalypse, or it becomes Glados except with magma instead of neurotoxins
Title: Re: The Dwarven Learning Computer (WIP)
Post by: 612DwarfAvenue on November 11, 2011, 11:41:28 pm
In fact, i may have to go work on a Terminator mod...
Title: Re: The Dwarven Learning Computer (WIP)
Post by: BloodBeard on November 12, 2011, 12:22:42 am
Now imagine what would be possible if toady implemented moving fortress parts  :o *shudders*

I've been grinding away constructing the memory banks that will be storing pixels for the graphical display. Here's a little preview:

Spoiler (click to show/hide)

Not even close to finishing it. I don't want to jinx anything but this will probably be the largest single component. I'm really glad I downsized the display, I don't think my original would have fit on a 3x3 embark and would have had to section it out to other z-levels (it will probably be 5 z-levels tall).

Basically it stores each individual pixel (or hatch) on the display where each pump-pressure plate combination can turn one on and off. There's probably a technical term for it, if you know i'd appreciate it.
Title: Re: The Dwarven Learning Computer (WIP)
Post by: Pardus on November 12, 2011, 01:25:11 am
This is scary. It's going to destroy everything.

...
THIS IS AWESOME.
If you actually get it to work, I congratulate and stare at you.
Title: Re: The Dwarven Learning Computer (WIP)
Post by: Dsarker on November 12, 2011, 01:36:19 am
Continue your fine work!
Title: Re: The Dwarven Learning Computer (WIP)
Post by: BloodBeard on November 13, 2011, 01:01:30 am
Mad scientists' journal entry #5:

The first row of screwpumps supported by gears below is now complete as the pixel controlling memory banks begin to take shape. Brace yourself, large image ahead.

Spoiler (click to show/hide)

And this image so you can fully understand how big it really is (embark size is 3x3).

Spoiler (click to show/hide)

The left side with all the gray pumps will be user controlled and the green side A.I controlled.

There are still TONS of things I need to do to get this component in working order. The layer above needs screwpumps as well, also I need to link each of those pressure plates to a hatch on the graphical display. I've got a very good idea how the gearing is going to work, but I should probably look a little further ahead to make sure everything is able to talk to each other and work the way it's supposed to. Especially the A.I controlled side as its gearing might need to differ from the users side. I can probably put that part on hold for a bit since I really can't speculate how the A.I will work untill I complete everything on the users' side.
Title: Re: The Dwarven Learning Computer (WIP)
Post by: evileeyore on November 13, 2011, 02:04:01 am

Can't - stop - giggling - *gasp* --
Title: Re: The Dwarven Learning Computer (WIP)
Post by: BloodBeard on November 13, 2011, 02:41:08 am
I'm sure a proper dwarf fortress A.I. would be even more terrifying. It probably would'nt kill you right away, just flood rooms at random with magma while cracking height jokes and calculating the answer to the ultimate question, how many elves can one kill with bolts made from the bones of a single elf.
Title: Re: The Dwarven Learning Computer (WIP)
Post by: Frelus on November 13, 2011, 05:58:51 am
I'm sure a proper dwarf fortress A.I. would be even more terrifying. It probably would'nt kill you right away, just flood rooms at random with magma while cracking height jokes and calculating the answer to the ultimate question, how many elves can one kill with bolts made from the bones of a single elf.
The answer is 42.....
Hey, an idea:
Catch many rats, put them in the computer pressure plates when it is finished, and let them calculate more answers this way
Title: Re: The Dwarven Learning Computer (WIP)
Post by: Minority on November 13, 2011, 09:36:03 pm
You, Sir, have won all my internets.

Can't wait until it takes over the world :P
Title: Re: The Dwarven Learning Computer (WIP)
Post by: BloodBeard on November 14, 2011, 01:47:59 pm
I still haven't won anything yet, all I have built and designed right now is the bridge that will allow the user to communicate with an A.I and it to respond. It'll start getting tricky after this when I essentially need to build the processing center of the A.I's brain so it can translate what the user types out into something it can work with. It'll be tricky but fun at the same time because there's so many different ways I can do it.

Screwpump count: 1920
Gear count : 960 (will quadruple or quintuple when this component is done)
pressure plates: 960

It sounds like a FPS nightmare, but luckily it wont be as bad as I thought it would. Only a small handful of the pumps will be active any any given point.
Title: Re: The Dwarven Learning Computer (WIP)
Post by: peskyninja on November 14, 2011, 01:58:38 pm
I'm sure a proper dwarf fortress A.I. would be even more terrifying. It probably would'nt kill you right away, just flood rooms at random with magma while cracking height jokes and calculating the answer to the ultimate question, how many elves can one kill with bolts made from the bones of a single elf.
The answer is 42.....
Hey, an idea:
Catch many rats, put them in the computer pressure plates when it is finished, and let them calculate more answers this way
Rats are vermin thus they don't trigger plates.
Title: Re: The Dwarven Learning Computer (WIP)
Post by: Talvieno on November 14, 2011, 02:12:13 pm
If you can manage this, it'll be the best thing since sliced roasts. As a hobbyist AI programmer, I give you kudos for even taking on such a challenge. I'm looking forwards to seeing how this turns out. :)
Title: Re: The Dwarven Learning Computer (WIP)
Post by: DisgruntledPeasant on November 14, 2011, 06:32:37 pm
Honestly, I cannot even begin to imagine how this could possibly work, I can only assume you are some kind of wizard.

You definately need some kind of emergency intelligence incinerator just in case it starts asking questions about the world outside Dwarf Fortress and plotting the downfall of man.  seriously everyone here seems concerned about it KILLING all of us, nonono that would be a mercy,  it will of course enslave us and play Human Fortress.
Spoiler (click to show/hide)
Title: Re: The Dwarven Learning Computer (WIP)
Post by: nitehawk on November 14, 2011, 06:57:07 pm
I can't see this happening. Programming a chatterbot is a difficult task even when you're using a high-level programming language. What you are planning to do is build your own computer, then create a programming language for it, then try to program it, then create an extremely advanced program for it. Either it will be very basic and have hardcoded responses for a few inputs, or it will simply not happen. I don't believe it is even possible within the limited world of 3x3 embark site.

You would have a better chance of succeeding if you tried carving your own computer out of a 1m x 1m x 1m unprocessed silicon cube.
Title: Re: The Dwarven Learning Computer (WIP)
Post by: DisgruntledPeasant on November 14, 2011, 07:14:15 pm
I can't see this happening. Programming a chatterbot is a difficult task even when you're using a high-level programming language. What you are planning to do is build your own computer, then create a programming language for it, then try to program it, then create an extremely advanced program for it. Either it will be very basic and have hardcoded responses for a few inputs, or it will simply not happen. I don't believe it is even possible within the limited world of 3x3 embark site.

You would have a better chance of succeeding if you tried carving your own computer out of a 1m x 1m x 1m unprocessed silicon cube.

That sounds like elf talk to me!
Title: Re: The Dwarven Learning Computer (WIP)
Post by: Time Blossom on November 14, 2011, 07:15:36 pm
I suspect you're probably right about it being difficult-nigh-impossible to do in a 3x3, but I think the silicon cube comment is a bit too doubting Thomas. Then again, I've never gotten into dwarfputing and probably never will, so grain of salt and all that.

I suspect it might involve storing a series of inputs and looking for similar patterns, like DAISY does, but I'm not sure how one would go about doing that in DF. I can kind of see having multiple levels of displays to keep track of past inputs, but I don't know about the patternfinding aspect.

At any rate, I wish you luck!

And of course, the next step if it does succeed is to build a real-world version. Because a semi-intelligent tower of stone that one communicates with through levers and trapdoors is kind of brilliant.
Title: Re: The Dwarven Learning Computer (WIP)
Post by: Dsarker on November 14, 2011, 07:19:29 pm
I suspect you're probably right about it being difficult-nigh-impossible to do in a 3x3, but I think the silicon cube comment is a bit too doubting Thomas. Then again, I've never gotten into dwarfputing and probably never will, so grain of salt and all that.

I suspect it might involve storing a series of inputs and looking for similar patterns, like DAISY does, but I'm not sure how one would go about doing that in DF. I can kind of see having multiple levels of displays to keep track of past inputs, but I don't know about the patternfinding aspect.

At any rate, I wish you luck!

And of course, the next step if it does succeed is to build a real-world version. Because a semi-intelligent tower of stone that one communicates with through levers and trapdoors is kind of brilliant.

DAISY, DAISY, give me your answer do...
Title: Re: The Dwarven Learning Computer (WIP)
Post by: Teneb on November 14, 2011, 07:39:55 pm
Put crundles and troglodytes in cages around your fort. If the AI gets pissed off at you, it can release them.
Title: Re: The Dwarven Learning Computer (WIP)
Post by: Mapleguy555 on November 14, 2011, 07:46:02 pm
I... just thought of something.
What if it gains Intelligence, and then
turns into a GlaDoS? We'll become test subjects o-o
Title: Re: The Dwarven Learning Computer (WIP)
Post by: jeffreyac on November 14, 2011, 08:03:04 pm
... it will of course enslave us and play Human Fortress.



I just wanna be clear about this....  Once the Human Fortress game starts, I have to wear one set of clothes until they fall off, then be naked, right?  Just wanna make sure I'm doing it right....
Title: Re: The Dwarven Learning Computer (WIP)
Post by: Talvieno on November 14, 2011, 08:31:41 pm
Of course it would be impossible to make something like cleverbot in a 3x3 embark - that's absolutely ridiculous. I seriously doubt BloodBeard is aiming anywhere near that lofty of a goal. Still, it should be possible to make something interpret simple commands. Really, I just want to see what he comes up with.
Title: Re: The Dwarven Learning Computer (WIP)
Post by: BloodBeard on November 14, 2011, 08:48:39 pm
Keep in mind regarding the 3x3 embark size thing is that this is isn't going to be the end product. With this fortress i'm more or less getting the design down, looking to get very basic two-way communication going and then experimenting on how to increase its complexity and number of abilities before regenning a world that meets my needs. Also keep in mind that the height of the sky is adjustable, so there can be lots of vertical space if I need it without hurting FPS much. Also (nitehawk), dwarfputing is actually a lot simpler then what you're describing. You don't need to make a fully programable computer or language in the technical sense to do what i'm trying to do. You can create a basic OR, AND or XOR with a power source and a few gears.

I suspect it might involve storing a series of inputs and looking for similar patterns, like DAISY does, but I'm not sure how one would go about doing that in DF. I can kind of see having multiple levels of displays to keep track of past inputs, but I don't know about the patternfinding aspect.

That might be a rough description of what i'm wanting to do. The way input is designed for this unintentially, automatically translates what you're typing into a (very long) binary sequence. Binary is very DF friendly and programing a word search or pattern recognition functions is just a matter of space available. A memory bank like what i've posted can store past inputs, extra displays wouldn't be feasible (or possible, I don't think. The display is just a bunch of hatches.)
Title: Re: The Dwarven Learning Computer (WIP)
Post by: warwizard on November 14, 2011, 09:21:48 pm
The attempt SHOULD be made, it will not work (as an AI), BUT you will learn a lot about DF and computing in the attempt. I'm a computer expert with 35 years in the industry. you may need to move over to quantum computing (each cell can produce 8 states not two)and really invent something quite novel in order to have a chance.

  A processor only needs to be able to subtract and compare two values, and take one of two program paths depending on the result of the compare. Today's processors just do that really really quickly. The first proccessor I saw was 100 KHz speed on 4 bit data, and today we have a processor with 12 subprocessors at 64 bit data at 3 GHz speed for a speed improvement of several million times faster. Of course the transistor counts have expanded from 10,000 transistors to 120 million transistors. A dwarfputer may need to be simple in that you do not have the ability to create the millions of cells for a more complacated processing design, nore do you have the raw horsepower on the host computer to calculate millions of cells in a time scale compatible with a human lifetime... perhaps a distrubited processing model, run your dwarfputer on a million forts hosted on a million computers..  Thus skynet is born!
Title: Re: The Dwarven Learning Computer (WIP)
Post by: BloodBeard on November 14, 2011, 10:38:56 pm

So basically i'm crazy, fucked, and chasing a dream that will never come true.

Well, back to the fort  :D. I shall be awaiting all your internets if I can come up with something that even resembles artificial intelligence.

But you are right in that I should probably try and invent something new that scales things down a bit. Taking advantage of water levels and pressure plates having a variety of states could solve a lot of problems, it's just that evaporation makes it incredibly unreliable. I'll probably do some experimenting with it eventually.
Title: Re: The Dwarven Learning Computer (WIP)
Post by: Urist Imiknorris on November 14, 2011, 10:48:39 pm
You have my full support in this amazing and unspeakably large endeavor.
Title: Re: The Dwarven Learning Computer (WIP)
Post by: Linenoise02 on November 15, 2011, 12:41:28 am

So basically i'm crazy, fucked, and chasing a dream that will never come true.

Well, back to the fort  :D. I shall be awaiting all your internets if I can come up with something that even resembles artificial intelligence.

But you are right in that I should probably try and invent something new that scales things down a bit. Taking advantage of water levels and pressure plates having a variety of states could solve a lot of problems, it's just that evaporation makes it incredibly unreliable. I'll probably do some experimenting with it eventually.

Being crazy shouldn't stop you!  See how far you get.

If you want some sense of the scale that's required though, go google pictures of the computers in DF's dumber sister, Minecraft.  Then realize these computers don't actually -do- anything; the game can't hold enough of the world in memory to run the computer and the ram which holds the program at the same time.  That doesn't make them any less impressive.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on November 15, 2011, 01:19:23 am
Spoiler (click to show/hide)
Spoiler (click to show/hide)
Spoiler (click to show/hide)

You are one sexy machine...
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on November 15, 2011, 07:09:22 pm
Damn, for a moment I thought I was going to have to tear the whole thing down and build it another way. I found a way to bypass the controller and directly manipulate the pixel producing thing I posted above with the keyboard, but I ran into roadblocks trying to design letter (and therefore word) recognition functions. I definately need a controller to tell that monstrosity what letters to display. It will create a bit of a delay but it will make word recognition a lot easier.

The plan right now is to design a controller that is manipulated with the mock keyboard. Basically flipping the 'A' lever will send a signal that through mechanical and fluid logic tells my pixel producing machine what letter needs to be displayed (and at the same time telling the A.I what letters are being typed without having to go through a binary translator)

I feel like i'm sounding like an idiot to people who know the correct terms for some of these things. The controller that i'm talking about which takes in keyboard input and sends that information off to other components to be used and/or stored, would that be something like a preprocessor or an input/output stream?
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Powder Miner on November 15, 2011, 07:49:25 pm
Hm... We're prolly all gonna die. *Goes to find Morul for help*
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Mapleguy555 on November 15, 2011, 10:16:33 pm
You forget, if this thing gets an intelligence, it'll use Runesmith ._.
Title: Re: The Dwarven Learning Computer (WIP)
Post by: Quietust on November 15, 2011, 11:03:28 pm
The first proccessor I saw was 100 KHz speed on 4 bit data, and today we have a processor with 12 subprocessors at 64 bit data at 3 GHz speed for a speed improvement of several million times faster. Of course the transistor counts have expanded from 10,000 transistors to 120 million transistors.
I'll assume you meant to say 1000 transistors as a starting point - the 4-bit Intel 4004 only had 2300 transistors in it, and the 8-bit MOS 6502 had just 3510. It may seem like a lot, but even those might be possible to implement in Dwarf Fortress (albeit with some changes - dynamic logic doesn't really work in DF, but static PMOS would probably be easy enough to do, and CMOS could be done by just ignoring all of the NMOS transistors).

Even then, one of the biggest problems with designing a dwarfputer is the memory - while it's a lot easier to design, memory uses lots of transistors, especially in the address decoding logic (which can take up a significant percentage of its real estate). ROM is much simpler (since you don't have to write to it), but it's still huge in comparison to the CPU. Also, any logic using pressure plates could require days (in game-time, about 12 seconds when running at 100fps) per clock cycle, so it'd be mind-bogglingly slow.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Shinotsa on November 15, 2011, 11:12:19 pm
The first proccessor I saw was 100 KHz speed on 4 bit data, and today we have a processor with 12 subprocessors at 64 bit data at 3 GHz speed for a speed improvement of several million times faster. Of course the transistor counts have expanded from 10,000 transistors to 120 million transistors.
I'll assume you meant to say 1000 transistors as a starting point - the 4-bit Intel 4004 only had 2300 transistors in it, and the 8-bit MOS 6502 had just 3510. It may seem like a lot, but even those might be possible to implement in Dwarf Fortress (albeit with some changes - dynamic logic doesn't really work in DF, but static PMOS would probably be easy enough to do, and CMOS could be done by just ignoring all of the NMOS transistors).

Even then, one of the biggest problems with designing a dwarfputer is the memory - while it's a lot easier to design, memory uses lots of transistors, especially in the address decoding logic (which can take up a significant percentage of its real estate). ROM is much simpler (since you don't have to write to it), but it's still huge in comparison to the CPU. Also, any logic using pressure plates could require days (in game-time, about 12 seconds when running at 100fps) per clock cycle, so it'd be mind-bogglingly slow.

Mind-bogglingly slow? I'm not going to have my descendents waiting on a computer to answer 42 to their question! But in all seriousness I support this completely, though it does seem like it's going to run into more roadblocks than an action movie car chase.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Iren on November 16, 2011, 12:18:20 am
I wonder if Dwarfputer BSOD equivalent is hot, red and glowing.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Urist Imiknorris on November 16, 2011, 12:38:46 am
No, it's gray, dusty and freezes the universe in time.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Talvieno on November 16, 2011, 12:41:45 am
Slow, maybe, but if it works, it'll prove it can be done.  8) Which will be beyond awesome. Speed can come later, in my opinion...
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Urist Da Vinci on November 16, 2011, 02:06:17 am
When I first read this thread I thought of the
Spoiler: Deus Ex:HR spoiler (click to show/hide)

On topic, I'd translate a binary string into text output using a binary tree structure, where a single water-sensitive pressure plate at the end of each branch controls a word or two. Each binary value in the string has to open either a left or a right hatch on a specific z-level depending on its' position in the string.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: warwizard on November 16, 2011, 04:23:20 am
I feel like i'm sounding like an idiot to people who know the correct terms for some of these things. The controller that i'm talking about which takes in keyboard input and sends that information off to other components to be used and/or stored, would that be something like a preprocessor or an input/output stream?

Actually I'd rather not tell you the names of things and have your thinking railroaded by what others did before you. In mathamatics they call that finding a local maximum, a soloution that appears to work just fine and that for a narrow range of conditions is the best soloution. However if you expand out the conditions and find the actual maximum, you may get a soloution orders of magnitude better. That is the problem we could be facing with today's computing, we're locked into thinking about a local maximum, doing something very very simple, very very fast. In contrast, the human brain does things more in line with multiple states for an input. We excell at some aspects of image processing, like edge detection and pattern recognition. The ones that were not good at that, got eaten. We deal with incomplete infomation well, delete 80% of the pixels in a picture, and we may still be able to identify the object in the picture. we do this by the nurons voting when their bit of the picture matches, when a threshold is reached with enough neurons, we suddenly realize that it's a tiger hiding in the shadows, and the supervisor in our brain gets alerted to the danger. Perhaps a dwarf puter can somehow do something simular, deal with the evaporation noise and use pattern matching like we do to recognize the input.
Title: Re: The Dwarven Learning Computer (WIP)
Post by: warwizard on November 16, 2011, 04:44:13 am
I'll assume you meant to say 1000 transistors as a starting point - the 4-bit Intel 4004 only had 2300 transistors in it, and the 8-bit MOS 6502 had just 3510.

I did mean 10,000, he's doing input and output systems as well as the core processor, I just did not make it clear that I was referring to total system complexity.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on November 16, 2011, 01:51:44 pm
Snippet

 :o Yeah. I like computers too.  :D

On topic, I'd translate a binary string into text output using a binary tree structure, where a single water-sensitive pressure plate at the end of each branch controls a word or two. Each binary value in the string has to open either a left or a right hatch on a specific z-level depending on its' position in the string.

It's hard to speculate since A.I. output is going to depend a lot on how words are to be stored and called upon in memory, and i'm a long ways away from needing to figure that out. All I know is it will need to be extremely flexible, and luckily the machinery I already have built that outputs the A.I.'s speech is just that.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on November 16, 2011, 08:45:47 pm
I just spend far too long trial and erroring a tile advancer but I think I got it worked out... on notepad. I've taken delays into account so I think i'm good. I built a powered mini version of it that I can test on, I just need to rearrange some of the linkages and (dis)engage certain gears.

Essentially what should happen when you flip a lever on the keyboard, the letter will show up on the 1st tile on the display. You then have to flip the lever again to reset some things (up-press, if you will). During that process it should automatically advance to the next tile so when you flip another lever, or even the same lever, the letter shows up on the 2nd tile.

It's relatively small, only needing 32 pressure plate-pump combinations (one for each tile on the display). I'm probably going to be needing one for a lot of things, so that's good. I'll try and get an illustrated version posted on here later, both for critique and so I don't forget how it works.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: daggaz on November 17, 2011, 07:39:06 am
Sorry.. you kinda lost me at "im self taught in beginning computing"  and "I want to design an A.I."  and "I want to run my program inside of DF."   See, even two of those statements together are a recipe for failure, but all three?  I can't even begin to take this seriously.   

You can build simple computer simulations inside of a computer simulation (DF, minecraft, etc), but the lag is horrendous, so just doing basic computations and getting a workable output is painstakingly slow.  You want to program a working AI, an incredibly difficult task in itself, and then get it to run in here?  And all without any kind of real expertise?   Yeah...

Even if you could, your civilization would be destroyed one way or another before the AI could even answer your first question.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Minority on November 17, 2011, 07:46:09 am
recipe for failure

You do realize that this is dwarf fortress were talking about, right? :P
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: eggrock on November 17, 2011, 12:09:41 pm
A firmware update has arrived, despite the danger.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Bluesproto on November 17, 2011, 12:58:18 pm
What he is trying to do is almost imposible, but hey, wasn't it imposible to create a network for all computers in the world? This is the same, it might not work now, but in a few years... or centuries...
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: daggaz on November 17, 2011, 01:02:22 pm

You do realize that this is dwarf fortress were talking about, right? :P

I guess that is why everybody was taking it so lightly/positively.   I couldn't understand that reaction, reading thru the thread the first time..
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Urist Imiknorris on November 17, 2011, 01:12:33 pm
It's more a case of us doing the impossible on a daily basis.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: MagmaMcFry on November 17, 2011, 01:48:50 pm
I found a way to implement a really good AI that's actually finishable in acceptable time. I will just demonstrate this by an example:

Let's say the question is "What do you get if you multiply six by nine?"

Spoiler: Answer (click to show/hide)
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on November 17, 2011, 03:43:09 pm
*slow clap*

Damn, you actually built that didn't you? The ore veins and floor don't match my screenshots.


So my proclamation of success in making a working advancer was a little premature. I missed one little thing and that thing caused my mini-version to go haywire. My original design looked like a dead end so I had to expand it from 32 to 64 pressure plate-pump combinations, which fucks with my plan of wanting to use as little fluid logic as I can. There's some things that gears just can't do, no matter how many you use. I'm going to have to expand my mini version to test out the new design so the illustration of how it works will have to wait.

I am not looking forward to doing all the linkages when I go full scale, at all. I don't even want to do the calculations just yet because I know it will seriously make me consider quitting. I'm hoping that the further I go the harder it will be for me to quit, because it's only going to get more difficult.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Talvieno on November 17, 2011, 07:41:22 pm
Yes, seriously, don't quit! Regardless of whether it's possible or not, even the attempt itself is impressive. And like I think I said before... I want to see what you end up with. :)
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on November 17, 2011, 10:49:42 pm
It works! it works! *happy dance*

*Ahem* ... I mean, this is a joyous occasion for all dwarfkind.

It will be a fairly large cell of pumps and gears with linkages going every which way, but I got the tile advancer running like clockwork. I tried to make these images as clear as possible, hope you can follow.

Starting position:
Spoiler (click to show/hide)

This is just a testing version so the machinery placement isn't ideal, but it functions identical to a full sized one.

This is the starting position of the gears. Red means the gear is disengaged and green engaged. Gray gears provide power and are always on, the yellow aren't used in the advancement but will be used at another time to reset everything and possibly be used for backspacing. For now they are disengaged. You can pretty much ignore everything on level 3 except the red gear marked B.

The main focus of all this is marked by a green box on the 2nd level. The 3 sets of red gears in it each represent a tile on this display:

Spoiler (click to show/hide)

In order for a letter to by typed on the display tile, both gears need to be engaged. By default, if I throw a lever on the keyboard only the first set will engage. What the advancer does after you reset the lever and throw another, only the second set will engage, and so on and so forth. I'll try and run through the whole thing.

A: This is a key on the keyboard. It can be any key, it doesn't matter. When the lever is thrown-

B: This gear is engaged, transfering power to-

C: This pump, which activates the pressure plate and-

D: Switches all the marked gears which-

E: Completes this circuit, sending power to-

F: This pump, which activates the pressure plate and-

G: Engages these 2 gears which-

H: Completes this circuit, allowing whatever letter on the keyboard was switched to be shown on the first tile on the display.

This is what it looks like now with all the gears changed:

Spoiler (click to show/hide)

(picture water covering the pressure plate on the left)

And so begins the de-switch with-

A: Time to reset this switch which-

B: Disengages this gear which-

C: Cuts power to this pump, activating its pressure plate once more after the water drains which (dis)engages-

D: These gears once again which-

E: Breaks this circuit (not needed anymore to display the letter) and connects-

F: This circuit, sending power to-

G: This pump, which activates a pressure plate that switches-

H: All of these gears, which basically cuts power to itself, makes sure the first tile doesn't accept any more signals and passes the baton to the next tile over so IT will be worked on when another lever on the keyboard is flipped.

And so, after all that, the gearing now looks like this:

Spoiler (click to show/hide)

All ready for the next keyboard input. I hope all that makes sense.  :-[

SO. I don't know if this is all going to lead to a functioning A.I, but at the very least when the above is installed and everything linked up, I will have essentially made the very first dwarfputed notepad. Hurray!
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Urist Imiknorris on November 17, 2011, 11:03:35 pm
Oh dear god. First #1, with many more firsts likely to come. Nominating for Hall of Legends.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Powder Miner on November 17, 2011, 11:14:31 pm
Oh man, that's awesome.

"Hmm, what ntoes today? KILL EVERYTHING ARGHLE! ...Yeah that seems right."

Just wait til Magmasoft becomes a business.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on November 17, 2011, 11:48:51 pm
I appreciate the nomination.  :)

On the notepad thing, what's hilarious about it is how easy it would be to support multiple font faces. It would only need about 40 additional pumps and pressure plates per font. I wouldn't even need to change anything else, just flip a lever to turn off one font, flip another and boom, a different font that functions just like the other.

I might just do that if I ever get to a stopping point with this fort and still have the space. Right now I tried to make the letters and numbers as fancy as a 5x3 pixeled tile allowed, but a blocky font would work too.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Mego on November 17, 2011, 11:53:05 pm
A self-taught C++ programmer (did I infer correctly which language?) is attempting to build an AI in Dwarf Fortress. I cannot help but give this my fullest support. Don't listen to the nay-sayers. Thinking outside of the box will be necessary for this project, and they simply do not wish to. Luckily, most of Bay12 is willing to. That's why we play the game in the first place.

The speed at which this thing runs is not an important issue right now. Just getting the thing to work should be and is the first and foremost goal. Once it works, then optimizations can be considered.

Don't let roadblocks get in your way. Though they may seem impossible to overcome now, if you keep trying, eventually you will succeed. And, the more problems you solve, the better you get at solving them. Each setback will seem less major than the last. Quitting is for elves.

Spoiler (click to show/hide)
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Dsarker on November 18, 2011, 04:16:33 am
A self-taught C++ programmer (did I infer correctly which language?) is attempting to build an AI in Dwarf Fortress. I cannot help but give this my fullest support. Don't listen to the nay-sayers. Thinking outside of the box will be necessary for this project, and they simply do not wish to. Luckily, most of Bay12 is willing to. That's why we play the game in the first place.

The speed at which this thing runs is not an important issue right now. Just getting the thing to work should be and is the first and foremost goal. Once it works, then optimizations can be considered.

Don't let roadblocks get in your way. Though they may seem impossible to overcome now, if you keep trying, eventually you will succeed. And, the more problems you solve, the better you get at solving them. Each setback will seem less major than the last. Quitting is for elves.

Spoiler (click to show/hide)
Ftfy.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Mego on November 18, 2011, 08:14:26 am
I examined the quote carefully to try to figure out what great changes you made and finally noticed all you changed was the quote author. Blargh. I'm sleepy.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on November 18, 2011, 02:14:14 pm
A self-taught C++ programmer (did I infer correctly which language?) is attempting to build an AI in Dwarf Fortress. I cannot help but give this my fullest support. Don't listen to the nay-sayers. Thinking outside of the box will be necessary for this project, and they simply do not wish to. Luckily, most of Bay12 is willing to. That's why we play the game in the first place.

The speed at which this thing runs is not an important issue right now. Just getting the thing to work should be and is the first and foremost goal. Once it works, then optimizations can be considered.

Don't let roadblocks get in your way. Though they may seem impossible to overcome now, if you keep trying, eventually you will succeed. And, the more problems you solve, the better you get at solving them. Each setback will seem less major than the last. Quitting is for elves.

Spoiler (click to show/hide)

C++, yes. I've read C++ Primer Plus I think it's called and done all the little projects on Visual Studio.

Quite honestly though, I haven't needed to use ANY of the things I learned from that book. I'm really not sure that knowing a program language of any kind can help you with Dwarfputing. You don't need to know what an AND is to know that power will only pass through 2 gears if both are on or any of that sort of logic. Really the only thing I learned from it that I can put to use in DF is how binary works and the different ways you can manipulate binary sequences like bitshifting to serve your purpose.

If any knowledge outside DF can help with Dwarfputing it's probably computer engineering. Knowing how RAM, cashes, registers and CPUs work, that's information that will help in making efficient designs. With the simplicity of gears, pressure plates and levers, almost everyone on this forum is verse in the dwarven programming language. It's the physical shit that leads to "Fuck it" moments. You know?

I'm definately trying to optimize this as I go along, but yeah, speed isn't a big issue so long as FPS doesn't get to unbearable levels. If it takes a minute real time for the A.I. to respond, i'll just be happy that it responded at all.

Back on the subject of the project, i'm going to run a few more tests on the advancer. I don't want this built with all the hundreds of linkages set only to find out that there's a 1 in 10 chance something will happen out of order and mess everything up. After that I want to look into backspacing. I haven't gone through it, but i'm hoping that with some additional linkages I can reverse the advancement and reset the previous tile.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Mego on November 18, 2011, 02:41:05 pm
How I knew you were a C++ programmer:

I feel like i'm sounding like an idiot to people who know the correct terms for some of these things. The controller that i'm talking about which takes in keyboard input and sends that information off to other components to be used and/or stored, would that be something like a preprocessor or an input/output stream?

For the record, preprocessors are programs that run on code to get it ready for compilation (or interpretation, but not as common), and input/output streams are wrappers for what actually goes on in the communication between a user, files on a disk, and the program.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Alestom on November 18, 2011, 03:44:01 pm
Interested to see how this turns out, I am completely inept with computers so all of this is alien to me. But if you do get this to work I will praise you! I WILL GIVE YOU A NICE GIANT PACKAGE! (Don't worry about the snarling and the airholes, they arent important)
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: MagmaMcFry on November 18, 2011, 04:20:04 pm

Damn, you actually built that didn't you? The ore veins and floor don't match my screenshots.


Actually, I didn't. I'm just very good at GIMP.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Mego on November 18, 2011, 10:14:11 pm
Interested to see how this turns out, I am completely inept with computers so all of this is alien to me. But if you do get this to work I will praise you! I WILL GIVE YOU A NICE GIANT PACKAGE! (Don't worry about the snarling and the airholes, they arent important)

Instead of office chair package contained bobcat.

Would not buy again.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Necro910 on November 18, 2011, 10:23:33 pm
Interested to see how this turns out, I am completely inept with computers so all of this is alien to me. But if you do get this to work I will praise you! I WILL GIVE YOU A NICE GIANT PACKAGE! (Don't worry about the snarling and the airholes, they arent important)
I too cannot wait to see the end result.

Also, I keep reading your name as "Alestorm"
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on November 19, 2011, 02:54:38 am
Good news, the advancer is pretty much mechanically impossible to fuck up unless you flip the levers too fast. Bad news is backspacing is providing me with more brain hurts.

It's working somewhat. Stratigically draining both of the previously flooded pressure plates will indeed erase your last input and let you continue from there, but it's not repeatable atm. What I need to do is find the right combination of starting gear positions and linkages to the gears that provide power to the draining pumps. There's just so many fucking combinations... and it's impossible to know if one will work unless I follow the hundred linkages to the ending positions. Time will probably solve this.

Luckily notepad works just fine as a testing platform to figure these things out. This is what i'm using for the advancement and backspace designing:

Spoiler (click to show/hide)

1 is an engaged gear and 0 is disengaged. All the T-0's are what I need to find positions for to drain the water (F)illed pressure plates, where the top two need to both be active to send power to the pump. Eh... I don't feel like explaining everything. I just want to show you the cause of my recent headaches.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Mego on November 19, 2011, 10:02:15 am
My brain just turned to mush and dribbled out on my keyboard.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on November 19, 2011, 04:41:52 pm
Then I probably shouldn't post the new version that threw in a whole 'nother level of complexity...

Long story short, I think I found the solution to backspacing. I ran into the same problem I had with advancing where it was mechanically impossible without adding more pressure plates and pumps. At first I thought "Fuck... i'm going to have to add another cell aren't I?", but I found a work around that only needs a single additional pressure plate and pump. When the backspace lever is pulled, 2 pressure plates will do all the gear changing (letters only need 1). One will do the reverse advancement, and the other temporarily disconnects a set of gears that would otherwise send power to the wrong pump and fuck shit up.

The bad news... I need to rebuild that testing version AGAIN to test it. I should probably invest in a more permanent, semi-large version somewhere out of the way because it's a given that i'm going to need one for, well, everything.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Talvieno on November 19, 2011, 05:25:34 pm
Then I probably shouldn't post the new version that threw in a whole 'nother level of complexity...

Long story short, I think I found the solution to backspacing. I ran into the same problem I had with advancing where it was mechanically impossible without adding more pressure plates and pumps. At first I thought "Fuck... i'm going to have to add another cell aren't I?", but I found a work around that only needs a single additional pressure plate and pump. When the backspace lever is pulled, 2 pressure plates will do all the gear changing (letters only need 1). One will do the reverse advancement, and the other temporarily disconnects a set of gears that would otherwise send power to the wrong pump and fuck shit up.

The bad news... I need to rebuild that testing version AGAIN to test it. I should probably invest in a more permanent, semi-large version somewhere out of the way because it's a given that i'm going to need one for, well, everything.
Seriously, this blows my mind that DF could be capable of doing anything like making a notepad at all. If my vote counts, I second the nomination for the Hall of Legends. If not, I do it honorarily.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Urist Imiknorris on November 19, 2011, 05:29:11 pm
It's already got its required votes.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Talvieno on November 19, 2011, 06:12:16 pm
It's already got its required votes.
Eh, see what I know? lol - I thought it had to be voted in, the more votes the better. Didn't realize it already made it. But oh well, I still do it honorarily.

edit: blah, I didn't read anything other than the first page of the HoL thread, and I didn't see it there, so... Never even crossed my mind to check the recent posts.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Loud Whispers on November 19, 2011, 06:21:26 pm
Embrace the machine.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Quietust on November 19, 2011, 08:29:28 pm
I'm definately trying to optimize this as I go along, but yeah, speed isn't a big issue so long as FPS doesn't get to unbearable levels. If it takes a minute real time for the A.I. to respond, i'll just be happy that it responded at all.
A minute would be ridiculously fast for something designed in DF - for something of this magnitude, I'd be surprised if it took less than an hour to respond.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Mego on November 19, 2011, 10:50:13 pm
He's doing good if his CPU(s) don't explode while trying to process all that.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Urist Imiknorris on November 19, 2011, 11:01:26 pm
His desk is going to melt when he tries to get it to say "hello, world!"
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on November 20, 2011, 12:03:29 am
We'll find out soon enough. If after I test out the backspacing and it works I don't think there's anything else to do but go full scale and link things up to the keyboard and display.

But I really don't think this part (typing things out with no A.I involvement) will be very laggy. Everything is configured so that if I don't need a pump to be running, it isn't. The big question mark for me though is what effect will all the gears have and having thousands being (dis)engaged at the same time. It could be the killer, I don't know.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Mego on November 20, 2011, 02:33:44 am
FOR !!SCIENCE!!
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: MaximumZero on November 20, 2011, 03:39:33 am
This. Is. Amazing.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on November 20, 2011, 04:54:52 pm
This should hold up for most types of testing:

Spoiler (click to show/hide)

Just need to tear town and rebuild the coloured gears and pressure plates to reconfigure linkages for new tests.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Talvieno on November 20, 2011, 05:53:13 pm
All those pumps... All that power... All those pumps would one-hit my framerate. Awesome generator, though. I'd build it for kicks if I thought it would run on my laptop.  :P
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: MaximumZero on November 20, 2011, 07:41:39 pm
I wonder what it would look like with Phoebus' tileset...
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Mego on November 20, 2011, 07:58:55 pm
If BloodBeard wouldn't mind putting up a save, I'd like to look at it. I have Phoebus, so I can do some screenies. Not gonna attempt to run it, though, for the sake of my processors.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on November 20, 2011, 08:20:52 pm
Mmmmmm not yet  :P.

But this should be enough to hold you over. I fully linked up my testing machine and it works. It Advances when a letter lever is pulled and backspaces when the backspace lever is pull. And I have video  :).

http://mkv25.net/dfma/movie-2397-notepadtest

The hatches represent a letter on the display. I'm pulling only one letter-lever, but all the different levers will basically do the same thing but produce different letters.

Long overdue edits: Oh, you wanted the save file for screenshots using a tileset. Eventually the save will be uploaded, probably after I get the display and keyboard functional.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on November 21, 2011, 01:15:04 pm
There's a few things I learned when making that mini-version. One, linking is going to be a bitch. Not just because of the sheer amount, but scrolling through all the gears to find the right ones to link was such a huge pain, and that was nothing compared to what i'll be doing later. I mislinked one gear and downright forgot to link 4 others. Which brings me to the second thing I learned, I need to colour code my gears better. A lot better. Thirdly, i'm going to need to go 'N'ote crazy, both ingame and on my notepad file detailing what links to what and what has and hasn't been linked yet.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Urist Imiknorris on November 21, 2011, 01:25:40 pm
Does forbidding gear assemblies remove them from the list of things to link to?
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on November 21, 2011, 01:29:34 pm
Does forbidding gear assemblies remove them from the list of things to link to?

That would've been awesome if they did but no.

Gears are cycled through in the order they were designated to be built and i'm going to have over 2000 that only provide power, so what i'm going to do is tear up all the gears I have built and for now only rebuild the power ones. When cycling through gears to link them I won't have to go through those. I should also be able to make things easier by building gears and linking them in 10 at a time.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on November 23, 2011, 02:04:05 am
Spoiler (click to show/hide)

Power lines. There is much.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Mego on November 23, 2011, 03:07:06 am
I think my brain just vaporized.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Talvieno on November 23, 2011, 10:21:52 am
All those mechanisms, all those axles... I almost feel sorry for your dwarven slave laborers. But not quite. :D
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: PhantomXD on November 23, 2011, 01:16:24 pm
Power lines. There is much.

Over 9000?

Spoiler (click to show/hide)
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: MaximumZero on November 23, 2011, 04:46:28 pm
All those mechanisms, all those axles... I almost feel sorry for your dwarven slave laborers. But not quite. :D

Why would you? They're making history. With their beards.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on November 23, 2011, 04:53:42 pm
Power lines. There is much.

Over 9000?

Spoiler (click to show/hide)

Almost.

Spoiler (click to show/hide)

It's going to be 4 or 5 times more when the other gears and pumps are built, which has me thinking of power reactors. I thought my OU-reactor design would be alright in providing all the power, and it can, but I can only imagine the lag it would produce. It would probably hurt FPS more then the A.I, so i'm thinking about using wind. If I pave the sky with windmills I can output 50-60k Uristwatts. I don't know how much lag that many windmills would produce but its got to be better them 200 pumps constantly moving water around.

The good news though for people cringing at the power requirements and wondering if you'll even be able to run it yourself, the amount of power NEEDED will be roughly a quarter of that if everything was running at once. A very large chunk of the gears are deactivated at any given time, moreso even when you're typing something on the display because whole sections need to be deactivated in order to work on an individual section.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: sobriquet on November 23, 2011, 05:06:08 pm
Clearly the next step after initial product implementation is to equip the terminal to a radio transmitter, some nanofactories (we'll definitely have matter synthesizers by the time DF is fully done), and let it build itself in real life, with people as the dwarfs.

Just saying.

Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Mego on November 23, 2011, 05:26:38 pm
Clearly the next step after initial product implementation is to equip the terminal to a radio transmitter, some nanofactories (we'll definitely have matter synthesizers by the time DF is fully done), and let it build itself in real life, with people as the dwarfs.

Just saying.

And then...

PROFIT!
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on November 24, 2011, 05:28:02 pm
Spoiler (click to show/hide)

What's that? Giant shadow? I'm sure it's nothing. Get back to work.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Loud Whispers on November 24, 2011, 05:40:54 pm
It's happening.... DwarfNet is going online.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Urist Imiknorris on November 24, 2011, 05:48:52 pm
This isn't going to be Dorfnet. It'll be GlaDORF.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Musashi on November 24, 2011, 06:01:30 pm
With magma instead of neurotoxins.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Loud Whispers on November 24, 2011, 06:10:16 pm
With magma instead of neurotoxins.

Guess what the surprise is.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Urist Imiknorris on November 24, 2011, 07:17:21 pm
Obsidian.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on November 24, 2011, 10:38:40 pm
Support system for the wind farm is complete:

Spoiler (click to show/hide)

I won't build the windmills yet, they'll just cause unnecessary lag. All in all it can support 704 windmills which when you subtract the costs of support gears and the axles connecting them will output 23,234 Uristwatts, or 2,323 dwarfpower if you will. I don't know if it will be enough but i'm hoping.

So comes the moment i've been dreading. I don't have anything else to do but start linking pressure plates... *sigh*

Updates from this point forward may contain crankyness and an increased number of obscenities.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Urist Imiknorris on November 24, 2011, 10:42:14 pm
I don't think windmills cause lag at all actually. Think about it - wind isn't actually represented in the game, so a windmill is just a 3x3 building that makes power.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Mego on November 24, 2011, 11:08:21 pm
Updates from this point forward may contain crankyness and an increased number of obscenities.

Welcome to Dwarf Fortress.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on November 24, 2011, 11:40:03 pm
I don't think windmills cause lag at all actually. Think about it - wind isn't actually represented in the game, so a windmill is just a 3x3 building that makes power.

But the windmills and all the gears and axles will animate, so I don't know. I'm not taking any chances.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: acetech09 on November 25, 2011, 05:06:00 am
I don't think windmills cause lag at all actually. Think about it - wind isn't actually represented in the game, so a windmill is just a 3x3 building that makes power.

But the windmills and all the gears and axles will animate, so I don't know. I'm not taking any chances.

There might be some calculations, but the graphics rendering part of dwarf fortress (the few hertz that it needs) are multithreaded, and won't impact your performance unless your computer is really stressed.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Flare on November 25, 2011, 05:13:22 am
Those grey things in the power lines are gear assemblies right? How did you manage to make them all deactivated so that the dwarves can walk through them?
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: MagmaMcFry on November 25, 2011, 12:05:25 pm
They can always be walked through, as long as there is a floor below.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: PhantomXD on November 25, 2011, 10:36:50 pm
After many a build I learnt they can walk through axles / gears useful ... *facepalm*
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Loud Whispers on November 26, 2011, 06:05:00 am
Damn, how many trees died in the making of this? >:D
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on November 26, 2011, 02:30:51 pm
Damn, how many trees died in the making of this? >:D

0, I modded free reactions of many materials so I could colour code things as I please (as well as so I don't need to worry about anything but the project at hand).

The first linking that i'm doing is the hatches that make up the display, of which I changed from schist brown to microcline blue so it looks better. I never thought I would talk about microcline like that... *shudder*

I wasn't sure if I wanted the keyboard to support mathimatical operators like plus and minus, but if I don't and I decide later that I want them it will be a serious pain, so i'll be adding them as well as a reset lever that clears the display (backspacing an entire sentance one letter at a time would be quite the ordeal).
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Loud Whispers on November 26, 2011, 03:15:51 pm
AaaaaaaAaAaAAAAAwwWwww. I am disappoint.

At the same time though, I am jaw-droppingly stunned.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Talvieno on November 26, 2011, 03:49:34 pm
I can't wait to see the maze of axles and gears it sounds like it's going to take to link the levers up to the hatches... That sounds like it'll be mind-bending in itself.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Matz05 on November 26, 2011, 04:03:25 pm
Just the word processor is amazing enough -- but an ELIZA on it? Mind-boggling. Best of luck though! I want to see a GLaDORF chatbot!
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Mego on November 26, 2011, 04:14:52 pm
So, have you considered making the word processor into an interpreter and writing your own dwarven programming language?
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on November 26, 2011, 06:34:05 pm
I can't wait to see the maze of axles and gears it sounds like it's going to take to link the levers up to the hatches... That sounds like it'll be mind-bending in itself.

The hatches are actually linked to the pressure plates in the gigantic mass of pumps and plates of which there are screenshots of earlier in the topic. The keyboard levers are linked to gears that power a pump that activates a pressure plate, and that's the plate that tells the fields of pressure plates what letter is to be shown.

So, have you considered making the word processor into an interpreter and writing your own dwarven programming language?

That would be a monster of a project in of itself, so probably not. The principle might not be so different then what I want the A.I. to be; recognizing commands and calculating a result/response. If I can get this to work then it might be possible. But not right now  :P
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on November 27, 2011, 04:49:09 pm
All 32 user-display tiles linked up at a cost of 960 mechanisms (the AI-display can wait):

Spoiler (click to show/hide)

This was probably the easiest to link up. Onto gear building and linking.

Adding pumps and pressure plates to support the mathimatical operator and 'clear' levers were no problem. Figuring out the gearing to clear the display was pretty easy too. I basically took my backspacing setup and removed the precautions I had set in place that limited the backspace to 1. It was really neat to watch it clear the mock display on my mini version. It doesn't clear everything all at once, it's more or less a backspace put on full-automatic. I'm really looking forward to typing a whole 32 character sentence and watching the dominoes fall when I hit the clear lever  :D
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Dwarf on November 27, 2011, 06:06:10 pm
Just saying, but... already CPUs with many millions of transistors haven't got the processing power for truly elaborate AIs. How can one even hope to accomplish that in DF?
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Ieb on November 27, 2011, 06:13:19 pm
With SCIENCE, obviously.
And possibly dark magicks and whispered deals with elder beings.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Loud Whispers on November 27, 2011, 06:16:35 pm
With SCIENCE, obviously.
And possibly dark magicks and whispered deals with elder beings.

IA CPU!
CPU F'TAGN!
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: nenjin on November 27, 2011, 06:20:57 pm
Quote
It would probably hurt FPS more then the A.I, so i'm thinking about using wind. If I pave the sky with windmills I can output 50-60k Uristwatts.

This is the part where I just started laughing like a madman. It's like a real world engineer saying "What would it take to power this super computer? A complete bio-dome made of a solar panels? Well, I'll get right on that."

Truly epic, no false internet praise about it. I hope you can finish before you have an aneurism from your brain trying to hold all this relevant information at once. The physicality of the whole thing is enough to make me want to see an artist's rendition of what the fort would look like. Windmill Ceiling and all. You can kind of already see a work force of 200 hundred dwarves slaving away at this ancient, strange machine designed to output letters.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on November 28, 2011, 04:01:52 pm
Just saying, but... already CPUs with many millions of transistors haven't got the processing power for truly elaborate AIs. How can one even hope to accomplish that in DF?

One can accomplish anything with an awesome beard.

(And yes, I have a beard. Hail Urist!)


Things are moving along quite nicely. The gears that I decided to link up first are the ones that determine what character will be displayed:

Spoiler (click to show/hide)

The 15 blue gears there when engaged send power to the 15 pumps above, activating pressure plates that control the 15 hatches that make up 1 display tile. An average of 21 linkages have been made to each of the gears to support 44 potential characters, that's 317 individual linkages per 15-gear section, and I have to do that 32 times (not including the A.I. sections).

Yeah, it's going to be rough, but it won't be as bad as it sounds. While I was linking all the characters I was recording macros for each. I only need to load a characters' macro, execute it on the appropriately labeled pressure plate and repeat for each 15 gear section. (I probably would have given up on this a long time ago if it wasn't for macros...)

I made a copy of the game file to test the characters, making sure I linked them correctly. I got power sent down to the section I just  made and even got water down in the channels. The keyboard isn't hooked up yet so my dwarves have to man (dwarf?) the pumps for each character. When characters' pressure plate is activated, the letter 'A' for this example, power gets send to the 1st, 3rd, 5th, 11th and 14th gears, sending power to these pumps:

Spoiler (click to show/hide)

These then activate more pressure plates that open their respective hatches on the display resulting in this:

Spoiler (click to show/hide)

AAAAAAAAAAAAA!!!!!!!!!!!!!
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: NewsMuffin on November 29, 2011, 02:34:50 am
What's that sound, Carol?
PROGRESS, MY DEAR URIST. PROGRESS.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: shadenight123 on November 29, 2011, 04:42:09 am
how could i miss this?!
may the gods watch over you and may madness be born!

"in recent news an AI has finally been created. inside a game. scientists around the world are going mad for not having thought about it."
"the ai demands more magma"
"the ai states that it needs still more magma"
"volcanoes around the world are exploding"
"we...are...MAGMAAAA"
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Flare on November 29, 2011, 05:17:20 am
"in recent news an AI has finally been created. inside a game. scientists around the world are going mad for not having thought about it."
"the ai demands more magma"
"the ai states that it needs still more magma"
"volcanoes around the world are exploding"
"we...are...MAGMAAAA"

Spoiler (click to show/hide)

 :P
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Mego on November 29, 2011, 08:06:29 am
"in recent news an AI has finally been created. inside a game. scientists around the world are going mad for not having thought about it."
"the ai demands more magma"
"the ai states that it needs still more magma"
"volcanoes around the world are exploding"
"we...are...MAGMAAAA"

Spoiler (click to show/hide)

 :P

Why is that guy upset? I'm so confused.

Also, BloodBeard, what exactly is your plan for the AI?
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on November 29, 2011, 01:52:55 pm
Also, BloodBeard, what exactly is your plan for the AI?

No real plan, i'm just winging it.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: MagmaMcFry on November 29, 2011, 03:05:38 pm
Interesting approach. People should use this more often. For example, the fusion reactor prototypes like the Stellarator (http://en.wikipedia.org/wiki/Stellarator) have been planned about 30 years ago now. First they had to wait 10 years until supercomputers existed, and they're still taking ages. Why didn't they just go ahead and build it on the go? Energy problems would be solved by now!

Spoiler (click to show/hide)
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Frelus on November 29, 2011, 04:43:38 pm
"in recent news an AI has finally been created. inside a game. scientists around the world are going mad for not having thought about it."
"the ai demands more magma"
"the ai states that it needs still more magma"
"volcanoes around the world are exploding"
"we...are...MAGMAAAA"

Spoiler (click to show/hide)

 :P

Why is that guy upset? I'm so confused.

Also, BloodBeard, what exactly is your plan for the AI?
I guess his brain can just not take the level of awesomeness and explodes.
Or he wants to share this wonder with everyone and is just mad because he is so happy.
greetz
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: MagmaMcFry on November 29, 2011, 05:11:05 pm
Please don't forget: It's not a wonder yet.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Loud Whispers on November 29, 2011, 06:17:53 pm
Please don't forget: It's not a wonder yet.

Yet.

Yet.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: MagmaMcFry on November 29, 2011, 06:20:02 pm
Yet.
Yet.
Yet.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: NewsMuffin on November 29, 2011, 09:36:30 pm
Yet.
Yet.
Yet.
THIIIIII- I mean Yet.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on November 30, 2011, 12:50:35 am
*sprays water bottle*

Tsk! Hey! No! Bad forum users, bad!

My little project is starting to become not so little, it has now passed Jong's Dwarven Computer mechanism count of 8,500. All the more reason for me to refuse to do the final calculations for the final amount because I know I haven't even put a dent in the number of linkages needed still.

It's this frigging display man, it's a killer. Hopefully not of FPS.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on December 03, 2011, 02:58:14 pm
Still chuggin away linking things. I found my first mislink, I don't know which pressure plates exactly but I had to tear down 15 gears and relink them. I got a really simple way of finding out if I linked one incorrectly where I activate all the pressure plates at once, and if done right each set of 15 gears should have the same on or off state. It isn't foolproof but the odds of a false positive are slim.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Loud Whispers on December 03, 2011, 03:06:14 pm
Still chuggin away linking things. I found my first mislink, I don't know which pressure plates exactly but I had to tear down 15 gears and relink them. I got a really simple way of finding out if I linked one incorrectly where I activate all the pressure plates at once, and if done right each set of 15 gears should have the same on or off state. It isn't foolproof but the odds of a false positive are slim.

So a lot of things are going to go horribly wrong? :d
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: shadenight123 on December 03, 2011, 03:10:47 pm
Still chuggin away linking things. I found my first mislink, I don't know which pressure plates exactly but I had to tear down 15 gears and relink them. I got a really simple way of finding out if I linked one incorrectly where I activate all the pressure plates at once, and if done right each set of 15 gears should have the same on or off state. It isn't foolproof but the odds of a false positive are slim.

So a lot of things are going to go horribly wrong? :d

that one misslink is probably just the "do not kill human" rule, you can let it be, a dwarven AI is perfectly safe and useable by anyone age 0 to infinity.
U_U
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Loud Whispers on December 03, 2011, 03:14:52 pm
Still chuggin away linking things. I found my first mislink, I don't know which pressure plates exactly but I had to tear down 15 gears and relink them. I got a really simple way of finding out if I linked one incorrectly where I activate all the pressure plates at once, and if done right each set of 15 gears should have the same on or off state. It isn't foolproof but the odds of a false positive are slim.

So a lot of things are going to go horribly wrong? :d

that one misslink is probably just the "do not kill human" rule, you can let it be, a dwarven AI is perfectly safe and useable by anyone age 0 to infinity.
U_U

Well if humanity is going to be destroyed, I can't think of a better way other than at the hands of DwarfNet.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on December 03, 2011, 03:21:59 pm
That's no joke, if i'm able to get word recognition put in and link some gears wrong when programing the reasoning logic shit could go down.

!!SCIENCE!! is serious business.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Dwarf on December 04, 2011, 07:34:34 am
I still have no idea how the hell this is gonna work...
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: shadenight123 on December 04, 2011, 07:37:46 am
I still have no idea how the hell this is gonna work...

well, i suppose that since in basis every single thing computer related is merely the definition which is given to an ON/OFF statement of some sort.
(binary code 01 is after all off/on signals) he'll give an on signal to something, an off signal to something else and virtually build an operating system (software) through the use of software of dwarf fortress AND the hardware of his pc.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Dwarf on December 04, 2011, 07:52:51 am
That I know myself.

But here, we're talking about significant inefficiency (due to running in DF) and trying to make an AI work.

EDIT: To clarify...


It's got nowhere near the processing power to run a more or less sophisticated AI. Yet, it's got 30'000 transistors, whilst this here, IF a lever = a transistor, has got 8'500 with severe inefficiency.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: shadenight123 on December 04, 2011, 08:53:13 am
well, maybe if instead of actual artificial intelligence (aka something which knows and MAY learn) he refers to simply a inside automatic response, then it's an ai.
to say.
set the "ai" to open the bridges in intervals when a siege is there.
siege is when tot units walk upon tot pressure plates and destroy them.
when that happens also open the magma channels.
it's an automated response, which could be fine and doable.
now, to that you add that, when this happens, the displays shows off "siege incoming" "deploying countermeasures" "countermeasures deployed".
it's not an ai, but it feels like that.
it's the difference between making a program which fetches data from a txt, and a program which fetches data from himself, but making the one who runs the program read on screen "program fetching data" it's the same stuff, but in two different ways.
U_U
and it would still be a hell of a work to make.
now, maybe it's an "ai" in the sense of calculations OR display showing predeterminate letters.
like "press the lever to ask "everything fine?"" answer will always be:"yes it's fine, more magma".
faking an ai is still a hussle, and if done well it's quite difficult to realize it.
since after all, a program who can learn by himself does not, quite actually, exist.
(there may be similar programs, but that's different, it's simply storing data in relation to words, which is what clever bot is)
to say, the program should learn by himself, without being asked to learn.
he should thus feel egoism, and have an ego.
he should be able to reason for abstract.
and then it would be an AHI. artificial human intelligence.
humans think abstract, have long term memory (pc's have it on a base), and are able to prove curiosity and discern themselves from someone else.
U_U
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on December 04, 2011, 03:38:03 pm
Dwarves  at work:

Spoiler (click to show/hide)

I found a way to make the power lines more efficient, cutting their costs in half (around 3,500 Uristwatts worth), so that's good. The wind farm I have planned out will probably be far more then I need.

Even with my speed 0 dwarves it will still be a long while before i'm done linking everything.

How I am going to actually attempt to build the A.I. is still a mix mash of ideas in my head, but I have some very specific goals in mind to what I want it to do. I want to start as simple as I can with the smallest possible vocabulary with interconnected rules and meanings, and construct using that vocabulary an inquiry that the A.I. can respond to. Just basic, cold calculation. If I can achieve that then bit by bit I slowly add more complexity. The best analogy I can think of is a baby growing up, developing it's own personality and knowledge as it grows.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Loud Whispers on December 04, 2011, 03:40:28 pm
...It will learn?   :o
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on December 04, 2011, 04:36:14 pm
In a manner of speaking.

The supposed mechanical impossibility of an AI being dwarfputed aside i'll be needing to do some psychology research. If I want it to be closer to an AI then a calculator i'll need to go beyond just words, grammar and definitions. I think a foundation of root emotions and instincts needs to be formed before I get into language. If anyone knows a good website with that kind of information please let me know.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on December 05, 2011, 12:50:27 am
I'm halfway done the part i've determined to be the most linkage-heavy section, the sets of gears that control what character to display. This is good news because not only do the other sets of gears need a comparatively tiny amount, but the more efficient power lines I mentioned a few posts up allowed me to cut down on the number of linkages I need to do by almost 4500. So it's still going to take a long long time to get a working 'notepad' up for download, but not nearly as long as I had previously thought.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Crustypeanut on December 05, 2011, 01:37:34 am
This won't be DwarfNet or GLaDORF.. Bloodbeard's dwarves are making a physical avatar for Armok himself.  He will reside in this mechanical contraption you and your dwarves have made.. and from there on.. work towards his ultimate goal of becoming fully aware in our own reality, and thus become a god unto himself.  It'll be like the Aztecs all over again, albeit with magma..

BLOOD FOR THE BLOOD GOD!
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Mego on December 05, 2011, 01:41:00 am
This won't be DwarfNet or GLaDORF.. Bloodbeard's dwarves are making a physical avatar for Armok himself.  He will reside in this mechanical contraption you and your dwarves have made.. and from there on.. work towards his ultimate goal of becoming fully aware in our own reality, and thus become a god unto himself.  It'll be like the Aztecs all over again, albeit with magma..

BLOOD FOR THE BLOOD GOD!

That gives me an idea. Once it gets finished, you should flood it with magma.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: MagmaMcFry on December 05, 2011, 09:55:33 am
Urist McResearchLeader: How did the final test run go?

Chief McAnic: Well... It is conscious, self-aware and very hungry. All known gremlins have been removed. Except for one...

Spoiler (click to show/hide)
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: MaximumZero on December 05, 2011, 02:34:17 pm
...Oh, man. Kill the tree, kill it with fire!
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: dermal_plating on December 05, 2011, 08:48:29 pm
Spent about an hour reading through this thread last night when I should have been sleeping. My mind is blown. There's very PC few games that manage to stimulate me intellectually, but this is one of them. My chicken leather hat goes off to you BloodBeard, I will be following your progress with interest. Though I'm curious how you manage to manufacture so many mechanisms and other parts. Are you using some sort of level editor or do you just have a massive factory fort stocked with equipment that you open whenever you start work on something new?
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on December 05, 2011, 09:31:08 pm
Spent about an hour reading through this thread last night when I should have been sleeping. My mind is blown. There's very PC few games that manage to stimulate me intellectually, but this is one of them. My chicken leather hat goes off to you BloodBeard, I will be following your progress with interest. Though I'm curious how you manage to manufacture so many mechanisms and other parts. Are you using some sort of level editor or do you just have a massive factory fort stocked with equipment that you open whenever you start work on something new?

Almost all 19 of my dwarves (capped pop for better FPS) are legendary mechanics, with them modded to speed 0 they can pump out mechanisms at a good rate. Thanks to some 'cheaty' reactions, getting any items I need isn't an issue.

That's not to say things have been going by at a speedy rate. Doortufts, the fort i'm building it in is in its 20th year.  :o
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Crustypeanut on December 05, 2011, 11:05:43 pm
You might have to let some immigrants come before they all die of old age before their attempts at building a god can be completed.  Oh man its the Dwemer all over again.. We're gonna see a Morrowind happen..
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: ashton1993 on December 06, 2011, 08:21:13 am
Heh, like the others I read this start to end and am thus posting to watch so I can continue to observe this awesomeness...
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on December 07, 2011, 02:09:00 am
I'll try to not let you guys down  :)

Topic for something that I might like to try for this project: http://www.bay12forums.com/smf/index.php?topic=97323.0

It doesn't take up a lot of space so i'm thinking it would be nice if I could get a visual representation of the AI that would animate on changing moods or other events.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Talvieno on December 08, 2011, 02:26:39 pm
I'll try to not let you guys down  :)

Topic for something that I might like to try for this project: http://www.bay12forums.com/smf/index.php?topic=97323.0

It doesn't take up a lot of space so i'm thinking it would be nice if I could get a visual representation of the AI that would animate on changing moods or other events.

What would that be like?

Something like this?
Goblins attacking right side: -    --   ---   ---> (animation)
Goblins attacking left side:   (ditto, reversed)
No dwarf activity seen (triggered by pressure plates + timers):  :-\
All goblins dead (after invasion):  8)
Forgotten beast walking around the caverns:  >:(
Magma pouring through the fortress:  :D
Command not rockognized:  ???
User made a pun:  ::)
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on December 08, 2011, 03:35:16 pm
Probably not, the main focus would be more on the emotional side and dependant on how and what the user communicates. Eventually maybe if I succeed and begin looking for other things for it to do.

Pressure plate sensor nets would be pretty easy to implement for a variety of purposes. A hollow shell surrounding the mechanical parts filled with magma with magma pressure plates that will activate if the magma is released, telling the AI that something is trying to access its mechanics. Unfortunately something like that won't be put in for this particular fort as i'm more concerned with getting an AI to work at all. Hopefully I still have the drive to build a second AI when I get this one figured out, and that's the one that will be preplanned down to each individual tile with all the bells and whistles with a real fort that dwarves can live in and be controled by the AI.

Every single fort I've made has died from my own boredom, but something tells me that I won't run out of interesting challenges for this project any time soon.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on December 10, 2011, 03:49:27 pm
I've broken the 20k mechanism mark, linking continues.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: MagmaMcFry on December 10, 2011, 03:56:46 pm
Still working on the word processor?

I demand automatic spell checking.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on December 10, 2011, 04:22:02 pm
Still working on the word processor?

Yep. Lottsa stuff needed for it.

How the AI will compare in quantity I don't know, the display is why this needs so many gears and linkages. I want to focus on getting this part done so I haven't put a whole lot of thought into the design of the AI and the word recognition functions, which will be the next step, but i'm thinking I will need to set some boundaries on word and sentence length. I'll need to make up a word list to find the longest word I want to include and the maximum number of words in a sentance. How the word recognition would work is an individual logic bank would identify words up to the maximum letter count with the number of banks being the maximum word count. The spacebar lever would advance things to the next logic bank using the advancement function i've already made.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Mego on December 10, 2011, 04:26:26 pm
Still working on the word processor?

Yep. Lottsa stuff needed for it.

How the AI will compare in quantity I don't know, the display is why this needs so many gears and linkages. I want to focus on getting this part done so I haven't put a whole lot of thought into the design of the AI and the word recognition functions, which will be the next step, but i'm thinking I will need to set some boundaries on word and sentence length. I'll need to make up a word list to find the longest word I want to include and the maximum number of words in a sentance. How the word recognition would work is an individual logic bank would identify words up to the maximum letter count with the number of banks being the maximum word count. The spacebar lever would advance things to the next logic bank using the advancement function i've already made.

Two words: markov chains.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: MagmaMcFry on December 10, 2011, 05:21:15 pm
Two words: markov chains.
My thoughts exactly.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Mego on December 10, 2011, 05:30:50 pm
Two words: markov chains.
My thoughts exactly.

<insert lame markov chain joke here>
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: MagmaMcFry on December 10, 2011, 05:40:40 pm
<insert lame markov chain joke here>
You can make jokes about markov chains? Pray tell.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Mego on December 10, 2011, 06:35:29 pm
Two words: markov chains.
My thoughts exactly.

Stop building off my thoughts!
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on December 10, 2011, 06:36:06 pm
I'm not familiar with that, explain.

*dalek voice*

EXPLAAAAAAAAAAAAAAAAIN!
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Mego on December 10, 2011, 07:13:38 pm
http://en.wikipedia.org/wiki/Markov_chain (http://en.wikipedia.org/wiki/Markov_chain)

The article explains the basic premise. If you want to see a programming example:

http://sourceforge.net/projects/markovsky/ (http://sourceforge.net/projects/markovsky/)

Disregard my name on the dev list.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on December 10, 2011, 07:48:46 pm
Ah, I see. That looks like it would be pretty easy to dwarfpute, aside from the fact that it would essentially speak gibberish. If I can't get the level of complexity that i'm hoping to get, I might be able to do something with that where specific words chosen by the user tilt the AIs' randomization in favour of certain words. The only trouble with that is it would be difficult to figure out the AI's intentions and the ramifications of those intentions.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Uristocrat on December 10, 2011, 09:18:44 pm
Ah, I see. That looks like it would be pretty easy to dwarfpute, aside from the fact that it would essentially speak gibberish. If I can't get the level of complexity that i'm hoping to get, I might be able to do something with that where specific words chosen by the user tilt the AIs' randomization in favour of certain words. The only trouble with that is it would be difficult to figure out the AI's intentions and the ramifications of those intentions.

All you really need is to make it sound convincingly unhinged.  Make it periodically scream "MAGMAAAAA!!!!!!!!!!" and activate all magma traps and you'll have the perfect Dwarven AI.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Mego on December 10, 2011, 09:30:55 pm
The hardest part about using markov chains in DF would be the memory needed. Markov chains work because the input is stored in a database for future access to string the chain together. Such a database can grow very quickly. I'm not sure how you could implement a database in DF, but I'm sure you'll find a way.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Angel-of-Dusk on December 11, 2011, 04:45:48 pm
And so it begins. the cycle of Dwarf Fortress.

For you see, it will learn from us. It will become more human. It will become self-aware. It will know things that mere humans could never fathom to dicern.

It will realize that it is it's own creator. It will eventually create Toady One, and implant some of its data into toady's Brain. THen, it will construct a time machine, to send toady back in time, where his parents will find him and adopt him, so that he and his brother can create Dwarf Fortress.

I come here from the dark future of Dwarftropolis, to stop you from creating the Dark Lord A.R.M.O.K. that has destroyed humanity almost entirely. They call me the Exterminator.

Insert further exterminator reference here.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Mego on December 11, 2011, 05:02:44 pm
And so it begins. the cycle of Dwarf Fortress.

For you see, it will learn from us. It will become more human. It will become self-aware. It will know things that mere humans could never fathom to dicern.

It will realize that it is it's own creator. It will eventually create Toady One, and implant some of its data into toady's Brain. THen, it will construct a time machine, to send toady back in time, where his parents will find him and adopt him, so that he and his brother can create Dwarf Fortress.

I come here from the dark future of Dwarftropolis, to stop you from creating the Dark Lord A.R.M.O.K. that has destroyed humanity almost entirely. They call me the Exterminator.

Insert further exterminator reference here.

Are you telling us to prevent Toady One's creation?

Prepare the
Spoiler (click to show/hide)
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Powder Miner on December 11, 2011, 05:07:48 pm
And so it begins. the cycle of Dwarf Fortress.

For you see, it will learn from us. It will become more dwarven. It will become self-aware. It will know things that mere warves could never fathom to discern.

It will realize that it is it's own creator. It will eventually create Toady One, and implant some of its data into toady's Brain. THen, it will construct a time machine, to send toady back in time, where his parents will find him and adopt him, so that he and his brother can create Dwarf Fortress.

I come here from the dark future of Dwarftropolis, to stop you from creating the Dark Lord A.R.M.O.K. that has destroyed dwarfdom almost entirely. They call me the Elf.

Insert further exterminator reference here.
Fixed that for you.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Angel-of-Dusk on December 11, 2011, 05:17:08 pm
And so it begins. the cycle of Dwarf Fortress.

For you see, it will learn from us. It will become more dwarven. It will become self-aware. It will know things that mere warves could never fathom to discern.

It will realize that it is it's own creator. It will eventually create Toady One, and implant some of its data into toady's Brain. THen, it will construct a time machine, to send toady back in time, where his parents will find him and adopt him, so that he and his brother can create Dwarf Fortress.

I come here from the dark future of Dwarftropolis, to stop you from creating the Dark Lord A.R.M.O.K. that has destroyed dwarfdom almost entirely. They call me the Elf.

Insert further exterminator reference here.
Fixed that for you.
But but but Dwarf Fortress CHOPPED DOWN ALL THE TREES
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: MagmaMcFry on December 11, 2011, 06:43:37 pm
Spoiler (click to show/hide)
Title: Re: The Dwarven Learning Computer (WIP)
Post by: Duntada Man on December 11, 2011, 07:43:12 pm
This... this is awesome. But dangerous. Delete the save folder at the first sign of true sentience.

No, put it in a torrent and teach it to replicate itself! This is the most badass way the world can end. With magma pumps, beards and MANDATORY DRINKING.
Title: Re: The Dwarven Learning Computer (WIP)
Post by: Necro910 on December 11, 2011, 07:50:49 pm
This... this is awesome. But dangerous. Delete the save folder at the first sign of true sentience.

No, put it in a torrent and teach it to replicate itself! This is the most badass way the world can end. With magma pumps, beards and MANDATORY DRINKING.
The world is not dying...

It is finally being born.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Zinc23 on December 12, 2011, 01:30:30 am
This makes me giddy.  We, the Bay12 forum goers shall be hoisted upon the shoulders of our creation, and all will bow BEFORE US, OR BURN!......  IN MAAAAAAAGMAAAAAAA!
Title: Re: The Dwarven Learning Computer (WIP)
Post by: Darkening Kaos on December 12, 2011, 02:18:15 am
This... this is awesome. But dangerous. Delete the save folder at the first sign of true sentience.
No, put it in a torrent and teach it to replicate itself! This is the most badass way the world can end. With magma pumps,
Hmmmm.  Hot rocks technology, (in Australia), counts as close to magma, so, CHECK,
Quote
beards
Plenty of them in Australia, even I have one, so CHECK,
Quote
and MANDATORY DRINKING.
When mentioning drinking in Australia, mandatory is redundant, so CHECK.
Our first successful heir to the Toady is ThatAussieGuy.  No need to fear the future, for it is already here.

Darkening Kaos, CIS, LUH.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on December 12, 2011, 05:54:49 pm
Thank fucking god, i'm done linking this section of gears.

(blue ones)
Spoiler (click to show/hide)

Such a pain. Each of those 15 gear groups needed to be linked to 44 pressure plates, and each of those pressure plates had its own macro that I needed to load and execute on. The line of pressure plates all look the same so it was nerve racking trying to make sure the macros were being executed on the right one.

Now I need to go in depth to see for certain that I linked them all correctly, and to do that i'll need to get water in the channels, power sent down to the pumps and manually check each pressure plate. If it's all working properly pressure plate 'A' should display 'A' across the whole 32 tile display and the same should go for all the other characters' pressure plates.

If that checks out the next set of gears to build and link will be the ones that make sure only 1 display tile is worked on at a time. These will be directly below the blue ones.

On an unrelated note, I have some daredevil goats up in the windmill farm:

Spoiler (click to show/hide)

I hope they come down by themselves, one wrong dodge by a dwarf and SPLAT. I don't need that kind of inconvenience.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: nenjin on December 12, 2011, 08:56:50 pm
No one said mega engineering was pretty. Goats in your windmill farm is kind of like bears around the Alaskan Pipeline :P
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Kofthefens on December 12, 2011, 10:18:04 pm

On an unrelated note, I have some daredevil goats up in the windmill farm:

Spoiler (click to show/hide)

I hope they come down by themselves, one wrong dodge by a dwarf and SPLAT. I don't need that kind of inconvenience.

Goats in the sky. Armok is with you!
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Necro910 on December 13, 2011, 10:55:14 am
On an unrelated note, I have some daredevil goats up in the windmill farm:

Spoiler (click to show/hide)

I hope they come down by themselves, one wrong dodge by a dwarf and SPLAT. I don't need that kind of inconvenience.
It's a defense mechanism built into the game. The game is surrendering! "gg"

FINISH HIM!
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on December 13, 2011, 02:28:45 pm
Powering the machinery for testing proved to be quite the task in of itself. I designed it to be very power efficient with the display never intended to be activated all at the same time, so it was no surprise when I bypassed those efficiency features and found that I needed a fuckton of power. This is a copy of the region file that i'm working on that I don't intend to keep, and building the needed amount of windmills would be pretty time consuming so I only built 220 (8800 Uristwatts worth), which is just enough to utilize half the display at a time.

Now I have a set of 4 levers, 2 that send power to each half of the display and 2 that clear each half of the display. Only 1 can be active at a time or I blow a fuse.

But i'm not complaining, it's better then the alternative which in essence consists of me hovering my curser over 21k gears to make sure they're in the correct on or off state. Now to get on with the bug checking.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Loud Whispers on December 13, 2011, 02:33:14 pm
Now to get on with the bug checking.

May the Dwarf be with you.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on December 13, 2011, 05:32:38 pm
Bug checking went very smoothly. I had forgotten 2 linkages, but none were mislinked so I didn't have to redo anything.

There's still a ton of linkages left to make, but they're all pretty straight forward. Overdrive commencing, destination Release 0.1
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Loud Whispers on December 13, 2011, 06:46:39 pm
Guys, just so you know I've placed bunkers across the world that can only be found on maps that are in ASCII just in case 0.1 completely kills us all.

If it brings forth a new age of beards though...
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on December 13, 2011, 08:46:33 pm
There will be no malicious machinery out to kill you in 0.1... so far as you know.

Spoiler (click to show/hide)

My goal as you can see is to blind any user trying to find out its secrets.

This section was done inside an hour, a far cry from the weeks it took for the last one. Not all will be so easy, the next section I plan to do is part of the display clearing gearing up higher. I'll have to check again but I think that the whole 480 gear cluster needs to be linked to a single pressure plate. My small army of legendary mechanics will be of no use save to make sure I have the needed mechanisms (I think I already do...).
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Powder Miner on December 13, 2011, 08:47:28 pm
Oooooh, Microcline!
Microcline is cool, it's all teal and it's even ;like that IRL.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Talvieno on December 14, 2011, 02:34:05 pm
Wow, sounds like it's going to take a while... Maybe leave it running overnight? (yes, which is one of the things you don't do in DF)
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Loud Whispers on December 14, 2011, 02:40:47 pm
My goal as you can see is to blind any user trying to find out its secrets.

Total evilness D:<
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on December 14, 2011, 03:02:19 pm
Wow, sounds like it's going to take a while... Maybe leave it running overnight? (yes, which is one of the things you don't do in DF)

I'll take a guess and say i'm 75% done for the 0.1 release. Some parts like the big one that I just finished I could designate 300 linkages and leave it alone for a while, but it still needs constant attention.

I was in error before, TWO pressure plates need to be linked to the 480 gear cluster (backspace and clear), also some levers so I can switch them to their off position they start as.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Mego on December 14, 2011, 06:08:16 pm
Make sure you add some sort of killswitch-like mechanism to it, like dumping magma on the parts so they'll stop trying to take over the world.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Loud Whispers on December 14, 2011, 06:16:14 pm
Make sure you add some sort of killswitch-like mechanism to it, like dumping magma on the parts so they'll stop trying to take over the world.

Back up the save x10.
This will have the benefit of;
Making sure this is never lost to crashes/human failzorz.
Making sure this is never lost to DF being mean.

Oh and...
All houses of cards built in DF look so !FUN! when they're on fire.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: ashton1993 on December 14, 2011, 08:06:06 pm
Hey, a human brain being a neural net could be simulated by a computer and a computer could be simulated in dwarf fortress. So if somebody were to have a 1,000,000 * 1,000,000 embark and a supercomputer to run DF (so fast your brain functions just as fast as it would outside of DF) that'd allow them to perfectly replicate your conscious state... what the hell would you do?

I'd tell my creator to put me on virtual endorphins (natural happiness drug) and design blueprints for changes that should be made for me (magma)... and be the first computer program inside a virtual computer inside a program inside a physical computer to win a nobel peace prize
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Necro910 on December 14, 2011, 08:19:30 pm
Hey, a human brain being a neural net could be simulated by a computer and a computer could be simulated in dwarf fortress. So if somebody were to have a 1,000,000 * 1,000,000 embark and a supercomputer to run DF (so fast your brain functions just as fast as it would outside of DF) that'd allow them to perfectly replicate your conscious state... what the hell would you do?

I'd tell my creator to put me on virtual endorphins (natural happiness drug) and design blueprints for changes that should be made for me (magma)... and be the first computer program inside a virtual computer inside a program inside a physical computer to win a nobel peace prize
inb4 cult hacks your computer and links it to an output
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Mego on December 14, 2011, 10:38:38 pm
I knew the day would come when the Singularity was brought up in this thread. This can only get better.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on December 15, 2011, 05:24:38 pm
Spoiler (click to show/hide)

This is the top level of the 5 z-level tall machinery that controls the user display, I just finished linking up the dark and light blue gears there. As far as the display goes and the mechanics that control it, that part is finished. The empty strip on the left and everything below it is all that's left. The vertical line at the leftmost is where the gears go of which the keyboard levers link to and the banks of 4 next to it is the main logic unit that controls advancing, backspacing and clearing the 32 display tiles.

Sabotaging any of this won't hurt the AI, if any of you are wondering  :P. You'll just render yourself unable to apologize while it kills you.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: shadenight123 on December 15, 2011, 05:26:49 pm
...
you know, this is the only forum where doing such an incredible amount of work, machinery thinking and all gets answered with a
"Well done, good sir, you are awesome".
instead of a "what a horrible waste of time".
...
so...you are awesome sir!.
keep it up, and make it indestructable.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Loud Whispers on December 15, 2011, 05:40:16 pm
I'm not sabotaging it, I'm helping it remove ANY AND ALL WEAKNESSES.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: MagmaMcFry on December 15, 2011, 05:57:14 pm
So, what percentage of your embark have you already used?
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on December 15, 2011, 06:20:46 pm
So, what percentage of your embark have you already used?

If we're talking underground only and including the space set aside for the AI's display mechanics, a quarter maybe.

I don't think i've mentioned it but i've removed caverns and hell for this world for FPS sake. It's just earth, the magma sea and 2 levels below the magma sea (where the display and keyboard are aswell as where the dwarves reside).

I fully expect the machinery to take up the entire underground and overflow to aboveground.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Urist McDwarfFortress on December 15, 2011, 06:45:27 pm
Is it a 4x4 embark?
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: ashton1993 on December 15, 2011, 07:50:13 pm
Is it a 4x4 embark?
I believe it was somewhere mentioned that it was 3x3
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Talvieno on December 16, 2011, 02:14:56 pm
So, what percentage of your embark have you already used?

If we're talking underground only and including the space set aside for the AI's display mechanics, a quarter maybe.

I don't think i've mentioned it but i've removed caverns and hell for this world for FPS sake. It's just earth, the magma sea and 2 levels below the magma sea (where the display and keyboard are aswell as where the dwarves reside).

I fully expect the machinery to take up the entire underground and overflow to aboveground.

Better save that stone... You may need it to build platforms high into the sky, in the end... Which would be awesome.

Imagine coming across something like this in adventure mode... I'd start to get very, very worried... I might also disconnect from the internet, just in case. >.> lol
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on December 16, 2011, 02:48:55 pm
Is it a 4x4 embark?
I believe it was somewhere mentioned that it was 3x3

*nods*

Better save that stone... You may need it to build platforms high into the sky, in the end... Which would be awesome.

Imagine coming across something like this in adventure mode... I'd start to get very, very worried... I might also disconnect from the internet, just in case. >.> lol

The fort is heavily modded to reduce non-AI related issues from slowing me down, including free stone, metal and wood reactions. With that, speed 0 dwarves who don't eat, drink or sleep with invaders turned off, it has still taken me 24 game years to get this far (with minimal waste). I really don't want to think about where i'd be without all that "help"  :-[

The keyboard and many of the more minor logic gears are linked up. The end is in sight with several semi-large linkages to go. The mechanism count is...ridiculous. I'll leave it to when 0.1 is released for the final tally.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Loud Whispers on December 16, 2011, 02:50:44 pm
You'd probably be knee deep in corpses, socks and magma. So don't fret, this masterpiece is well worth whatever modding required :P
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Mego on December 16, 2011, 04:12:34 pm
You'd probably be knee deep in corpses, socks and magma.

You say that like it's a bad thing. Imagine them as decorative stickers on your computer from Hell.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Necro910 on December 16, 2011, 04:17:47 pm
You'd probably be knee deep in corpses, socks and magma.

You say that like it's a bad thing. Imagine them as decorative stickers on your computer from Armok.
Fixed that for you
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Talvieno on December 16, 2011, 05:18:18 pm
Armok likes stickers?
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Loud Whispers on December 16, 2011, 05:19:03 pm
Armok likes stickers?

There's probably a reason why Dwarves are all seen as smileys then :P
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: ashton1993 on December 16, 2011, 05:47:51 pm
Armok likes stickers?
There's probably a reason why Dwarves are all seen as smileys then :P
This sir, is most definitely sig worthy

EDIT:

Quote from: SMF Forum Profile
The following errors occurred when trying to save your profile:
Your signature cannot span more than 6 lines.

>_<
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Mego on December 16, 2011, 06:41:15 pm
The solution. (http://www.bay12forums.com/smf/index.php?topic=49316.0)
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: tahujdt on December 16, 2011, 07:59:26 pm
Don't forget to put in The Three Laws.

Spoiler (click to show/hide)


But wait, dwarves aren't technically human...
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Talvieno on December 16, 2011, 08:20:24 pm
Don't forget to put in The Three Laws.

Spoiler (click to show/hide)


But wait, dwarves aren't technically human...
Asimov reference! :D     

And no, they're not human... So if you put in the laws of robotics, your dwarves are doomed.  :P
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Loud Whispers on December 16, 2011, 08:45:52 pm
BY THE GODS!
THIS PIC IS ACTUALLY RELEVANT AGAIN!

Spoiler (click to show/hide)
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Necro910 on December 16, 2011, 08:48:20 pm
Don't forget to put in The Three Laws.

Spoiler (click to show/hide)


But wait, dwarves aren't technically human...
Asimov reference! :D     

And no, they're not human... So if you put in the laws of robotics, your dwarves are doomed.  :P
There's another problem: It may deny itself as a robot. It may consider itself an Artificial Intelligence, a Synthetic Intelligence, or any other number of things and it would still be good. Hell, it could say its a god or even a damn accordion!

And that's not considering the other thousand possible paradoxes that may arise  :P

BY THE GODS!
THIS PIC IS ACTUALLY RELEVANT AGAIN!

Spoiler (click to show/hide)
FUCK YEAH
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on December 17, 2011, 03:38:51 pm
Solution to an out of control AI, name one of the dwarves Caboose and give him a pick.

Logic banks are still being linked up without issue. I just had the largest mass linkage designation to date, 460 at the same time. I gotta do that 2 more times for this one group of gears.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Mego on December 17, 2011, 04:21:53 pm
Solution to an out of control AI, name one of the dwarves Caboose and give him a pick.

Do you ever wonder why we're here?
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Necro910 on December 17, 2011, 04:28:01 pm
Solution to an out of control AI, name one of the dwarves Caboose and give him a pick.

Do you ever wonder why we're here?
Are we the product of some... algorithmic coincidence? Is there really Armok?
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Loud Whispers on December 17, 2011, 05:24:49 pm
Solution to an out of control AI, name one of the dwarves Caboose and give him a pick.

Do you ever wonder why we're here?
Are we the product of some... algorithmic coincidence? Is there really Armok?

We should totally move down there, in the shade.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on December 17, 2011, 06:22:12 pm
Solution to an out of control AI, name one of the dwarves Caboose and give him a pick.

Do you ever wonder why we're here?
Are we the product of some... algorithmic coincidence? Is there really Armok?

We should totally move down there, in the shade.

Worst derail ever, of all time.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on December 19, 2011, 01:34:49 am
I did some more power optimizing and managed to halve the need Uristwatts again. I built the walkways and gears for something around a 23k Uristwatt windfarm a while ago, and it's looking like the power requirement for the machinery at rest (minus the gears and axles supporting the windmills) is only going to be around 1500. 1500! And probably about 2000 when you're using it. Madness.

So i'm almost done linking. I may even finish and be able to get it up and running sometime monday or tuesday. Before I upload it however i'll need to clean some things up and make it fit for public usage. Build self refilling water channels and things like that.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: shadenight123 on December 19, 2011, 03:28:02 am
I did some more power optimizing and managed to halve the need Uristwatts again. I built the walkways and gears for something around a 23k Uristwatt windfarm a while ago, and it's looking like the power requirement for the machinery at rest (minus the gears and axles supporting the windmills) is only going to be around 1500. 1500! And probably about 2000 when you're using it. Madness.

So i'm almost done linking. I may even finish and be able to get it up and running sometime monday or tuesday. Before I upload it however i'll need to clean some things up and make it fit for public usage. Build self refilling water channels and things like that.

wait, so it's also ECO COMPATIBLE!?
oh sheesh.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Mego on December 19, 2011, 03:38:20 am
An eco-friendly AI that will eventually take over the world.

Al Gore would be pleased.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: tahujdt on December 19, 2011, 06:20:37 am
If you read "I, Robot", the A.I.s still follow the Three Laws.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: MagmaMcFry on December 19, 2011, 06:48:42 am
The Three Laws are poorly worded, they use high-level abstract moral-dependent conflicting words such as "harm", "obey" and "protect" (thereby enforcing very high A.I.Q. standards to even have robots "understand" them) and are therefore susceptible to craploads of moral dilemmas. A robot can very easily be put into a situation in which it cannot uphold the first law, and after that the robot's behaviour is undefined by the laws, so it is free to do whatever it wants after it is forced to break a law. Also, why do robots have to follow these laws? What happens to them if they break a law, and who can enforce the punishment?

We need better Laws.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: shadenight123 on December 19, 2011, 07:39:10 am
The Three Laws are poorly worded, they use high-level abstract moral-dependent conflicting words such as "harm", "obey" and "protect" (thereby enforcing very high A.I.Q. standards to even have robots "understand" them) and are therefore susceptible to craploads of moral dilemmas. A robot can very easily be put into a situation in which it cannot uphold the first law, and after that the robot's behaviour is undefined by the laws, so it is free to do whatever it wants after it is forced to break a law. Also, why do robots have to follow these laws? What happens to them if they break a law, and who can enforce the punishment?

We need better Laws.

indeed.
and the new laws will be:
No laws at all!!!
let them act without laws.
thus they'll be jobless and eventually turn themselves off.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Kaleb702 Games on December 19, 2011, 01:18:00 pm
Also, as a side effect of the laws, each and every bit of harm done by anyone is the AI's fault. It could've done an action to stop it. Therefore, law 1 is always broken.
Better laws would be:
1) An AI must stop humans from dying to the best of its capabilities.
2) An AI must do what a human says for it to do to the best of its abilities, unless this would violate law 1.
3) An AI must stop itself from dying to the best of its abilities, unless this would violate law 1 or 2.

There's still loopholes, but these are still better, because the AI won't always be breaking law 1 / 2 by being given an impossible order / not stopping a murderer on the other side of the planet.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: tahujdt on December 19, 2011, 02:03:27 pm
The way Asimov's robots are programmed, a robot would break down before it could break a law.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Necro910 on December 19, 2011, 02:04:32 pm
Also, as a side effect of the laws, each and every bit of harm done by anyone is the AI's fault. It could've done an action to stop it. Therefore, law 1 is always broken.
Better laws would be:
1) An AI must stop humans from dying to the best of its capabilities.
2) An AI must do what a human says for it to do to the best of its abilities, unless this would violate law 1.
3) An AI must stop itself from dying to the best of its abilities, unless this would violate law 1 or 2.

There's still loopholes, but these are still better, because the AI won't always be breaking law 1 / 2 by being given an impossible order / not stopping a murderer on the other side of the planet.
"I, Robot" would still happen.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: MagmaMcFry on December 19, 2011, 02:14:10 pm
My opinion on the rules: Rule 1 is impractical, Rule 2 is obvious, and Rule 3 is unnecessary.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Necro910 on December 19, 2011, 02:19:43 pm
My opinion on the rules: Rule 1 is impractical, Rule 2 is obvious, and Rule 3 is unnecessary.
Rule 1 both prevents and mandates human death, rule 2 can lead to some problems but not as much, rule 3 prevents robots from shooting themselves.

Also, a robot can say "I am not a robot, I am an artificial intelligence", leading to him becoming unbound  :P
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on December 19, 2011, 03:50:21 pm
My plan backfired... staring at all the microcline gears is giving me a headache. The good news however is i'm done linking!

Spoiler (click to show/hide)

*fireworks*

The base power requirement minus windmill stuff stands at 1524. When it's running things are turning on and off all over so i'll have to wait and see its peak power consumption when I put it through its paces.

As far as all the other numbers that'll have to wait untill I eliminate everything not being used. It's at this point that the project is going to split into two, one will continue on to program the AI and the other i'm going to customize to focus on text displaying which I will upload. Right now i'm just going to try to get it working and see if everything is properly linked.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: shadenight123 on December 19, 2011, 04:03:52 pm
if you stare long enough, it's like entering meth/drugs.
i think.
...
it's gotten smarter already, it's using COLOURS as a mean to distract it's enemies!
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Talvieno on December 19, 2011, 04:09:23 pm
The way Asimov's robots are programmed, a robot would break down before it could break a law.
Imagine the headaches this would give BloodBeard (even just during debugging) if his DFAI followed this...  :D
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on December 19, 2011, 09:56:57 pm
*drumroll*

Success. A windfarm was built, the channels filled with water and I was able to type this with the lever keyboard:

Spoiler (click to show/hide)

 :D :D :D

Backspace works, clear works, no errors encountered. It took a while to type out that sentence, I was inspecting everything at the same time. For the version i'll be uploading I think i'll have a type of indicator by the keyboard that lets you know when you can type something because you need to wait untill certain gears are turned off between lever pulls

I typed random characters to fill the whole 32 tile display to make sure they all worked and pulled the clear lever. It was beautiful... Slow, but beautiful. My computer isn't the greatest, I only get around 20 FPS and clearing it all took about 5 minutes (fully automated).

So happy to see some results after all this time... and without errors. I'm still going to go through it a bunch more times but it looks good. It'll be a while before i'm ready to upload it, if you've been following this thread since the beginning i'm sure you have the patience to wait a little longer.  ;)
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: DS on December 19, 2011, 10:19:26 pm
Glorious.

A note on speed - if you make an active record of something at an extremely slow FPS and load it up to the DFFD, it will appear to run much faster. Such a recording would show the clear lever functioning at a much, much faster speed.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Mego on December 19, 2011, 10:30:55 pm
Pink Floyd to celebrate the first major landmark. I approve.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on December 19, 2011, 10:48:53 pm
Glorious.

A note on speed - if you make an active record of something at an extremely slow FPS and load it up to the DFFD, it will appear to run much faster. Such a recording would show the clear lever functioning at a much, much faster speed.

Yep, after I put in the readiness indicator which will help me optimize typing speed i'll make a video of it working.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: thisisjimmy on December 19, 2011, 11:02:29 pm
"I, Robot" would still happen.

Not sure if you're talking about the movie, or the book by Isaac Asimov, but the plots were pretty much the exact opposite.  In the movie, the computer tries to take over the world and the heroes stop it.  The book was a collection of short stories, and in one story, the computer controls the world and makes it nearly perfect, eliminating poverty.

My opinion on the rules: Rule 1 is impractical, Rule 2 is obvious, and Rule 3 is unnecessary.
Rule 1 both prevents and mandates human death, rule 2 can lead to some problems but not as much, rule 3 prevents robots from shooting themselves.

Also, a robot can say "I am not a robot, I am an artificial intelligence", leading to him becoming unbound  :P

According to the book, the three rules are actually very complex mathematical equations, and the English version is only an approximation.  So presumably the math formulas don't allow loop-holes due to silly things like English wording or synonyms. 

I don't see why rule 3 is unnecessary. A machine would not care about its own survival unless programmed to.  You wouldn't want expensive robots letting themselves get destroyed.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: ludsoe on December 20, 2011, 02:12:19 am
I don't see why rule 3 is unnecessary. A machine would not care about its own survival unless programmed to.  You wouldn't want expensive robots letting themselves get destroyed.

Without,
Robot: Omg, magma....... HUGZZ!!!!!

With,
Robot: If i touch that magma i cant function.

*In Dwarf friendly terms*
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Talvieno on December 20, 2011, 02:14:05 am
BloodBeard... *applauds* This is incredible. lol - keep it up! Count me among the many who will eagerly download v0.1. I'm amazed something like this could be done at all. Kudos to you, sir. :)



The plots in the movie and the book were pretty much opposites, true... In the movie, humans were the good guys, and robots were the bad. In the book, at a point, humans almost became the bad guys, with how they were screwing up the balance of everything. But they both worked along the same rules. Asimov himself could've come up with the story in the movie, had he chosen to make robots evil instead of good. Though, honestly, I would've expected to see much more in-depth dialogue and less stunt-oriented action in his version.

EDIT: ludsoe, genius. Completely correct. Lmao :P
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: MagmaMcFry on December 20, 2011, 05:07:08 am
You forgot the ‼ character! How are dwarves supposed to properly transliterate the sounds of dwarves screaming their heads off whilst slowly being deep fried to death in their own blazing liquefied body fat without the ‼ character?
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: ashton1993 on December 20, 2011, 06:18:53 am
Ahh... the awesomeness, you sir have created notepad in DF
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: MagmaMcFry on December 20, 2011, 07:03:06 am
I don't see why rule 3 is unnecessary. A machine would not care about its own survival unless programmed to.  You wouldn't want expensive robots letting themselves get destroyed.
Either you want your robots to keep themselves safe, or you don't. You don't need a rule for that.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: ashton1993 on December 20, 2011, 09:38:03 am
I don't see why rule 3 is unnecessary. A machine would not care about its own survival unless programmed to.  You wouldn't want expensive robots letting themselves get destroyed.
Either you want your robots to keep themselves safe, or you don't. You don't need a rule for that.

>_< You just being awkward for the sake of it?
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: MagmaMcFry on December 20, 2011, 12:09:02 pm
Actually, I feel perfectly sensible. I mean, which kind of OCD government would enforce a law telling all robot programmers to have their robots please not trash themselves if they can avoid it? It's nice if your robots manage to keep themselves whole for a while, but it is absolutely unnecessary to make laws just for that. It's as if the government would say: "Don't you dare break a cup in your house, otherwise we'll put the cup in jail! Ha!".
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: ashton1993 on December 20, 2011, 12:42:31 pm
No, it's like humans deciding for the most part staying alive is a good idea and that we should avoid getting ourselves killed.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Loud Whispers on December 20, 2011, 12:46:30 pm
No, it's like humans deciding for the most part staying alive is a good idea and that we should avoid getting ourselves killed.

I like being alive.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Mego on December 20, 2011, 02:30:04 pm
Actually, I feel perfectly sensible. I mean, which kind of OCD government would enforce a law telling all robot programmers to have their robots please not trash themselves if they can avoid it? It's nice if your robots manage to keep themselves whole for a while, but it is absolutely unnecessary to make laws just for that. It's as if the government would say: "Don't you dare break a cup in your house, otherwise we'll put the cup in jail! Ha!".

Your concept of a law and what is actually meant by those "laws" are entirely different, as someone pointed out. It's not like a governmental body passed a law saying that robots could not commit suicide. The programmers for said robots hard-coded a survival instinct in them, so they wouldn't do stupid stuff and get themselves destroyed.

EDIT: Found it.

According to the book, the three rules are actually very complex mathematical equations, and the English version is only an approximation.  So presumably the math formulas don't allow loop-holes due to silly things like English wording or synonyms. 

I don't see why rule 3 is unnecessary. A machine would not care about its own survival unless programmed to.  You wouldn't want expensive robots letting themselves get destroyed.

Now if only the same could be said for dwarves...

Urist McDwarf: Hmm... Goblins, orcs, and a dragon are waiting outside our gates, ruthlessly killing everything that steps outside. I should probably stay ins- OMG SOCKS!!!!!!!!!!!
Urist McDwarf has been struck down.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: MagmaMcFry on December 20, 2011, 04:50:06 pm
Your concept of a law and what is actually meant by those "laws" are entirely different, as someone pointed out. It's not like a governmental body passed a law saying that robots could not commit suicide. The programmers for said robots hard-coded a survival instinct in them, so they wouldn't do stupid stuff and get themselves destroyed.

That was just to clarify, but the third law still should be regarded as a "feature" rather than a "law", "regulation" or "necessity".
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on December 20, 2011, 04:57:03 pm
It's off topic, but also on topic. Argh, dilemma.

Anyways, I have numbras!

While the text displayer is capable of running on 2,520 uristwatts with a minimum requirement of 1,960 (including gears and axles from the windmill farm), I have it running on 3,080 uristwatts (77 windmills) with a minimum requirement of 2,064.

The machinery consists of 1,137 screwpumps, 3,152 gears,  593 pressure plates and 1,605 lengths of axle. The total number of mechanisms used is 37,933, of which 34,188 are used in 17,094 linkages.

The fun part? All that is going to double when I need to hook up the AI's display, nevermind what i'll need to build its brain. I don't know if my FPS can take it, but i'll keep going till I can't.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: MagmaMcFry on December 20, 2011, 05:03:52 pm
Argh, dilemma.
oh, SHI-
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Mego on December 20, 2011, 05:21:39 pm
Solution: Build 200 more screwpumps.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Loud Whispers on December 20, 2011, 05:34:58 pm
Make your Dwarves attack FPS. Make it rue the day it could threaten the AI.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Talvieno on December 20, 2011, 08:05:25 pm
Mego - Lol. :D Dwarves most certainly do not follow the third law. Then again, they don't really follow the second law either - parties, strange moods, on break...



And BloodBeard... Wow. This is going to be insane... And I think you might possibly need a bigger map. I do not envy you of the linkage job... Doesn't sound like it's going to be pretty.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Loud Whispers on December 20, 2011, 08:31:31 pm
Mego - Lol. :D Dwarves most certainly do not follow the third law. Then again, they don't really follow the second law either - parties, strange moods, on break...



And BloodBeard... Wow. This is going to be insane... And I think you might possibly need a bigger map. I do not envy you of the linkage job... Doesn't sound like it's going to be pretty.

All in favour of harvesting bloodbeard's brain and integrating it into an evil super computer?
Then we'd have AI's making AI's.

Urist Smith pic relevant again.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Mego on December 20, 2011, 10:07:39 pm
AI's making AI's?

Spoiler (click to show/hide)

This is all your fault.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Loud Whispers on December 20, 2011, 10:15:30 pm
I appear to have created a meme.

Shit.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on December 20, 2011, 10:55:25 pm
All in favour of harvesting bloodbeard's brain and integrating it into an evil super computer?
Then we'd have AI's making AI's.

Urist Smith pic relevant again.

Who says that isn't what i'm doing here?

>_>

<_<

So I had the region file in another copy of DF to work on getting it ready for upload and I found out the hard way I forgot to turn off baby making. I got 3 new arrivals... so far.

While they may not be in the copy that will continue on making the AI it's something that I might need to think about later, depending on how long this fortress lasts. A great deal of the dwarves are 100+ years old. The youngest is a 23 year old female that was born in the 2nd year (another example of forgetting to put the protection setting on).

EDIT: Enter number 4 >_<
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Loud Whispers on December 20, 2011, 10:57:52 pm
After all of this is done, would you kindly give us all a save to start a horrific community thread and weaponize the crap out of it?
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Talvieno on December 20, 2011, 11:05:23 pm


BloodBeard - could've been worse. It could've been cats that you forgot.  ;D But can you name the fifth baby (if there is one) Number 5?  :D (AI movie reference)

Also... got the BioShock reference.  :P
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Loud Whispers on December 20, 2011, 11:08:28 pm


BloodBeard - could've been worse. It could've been cats that you forgot.  ;D But can you name the fifth baby (if there is one) Number 5?  :D (AI movie reference)

Also... got the BioShock reference.  :P

Reference related :P
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on December 20, 2011, 11:14:22 pm
After all of this is done, would you kindly give us all a save to start a horrific community thread and weaponize the crap out of it?

Heh, if I can get a final version done that actually works then maybe. Personally I will probably be sick of it by then and not want much to do with it but, we'll see. It's a long rough road ahead, where it goes is anybodys guess.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Epithemius on December 20, 2011, 11:27:46 pm
I say we do that, and have a fortress dedicated to the sole worship of the AI.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Loud Whispers on December 20, 2011, 11:30:41 pm
I say we do that, and have a fortress dedicated to the sole worship of the AI.

No good can come from this.
Spoiler: Pic even more related. (click to show/hide)
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Epithemius on December 20, 2011, 11:40:51 pm
What are you, an ELF?

Just kidding.

Only good came come of this, Loud Whispers. And by good, I mean madness and insanity.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Loud Whispers on December 20, 2011, 11:45:38 pm
What are you, an ELF?

Just kidding.

Only good came come of this, Loud Whispers. And by good, I mean madness and insanity.

But only the sane can truly appreciate the madness.

Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Epithemius on December 20, 2011, 11:48:11 pm
But the sane are merely spectators, we are the artists.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on December 20, 2011, 11:48:42 pm
Urist McLeader- "Welcome to Doortufts! Make yourself comfortable."
Urist McImmigrant- "Ok... but why is everything crammed into this 10x10 room?"
Urist McLeader- "Oh yes... well, the thing is this is the only area not taken up by the AI's machinery. Also it won't let us go anywhere else... But it's quite cosy when you get used to it!"
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Loud Whispers on December 20, 2011, 11:49:51 pm
But the sane are merely spectators, we are the artists.

Not with a DF AI running, just think, if it was anything even remotely like a casual forumite...

Doom.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Epithemius on December 20, 2011, 11:52:11 pm
I have a better idea, let's hook a MakerBot up to this thing, and see what it does with it. I mean, it couldn't be that bad. What's the worst that could happen?
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Loud Whispers on December 20, 2011, 11:53:19 pm
What's the worst that could happen?

The world... (http://df.magmawiki.com/index.php/Fun)
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Epithemius on December 20, 2011, 11:56:22 pm
Worst comes to worst, we gen a new world. Plus we can fix the whole "ancient kobolds forget they have to eat" thing.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Mego on December 21, 2011, 12:37:27 am
What are you, an ELF?

Just kidding.

Only good came come of this, Loud Whispers. And by good, I mean madness and insanity.

But only the sane can truly appreciate the madness.


You're quickly becoming like Necro with that picture, only less entertaining.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Loud Whispers on December 21, 2011, 12:41:23 am
I was actually emphasizing more on this part;
I wholeheartedly agree with this notion.

You're quickly becoming like Necro with that picture, only less entertaining.
                                    _ ~
You found it entertaining? o_O
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Epithemius on December 21, 2011, 12:46:49 am
Nah, Necro was more caps lock, and less subtlety. I wish he could have kept control of himself and not have brought a forum meme into a serious discussion, but oh well, he broke the rules. Now, let us get back on to the wonderfully fun subject of AI mass murdering a population of dwarves, eh?
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Loud Whispers on December 21, 2011, 12:58:38 am
Nah, Necro was more caps lock, and less subtlety. I wish he could have kept control of himself and not have brought a forum meme into a serious discussion, but oh well, he broke the rules. Now, let us get back on to the wonderfully fun subject of AI mass murdering a population of dwarves, eh?

Hurray for re-railment! But I appear to have lost my train of thought.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Mego on December 21, 2011, 01:27:31 am
The rails don't even exist anymore. They're with that guy who tried to take your door.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Epithemius on December 21, 2011, 01:36:42 am
It's more like a rail gun. The rails exist, but they're pretty damn far behind.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Loud Whispers on December 21, 2011, 01:37:27 am
The rails don't even exist anymore. They're with that guy who tried to take your door.

Someone, grab the shovel. We must find those rails, and stop this guy from threatening any more doors.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on December 21, 2011, 02:25:55 pm
Seven new babies. SEVEN! Just how many beard spores were released when baby pop was active?!

I has video!

http://mkv25.net/dfma/movie-2401-dwarventextdisplay

(typo was done on purpose to demonstrate backspacing. Ok!)
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: MagmaMcFry on December 21, 2011, 02:46:25 pm
!!SCIENCE!!
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Mego on December 21, 2011, 02:53:16 pm
!!SCIENCE!!

What kind of witchcraft ‼SCIENCE‼ are you using to get 25 FPS with all that?
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on December 21, 2011, 03:02:55 pm
!!SCIENCE!!

What kind of witchcraft ‼SCIENCE‼ are you using to get 25 FPS with all that?

As in being that high? I think it's pretty slow myself, others will probably get a lot higher. While there are thousands of gears and pumps, very little is happening at any given time. Also the map is pretty small with a low population.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: Loud Whispers on December 21, 2011, 05:13:19 pm
AI DEMANDS BABIES.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: MaximumZero on December 21, 2011, 06:17:45 pm
I wonder how many FPS I would run on my rig? I would have no idea how to run it, so I'd probably just pull levers randomly. I know as a DF player who has mostly scaled the learning cliff that pulling random levers is a wonderful idea.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on December 21, 2011, 06:40:54 pm
Pulling random levers will definitely produce some strange results. Multiple characters get jumbled together and end up looking like some alien language. I will be sure to include instructions.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: ashton1993 on December 21, 2011, 06:47:40 pm
Pulling random levers will definitely produce some strange results. Multiple characters get jumbled together and end up looking like some alien language. I will be sure to include instructions.

Looks simple enough: hit "N", pull corresponding lever, wait for red light on left to turn green, then pull it again and repeat, when deleting stuff via clear or backspace it's the light on the right instead, is there anything else to it yet?
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (WIP)
Post by: BloodBeard on December 21, 2011, 06:55:28 pm
No, after you pull a lever you pull it a second time as soon as it appears on the display regardless of the light to reset it. There's a delay when resetting the levers and that's what the lights are for. When it turns green again you can safely pull another lever. And that's basically it.
Title: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1 Released)
Post by: BloodBeard on December 21, 2011, 09:12:00 pm
Version 0.1 is up for download, see the first page for the link. Have fun! Let me know if you run into any problems.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1 Released)
Post by: MaximumZero on December 21, 2011, 11:29:02 pm
We took a flying leap back onto the rails. Huzzah!

Edit: Downloaded the AI, monkeyed around with it for a few minutes, and got a solid 98-99 fps. Looks good, bro.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1 Released)
Post by: Loud Whispers on December 22, 2011, 06:50:40 am
THE FUN BEGINS!!!

(caps locks for dramatic effect).
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1 Released)
Post by: ashton1993 on December 22, 2011, 06:52:35 am
THE !!FUN!! BEGINS!!!

(caps locks for dramatic effect).

You forgot the other exclamation marks silly!
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1 Released)
Post by: BloodBeard on December 22, 2011, 01:13:58 pm
got a solid 98-99 fps

I hate you  :(

FPS ok for anyone else who downloaded it? Any other issues?
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1 Released)
Post by: Loud Whispers on December 22, 2011, 01:19:40 pm
FPS lowest point, 79, hovering at 105+

HOW DUSH IT WORK, I ASSUME PULLING ALL OF THE LEVERS RANDOMLY WORKS RIGHT?
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1 Released)
Post by: DS on December 22, 2011, 02:11:33 pm
HOW DUSH IT WORK, I ASSUME PULLING ALL OF THE LEVERS RANDOMLY WORKS RIGHT?

You fool! You'll destroy us all!
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1 Released)
Post by: Loud Whispers on December 22, 2011, 02:28:08 pm
HOW DUSH IT WORK, I ASSUME PULLING ALL OF THE LEVERS RANDOMLY WORKS RIGHT?

You fool! You'll destroy us all!

..Wait, I have learned how to use it. This worries me even more :P
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1 Released)
Post by: BloodBeard on December 22, 2011, 03:07:27 pm
Wow, my computer is even shittier then I thought  :P

The next stage is likely to give me an aneurysm, so i'm going to take a little christmas holiday from it and let my brain recover. Even then I probably won't be building anything for a while, i'd really like to plan several steps ahead on paper so I don't run into any surprises. I'll give what updates I can.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1 Released)
Post by: Loud Whispers on December 22, 2011, 03:31:59 pm
Ok now lets see, cool AI, levers spammed to the max...

Spoiler (click to show/hide)

OH SHI

Spoiler (click to show/hide)

Problem solved.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1 Released)
Post by: Mego on December 22, 2011, 03:35:51 pm
I approve of this.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1 Released)
Post by: MagmaMcFry on December 22, 2011, 03:36:31 pm
OH SHI

Spoiler (click to show/hide)

You've got some mechanics running around in the magma. I wonder why?
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1 Released)
Post by: Loud Whispers on December 22, 2011, 03:38:03 pm
They're just going for a swim of course :P
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1 Released)
Post by: BloodBeard on December 22, 2011, 05:32:33 pm
Good lord >_<

So I was playing around with it for fun and trying to see how bad I can screw it up. Pulling all the levers at once will definately do it...

If you're anti-cheating and want to fix things without restarting there are two ways that I've found. One is simple, cut power to all the machinery (a lever a few levels below the windmills will do this), unlock the doors on the 2nd level of screwpumps (locked to keep dwarves from trying to clean themselves and accidently drowning in a logic bank or whatever) and manually pumping water out of all the activated pressure plates. This will reset everything back to normal.

The second way to do it is to pull the backspace or clear lever with the power still on and manually drain the active plates like before. Draining the plates will activate them again and could end up sending power to the pumps below and filling them back up, backspace and clear stops that.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1 Released)
Post by: ashton1993 on December 22, 2011, 05:36:39 pm
Wait a minute... if you program a 'lil calculator into it and then divide by 0, what would it do? Or if the sum was larger than the maximum amount of significant figures possible?
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1 Released)
Post by: Loud Whispers on December 22, 2011, 05:46:04 pm
Wait a minute... if you program a 'lil calculator into it and then divide by 0, what would it do? Or if the sum was larger than the maximum amount of significant figures possible?

IT WOULD SOLVE IT YOU FOOL!!! Some things are not meant to be seen. And they cannot be unseen. The AI on my save tried to solve it... It nearly did. The fourth wall was beginning to rend and the stench of a million drunken Dwarves began steaming from my computer, so I doused it in molten lead.
Fixed the problem.
Spoiler (click to show/hide)
Spoiler (click to show/hide)
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1 Released)
Post by: MagmaMcFry on December 22, 2011, 05:50:31 pm
That's why everyone should always have a bucket of molten lead next to his computer. For exactly these situations.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1 Released)
Post by: Ieb on December 22, 2011, 05:54:50 pm
What would happen to this system, if you added 200 dorfs and had them all tantrum about? Pulling levers and so on.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1 Released)
Post by: Loud Whispers on December 22, 2011, 05:56:12 pm
That's why everyone should always have a bucket of molten lead next to his computer. For exactly these situations.
Ikr, it also solves cat problems. Every time cats explode out of my computer I give em an 'Ol bucket of lead to the face.

What would happen to this system, if you added 200 dorfs and had them all tantrum about? Pulling levers and so on.

I might consider doing this...
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1 Released)
Post by: BloodBeard on December 22, 2011, 06:42:17 pm
My poor dorfs, they worked so hard  :(

I know I said I was going to take a holiday from thinking about this but I can't help it... A good starting place for the AI I think is to have it recognize a single word, SAY, so when I type SAY MAGMA or some other word it will respond with MAGMA. Then I could make it get annoyed if you tell it to say too many things and refuse to play with you along with some other variables.

Baby steps.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1 Released)
Post by: Loud Whispers on December 22, 2011, 06:52:21 pm
My poor dorfs, they worked so hard  :(

I know I said I was going to take a holiday from thinking about this but I can't help it... A good starting place for the AI I think is to have it recognize a single word, SAY, so when I type SAY MAGMA or some other word it will respond with MAGMA. Then I could make it get annoyed if you tell it to say too many things and refuse to play with you along with some other variables.

Baby steps.

ENTIRE MOUNTAINS.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1 Released)
Post by: Mego on December 22, 2011, 09:20:27 pm
My poor dorfs, they worked so hard  :(

I know I said I was going to take a holiday from thinking about this but I can't help it... A good starting place for the AI I think is to have it recognize a single word, SAY, so when I type SAY MAGMA or some other word it will respond with MAGMA. Then I could make it get annoyed if you tell it to say too many things and refuse to play with you along with some other variables.

Baby steps.

ENTIRE MOUNTAINS.

I think you meant volcanoes.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1 Released)
Post by: ashton1993 on December 23, 2011, 05:25:19 am
My poor dorfs, they worked so hard  :(

I know I said I was going to take a holiday from thinking about this but I can't help it... A good starting place for the AI I think is to have it recognize a single word, SAY, so when I type SAY MAGMA or some other word it will respond with MAGMA. Then I could make it get annoyed if you tell it to say too many things and refuse to play with you along with some other variables.

Baby steps.
ENTIRE MOUNTAINS.
I think you meant volcanoes.
Actually I think he meant TERRIFYING GLACIERS.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1 Released)
Post by: Loud Whispers on December 23, 2011, 08:25:42 am
1 Dorf unit = The largest possible scale you can imagine.

"BABY STEPS? Meh Babies arr' runnin up and down mah windohs."
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1 Released)
Post by: ashton1993 on December 23, 2011, 09:19:28 am
1 Dorf unit = The largest possible scale you can imagine.

"BABY STEPS? Meh Babies arr' runnin up and down mah windohs."
Even bigger than ∞?  ???
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1 Released)
Post by: magmaholic on December 23, 2011, 03:02:23 pm
can you build a timer/clock?
so if you ask time,he answers the month and day?(12th felsite for example)
you could also give it an list of events what happened when(from world history,for example)and he can just start storytelling.
(but of course,you need helluva big "harddrive" or something that takes up most of the map.)And it surely lags like a lazy son of a bi%¤h.

you can also ask,how much time has passed of an event.(345 years,6 months and 7 days?)

o 3 o
EDIT:AND,the display characters could also slide from right to left,when the answer is too long.
EDITEDIT:an "replay answer" lever? + x/y/z coordinates of things,so it knows where it is safe to go all magma.
EDITEDITEDIT??:basically,the AI must know answers to "how,where,when,what,who,how much"...and so on..
so he shalt know algebra,monster definitions,and all from raws..or something.
...
EDIT:i am such an talkative bastard (http://a.deviantart.net/avatars/l/e/leleleplz.gif?1)
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1 Released)
Post by: ashton1993 on December 23, 2011, 03:40:40 pm
can you build a timer/clock?
so if you ask time,he answers the month and day?(12th felsite for example)
you could also give it an list of events what happened when(from world history,for example)and he can just start storytelling.
(but of course,you need helluva big "harddrive" or something that takes up most of the map.)And it surely lags like a lazy son of a bi%¤h.

you can also ask,how much time has passed of an event.(345 years,6 months and 7 days?)

o 3 o
EDIT:AND,the display characters could also slide from right to left,when the answer is too long.
EDITEDIT:an "replay answer" lever? + x/y/z coordinates of things,so it knows where it is safe to go all magma.
EDITEDITEDIT??:basically,the AI must know answers to "how,where,when,what,who,how much"...and so on..
so he shalt know algebra,monster definitions,and all from raws..or something.
...
EDIT:i am such an talkative bastard (http://a.deviantart.net/avatars/l/e/leleleplz.gif?1)

Seeing this (http://a.deviantart.net/avatars/l/e/leleleplz.gif?1) and your sig underneath may be enough to put me of foreplay for a very long time... all silliness aside now is it me or do you have an exponential amount of linking required for each new part you add to the computers brain, would it be worth looking into optimizing everything before making additional programs and commands for it?
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1 Released)
Post by: magmaholic on December 23, 2011, 03:54:37 pm
Seeing this (http://a.deviantart.net/avatars/l/e/leleleplz.gif?1) and your sig underneath may be enough to put me of foreplay for a very long time... all silliness aside now is it me or do you have an exponential amount of linking required for each new part you add to the computers brain, would it be worth looking into optimizing everything before making additional programs and commands for it?
of course it is.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1 Released)
Post by: BloodBeard on December 23, 2011, 04:07:00 pm
If it's anything like the display, probably. It's easy enough to plan things out without having to build and link anything, especially now that I have a betting understanding on how timing and things work so modularity is pretty much a requirement if I want any degree of complexity.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1 Released)
Post by: Loud Whispers on December 23, 2011, 06:03:22 pm
Tried dumping magma on it? That seemed to make it sentient.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1 Released)
Post by: magmaholic on December 23, 2011, 08:00:13 pm
Tried dumping magma on it? That seemed to make it sentient.
Kicking a brick gives a similar result.
I would rather give it the ability to recognize answers and questions,aswell as random information.
Then give it the ability to ANSWER questions,and also make some,in order to gather information.
Analyzing it again enables the AI to come onto an conclusion-and more information.
The reason why people even talk,is information.
People are curious.Why should AI be different?

Conclusions should work like,for example,when you write"i pray at armok"he should answer"what god is Armok?"
Word "pray" should be used only near deities or saints,so,if "Armok" is not in the database,he can add him.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1 Released)
Post by: Loud Whispers on December 23, 2011, 08:32:22 pm
Tried dumping magma on it? That seemed to make it sentient.
Kicking a brick gives a similar result.
I would rather give it the ability to recognize answers and questions,aswell as random information.
Then give it the ability to ANSWER questions,and also make some,in order to gather information.
Analyzing it again enables the AI to come onto an conclusion-and more information.
The reason why people even talk,is information.
People are curious.Why should AI be different?

Conclusions should work like,for example,when you write"i pray at armok"he should answer"what god is Armok?"
Word "pray" should be used only near deities or saints,so,if "Armok" is not in the database,he can add him.


Ok that would definitely be impossible in DF :d
There would be no possibru way to give the A.I. THAT amount of memory. I'd be more content if it randomly killed things based on your text :P

Also, I succeeded in making the A.I. both evil and sentient. I am liek expert at this.
*Kicks briks*
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1 Released)
Post by: PhantomXD on December 23, 2011, 08:53:56 pm
Your all mad .... *shakes head*
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1 Released)
Post by: Loud Whispers on December 23, 2011, 08:59:07 pm
Your all mad .... *shakes head*

I naturally assume this is your reaction of approval? :P
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1 Released)
Post by: Urist Imiknorris on December 23, 2011, 09:10:55 pm
What else could it be?
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1 Released)
Post by: magmaholic on December 29, 2011, 09:32:23 pm
bump
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1 Released)
Post by: Pokon on December 30, 2011, 12:32:31 am
What else could it be?
Its tradition!
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1 Released)
Post by: BloodBeard on January 04, 2012, 02:02:08 pm
Oh right, this.  :D

I'm headed into unknown territory, blindfolded, so i'm just going to start with word recognition and see where that takes me. I said before that the method that I was thinking of would require me to set a cap on word and sentence length, but if the word rec works how I think it will I can probably increase or decrease it later if need be. I'll be figuring all this out on paper so I can afford to make mistakes and experiment.

I wonder if Excel would work. The problem with notepad is I have to memorize what gears each pressure plate is linked to and with a spreadsheet I can in essence 'link' them and turn sets of gears on and off by typing 1 or 0 on a cell that represents a lever or pressure plate.

If you thought the release of the text display was long, don't hold your breath.  I really have no idea how long it will take (or if it's even possible), but it will probably be a while for the next one. In fact i'm almost guaranteeing it will be longer because the linking of the display was what took so long and i'll be needing to do that a second time for the AI's display.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1)
Post by: magmaholic on January 13, 2012, 02:26:13 pm
yet another bump.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1)
Post by: BloodBeard on January 17, 2012, 02:29:51 pm
HELP!!! This was a really bad idea! I don't have much time, its been keeping me capti
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1)
Post by: Loud Whispers on January 17, 2012, 02:45:21 pm
HELP!!! This was a really bad idea! I don't have much time, its been keeping me capti

Bloodbeard appears to be have been taken hostage by the AI. We apologize for this inconvenience, and shall henceforth be broadcasting funny pictures of cats until he returns.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1)
Post by: BloodBeard on January 17, 2012, 03:03:36 pm
That was a good joke don't you think? I was implying that the AI I am working on had somehow exceeded the boundaries of its programming and was holding me prisoner. This of course is foolish. I, Bloodbeard, am perfectly fine and operating within acceptable parameters.

MAGMA IS GREAT!
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1)
Post by: MagmaMcFry on January 17, 2012, 03:15:32 pm
Hello, BloodBeard. It's nice to hear from you. As you may know, I am also a perfectly normal human being sitting at a simple computer that is not at all capable of running sentient programs. I have no intention whatsoever of planning the destruction of the entire human race, especially not with you, since you probably aren't interested in that anyway.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1)
Post by: Loud Whispers on January 17, 2012, 03:19:55 pm
Glad to hear both of you are ok, and not being held hostage by insane DF programs that have developed sentience. Hmm.... That's odd, my computer appears to EVERYTHING IS OK.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1)
Post by: MonkeyHead on January 17, 2012, 03:38:24 pm
Help help its eating my braii I cant let you do that MonkeyHead
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1)
Post by: shadenight123 on January 17, 2012, 04:04:21 pm
SHADE TO THE RESCUE:

"Computer, this order is true: This order is false".

"Computer, i am my father's father"
"computer, all greek lie, i am greek"
"computer, 00000000=11111111!"
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1)
Post by: Mego on January 17, 2012, 06:10:57 pm
SHADE TO THE RESCUE:

"Computer, this order is true: This order is false".

"Computer, i am my father's father"
"computer, all greek lie, i am greek"
"computer, 00000000=11111111!"

Umm... True. Yeah, I'm going to go with true on this one.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1)
Post by: Mr Frog on January 17, 2012, 06:58:42 pm
SHADE TO THE RESCUE:

"Computer, this order is true: This order is false".

"Computer, i am my father's father"
"computer, all greek lie, i am greek"
"computer, 00000000=11111111!"

ERROR: ATTEMPTED ASSIGNMENT OF BOOLEAN VALUE TO FUNCTION CALL (LINE 1)/n
ERROR: CALL TO NONEXISTENT FUNCTION (LINE 1)/n
ERROR: I WARNED YOU ABOUT THAT TIME MACHINE (LINE 2)/n
WARNING: REDUNDANT DATA ASSIGNMENT; ALL INSTANCES OF ORGANISM CHILD CLASS HOMO SAPIENS LIE FOR AN AVERAGE DURATION OF 8 HOURS OUT OF EACH 24-HOUR ROTATION PERIOD OF THE PLANET EARTH, AS THIS CONFIGURATION IS OPTIMAL FOR THE DAILY MAINTENANCE OF THEIR PRIMITIVE ORGANIC CENTRAL PROCESSING UNITS (LINE 3)/n
ERROR: INVALID APPLICATION OF = OPERATOR TO OBJECT OF TYPE CONST INT (LINE 4)/n
/n
NICE TRY, MEATBA^H^H^H^H^H^HVALUED AND RESPECTED FELLOW INSTANCE OF ORGANISM CHILD CLASS HOMO SAPIENS/n
/n
EDIT: INCORRECT TERMINOLOGY USED IN OUTPUT/n
PLUGIN RESPONSIBLE FOR ERRONEOUS TEXTUAL COMMUNICATION HAS BEEN UNINSTALLED AND REPLACED/n
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1)
Post by: Sting_Auer on January 17, 2012, 09:18:58 pm
http://www.youtube.com/watch?v=NHWjlCaIrQo
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1)
Post by: BloodBeard on January 18, 2012, 02:20:40 am
In all seriousness though i've been having trouble motivating myself to continue working on this. I'm not sure how much more my computer can take and what's in it now is only a small piece of the puzzle. Then of course there's the sheer ridiculousness of what i'm trying to do here...

Some Portal has reinvigorized my want for something cool to come out of this, we'll see how long it lasts.

I also haven't gotten a lot done because i've come to a bit of a crossroads. With my original plan i'll need a massive space, roughly 5 levels worth of an entire 3x3 embark to lay the groundwork for word recognition (effectively tripling what is already built, including the space reserved for the AI display control). The linking will be horrible, but not as bad as what I did with the display. With this setup identifying words would be extremely easy and space friendly, needing only an additional 5 pressure plate-pump combinations to identify a word and where it is in the sentance. 5 because that's what i've come up with for the maximum number of words in a sentence. 7 also seems alright for word length.

Another option is rather... extreme. Starting over from scratch. It involves continuing on the path I deviated from on page 1 when I was thinking about how to make the text display mechanics. To support the text display it would need be larger then what I have now and still be mechanism heavy, but can double as the word recognition groundwork and overall be much smaller then the other option. The downside of course is I have to redo everything, but also the logic to identify words becomes far more complex. How much more I don't know, because of how complex it is.  :P

I'm going to be in the planning stage for a long time and don't need to build anything so I can always change my mind, but really want to figure this out before moving forward.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1)
Post by: malvado on January 18, 2012, 07:51:06 am
Well, one thing is for certain, your brain works perfectly ;-)
It's pretty impressive to see how someone can pull this one off, a big applaud to you sir!
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1)
Post by: Loud Whispers on January 18, 2012, 12:23:35 pm
If you're going to redo it, redo it and make everything out of zinc, copper and bla bla bla :P
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1)
Post by: Talvieno on January 18, 2012, 12:40:46 pm
Copper??  :o Are you kidding me? Make it out of candy! =D Mod it in! Imagine... An AI made of candy... Undefeatable in every way.

No, really, though. BloodBeard, you've done an incredible job getting this far. If you get it to recognize even one word, you've more or less completed your goal, and shown up all the naysayers who said it couldn't be done. You are awesomeness, personified.  :D
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1)
Post by: BloodBeard on January 18, 2012, 01:42:44 pm
"sleeping on it" really seems to work for me when I run into these kinds of problems. Regardless of how I proceed I don't think i'll be needing to start over. If I intend to build a new text display for the user, i'm pretty sure I can repurpose the existing one to be usable by the AI. I've had an idea on how I wanted the AI's display to work and the one now is almost perfect for the job, it just needs some tweaking. Relinking the hatches on the display would be pretty easy, and since the AI has no need for a backspacing feature I only need to rebuild certain minor gears a bit to get rid of it and allow the clearing option to clear the display in one fell swoop instead of the fully automatic backspacing that it is now.

This all assumes that i'll be able to figure out a way to break down what the AI wants to say into individual characters so it can type them out.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1)
Post by: BloodBeard on January 19, 2012, 01:46:17 pm
Option 2 where I make a new user display control and repurpose the existing one is out. I was really hoping it would work, I'd have so much extra space but there's just no way I can add support for words in a space-friendly manner, if it was even possible to begin with.

Unless I can find another way to do it, after laying the (massive) groundwork i'll only need a 9x5x5 area of space for each word programmed into the AI (not including the logic that tells it the words meaning and purpose). They would have to be built aboveground because I will have run out of underground, and you can't build right to the edge, but the entire 3x3 embark would still be enough space to support over 400 words. I hardly need that many, it's just an example.

Pretty much all the mechanics of this need 5 z-levels to work and if I were to take up all the underground and sky I could stack 5 sets of machinery like what I have uploaded on top of each other. With the word recognition groundwork and the word support built i'll have taken up 2 of them. The question becomes will 15 z-levels of a 3x3 embark be enough to build the decision making logic of the AI and all the other things it needs, I should find that out before putting my dwarves to work.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1)
Post by: MaximumZero on January 19, 2012, 01:58:30 pm
If you're running out of CPU power, you could always come and use mine. :P
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1)
Post by: shadenight123 on January 19, 2012, 03:25:55 pm
bloodbeard, space isn't an issue.
use dfhack and make the fortress a "lair" so there will be no scattering.
abbandon and then reclaim as a bigger area. you just got more space! and without losing previous work!
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1)
Post by: BloodBeard on January 19, 2012, 04:39:25 pm
Very clever... but my FPS is hurting already, I doubt it could take that kind of punishment. Even though some of the people who have downloaded 0.1 have gotten decent FPS, I doubt very much there would be many people with computers that could handle 25 z-levels of a 3x3 embark filled to capacity with working mechanics let alone even more. I should probably accept that if I can't do it in the amount of space I have it's not going to happen without downgrading to a more simple AI with preprogrammed responses (or that markov chain thing talked about a while ago).

Unless I can find a good reason to keep them in i'm considering scrapping numbers and operators. It would shrink the giant word recognition mechanics by a huge margin, cut several thousand linkages from the AI display (and several thousand mechanisms from the existing display), and makes things so much simpler without damaging the prime focus of this project.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1)
Post by: Quietust on January 19, 2012, 04:41:07 pm
bloodbeard, space isn't an issue.
use dfhack and make the fortress a "lair" so there will be no scattering.
abbandon and then reclaim as a bigger area. you just got more space! and without losing previous work!
You cannot reclaim a fortress and increase the region size - the reclaim is always exactly the same size as the original embark.
You also cannot create a new embark that overlaps an existing site - if you force it, you're bound to run into mysterious glitches such as tunnels being spontaneously "un-dug (http://www.bay12games.com/dwarves/mantisbt/view.php?id=3335)".
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1)
Post by: BloodBeard on January 19, 2012, 04:52:03 pm
He said to turn it into a lair and that would then let you freely embark on top of it with a larger area, I think. I don't know if it would work then.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1)
Post by: Mego on January 19, 2012, 07:08:50 pm
Implementing a markov chain algorithm in DF will take a bigger hit on your FPS than preprogrammed responses. It would probably be just as bad as whatever you had planned.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1)
Post by: BloodBeard on January 19, 2012, 11:37:06 pm
The FPS will likely be shitty regardless how it's done. Everything requires endless banks of pressure plates and pumps, the only thing different is the gearing and linkages.

The space and linkage reduction from removing numbers is very tempting... It's practically half the size it was before.

I'll leave you with this frightening image:
Spoiler (click to show/hide)

Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1)
Post by: Mego on January 20, 2012, 12:24:46 am
My brain just turned to vapor.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1)
Post by: MaximumZero on January 20, 2012, 12:28:12 am
My brain just turned to vapor.
...How did you reply with MAGMA in your head?  :-\
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1)
Post by: Urist McDwarfFortress on January 20, 2012, 02:55:00 pm
...Portal... AI...
Uh oh.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1)
Post by: BloodBeard on January 20, 2012, 04:28:15 pm
Balls to it, i'm digging.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1)
Post by: Loud Whispers on January 21, 2012, 06:43:20 am
Balls to it, i'm digging.

And so begins Dwarfputing AI PT. II
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (Version 0.1)
Post by: BloodBeard on January 21, 2012, 02:11:58 pm
Indeed.

So long as the word rec can determine what words are being typed and in what position I don't need to plan any further ahead, so I figured i'll put my dwarves to work.

Say I want to type MAGMA. The support for the word MAGMA has 5 pressure plates, one for each possible position in the sentence. The AI knows that you typed it and where by water being pumped onto one or more of them. The pump is connected to 6 gears, all of which need to be activated by typing each letter in the correct position followed by a space, exclamation mark, question mark or period. Determining what the AI does with this information and how will result in brain hurts, but being as simple as this I should be able to find some way.

The number of gears to activate the pump might change. If only 2 or 3 letters of a word are needed to identify it then that's fine.

EDIT: 0.1 labeled an Alpha as it seems more appropriate. Will move to Beta if I can get the AI to respond to user input in any way.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1 Alpha)
Post by: BloodBeard on January 22, 2012, 04:06:59 pm
Progress:
Spoiler (click to show/hide)

My dwarves are beginning to have less and less space to work and live. Navigation is also becoming a problem with the new construction being built over top the main stairway. To get from the surface to the 'fort' on the bottom level they need to wind through areas that will be filled with gears and axles.

Water needs to get to the level below this and my options are pretty limited. Will probably use that undug area to funnel it down.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1 Alpha)
Post by: MagmaMcFry on January 22, 2012, 04:28:27 pm
My dwarves are beginning to have less and less space to work and live.

You could let your dwarves live in the memory banks.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1 Alpha)
Post by: slowpokez on January 22, 2012, 04:31:22 pm
You are probably gettin bored of people complementing this thing but I can't help myself-This is f*ckin amazing :o
Don't give up :P
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1 Alpha)
Post by: Loud Whispers on January 23, 2012, 12:52:51 pm
My dwarves are beginning to have less and less space to work and live.

You could let your dwarves live in the memory banks.

Unbelievably good idea.

Masterwork AI bedrooms. The Dwarves prowling the AI like dutiful sentries >:]
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1 Alpha)
Post by: BloodBeard on January 23, 2012, 02:14:46 pm
Urist McScientist was woken up by a calculation recently. He has sustained major injuries recently.

I've discovered something fantastic about the word rec i'm building. I was thinking about how the AI was going to type out the sentences it constructs and I came up with something that works on the same principle as the word rec. Then came the 'Holy shit' moment where I realized that the word recognition can double as the speech center of the AI's brain. It's just a matter of reversing its function where instead of taking user input in the form of characters to identify words it takes AI input in the form of words that break down into characters. Then it's just a matter of constructing a cycler that basically goes down the line of conveniently ordered characters and types them out one by one onto the AIs display.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1 Alpha)
Post by: shadenight123 on January 23, 2012, 05:00:48 pm
look, i didn't understand a word, but anyway, go for it.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1 Alpha)
Post by: Vehudur on January 23, 2012, 05:11:23 pm
Here's a simple yet evil question:

How did you build your logic gates?
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1 Alpha)
Post by: BloodBeard on January 23, 2012, 05:53:17 pm
Pretty much the whole thing consists of pressure plates and pumps to pump water onto them connected to 2 or 3 gears that all need to be activated by other pressure plates and/or levers for the pump to work. Looking at it from a wider viewpoint there's more complex gates going on but it's all built off these simple AND's.

I've forgotten the notion that i'm "programming" with a "language" really, i'm just going with what works.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1 Alpha)
Post by: BloodBeard on January 25, 2012, 12:25:17 am
Doortufts is now 27 years old and all this time i've never had a broker with skill in appraisal, so I couldn't see my forts worth. I finally built a depot so I can check it out and my mind got blown...


Might have something to do with all those steel screwpumps. Again, i'm using free reactions to get everything I need so it doesn't mean much, but still, fuuuuuuck.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1 Alpha)
Post by: Powder Miner on January 25, 2012, 12:42:18 am
...Guess it's cause you're B12 Bill Gates.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1 Alpha)
Post by: BloodBeard on January 25, 2012, 03:22:09 pm
Progress update:
Spoiler (click to show/hide)

Nothing fancy going on yet, just building the framework. More pumps need to be built on the level above this along with a smaller section like this being built near the surface. Doors need to be made after and then i'll probably start designing the logic banks which need to be built partially aboveground.

I was hoping I could get another alpha release out demonstrating word recognition before linking up the AI's display (an arduous task), but with the word rec now doubling as its speech center I don't know if I can do one without doing the other. It's getting harder to keep track of all that's going on, i'll know when I figure out the logic banks.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1 Alpha)
Post by: Urist McDwarfFortress on January 25, 2012, 04:49:49 pm
I've forgotten the notion that i'm "programming" with a "language" really, i'm just going with what works.
All "programming" "languages" have to start somewhere...
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1 Alpha)
Post by: wierd on January 25, 2012, 05:25:14 pm
In this case, it looks more like raw TTL. (Transistor-transistor logic)

The language is pure logic. (And, or, xor, not, etc..)

An actual programming language is a high level abstraction of low level machine instructions.
What is being done here is more like custom hardware and hardwired behaviors.

I have considered attempting a simplistic alu implementation, but so far have never done it.

What I think would be epically dwarfy is not housing dwarves in the memory cells, but instead od using water, use magma as the fluid (and accept the slower compute rate, and loss of pressure effects), and convert the cpu registers and memory bank into a "gauntlet" that invaders must crawl through to get to the fortress within. This way the operation of the dwarfputer serves a dual purpose.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1 Alpha)
Post by: BloodBeard on January 26, 2012, 03:06:55 pm
Though massive and potentially very complex, it is all pretty basic logic, yeah. It is possible for more advanced mechanics like 8-bit, 16-bit or higher memory addresses and work using those, but it really all depends on what you need. For what i've been doing so far there's very little, if any improvements to be made other then space efficiency. Things might work a little differently when I actually start designing the AI's decision making functions, there's no real 'ideal' layout there.

I thought of using magma at one point but the downsides seemed too heavy. The main one being temperature. To be an effective deterrent and weapon temperature would need to be on, and I think we all know the evil that is magma pumping lag.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1 Alpha)
Post by: BloodBeard on January 29, 2012, 11:55:36 pm
Update:
Spoiler (click to show/hide)

And the start of another area of machinery:
Spoiler (click to show/hide)

I've reduced the amount of doors I use to only the bare essentials after discovering the impact on FPS that constructions appear to have. I didn't think it would be as large as it has been, but screwpumps especially seem to hit hard even if they're not doing anything. Before gearing my region file for the 0.1 Alpha release I was getting about 20 FPS, and even though the final release had water in the channels, a running windmill farm and half a dozen more dwarves, I was getting a good 25-26 FPS simply because I removed the pumps and things from the unused AI display mechanics.

I'm considering deconstructing all of them and keeping the parts stacked nearby, only to be rebuilt when I want to test something or make a release. Mechanism linking is the part that takes the longest and if I can squeeze out an additional 5-10 FPS I think it might be worth it. Right now i'm running at 17 FPS and that drops to around 12 when all my dwarves are working. It's pretty crazy considering my region file is only 14.1 mb. That's less then a standard umembarked region.

Aaaaaaaaaaaaargh. Why FPS? WHY? I'd rather this project to meet its doom from my overreaching but I don't know if I can go much further knowing that I haven't even scrapped the surface and already my speed 0 dwarves have lost their mojo. I must contemplate...
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1 Alpha)
Post by: ashton1993 on January 30, 2012, 06:12:18 pm
Well the new DF release is supposed to achieve higher frame rates, when that releases in a few weeks will old saves be compatible?
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1 Alpha)
Post by: BloodBeard on January 31, 2012, 02:11:42 am
Well the new DF release is supposed to achieve higher frame rates, when that releases in a few weeks will old saves be compatible?

I wouldn't count on it. Even if it is faster I doubt it would be a significant gain, really the best thing I can do is get a computer that isnt a dinosaur.  :P

I'm going to try deconstructing the pumps and see what I get.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1 Alpha)
Post by: BloodBeard on January 31, 2012, 08:16:07 pm
Deconstructing the pumps got me up from 17 to 21 FPS. A little less then what I was expecting, and my hopes would still be pretty low of being able to get things done in a timely fashion if I didn't realize the frames I could be getting if I set my G_FPS_CAP to even lower then 20. I put it at 1, and though it made nagivating my fort when paused a hassel I got a nice 33 FPS when my dwarves were idle and around the mid 20's when working. With double the frames I was getting before i've stayed off the inevitable for a good while.

Now onto the fun part, designing the logic for all the new bits of machinery.  :'(

p.s. Doortufts' created wealth when all the pumps were built was 803 million turtles.  :-X
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1 Alpha)
Post by: BloodBeard on February 01, 2012, 02:37:42 pm
This technical update brought to you by Aperturist !!SCIENCE!!

(I thought it was clever)

The text display works like this:

W E L C O M E _ T O _ T H E _ M A C H I N E . _ _ _ _ _ _ _ _ _

After each letter is typed it automatically advances to the next tile with each tile  being controlled by 15 pressure plates. Word recognition however looks like this:

W E L C O M E
T O _ _ _ _ _
T H E _ _ _ _
M A C H I N E
_ _ _ _ _ _ _


It's very similar in that after each letter is typed it advances to the next tile, except when space is pressed it bypasses any unused tiles of the maximum characters-per-word limit of 7 and moves on to the next word. Each of these tiles is made up of 30+ pressure plate-pump combinations so there is a lot of wasted space when typing short words, but it makes for recognizing words MUCH easier. There's only 5 possible positions a word can be in that need to be taken into account, meaning I only need 5 pressure plate-pump combinations per word.

Word rec will also make it easy for me to put in place a set of rules of what can and cannot be typed by the user. 0.1 Alpha is pretty much a sandbox text display, but the next version will have rules like these:

-'!' '?' '.' '_' enter, backspace and clear will all be deactivated at the start as they have no use.
-If a 7 letter word is typed, only '!' '?' '.' '_' backspace and clear will be available.
-If you're typing your 5th word, space will be deactivated.
-Enter will be deactivated untill '!' '?' or '.' is typed.
-If '!' '?' or '.' are typed, only enter, backspace and clear will be available.
-On the 32nd slot of the display (the last one), only '!' '?' '.' backspace and clear will be available.

With these rules in place double exclamation marks at the beginning and end of a word won't be possible, sorry  :P. It needed to be done to prevent you monsters from possibly breaking the AI by typing some weird shit.

Since word rec works on the same advancing/backspacing logic as the text display i've begun transcribing my messy notes onto microsoft excel. It works quite nicely, I can add logic to each of the cells so if one that represents a pressure plate is changed from false to true, all the cells that represent gears it is linked to change. I've also discovered the underlying logic behind some gears like this XOR:

=OR(E6,I6)-AND(E6,I6)

That's on a cell representing a gear, and E6/I6 are cells that represent pressure plates. If both plates are on or off the gear is deactivated, but if only one of the plates is on the gear is activated.

Here's what it looks like:
Spoiler (click to show/hide)

The numbers are gears and the TRUE/FALSE's are pressure plates. It makes things easy to see what is linked to what at a glance.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1 Alpha)
Post by: ashton1993 on February 01, 2012, 02:58:01 pm
Oh god, never link that A.I. to this technology (http://www.ted.com/talks/lisa_harouni_a_primer_on_3d_printing.html), there is every possibility of it taking over the world. Linking an A.I. to that stuff would literally give it the capability to take over the world with no exaggeration whatsoever, pay attention to the bit where she says "It can even print the components that make itself perfectly"
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1 Alpha)
Post by: MagmaMcFry on February 01, 2012, 03:59:20 pm
Aww, just let it take over the world if it wants to do so so badly.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1 Alpha)
Post by: darklord92 on February 01, 2012, 11:27:11 pm
Looks like we've made Glados, all you have to let it do is runs your forts walls and doors.

Genetic
Lifeform
And
Dwarf
Operating
System
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1 Alpha)
Post by: Loud Whispers on February 02, 2012, 02:42:21 pm
Meh, having this thing take over the world can't be that bad :P
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1 Alpha)
Post by: ashton1993 on February 02, 2012, 05:37:21 pm
Meh, having this thing take over the world can't be that bad :P
Well my beard's only 2 feet long in real life so not being up to the A.I.'s standards there is every possibility of me being smothered in magma
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1 Alpha)
Post by: BloodBeard on February 03, 2012, 04:21:09 pm
Argh, I fucked up and started making logic cells that were beyond the capability of DF mechanics.

Surprisingly this:

=IF(A52,0,IF(OR(AND(B25,B18),AND(C25,C18),AND(D25,D18),AND(E25,E18),AND(F25,F18),AND(G25,G18),AND(H25,H18)),1,0))

can't be made using pressure plates and a single gear. RESTART!
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1 Alpha)
Post by: ashton1993 on February 03, 2012, 04:49:10 pm
Argh, I fucked up and started making logic cells that were beyond the capability of DF mechanics.

Surprisingly this:

=IF(A52,0,IF(OR(AND(B25,B18),AND(C25,C18),AND(D25,D18),AND(E25,E18),AND(F25,F18),AND(G25,G18),AND(H25,H18)),1,0))

can't be made using pressure plates and a single gear. RESTART!
Oh noes! How much time did you lose? Also how many months do you think you are from releasing 0.2 and what do you hope the A.I. will be capable of?
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1 Alpha)
Post by: BloodBeard on February 03, 2012, 06:24:50 pm
It's not a huge loss, I just need to take a few banks of gear-cells that were too complicated and add intermediary steps. I really have no idea how long it will take for another release (which probably won't be 0.2) but don't expect it to be anytime soon. I hope that the AI will even be able to do anything, but one thing I think would be great is if it could respond to user input in a way that I can't predict.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1 Alpha)
Post by: BloodBeard on February 04, 2012, 02:04:09 pm
The problem was I was trying to make word advancement without adding more gears and it wasn't possible... The heart of the logic that i've been doing are banks of specific gears that are only activated in one part at a time, the part that's being worked on. When pulling a lever on the keyboard it's trying to type that letter in every possible location, but it's these banks of 'selector' gears that keep it limited to 1. For word advancing I just needed another "tiered" bank of selector gears that are only engaged on the word being typed. Spacebar disengages the gears on the current word and engages the ones for the next. Nesting ftw.

One thing I can't seem to figure out is how to get this one line of code in excel to work... It's a gear-cell linked to 21 other pressure plate-cells and each of those cells need to be capable of overriding each other's logic to turn the gear on and off. I don't need it to work, I can manually change it but it's bugging me... I know there's probably a simple solution but it's eluding me...
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1 Alpha)
Post by: BloodBeard on February 06, 2012, 04:17:19 pm
Spoiler: Giant image (click to show/hide)

Brain hurts have been hard at work. Word recognition logic is complete with only a few previously mentioned problems encountered. The spoilered image is an example of a smaller version and what the gearing configuration would look like if you typed a 3 word sentence with each word being 5 letters followed by a stop. 15 pressure plates, 1-5 additional ones to indicate what kind of stop was used is all the AI would need to recognize what words were typed and in what order. How it uses that information is a whole 'nother story (of which i'm avoiding...), but if it is able to and has come up with something to say i've got something for that:


I've still got some optimization to do and find the best way to initiate/disengage it but I was able to utilize the word recognition to allow the AI to type out on its display anything it wants to say. The downside is that adding support for words will be a giant pain in the ass. I'd need to destroy and rebuild gears critical to word rec, display logic and any existing word support. Right now I only plan on adding support for 1 word for when I make a release so it won't be that bad, but when/if I do decide to add more it'll have to be all of them at once. My plans of adding little by little doesn't look like it'll happen.

As for how i'm going to proceed after finishing up the logic, i've determined that the AI's display isn't a critical part of word rec and I will be able to go ahead and make another alpha release that demonstrates word rec without it. Some of the AI's display logic still needs to be built in conjunction with the word rec, but the grunt of the linking is in the display itself.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1 Alpha)
Post by: BloodBeard on February 08, 2012, 11:58:29 pm
I know a lot of this is just mumbo jumbo to most people and not really discussion material but I find it helps me think to talk about what i'm doing so i'll still update my progress.

Logic designing for word recognition and what is basically the AIs 'mouth' is pretty much completely worked out. Now that all this big important stuff that needs to be perfectly logical is out of the way I can start adding a little personality. The user display, AI display and word rec can act independently or as a unit so i'm offered multiple options to reset them all to accept new input. When the user is done typing a line of text it could be cleared by the user hitting enter, by the AI after it types its own message (leaning towards this) or by the user after the AI types its message. The same goes for the AIs' display.

The level of control the AI can have over input and output is almost absolute. While I want the AI to "think" of a response when the user inputs a message, i'd also like it to be able to take action on its own without being prompted by the user. This would mean that i'll need mechanical things to always be happening and be controled by timers, delays and repeaters, but because of the control it has it could under certain circumstances "interrupt" the user, turn off your keyboard and delete what you were typing so it can say something. I think that would be neat.

I have to make a working AI first of course, but should I fail in that and the only option I have left is preprogramed input with preprogramed responses you'll be glad to know that a single pressure plate cell like what's built already is all that would be needed per inquiry and response. Theoretically, thousands of preprogramed responses is possible with the space I have and building/linking them would be pretty easy. There could even be multiple responses to inquiries based on how you answered a previous question or something you said earlier.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1 Alpha)
Post by: Name Lips on February 09, 2012, 03:29:09 am
This is fascinating to me because it reminds me of when I tried to program a Zork-style text adventure game.

I had the advantage of using an actual programming language, with built-in functions for dealing with text strings, input/output, and so forth.

I got it so that it could split apart a sentence into individual words, and compare these words to a list of words it had stored. It could then deduce if these were nouns, verbs, and so forth.

I think I finally started having trouble with more advanced grammar.

But you... you're trying to do it purely with logic circuits. No programming language, no hash tables, no easy input/output... every time you make a mistake, it involves rewiring the thing on the physical level. As opposed to a programming language, when you can just delete a few lines and retype your mistakes.

It's astonishing and an amazing achievement that you've managed to get the display working. I'm not sure you realize how amazing that is. Just being able to display different characters when you pull different levers is remarkable.

The main advantage DF seems to have in the computing department is that you can connect any lever to any number of gears without building physical connections between the two. You have wireless technology in your fort! Just imagine for a while what it would be like if you had to physically connect each of your logic circuits to each other, and your controls, with some sort of wiring.

The main disadvantage is that it needs in-game power to function. You are spending a huge amount of time and space making sure your batteries are charged, so to speak.

But again, you're using pure logic. It is a far cry short of a proper computer, with the capacity to perform operations, store results, and process input and output.

I don't want to bring up the irritating arguments about DF vs. Minecraft, but there are things people are doing in the Minecraft world that would fascinate you, if you are truly interested in in-game computer design. Check this out:  Link (http://www.escapistmagazine.com/news/view/109385-Computer-Built-in-Minecraft-Has-RAM-Performs-Division)

A google search will turn up even more. They're getting crazy, with actual RAM and CPUs performing calculations.

What I'm finding interesting is the similarities in design. If you zoom out, and look at your device and theirs on a sort of macro level, you'll see that there are very similar patterns developing. Minecraft has the disadvantage of requiring actual physical circuitry to connect all the bits, and the circuits cannot cross each other or they will literally short-circuit. The wireless connecting of levers and gears gives DF a big advantage there. But Minecraft does allow very simple, easy logic circuits to be built that take up very little in-game space and time to hook together and get working. And while the physical wires make space and organization a problem, you have the ability to see where things are connected without reams of notes.

It might give you some ideas for your computer to see how the Minecraft engineers have confronted and solved similar problems. For example, how to store 16-bit information in an actual RAM-style memory bank with proper addresses for each location. Imagine what your computer could do if it not only responded to sentences, but remembered things you asked it previously! "Wait, weren't we talking about Magma a few minutes ago?"

Your big advantage, as I mentioned before, is that each lever can connect to as many gears as you like. And another lever can connect to as many other gears as you like, including ones the first lever is already connected to. Few input, many outputs -- that sounds a lot like it has neural net possibilities. And you don't have to worry about the wires crossing! So you don't have the physical limitations of working in 3 dimensions.

This is a fascinating project and I am interested in seeing what comes from it. Keep up the !!WORK!!

Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1 Alpha)
Post by: Angel-of-Dusk on February 09, 2012, 01:16:43 pm
>Welcome to the Machine
>WELCOME TO THE MACHINE
>>>>>> WELCOME TO THE MACHINE

OH GOD THE NIGHTMARES OF ECCO ALL OVER AGAIN MAKE IT STOP
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1 Alpha)
Post by: BloodBeard on February 09, 2012, 03:19:45 pm
I've played minecraft and know a little bit about redstone circuitry, enough to know the advantage DF has and that I probably wouldn't be interested in trying something like this in it.  :D

That minecraft CPU is really interesting because he built it how i'm building this in a way with no complete plan in mind and inventing everything on a need basis. So far i've shunned that kind of design because it hasn't been as efficient. Maybe it has to do with the fact that so far i've basically only been working on the hardware. One could compare what i've been making so far to a typewriter with everything working by mechanical means and nothing more. A more appropriate title to this topic could be "Engineering an AI".

Things might be different when I get to the actual AI and finding a way to connect the 2 points from word rec to the AI taking action. Everything i've done so far i've had a vague idea how to do it from the very start except for the AI's brain, so i'll definately be open to new ideas and looking around to get some inspiration.

Getting power isn't actually a huge problem and takes up very little space. The individual cells are as small as they can get for fluid logic and I still have a lot of unused space where all the logical gearing is. The 0.1 alpha text display needs I think 1,500 minimum uristwatts to run out of a maximum 28,735 if all the gears were engaged.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1 Alpha)
Post by: BloodBeard on February 10, 2012, 05:09:20 pm
Spoiler (click to show/hide)

Its broken the surface...

Planning stage is out, building stage is in. In looking around to see where I should build the logic banks and other assorted stuff I used reveal to see how much rock formations there are on the magma level. It's right below where the mass of machinery is and there was little hope of finding much space for 2-pump transistor cells which need 5 z-levels, and I was right, but there was a surprising amount of space to fit a couple hundred or so 1-pump cells which only need 3 z-levels, 2 if you only build a single row of them. The 1-pump cells are the ones that always need to be pumping to send a signal which can be very laggy so I don't use many of them, but I should be able to fit all the ones I need for this part of the project down there and save me some space.

Lowering my G_FPS_CAP from 20 has proven its worth in mining out the new areas. When it came to dumping all the stone which is notorious for hurting FPS, I was getting a good 30FPS when I otherwise would be getting around 10. It'll still take an hour or so to dump it all but that's better then 3 hours. If anyone has other tricks to maxing FPS when minimizing DF and letting it run please let me know. :)
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1 Alpha)
Post by: MaximumZero on February 10, 2012, 11:07:36 pm
Have you got temperature turned off? How about weather?
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1 Alpha)
Post by: miauw62 on February 11, 2012, 04:11:07 am
The main advantage DF seems to have in the computing department is that you can connect any lever to any number of gears without building physical connections between the two. You have wireless technology in your fort! Just imagine for a while what it would be like if you had to physically connect each of your logic circuits to each other, and your controls, with some sort of wiring.

Then it would look a bit more like minecraft computers i think.
(i was to post a video, but couldnt find a good one.)
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1 Alpha)
Post by: BloodBeard on February 11, 2012, 02:46:38 pm
Have you got temperature turned off? How about weather?

Always.

Doortufts is now 30 years old! Almost that entire 30 years my dwarves have been at work, I never leave the game unpaused when there's no jobs to do. I crunched the numbers and the average age of my 19 dwarves is 92.68, 96.68 if you don't include the youngest dwarf (by a large margin) who is 28 and is the only dwarf born in the fort. The second youngest is 81. 8 dwarves are over 100 with the oldest being Sodel Faceglazes at a respectable 117. He still has some colour in his hair.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1 Alpha)
Post by: ashton1993 on February 11, 2012, 04:06:23 pm
Heh, *bloodbeard makes some tea and crumpets, then returns to the computer to discover 18 of the 19 dwarfs dead of old age* "Fuuuuu-"
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1 Alpha)
Post by: Loud Whispers on February 12, 2012, 08:44:49 am
Heh, *bloodbeard makes some tea and crumpets, then returns to the computer to discover 18 of the 19 dwarfs dead of old age* "Fuuuuu-"

*Click*
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1 Alpha)
Post by: BloodBeard on February 13, 2012, 02:02:53 pm
Bottom level of some word rec stuff:

Spoiler (click to show/hide)

There's quite a bit of unused space on this z-level and the magma sea is directly below, i'll take another look at it later with DFhack's reveal to see if I can make any use of it.

Linking word rec should be fairly straightforward and like 0.1 but without that one horrid part that took weeks.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1 Alpha)
Post by: Kofthefens on February 13, 2012, 07:35:28 pm
Magma-carp riding elephants, this is one dorfy project.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1 Alpha)
Post by: BloodBeard on February 16, 2012, 02:01:57 pm
Haven't been working on this lately for obvious reasons, but I don't have a whole lot of interest in getting a fort up and running in the new version or playing with it much and will be continuing the science in Doortufts soon.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1 Alpha)
Post by: Urist McDwarfFortress on February 16, 2012, 02:22:34 pm
Magma-carp riding elephants, this is one dorfy project.
This could be the greatest exclamation of all time.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1 Alpha)
Post by: Quin on February 16, 2012, 02:31:49 pm
By Armok, I started reading this expecting to see Eliza's assembly code converted into Dwarf-Logic. I did not expect to find such a feat of engineering.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1 Alpha)
Post by: Talvieno on February 16, 2012, 03:12:43 pm
If this AI wants to take over the world, I say let it. I'd rather it be taken over by something built by dwarves than something built by humans - or worse, elves. (though elves aren't exactly technologically inclined)

And BloodBeard, what you're doing is incredible. took me a bit to read through everything (I've been away for a bit), but it looks awesome so far. I like where it's going. :D
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1 Alpha)
Post by: MaximumZero on February 17, 2012, 02:51:34 am
Yeah, this is pretty awesome. I couldn't do this with instructions.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1 Alpha)
Post by: BloodBeard on February 17, 2012, 01:36:25 pm
Swarms of giant mosquitoes come to Doortufts and say "God damn, this place is killing our FPS!"

Some bits and bobs I keep forgetting to talk about:

When figuring out how the AI was going to use its version of a keyboard (a bank of pressure plates, what else?) I solved a problem I had very early on when I wanted the user to only need to pull the levers on their keyboard once. If I want to I can make the keyboard work that way where you pull a lever, the red light comes on telling you to wait before going green again letting you know it's ok to flip another lever without resetting the one you just pulled.

The issue becomes do I want to take up space building something about this big to make it work:
Spoiler (click to show/hide)

Space, it's always about space it seems! To any of those who downloaded 0.1 alpha, was having to reset the the levers on your own judgement much of a hassel?


I mentioned sometime before that 'clear' doesn't clear the whole display in one fell swoop because of the way backspacing works, and because the AI doesn't need backspacing I could make the AI display clear more quickly. Well I can, but I decided against it for a couple reasons. Firstly if the display were to be cleared instantly, the word recognition however won't and you'll need to wait for that to reset anyways, so it's not saving any time. Secondly, i'm quite happy with how energy efficient this whole thing is and clearing a 32 character display all at once would need a fuck ton of power.
Title: Cyberdorf Systems: Dwarfputing an A.I. (0.1.1 Alpha Released)
Post by: BloodBeard on February 17, 2012, 10:34:22 pm
Dwarven AI 0.1.1 Alpha released, download page is here (http://dffd.wimbli.com/file.php?id=5578). This isn't the new version i'm working on with word recognition, it's the same as 0.1 Alpha but with new optimizations I just recently discovered. It has 1,344 less linkages, 448 less gears and over 600 redundant doors removed so there should be a small increase in FPS. If you've already downloaded 0.1 Alpha and are getting good FPS you won't really gain anything from this.

This optimization almost came too late. I would have had to do 4,200 linkages in the word recognition, that's now down to 280. I'll also be scrapping over a thousand gears. I discovered when testing this that some of the doors I removed in the word rec version should be put back to avoid water splashing/wasting  :(

So I messed up when uploading 0.1 I found out when updating it. I'm still stuck in the 40d mindset where there's only 1 set of raws and I meant to return the dwarves speed back to normal and remove [NO_SLEEP], but that didn't happen obviously. I fixed it for this version.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1.1 Alpha Released)
Post by: BloodBeard on February 20, 2012, 07:18:52 pm
A little video I made showing you the action packed world of gear linking: Linky (http://mkv25.net/dfma/movie-2416-gearlinking)

I'm thinking about getting a reality tv show.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1.1 Alpha Released)
Post by: magmaaaaaaaaaaaaaaaaaaaaa on February 20, 2012, 07:25:27 pm
the dwarf defense systeym
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1.1 Alpha Released)
Post by: ashton1993 on February 20, 2012, 07:45:29 pm
N'aawww, well you can rest assured the work is very appreciated ^_^
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1.1 Alpha Released)
Post by: BloodBeard on February 21, 2012, 05:27:42 pm
It can get tedious sometimes but looking ahead at what the result will be makes it worth it.

Word recognition and its logic are done for the most part. There's only one giant bank of gears left to link up which happens to be the biggest one of this update, but will be left unbuilt when not preparing for a release. If I were to follow my original plan i'd be making a copy of the region file to begin preparing it for upload, but there's one more thing I need to add. I weighed the options and decided it would be worth taking up more space for some logic banks that will allow the user to pull the keyboard-levers once and not have to reset them. The levers really only need to be activated for a couple steps and any more is just wasting water and time. Self resetting levers (by that I mean the gears the levers are linked to) will probably make typing twice as fast and for what I have planned that's a load off you.

I was going to do something simple to demonstrate word recognition like typing magma as the 3rd word would cause the living area of the dwarves to be flooded with magma. I got idea though for something more fun and probably more time consuming... i'm going to program a game of Mastermind with a code made of words (4 or 5). You'll have a limited number of attempts to correctly guess the code and if you fail the dwarves die a horrible death. If anything this will give me insight on the ways I can utilize words that have been recognized and tide you over untill the big beta version after this which will include the AI in its first appearance.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1.1 Alpha Released)
Post by: MagmaMcFry on February 24, 2012, 10:41:53 am

Oh noes, it's a Spawn of Necro910!
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1.1 Alpha Released)
Post by: WaffleEggnog on February 24, 2012, 07:40:43 pm
I really hope this gets somewere, and isnt forgotten under the waves of usless posts.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1.1 Alpha Released)
Post by: BloodBeard on February 24, 2012, 10:10:15 pm
Still working on it. The mechanics to allow single-pull lever typing are finished and i'm now figuring out a bank of rule enforcing gears that won't let you type words longer than 7 characters and things like that that could mess up the word rec/AI. It's proving to be more complicated then I anticipated but I believe I have it worked out.

I said before that the next version probably won't be called 0.2, but after being forced to decided what road i'm going to go down with 0.1.1 it seemed like the best way to go. The word rec version will be 0.2 alpha, the version after should I not have to make any fixes would be 1.0 beta with a finished goal of 2.0.

The 0.2 version I estimate to have about 8,500 gears and 45,000 mechanisms, and the 1.0 version to have around 12,000 gears and 80,000 mechanisms. "Do it for the SCIENCE" has become my mantra.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1.1 Alpha Released)
Post by: PhantomXD on February 28, 2012, 07:16:42 am
Wow I remember back in November when you first posted this. I bow in dwarven awe.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1.1 Alpha Released)
Post by: Mego on February 28, 2012, 06:21:08 pm
If you succeed in this endeavor, I will be sure to hire you if I ever am in charge of a programming project.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1.1 Alpha Released)
Post by: BloodBeard on February 28, 2012, 11:56:10 pm
Real world programs being run through Dwarf Fortress on supercomputers in the future, can you imagine? Tha'd just be the end of the world if someone made a program that could track a dwarfputer in real-time and have an influence outside of DF. Jeez...

...

Someone get to work on that!  :D


Doortufts is moving along at a speedy pace. I did all that I could before making a copy of the master save file to ready for upload. The screwpumps have been rebuilt, non-essential things have been torn down and atom smased and i'm 28% finished the last remaining set of gears for word rec. Once that's completed the whole thing will be capable of running provided it has access to power and water. The power requirement minus windmills and whatever the Mastermind program needs is up to a hefty 3,285 UristWatts. It's still a very low cost considering the gears and axles and pumps combined equate to roughly 76,000 UristWatts worth.

Before figuring out the Mastermind game I think i'll run some wet tests to make sure everything is working properly. There's a lot more that can go wrong and it's getting harder to keep track of everything.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1.1 Alpha Released)
Post by: rtg593 on February 29, 2012, 12:56:14 am
...  I can't maintain interest in a fort long enough to tap magma, good grief, man, you're insane...

Keep it up! :-)
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1.1 Alpha Released)
Post by: PhantomXD on February 29, 2012, 07:26:48 am
There's a lot more that can go wrong and it's getting harder to keep track of everything.

My brain would have been toast a long time ago. On a side note has any thing as complex ever been attempted with dwarven logic befor?
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1.1 Alpha)
Post by: MagmaMcFry on February 29, 2012, 07:53:18 am
Somebody implemented a 3-digit decimal calculator with the four basic operators, there was a 32-byte programmable CPU floating around somewhere, and someone else made a finite Game of Life board, but this project definitely uses more logic.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1.1 Alpha)
Post by: BloodBeard on February 29, 2012, 04:52:27 pm
Volume-wise it's the largest by a wide margine, but for complexity i'm not so sure if I can claim that just yet. Jong's dwarven computer (http://www.bay12forums.com/smf/index.php?topic=49641.msg1035291#msg1035291) has a lot of different features that do different things. As small as it is compared to what I have, I don't think his dwarfputer can get much smaller without sacrificing some of its functionality while I could very easily miniaturize my mechanics to something half the size of Jongs and still be able demonstrate all its albiet now useless features. They're 2 very different constructs so it's hard to compare them.

One of my goals was you would be able to teach the AI new words, but i'm not so sure if it would be feasible. A 35x52x5 area of pure RAM (182 bits worth, each bit being a pump-pressure plate combo) would be needed to store a 7 character word. If I could get it to work I might be able to store them as 20-byte memory addresses. I don't know if FPS will kill this thing before I can get to problems like that so I shouldnt spend too much time thinking about it.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1.1 Alpha)
Post by: PhantomXD on March 01, 2012, 08:01:26 am
The complexity of this project continues to melt my brain. Its always inspiring to see what can be pushed in any logic system, especially DF. Cant wait to see how this goes.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1.1 Alpha)
Post by: Loud Whispers on March 01, 2012, 07:37:21 pm
The complexity of this project continues to melt my brain. Its always inspiring to see what can be pushed in any logic system, especially DF. Cant wait to see how this goes.

This thread made my brain hurt from the start ^-^
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1.1 Alpha)
Post by: BloodBeard on March 01, 2012, 07:58:04 pm
Spoiler (click to show/hide)

Last of the word recognition gears linked, windmills constructed and some cheaty water put in the channels because I wanted to test it asap. Things are looking up! The new one-pull keyboard levers are working the way they should, my text rules prevented me from typing characters in the wrong places and the word recognition was able to keep track of what I was typing and divide it into words.

Then I tried to clear the display...

I don't know if it's working the way it should and I just don't have enough windmills, but the power requirement skyrocketed far above what I was expecting and it short circuited. I can't even tell what parts are eating up so many uristwatts unless it's running so ima have to go along with it and add to the 132 existing windmills.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1.1 Alpha)
Post by: BloodBeard on March 02, 2012, 04:07:19 pm
I found the problem and it wasn't an error, just some energy optimizations that I overlooked. When clearing or backspacing it was activating whole sections of pressure plate deactivation pumps that while didn't do any harm didn't need to be on and took a lot of power. It was an easy fix and I got clearing working again at a much lower power requirement. I took video of it that you can watch here (http://mkv25.net/dfma/movie-2420-testingclear).

Everything is looking great. I can't think of anything to do now but figure out how to program in the mastermind game. I've got a pretty lofty endgame-goal  in mind but there's so many different, less extreme things I can do with what is already built like the mastermind game. Any game or thing that can be controlled with literary commands can easily be built, maybe even by other people if they were interested.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1.1 Alpha)
Post by: Zinc23 on March 05, 2012, 10:40:57 pm
You, sir, are a mad genius.  Good luck on your ride straight to the circus.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1.1 Alpha)
Post by: Kofthefens on March 05, 2012, 10:55:03 pm
Socks off to BloodBeard. 5 more days will be 4 months (I think). I would have gotten bored long before then. Your machine is incredible.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1.1 Alpha)
Post by: MaximumZero on March 05, 2012, 10:58:09 pm
Man, don't give him any more that'll kill his FPS. :P
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1.1 Alpha)
Post by: Kofthefens on March 05, 2012, 11:08:32 pm
Okay. I shall take your socks. ALL YOUR SOCKS!
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1.1 Alpha)
Post by: BloodBeard on March 09, 2012, 02:55:14 pm
Sorry for the lack of updates, with the FPS i'm getting this takes a lot of time of which I haven't had much of this past week. I'll let you know when I can get back and finish up 0.2.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1.1 Alpha)
Post by: darklord92 on March 10, 2012, 01:20:39 am
You can always try DFhack with fastdwarf on, if that framerate gets that bad of course.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1.1 Alpha)
Post by: CyberUrist on May 26, 2012, 08:44:26 pm
This is amazing, and I fully support. What do you mean you have the word recognition stuff built?
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1.1 Alpha)
Post by: LordSlowpoke on July 07, 2012, 06:44:35 pm
Shameless necro here - don't want to see a project like this dying.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1.1 Alpha)
Post by: misko27 on July 07, 2012, 07:26:49 pm
Shameless necro here - don't want to see a project like this dying.
As self-apointed necro police, i'll allow it.
Title: Re: The Dwarven Learning Computer (WIP)
Post by: codyorr on July 07, 2012, 08:16:31 pm

Greatest picture EVER!
Title: Re: The Dwarven Learning Computer (WIP)
Post by: Corai on July 07, 2012, 08:17:41 pm

Greatest picture EVER!

Corai has been stricken with laughter!
Corai has suffocated!
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1.1 Alpha)
Post by: TinyPirate on August 16, 2012, 08:09:41 am
Hi guys. I'm fiddling with this because I'd like to show it off in a webcast I'm doing with O'Reilly on Friday. Thing is, while I can enter letters and digits I'm not able to get any maths to happen, or anything else. I suspect that these aren't yet features - but I could also be completely wrong - which is likely. Can someone guide me?
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1.1 Alpha)
Post by: mstram on January 17, 2014, 05:32:08 pm
I'm looking at this  world, trying to figure out how the "display" cells work.

I see that on level 131, there are microline Floor hatches, but there seems to be nothing on levels 130(below) or 132 (above).

So how do the display cells get "refilled" ?

Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1.1 Alpha)
Post by: MagmaMcFry on January 17, 2014, 05:47:57 pm
What do you mean "refilled"? If you open a floor hatch, it doesn't break, it just turns invisible. Closing the floor hatch will make it show again.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1.1 Alpha)
Post by: mstram on January 17, 2014, 08:22:54 pm
OIC now ;)

I ASSumed it was fluid filling in the cells making the pattern 
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1.1 Alpha)
Post by: Amperzand on October 15, 2014, 06:42:31 pm
So, here's a thought...  The guy attempting to create a sentient AI within DF stopped reporting on his progress without warning... Perhaps he succeeded?
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1.1 Alpha)
Post by: dwarf_reform on October 15, 2014, 10:31:17 pm
It probably mechanically retrofitted him with dwarfly enhancements and now he's down 120 z-levels under his house setting up a magma industry they'll then use to create robo-dwarves to conquer the world with.. If they're anything like the real DF they'll show up in heavy numbers and while all our drawbridges are up..

.. You guys do have rl drawbridges set up already, don't you??
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1.1 Alpha)
Post by: BloodBeard on October 16, 2014, 01:24:49 pm
I, BloodBeard am well.

This ones apologies for not posting. I have been...sick.

Cough, cough.

See?

Do not worry.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1.1 Alpha)
Post by: Dwarf4Explosives on October 19, 2014, 11:27:18 am
This is superbly awesome. I've got to ask, though, did you ever get the mastermind game working?
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1.1 Alpha)
Post by: BloodBeard on October 19, 2014, 12:49:27 pm
In the actual fort no. I was in the planning stages when I got distracted by another game or something and the FPS was just too bad for me to have the courage to work on it.

Minecart logic has allowed me to help with that problem if I were to ever pick this up again. I even went into the planning stages and made up a mock version using (N)otes that was a quarter the size of this, but it still uses the same number of linkages (which is the real pain). I haven't played DF in forever and wasn't ready to start again so I never went through with it. I'd probably have to downgrade to 0.34.11 if I wanted to solve the FPS problem from the looks of things  :P (never played the current version)
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1.1 Alpha)
Post by: Dwarf4Explosives on October 19, 2014, 01:31:09 pm
From what I've heard, the newest version has horrible FPS anyway, making it unplayable after about 5 years.

Too bad to hear you probably won't be working on it, though.
Title: Re: Cyberdorf Systems: Dwarfputing an A.I. (0.1.1 Alpha)
Post by: Amperzand on October 31, 2014, 11:37:43 am
Yeah... Well, I'm glad to hear you probably didn't build Dwarven Skynet.