Page 1 of 1

Kodu Game Lab

PostPosted:Wed Jul 08, 2009 7:43 am
by SineSwiper
Kinda looks like XBL's answer to Little Big Planet, except it's more expandable. Highly programmable. The individual programming interface is like FF12 system on steroids. A lot of good potential.

I was spending a few hours just trying to turn one of their game-controlled games into an AI-controlled one. I can imagine you could make some sort of mini-RPG type game with this one, too.

Some examples:

http://www.youtube.com/watch?v=ZMNhRDEu2FE
http://www.youtube.com/watch?v=c1Z4O79RCdc

PostPosted:Wed Jul 08, 2009 11:01 am
by Shellie
I dunno, I think there is much more in LBP that you can do. Someone actually created a calculator with it.

PostPosted:Wed Jul 08, 2009 6:38 pm
by SineSwiper
I'm thinking you could do that with KGL. There's a bunch of scoring systems you might be able to take advantage of.

PostPosted:Fri Jul 10, 2009 11:53 am
by Kupek
I doubt this was indented as a response to LBP. Kodu was started a research project, http://research.microsoft.com/en-us/projects/kodu/ , with the stated goal of teaching kids programming concepts. A Slate article describe it as a next generation LOGO: http://www.slate.com/id/2222546/

PostPosted:Fri Jul 10, 2009 7:31 pm
by SineSwiper
Yeah, but LOGO is still useful. I was teaching my 4th grade teacher how to create subroutines with arguments on LOGO. But, it wasn't just the programming; it was the geometry. I just wish they would try to bring it back in a new face someday.

As far as KGL, I started creating something on it (some sort of RPG level-based shooter), but I just got bummed on the notion that I couldn't SHARE ANYTHING! I just don't understand why they didn't take it one step further and go that route. You can share with your friends, but there wasn't a server that you could go to see anybody's creations.

N+ had problems with that, too, but at least you interacted with other players in multiplayer games, so at least you had a chance to show random people your levels.

PostPosted:Fri Jul 10, 2009 7:52 pm
by Kupek
I looked up Logo on Wikipedia, and it certainly looks Turing complete - it has the basic control structures. It just may be that in what you did, you didn't use those.

My guess for why they didn't allow sharing is they didn't have the time/resources to implement that. You're right that I doubt it will take off without that.

PostPosted:Fri Jul 10, 2009 9:33 pm
by SineSwiper
Kupek wrote:I looked up Logo on Wikipedia, and it certainly looks Turing complete - it has the basic control structures. It just may be that in what you did, you didn't use those.
That Turing article made my head hurt, and was devoid of actual explanation. WTF is a Turing-computable function? I know what a Turing test is, but I think that is much different than a Turing machine.

PostPosted:Fri Jul 10, 2009 10:28 pm
by Kupek
A Turing machine is a theoretical device. It has an infinite tape, a movable head that can read and write to that tape, and the tape can give it commands like "move two sections right if current location is less than three." It's provable that a universal Turing machine is capable of computing anything that is computable. It may be inefficient, but it can be done.

If you can map a programming language to a universal Turing machine, then you know that the programming language is capable of computing everything that is computable. This is a relatively low threshold; all programming languages you have experience with meet this criteria. A markup language, like HTML, does not meet this criteria.

Saying that a programming language is "Turing complete" is another way of saying that in that language, you are capable of expressing any arbitrary computation.

So. I pointed out that Logo is Turing complete. By that I implied that it must be "programming."

PostPosted:Sat Jul 11, 2009 7:56 am
by SineSwiper
But, what is "everything that is computable"? Are you saying that because HTML doesn't do math, it's not Turing-complete?

Maybe you should improve on the Wiki articles.

PostPosted:Sat Jul 11, 2009 8:55 am
by Mental
SineSwiper wrote:But, what is "everything that is computable"? Are you saying that because HTML doesn't do math, it's not Turing-complete?

Maybe you should improve on the Wiki articles.
That would be a good way to put it. To be Turing-complete - as far as I know - you have to have the read/write head, some analogue to the tape (i.e., hard drive or other storage unit), and the basic math operations. HTML is also completely dependent on other applications to convert its syntax to the final intended form, while a Turing machine would be responsible for doing those calculations itself. My explanation is very layman and may be a bit off though, Kup will no doubt explain it in genuine terms...

At any rate, just because a language is Turing-complete doesn't mean it is an easy or good choice to do programming in. <a href="http://en.wikipedia.org/wiki/Brainfuck">Brainfuck</a> is Turing-complete too, but I think I personally will stick with C#.

PostPosted:Sat Jul 11, 2009 11:22 am
by Kupek
Oddly enough, a language doesn't need explicit math (such as 2 + 3) in order to be Turing complete. It's enough that you can do operations that can be mapped to such operations. For example, if I have a language that only uses lists of varying sizes, and I can add or remove elements from those lists, that can be mapped to mathematical operations on integers.

Now, as far as I know, HTML has no such mechanisms that can be mapped to mathematical operations. Further, HTML has no control structures. Examples are if/else constructs and while loops. Note, however, that you don't need explicit if/else constructs or explicit loops to achieve their effect. What you need is any method of changing execution based on conditions, and any method of repeating execution.

Not everything is computable. Obviously, a question such as "What is love?" is not computable. But, some questions which you might think are computable are not. The question of whether or not any arbitrary program with any arbitrary input will actually complete is not computable. Turing also proved this, and it's called the Halting problem.

Turing is the father of theoretical computer science. He's to computer science what Newton is to physics.

Mental, did you know that C++ templates are Turing complete? Check out this paper (which is down right now, but should be back up; it's the CS department at Waterloo's server): http://ubiety.uwaterloo.ca/~tveldhui/pa ... turing.pdf

PostPosted:Sat Jul 11, 2009 12:28 pm
by Mental
Kupek wrote:Mental, did you know that C++ templates are Turing complete? Check out this paper (which is down right now, but should be back up; it's the CS department at Waterloo's server): http://ubiety.uwaterloo.ca/~tveldhui/pa ... turing.pdf
I did not. However, that's not surprising. They are ridiculous in the level of complexity allowed if recursion is brought into play.