DoomRL > Century Lounge

[U|AoHu+Ao100|YAAM] Everyman Diamond Centurion

<< < (3/3)

Off the cuff, I'll say that its certainly possible, but it is more tedious then complicated. If someone wanted to attempt it, you'd probably want to do it with Linux and rely on the 'ptrace' syscall to control the DoomRL process. It's up to you if you want to load DoomRL separate from your bot app, or fork/exec it, or manually load the ELF in a sandbox. I would probably avoid shortcuts like piping/redirecting stdIO to your bot app, which is how Rogue/Hack bots worked in the old days. In any case, getting your app loaded and plugged in to DoomRL is step one.

Step two is deciding how to "read" all of the game output. Start with the screen, then work around the sound. Forget the actual audio or the screen appearances...i.e. just associate the sound assets with parameters passed to the play interface (all this is visible with ptrace). For graphics, stick to console and read the character buffer. Just to make your life easier during ptrace, disable ASLR.

Step three is deciding what you want your character to do (the AI problem). Thelaptop would probably know best about that part. Lots of options exist...from the user controlled 'expert system', to the system that learns best policy via trial and error.

Doing this from scratch would be a lot of work...mostly boilerplate stuff, but nothing terribly would take a while for one person

EDIT: I realized that I probably understated the knowledge necessary to get this done. This project absolutely requires precise understanding of how a process is created, loaded, organized, and executed. Not something a casual hobbyist would know, but certainly possible for a CS/EE graduate student or a systems engineer with some experience.


[0] Message Index

[*] Previous page

Go to full version