Game Politics ([info]gamepolitics) wrote,
@ 2006-03-24 05:41:00
Previous Entry  Add to memories!  Tell a Friend  Next Entry
Entry tags:alice, carnegie-mellon, ea, maxis, stage 3 research group, the sims, will wright

The Sims Go to College - And It's Not Another Add-on Module

Would you like to create video games but find yourself daunted by the fact that displaying a simple message in Windows can take hundreds of lines of code? Perhaps Alice can help.

Who?

Alice is a program developed by the Stage 3 Research Group at Carnegie Mellon Univeristy. The innovative program offers novice coders a 3D graphics development environment that allows them to concentrate on learning and experimenting with programming concepts instead of suffering through proper syntax and complicated code structure. Details can be gleaned from this 12 minute demo. However the basic appeal for students is that instead of typing this:

if(((GetAsyncKeyState(VK_UP) & 0x8000) ? 0: 1) && (ball_ptr->radius<MAX_RADIUS))ball_ptr->radius ;

Alice users create much more intuitive statements such as:

If [the user presses the up arrow key] and [the ball's radius is less than the
maximum] then [increase the radius of the ball by 1].


Much easier to read, isn't it? The program, free to anyone who wants it, has thus far used rudimentary and, to be blunt, unattractive 3D models created in 3D Studio Max. A recent collaboration with Electronic Arts will guarantee that Alice has the looks to go with her personality because version 3 will be incorporating art assets from the Sims (read the press release here).

"Getting the chance to use the characters and animations from The Sims is like teaching at an art school and having Disney give you Mickey Mouse," said comp sci prof Randy Pausch, director of the Alice Project. "The Sims is EA's crown jewel, and the fact that they are willing to use it for education shows a kind of long-term vision one rarely sees from large corporations."

Version 3 of Alice will be developed over the next 18 to 24 months and could well be positioned as the national standard for teaching software programming.

AE: Imagine if Carnegie Mellon had teamed up with American McGee to revamp Alice's looks... If used correctly Alice could be very helpful to students who are easily frustrated by the rudimentary "Hello World" projects that most programmers are subjected to at one point or another. It's encouraging and more fulfilling to be able to produce something functional and attractive in a short amount of time. However, writing code is a mandatory skill for professional programmers so applications like Alice should only be used in an introductory capacity.

-Reporting from San Diego, GP Correspondent Andrew Eisen

GP: Not to jump in on Andrew's excellent report, but I wanted to add that The Sims connection may have something to do with the fact that Will Wright is very high on the Carnegie-Mellon academic program. He mentioned to me at E3 2003 that Maxis has been wowed by the caliber of interns they've had from CMU.




(66 comments) - (Post a new comment)

CODER MAD
[info]startropics
2006-03-24 01:45 pm UTC (link)
CODER MAD THAT HE SPENT ALL OF LAST NIGHT CODING VISUAL BASIC AND THEN HE SEE THIS EASY PANSY CODE CRAP

Seriously. That would have my night a lot easier.

(Reply to this) (Thread)

Re: CODER MAD
[info]origamifrog
2006-03-24 06:09 pm UTC (link)
I have a feeling that it would actually be harder in many ways, purely because the simplicity of a language tends to be the inverse of its power. If you're forced to code in something that's so high-level that looks like English, you aren't exactly going to be able to do complex pointer manipulations like you can in C, let alone bit shifts, or any of the other handy low-level operations that are absolutely essential in real-world graphics/games programming.

Obviously this language is meant only for educational purposes, but I'm not sure if I approve of students at a university level being allowed to completely ignore how things actually work. As wonderful as high level languages are, they can't teach a lot of important concepts, and without some understanding of how things work behind the scenes, it's a lot harder for students to apply the concepts that they -do- learn to other languages and environments.

(Reply to this) (Parent)(Thread)

Re: CODER MAD - [info]acroamatis, 2006-03-24 08:25 pm UTC
Re: CODER MAD - [info]mrfalcon, 2006-03-24 11:17 pm UTC
Re: CODER MAD
[info]danthemanitac
2006-03-25 01:37 pm UTC (link)
I feel your pain, trying to figure out 3d for VB is frustrating enough.

(Reply to this) (Parent)


[info]silver_derstin
2006-03-24 02:01 pm UTC (link)
The Sims is an awesome game, and their graphic engine is pretty awesome for what it is supposed to do. Anyone can imagine the possibility of employing such an engine in creative art and gaming. I applaud this effort.

Only thing... They could have removed the EA propaganda from this piece, but that's probably the only way they can get their hands on the stuff. Sad.

(Reply to this) (Thread)


[info]dagrak
2006-03-24 02:25 pm UTC (link)
So am I the only one who spent my Sims games seeing how far I could push my Sims into an emotional state of despair before persuading them to perform various suicidal acts like sit in a wicker chair next to an open fire, or stay up for several nights and then go for a nice long swim...?

