In case I hadn't shown you yet, here's my Python implementation of a Dancing Links sudoku solver, on appengine!
http://sudokudlx.appspot.com/
Also, I've written a bit about how to use Dancing Links (DLX) to solve sudoku puzzles. Soon, I'll write up how to implement DLX.
Showing posts with label games. Show all posts
Showing posts with label games. Show all posts
Sunday, September 14, 2008
Saturday, October 06, 2007
ye can't get ye flask
So I tried Second Life again, despite my difficulties getting going with it the first time. Surely they've got stuff ironed out now, right?
And it's pretty easy to sign up, and you get a fairly nice-looking avatar by default (mine was "city chic", which pretty much describes me in First Life as well), and you download the client, which they probably have one for your platform, and it all works. And you find yourself on this friendly-looking island and the tutorial tells you how to walk around and say things and stuff. And there are a few other virtual people standing around.
But it's not clear if they can hear you when you speak -- and if they're trying to chat with you, how would you find out? Maybe there's a "chat" window that you can pull up. I found a window that maybe wanted to be that one ("History"?) ... but only some of my utterances seemed to show up there.
So I walked around on that little island for a few minutes, trying to figure out how to get to another island -- and there's this "teleport" button, but how do I use it, and why is it grayed out?
... after a while, I found that I'd hit something that turned off my walking. My arrow keys would turn me in place, but I couldn't walk around anymore. And there's no clear "oh, you're in 'don't walk anymore' mode" indicator. Buh?
And that was enough to end my second foray into Second Life. There are only so many minutes in the day.
I think my experience was rather more anticlimactic than Drew's. He at least found out how to go places. But neither of us could figure out how to hit people.
And it's pretty easy to sign up, and you get a fairly nice-looking avatar by default (mine was "city chic", which pretty much describes me in First Life as well), and you download the client, which they probably have one for your platform, and it all works. And you find yourself on this friendly-looking island and the tutorial tells you how to walk around and say things and stuff. And there are a few other virtual people standing around.
But it's not clear if they can hear you when you speak -- and if they're trying to chat with you, how would you find out? Maybe there's a "chat" window that you can pull up. I found a window that maybe wanted to be that one ("History"?) ... but only some of my utterances seemed to show up there.
So I walked around on that little island for a few minutes, trying to figure out how to get to another island -- and there's this "teleport" button, but how do I use it, and why is it grayed out?
... after a while, I found that I'd hit something that turned off my walking. My arrow keys would turn me in place, but I couldn't walk around anymore. And there's no clear "oh, you're in 'don't walk anymore' mode" indicator. Buh?
And that was enough to end my second foray into Second Life. There are only so many minutes in the day.
I think my experience was rather more anticlimactic than Drew's. He at least found out how to go places. But neither of us could figure out how to hit people.
Tuesday, September 11, 2007
possible upcoming projects
I need a cool side project. I have a bunch of ideas that I think would be interesting: here they are. I've already started futzing around with a few of these... comments or suggestions are definitely welcome.
New Things To Build
- Sketch out and build an online community where kids can make stuff in code and share it with each other, like MOOSE Crossing only awesome and on the web and easy to use and linkable. Does this want to be made of Scratch, or similar to it? Can we include proper inheritance? Make it work for the OLPC.
- TEB. Make TEB awesome. Does TEB want to use/be part of/merge with gnoetry? Related: That horoscope remixer thing that never worked right.
- Some automated way to calculate Erdos numbers, probably with the help of DBLP.
- A Scrabble bot. I've been thinking about this a lot, actually, looking at different algorithms for permuting strings -- but I think I can do Scrabble without looking at permutations... maybe all you really care about is whether certain groups of letters constitute the same bag. If it turns out we don't have to permute things (in n!), then we can probably plan several turns ahead. This might be similar to playing Backgammon,, but maybe we can't do something like that kind of policy learning; your set of possible actions changes so much every turn, and you'd have to use probability estimates to look into future turns...
Interesting Exercises, way already done by other people
- Build a language and virtual machine. Educational for me, not very useful for other people. Recommended by Strick. Building a VM at a pretty high level of abstraction might not be that hard, just think about stack frames and returning things. At what level do things like the Python VM work? The JVM? Surely there are different approaches used for this; what are they? Would it be hard to build something with multithreading in mind from the bottom up? What about a purely functional lambda-calculus implementation?
- Write a checkers bot. Tree search, AB pruning, etc. are pretty well understood, even by me -- the hard thing would be an evaluation function.
- Build a MUD, or at least a MUD framework. But in Scheme. ynniv and I somehow never got around to that...
- Another Sudoku solver. But in Haskell.
New Things To Build
- Sketch out and build an online community where kids can make stuff in code and share it with each other, like MOOSE Crossing only awesome and on the web and easy to use and linkable. Does this want to be made of Scratch, or similar to it? Can we include proper inheritance? Make it work for the OLPC.
- TEB. Make TEB awesome. Does TEB want to use/be part of/merge with gnoetry? Related: That horoscope remixer thing that never worked right.
- Some automated way to calculate Erdos numbers, probably with the help of DBLP.
- A Scrabble bot. I've been thinking about this a lot, actually, looking at different algorithms for permuting strings -- but I think I can do Scrabble without looking at permutations... maybe all you really care about is whether certain groups of letters constitute the same bag. If it turns out we don't have to permute things (in n!), then we can probably plan several turns ahead. This might be similar to playing Backgammon,, but maybe we can't do something like that kind of policy learning; your set of possible actions changes so much every turn, and you'd have to use probability estimates to look into future turns...
Interesting Exercises, way already done by other people
- Build a language and virtual machine. Educational for me, not very useful for other people. Recommended by Strick. Building a VM at a pretty high level of abstraction might not be that hard, just think about stack frames and returning things. At what level do things like the Python VM work? The JVM? Surely there are different approaches used for this; what are they? Would it be hard to build something with multithreading in mind from the bottom up? What about a purely functional lambda-calculus implementation?
- Write a checkers bot. Tree search, AB pruning, etc. are pretty well understood, even by me -- the hard thing would be an evaluation function.
- Build a MUD, or at least a MUD framework. But in Scheme. ynniv and I somehow never got around to that...
- Another Sudoku solver. But in Haskell.
Sunday, November 26, 2006
Genetic algorithms for Dr. Mario Strategy!
It turns out that one Paul Kuliniewicz has decided to build an AI to play Dr. Mario -- or more accurately, to learn to play Dr. Mario and then play it, using, ironically, genetic algorithms. It's called Wallace, and it builds up and breeds different strategies for pushing pills around. This seems like a pretty good domain -- and I suppose puzzle games of this sort are in general... I wonder if anybody's done something like this for Tetris? Other real-time puzzle games?
The interesting thing about this -- he's hooked his evaluation function for evolutionary candidates into the NES emulator. Pretty clever stuff!
The interesting thing about this -- he's hooked his evaluation function for evolutionary candidates into the NES emulator. Pretty clever stuff!
Thursday, September 21, 2006
link-o-rama
It's funny, starting up blogging in a new place. I'm not sure what my voice is going to be like here, so I usually write about my thoughts about the medium for a little bit first. In fact, almost every time I've started writing in a new place, I've done this. I think this blog is going to be a little more of a public version of my earlier Penguin Parens blog, which had lived on hackmode.org, and on which I would semi-occasionally put up little howtos and technical discussions. I'll still try to do that here, but I'd also like to expand out to talking about philosophy and also just linking to techie things. My more personal stuff lives on LJ, and I'll try to keep the personal and techie/professional/pseudointellectual more segmented...
We'll see if anybody reads this, heh.
Today is about buttons and games!!
Links:
- On Saturday, I participated in Out Of Hand Theater's production of The Game. It was a large-scale scavenger hunt and puzzle-solving game, run through the few miles surrounding the Little Five Points area. It involved a lot of puzzle solving, clue-finding, and confusion as to what was a clue on the part of our team. (We came in a very respectable fifth-out-of-dozens.)
- History of the Button has been making its way around the Internets recently, but it's a super-interesting site. What could possibly be more integral to today's technology than buttons? And they're fairly new -- as you'll see if you look at their very nice presentation on the subject.
- AVANT GAME is Jane McGonigal's site about all of the interesting stuff that she does, which largely includes research on games, computer and otherwise! She travels to different universities and teaches classes about game design. Also, Jane's been known to work with Ian Bogost from the EGL, and recently, they produced Cruel 2 B Kind, "a game of benevolent assassination". It's sort of like water-gun assassination games that some of you may be familiar with, although probably much funnier for uninformed bystanders. Because you can kill people by complimenting them on their shoes, and you have no idea which ones. (or even who's playing).
- Come Out And Play -- the last day of the festival is today! But it's about all sorts of wild outdoor games, including large, real-life versions of classic video games, such as Space Invaders, and apparently a version of the well-blogged Pac Man played outside.
We'll see if anybody reads this, heh.
Today is about buttons and games!!
Links:
- On Saturday, I participated in Out Of Hand Theater's production of The Game. It was a large-scale scavenger hunt and puzzle-solving game, run through the few miles surrounding the Little Five Points area. It involved a lot of puzzle solving, clue-finding, and confusion as to what was a clue on the part of our team. (We came in a very respectable fifth-out-of-dozens.)
- History of the Button has been making its way around the Internets recently, but it's a super-interesting site. What could possibly be more integral to today's technology than buttons? And they're fairly new -- as you'll see if you look at their very nice presentation on the subject.
- AVANT GAME is Jane McGonigal's site about all of the interesting stuff that she does, which largely includes research on games, computer and otherwise! She travels to different universities and teaches classes about game design. Also, Jane's been known to work with Ian Bogost from the EGL, and recently, they produced Cruel 2 B Kind, "a game of benevolent assassination". It's sort of like water-gun assassination games that some of you may be familiar with, although probably much funnier for uninformed bystanders. Because you can kill people by complimenting them on their shoes, and you have no idea which ones. (or even who's playing).
- Come Out And Play -- the last day of the festival is today! But it's about all sorts of wild outdoor games, including large, real-life versions of classic video games, such as Space Invaders, and apparently a version of the well-blogged Pac Man played outside.
Subscribe to:
Posts (Atom)