-
It just hit me... it would be fun. I am a programmer, but i have never ventured to the land of memory hacking, it would be really fun to make a bot that plays DF or Tries to. The code base for it would be enormous, giving it some values or a xml with data for what areas to try to build and what objects it should try to create. It would be awsome and hard as hell i guess.
-
Like an AI or something? I don't think any program can be smart enough to successfully play DF.
-
I am sure it could be.
Still, i don't talk about playing the entire game, just say... a manager for hard times or replaning or something.
My first goal will be a procedural floor planer, should be easy enough, doesn't realy need to know anything about the gameworld.[ April 08, 2008: Message edited by: TheSpaceMan ]
-
Ok but how do you recognize the "You have struck (Material)! " Messages?
Good Luck and write directly to the Memory for tile-allocation etc. because DF recognizes keypressed-message only each 150 microseconds after the first keypressed-message.
-
I am not talking sky net here.
I am talking about a app, that very (slowly) can parse the current world as seen, and preform input based on random patterns stored, and found from the parsing. This could be done at a pixel level, heck it might not even need to read anything from the game, just pass input at the moment.
Text in DF follow the tilesize as well right?
"AI" might be a to big step at the moment, help full builder rather. Being able to feed precedural generated forts as dig data with stairs for diffrent levels is more correct.
[ April 08, 2008: Message edited by: TheSpaceMan ]
-
you could use the popular SCAR program witch is a a powerful boting tool can rejister changes in the code and on screen ect. it can be found on most hacking websites try a runescape hacking comminity is your best bet to find an up-to-date version of the program
-
Sounds hardly as fun as doing it yourself.
-
Interesting idea... reminded me of the Borg-commands and such from the Angband games. Helpful AI is a great start though! If only you could get it to forbid items invaders drop and/or build walls and floors out of a list of accepted materials (say you only wanted limestone, obsidian, or bauxite for instance). I'm all for this!
It'd be pretty awesome to one day get something smart enough to build a fort. =) Like with the Borgs of the past, Toady might start throwing in certain features to confuse it, hehe.
-
quote:
Originally posted by Keiseth:
<STRONG>Interesting idea... reminded me of the Borg-commands and such from the Angband games. Helpful AI is a great start though! If only you could get it to forbid items invaders drop and/or build walls and floors out of a list of accepted materials (say you only wanted limestone, obsidian, or bauxite for instance). I'm all for this!It'd be pretty awesome to one day get something smart enough to build a fort. =) Like with the Borgs of the past, Toady might start throwing in certain features to confuse it, hehe.</STRONG>
I came here to mention the Angband bot. I used to watch that thing play for so long...it had two real errors: if it ran out of a light source, it'd freeze, and during the early mid-game it got waaaay too cautious.
Anyway, some helpful DF bots would be awsome. Someday having a full DF-AI would be a pretty astounding thing.
-
Links to angband borg bots, please. I'm bored and want to watch something awsome.
Also, it'd be a very good idea that if you do end up coding some kind of bot, that you should make sure the Ai understands what causes cave-ins, and that it cannot build walls on the diagonal. For instance, if you wanted to make a + shape, you'd have to leave one wall unfinished so that the center wall completes first.
-
When I think of an AI running DF, I imagine some kind of cross between a post-apocalyptic wasteland and an opium den, with debris scattered everywhere, and glassy-eyed dwarves lying on the ground, staring at the sky and gasping like beached fish. Maybe a dwarf or two mindlessly hitting a rock with a pick, mumbling "goldgoldgoldgoldgoldgoldgold..."
-
basically this should only be attempted if you have ALOT of time to waste...*cough*playing RuneScape*cough*
-
RuneScape is an abomination.
-
ahh wel i used to play the old rs 1 when it was 2d graphics trying to be 3d and yes rs does suck now =\ was a good game at one point... 6 years ago....
-
you can't screen scrape for info instead of memory edit? (to track for pauses and messages)
-
Dungeon Keeper had a helper AI. Designated digging/building or managed offensive stuff like troop movements. Was incredibly useful, just hit a button.
-
The first time I saw Dungeon Keeper's helper AI in action I thought my computer was possessed. It's freaky suddenly seeing a bunch of tiles designated for digging the way a human would designate it.
-
I know that a good DF bot would be hard to do, and even harder to keep from taking the CPU power left after running all the cat path finding, but it would still be fun to fight one.
Your fort vs it's.
-
Dungeon Keeper eh?... Good times... I still have a rip of DK in my comp...
Yeah, an AI style like DK kicks ass... hell, I play more with AI on than I do with AI off...
The bot would be good and the forseen CPU war *might* happen, UNLESS it was coded in somthing cheapy like C or a REALLY old programming language... *hint* *hint*...
-
Image grabing and scanning is going to be used purely becouse it's easier to steal screendata and patch it agains a defined tileset, then to access the memory. This is a much later project i am still waiting for this months salery so I can buy my new computer. codeing DF stuff and accessing wine emulated windows is a big no no under ubuntu. :P
-
There exist a basic mass rewall utility that can build walls and floors. It is very limited with what shapes it can build at this stage, but it works.
-
yeah, but it can't be hooked up easily to home coded algorithms that marks cool fortress designs for a digout in a procedureal maner. :D
-
Are you perchance talking about my DFWall? If so, I should be able to get you the ability to build any shape with any material and almost any building (example: a shape of a statue made from green glass aquariums) and make it a bit quicker and more reliable (and give it the ability to work on multiple Z levels, though I don't really see the point) easily enough, but I've assumed there's no point in doing that given the almost nonexistent response to my original utility.
[ April 21, 2008: Message edited by: LordZabujca ]
-
quote:
Originally posted by Heph:
<STRONG>Good Luck and write directly to the Memory for tile-allocation etc. because DF recognizes keypressed-message only each 150 microseconds after the first keypressed-message.</STRONG>
you can change that in the init.txt file to 1 micro second or 999999999999999 micro seconds if you like
-
An AI? For my Dwarf Fortress? Is it more likely than I think?
Daddy likes.
<3 writing bots. Can I suggest an initial memory-based autodesignation thing? It's really irritating trying to channel out a very large, square region...or worse yet, channel out the long 1 tile wide landbridge you've been using. A bot that designates the next tile once one tile has been mined out would be the best thing in the universe.
Visual recognition is absolutely the worst thing in the world that you could ever try on DF, in fact DF is one place I would never want to use it. AIs are VERY bad at recognizing gestalts--they couldn't reliably tell where someone was going, and that means that when there's a farmer and an herbalist nearby, it would very likely get lost. AIs are terrible at limited information, and the usual solution is "get as much information as you can"...I don't think you want it to pause and scroll around the whole map every few frames, sitting on each screen for long enough to watch all the different creatures cycle through. DF also has a surprising amount of ambiguity in its visual representation; having sand that flashes yellow when it's targeted for mining is not very useful...and while humans are QUITE good at detecting motion and noticing the different flash frequency, AIs are much worse.
I could imagine a memory-based DF bot doing quite well, actually, when it comes to executing predefined plans with very little deviation. I would love to see a bot that jousts with all the different professions, shuffling them around as necessary.
Also excellent is: AIs are really good at paying attention to everything at once, because humans have limited attention spans and like to finish one thing at a time. It could surely make much better use of idle dwarves...or at least the dwarves that a human wouldn't manage as closely.
Really though I think it would be best for managing building and digging, by automatically designating and constructing things...in the right order.
/bot writer
//for muds and Puzzle Pirates only
-
My main problem with this project is my total and uter lack of "memory hacking". My personal goal for the bot at first is to make something that mark large areas for digging according to specifications. Like nameing the size of rooms and possibly longest distance between areas. optimal usage of round rooms and surfaces, i don't know, simply designing intresting mathematical fortress designs.
[ April 24, 2008: Message edited by: TheSpaceMan ]