(Reply to this) (Parent)(Thread)

(no subject) - [info]silver_derstin, 2006-03-24 02:35 pm UTC
(no subject) - [info]dagrak, 2006-03-24 02:46 pm UTC
(no subject) - [info]l0que, 2006-03-24 06:59 pm UTC
(no subject) - [info]silver_derstin, 2006-03-24 07:28 pm UTC
(no subject) - [info]l0que, 2006-03-24 07:37 pm UTC
Moronic Propaganda
[info]cripple_mronion
2006-03-25 12:20 am UTC (link)
They are using the Sims assets in the Alice engine you n00b. Way to auto-hate when you don't even know what you are talking about.

This will help get women involved with Computer Science at a young age. ANYTHING that gets girls to understand real logic is awesome.

(Reply to this) (Parent)


[info]i_iv_v
2006-03-24 02:07 pm UTC (link)
if(((GetAsyncKeyState(VK_UP) & 0x8000) ? 0: 1) && (ball_ptr->radius
[Error: Irreparable invalid markup ('<max_radius))ball_ptr->') in entry. Owner must fix manually. Raw contents below.]

if(((GetAsyncKeyState(VK_UP) & 0x8000) ? 0: 1) && (ball_ptr->radius<MAX_RADIUS))ball_ptr->radius ;

I find that a whole hell of a lot easier to read than this:

If [the user presses the up arrow key] and [the ball's radius is less than the
maximum] then [increase the radius of the ball by 1].

This crap should never replace honest to God code. I'd be out the job before I even graduate.

(Reply to this) (Thread)


[info]silver_derstin
2006-03-24 02:13 pm UTC (link)
To teach the logic behind the game, the one If User does Something is better.

For actual coding purpose and having people UNDERSTAND how it works, the first one makes more sense.

(Reply to this) (Parent)(Thread)

(no subject) - [info]acroamatis, 2006-03-24 08:28 pm UTC

[info]illspirit
2006-03-24 02:25 pm UTC (link)
...unattractive 3D models created in 3D Studio Max

Umm, how is 3D Studio to blame for the models' unattractiveness? The software costs more than my car and is used for tons of games and Hollywood CG. Or am I just reading that wrong...

(Reply to this) (Thread)


[info]silver_derstin
2006-03-24 02:34 pm UTC (link)
Like I said, parts of what is in there is pro-EA propaganda. Or they just didn't know how to use 3D Studio, one of the two.

(Reply to this) (Parent)(Thread)

(no subject) - [info]illspirit, 2006-03-24 02:59 pm UTC

[info]origamifrog
2006-03-24 06:14 pm UTC (link)
Some of the artists where I work use Max, and the work that they do with it is just gorgeous. However, speaking from experience, someone with no artistic talent can make models so bloody awful that even Poser models look good by comparison. It's a tool that requires a lot of skill to master, and it's easy to get frustrated with it as a newbie.

(Reply to this) (Parent)

(no subject) - [info]andrew_eisen, 2006-03-24 06:42 pm UTC
(no subject) - [info]illspirit, 2006-03-25 12:21 pm UTC
(no subject) - [info]andrew_eisen, 2006-03-26 03:18 am UTC
long live 1959!
[info]jythie
2006-03-24 02:56 pm UTC (link)
ok, so they have reinvented COBOL and sexed it up a bit, and applied it to 'graphics' programming instead of 'buisness' programming....

(Reply to this)

Is it just me...
[info]shadedspriter
2006-03-24 04:00 pm UTC (link)
Or does this just scream to you "machinima tool".

The problem some machinima has is that it is stuck to using what is "pre-programed" in the game - with this it could easily be possible to set up what you need easily.

(Reply to this)


[info]the1jeffy
2006-03-24 05:08 pm UTC (link)
So now programmers will be paid for the brevity and reasoning behind their algorithms, in stead of just their knowledge of coding language. Sounds good to me. It's about time. With how 'cheap' coding space is, programmers have become lazy; why take time to combine lines or blocks of code into one line or one block when their is no reason to? When you had to fit your entire program onto a 5.25" disk, you had to be more concise and creative with your algorithm. With the amount of computing power and storage space you can throw at shoddy code nowadays, it's nice to see that now code will be more accessible (at least in one case).

(Reply to this) (Thread)


[info]l0que
2006-03-24 07:01 pm UTC (link)
Untill you want your app or game to run on older systems, thats where shoddy coding works against ya.

(Reply to this) (Parent)

(no subject) - [info]acroamatis, 2006-03-24 08:31 pm UTC
(no subject) - [info]the1jeffy, 2006-03-24 09:19 pm UTC
My main concern...
[info]goodrobotus
2006-03-24 05:09 pm UTC (link)
Is that most coding languages are written as a medium between the user's method of thinking and the compilers form of interpretation. I'd love to see something like this being developed, but it will still be as conformist to syntax and keywords as any other coding language. Will it, for example be able to tell the difference between Ball's and Balls'?

BASIC was, in essence, an attempt to achieve exactly this. I wish them every luck, but I fear it will be, in it's own way, as constricting as C++, if not more so.

(Reply to this) (Thread)

BASIC
[info]jabrwock
2006-03-24 05:13 pm UTC (link)
BASIC though, was designed to teach programming skills, so you could move on to more complex and powerful languages. I think Alice sounds like a wonderful teaching tool to introduce people to graphics design and collision modelling.

Unfortunately, BASIC became almost a programming standard on it's own, which I feel it should never have become. Anyone else here HATE Visual BASIC?

(Reply to this) (Parent)(Thread)

Re: BASIC - [info]silver_derstin, 2006-03-24 05:30 pm UTC
The power of C compels you... - [info]jabrwock, 2006-03-24 06:02 pm UTC
Re: The power of C compels you... - [info]goodrobotus, 2006-03-24 06:14 pm UTC
Re: The power of C compels you... - [info]origamifrog, 2006-03-24 06:21 pm UTC
Re: The power of C compels you... - [info]acroamatis, 2006-03-24 08:36 pm UTC
Re: The power of C compels you... - [info]origamifrog, 2006-03-24 09:13 pm UTC
Re: The power of C compels you... - [info]silver_derstin, 2006-03-24 07:26 pm UTC
Re: The power of C compels you... - [info]i_iv_v, 2006-03-25 02:12 am UTC
Re: BASIC - [info]l0que, 2006-03-24 07:02 pm UTC
Re: My main concern... - [info]the1jeffy, 2006-03-24 05:22 pm UTC

[info]dr_ian
2006-03-24 05:11 pm UTC (link)
if(((GetAsyncKeyState(VK_UP) & 0x8000) ? 0: 1) && (ball_ptr->radius<MAX_RADIUS))ball_ptr->radius ;

What?? I think that's syntactically wrong because it wouldn't do anything, and also using ? 0: 1 is needlessly confusing.

if ( !(GetAsyncKeyState(VK_UP) & 0x8000) && ball_ptr->radius < MAX_RADIUS)
ball_ptr->radius++;

I doubt anyone would call a variable ball_ptr anyway.

(Reply to this) (Thread)


[info]andrew_eisen
2006-03-24 06:32 pm UTC (link)
What?? I think that's syntactically wrong because it wouldn't do anything, and also using ? 0: 1 is needlessly confusing.

Yeah, I wrote it that way just for show. Normally I’d use a macro.

I doubt anyone would call a variable ball_ptr anyway.

I would. It’s how I identify pointers to objects in my code.


Andrew Eisen

(Reply to this) (Parent)(Thread)

pointers - [info]jabrwock, 2006-03-24 08:09 pm UTC
(no subject) - [info]acroamatis, 2006-03-24 08:37 pm UTC
(no subject) - [info]origamifrog, 2006-03-24 10:51 pm UTC
(no subject) - [info]origamifrog, 2006-03-24 06:33 pm UTC
(no subject) - [info]andrew_eisen, 2006-03-24 08:01 pm UTC
A prototyping tool ...
[info]verbinator
2006-03-24 05:13 pm UTC (link)
Alice appears to be a tool for introducing people to the idea of game making. Guildhall at SMU uses a similar type of tool for first term level designers and artists to create a scrolling 2D game (think "mobile game"). First term programmers are expected to write their own 2D game from scratch.

EA has provided the students at Carnegie some nicer graphics to use, freeing them from "programmer art". Programmer art has it's value in that it is usually so ugly that artists fall all over themselves to replace it with good stuff ASAP. Since Carnegie, as I understand it, is a tech-focused game development program, it's nice of EA to make Alice a nicer looking design-oriented tool.

In an ideal game dev environment, designers and artists should never have the opportunity to screw things up by touching actual code.

(Reply to this)

Graduated college in 1989.
[info]nightwng2000
2006-03-24 05:56 pm UTC (link)
I earned an Associates Degree in Science in Business Computer Programming. But my first job, and those there after, have been in the area of Data Entry fields. So nearly all of my education was wasted because I've forgotten most of what I learned. At the time, COBOL 1985 was my favorite of the languages I learned. I really was overwhelmed by the "advanced" languages such as C and C++. And I never formally trained on any of the Visual languages, though I did try an unofficial hand at Visual BASIC. But that was more than 10 years after I had graduated and my career moved away from programming interests. So I lost interest in the attempt to learn VB.

But, this Alice sounds like, if nothing else, something to toy with and maybe take and interest in. If not for learning for a future careet, then maybe as a tool to refresh some memories and maybe, just maybe, look into doing wome small time game programming (shareware and that sort of thing).

Who knows? It certainly peaked my interest.

nightwng2000

(Reply to this)

WHY DID YOU MAKE ME REMEMBER?! >.<
[info]felgraf
2006-03-24 06:09 pm UTC (link)
Graaah! This reminds me of my Comp Sci class last year. Because we used this. And while it is a useful program for learning the logic behind algorthims, it has some issues.

For instance, if I remember right, when you try to play your scene, there is absolutely no way to break out of an infinite loop short of shutting down the entire program.

(Reply to this) (Thread)

Re: WHY DID YOU MAKE ME REMEMBER?! >.<
[info]origamifrog
2006-03-24 06:20 pm UTC (link)
Bah, you think that's bad? Try coding in Scheme via the Dr. Scheme IDE... infinite loops there are more likely to bring down your entire operating system, not just one piddly program :) It's incredibly easy to get an infinite loop too -- just one misplaced bracket (and there are so many brackets in scheme) can be enough, and then you just have to hope you can kill the program fast enough or it'll eat up every byte of available memory in seconds.

(Reply to this) (Parent)(Thread)

Nothing beats a fork bomb - [info]jabrwock, 2006-03-24 08:10 pm UTC
Re: Nothing beats a fork bomb - [info]origamifrog, 2006-03-24 09:18 pm UTC
Re: Nothing beats a fork bomb - [info]jabrwock, 2006-03-24 09:29 pm UTC

[info]lorne_delacroix
2006-03-24 06:24 pm UTC (link)
Just watch. They'll find a way to make us do the "hello world" program even in this. >_

(Reply to this) (Thread)


[info]acroamatis
2006-03-24 08:40 pm UTC (link)
You'll make the character walk up and wave. *L*

(Reply to this) (Parent)

Me equals confused
[info]blitzfitness
2006-03-24 07:16 pm UTC (link)
At least, I was when I started reading that. I couldn't understand why a site like this was talking about the ALICE project, only to realize that the one I was thinking of isn't the one being talked about. I was thinking of GO Ask Alice. *smacks head*

Seeing those lines of code reminds me of why I prefer weightlifting charts.

(Reply to this) (Thread)

Re: Me equals confused
[info]silver_derstin
2006-03-24 07:28 pm UTC (link)
What if we used this code to make weightlifting charts?

*shudders*
*remembers what his final C++ project was in Cegep*

(Reply to this) (Parent)(Thread)

Re: Me equals confused - [info]blitzfitness, 2006-03-24 07:35 pm UTC
Oops
[info]andrew_eisen
2006-03-24 07:57 pm UTC (link)
((GetAsyncKeyState(VK_UP) & 0x8000) ? 0 : 1)

Got my ones and zeros backwards. That would actually test if a key was not pressed. Useful for when you want to test when a user releases a key.


Andrew Eisen

(Reply to this) (Thread)

Re: Oops
[info]goodrobotus
2006-03-24 10:34 pm UTC (link)
hehehehe

Good example of where the new language can help? ;)

(Reply to this) (Parent)

Ambiguity
[info]mrfalcon
2006-03-24 11:21 pm UTC (link)
Personally, I have concerns about Alice's actual ability to understand plain language code. I can see a scenario like there is with interactive fiction (aka text adventures), where the user ends up playing a game of "guess the verb" to figure out which plain language phrase the game wants to hear. Likewise, with Alice I can see a programmer typing [the user pushes the up arrow key] instead of presses and getting frustrated that its not working.

Oh well, I guess I'll have to keep looking for a language to write my new game, "Fruit Fly in Banana World" ;)

(Reply to this) (Thread)

Re: Ambiguity
[info]i_iv_v
2006-03-25 02:09 am UTC (link)
You are absolutely right about ambiguity. I'd rather just stick to C++ but C# is recommended too (though I know nothing of that).

(Reply to this) (Parent)

Downloaded, Ran, Took a Tour
[info]nightwng2000
2006-03-25 05:20 am UTC (link)
Interesting, interesting.

I have in my mind the memory of simple VR program for either the C64 or the early PCs (XT or 286). It was commercially sold but wasn't an expensive program. It allowed you to design your own games. I'm thinking mid to late 80's was the year. I don't think it was early 90's. But it wasn't a major expensive application. This was something kids/teens could use to design simple 3D VR games.

I feel like Alice is a 2006 version of that. The "people" in the old one were blocks and other simple shapes thrown together. But the programming language was fairly simple, like Alice. Should be interesting to play with, no pun intended.

nightwng2000

(Reply to this)

Hey I saw that on my school's computers
[info]pixelante_ninja
2006-03-25 06:22 am UTC (link)
wondered what it was

(Reply to this)


(66 comments) - (Post a new comment)

Create an Account
Forgot your login or password?
Login w/ OpenID
English • Español • Deutsch • Русский…