This is stuff about Laszlo Mail, which is a rich web email application, runs in any web browser supporting the Flash player, talks to a Java server via asynchronous XML, and provides a rich desktop-application-like gui with drag-and-drop, etc.
Laszlo Systems is developing Laszlo Mail and other Laszlo components for customers like Earthlink, who are deploying their "Earthlink Ehanced Webmail" customized version of Laszlo Mail to millions of customers.
I've learned how to develop large complex Laszlo applications like Laszlo Mail, by working as a contractor for Laszlo Systems.
I developed the email folder tree, with drag and drop editing of a tree of mail folders, and also the attachments upload component.
This is stuff about The Sims player created content.
This is stuff about computer game design.
This is stuff about Pie Menus. Pie menus are a naturally efficient user-interface technique -- directional selection of pie slice-shaped targets. The cursor starts out in the inactive center region of a pie, and all target slices are large, nearby, and in different directions.
Pie menus are quite easy for new users. You simple follow the pop-up directions to use them. They are also extremely efficient for experienced users. Once you know the directions, you can quickly and reliably 'mouse ahead' without looking.
Fitts' Law explains the pie menu advantage -- their fast selection speed and low error rate is due to their large target size and the small distance between each item.
I love programming in OpenLaszlo -- it rocks! It's quite elegant and powerful, with many of the advantages of Lisp.
Here are some descriptions of the Laszlo projects I'm working on, and other interesting Laszlo projects. I will put links to the demos, source code and screen snapshots, soon as I get a chance, and they're ready to release.
I worked with Will Wright at Maxis on the original team that developed The Sims. I developed the character animation system, user interface, content creation tools. I'm independently developing tools and content for The Sims.
The Future of Content
What I learned about content from the Sims.
...and why it's driven me to procedural methods.
...And what I now plan to do with them.
Game Developers Conference
Notes taken by Don Hopkins at the talk, and from other discussions with Will Wright.
IntroductionWill Wright started his talk by saying that he wanted to show this tothe game developer community first, before a commercial show like E3.
Software Development Magazine wrote an article called "Inside the Stupid Fun Club" (registration required).
The author, Alexandra Weber Morales, unexpectedly encountered the Sad Robot, broken down and crying for help on the streets of Oakland.
We were shooting a couple of hidden camera reality TV "One Minute Movies" for NBC: one of a Sad Robot torn apart into pieces and pleading for help from passers by, and the other of a Robot Waiter taking orders, serving food and bantering for a tip in a barbecue restaurant.
I (Don Hopkins) developed the custom "robot brain" software for Will Wright's Stupid Fun Club, mostly in Python. It involved writing lots of high level Python code and XML data, and integrating all kinds of different software components together with SWIG, C++, ActiveX, Java, IRC, HTTP and WiFi. The robot features 3D facial animation, speech synthesis and recognition, conversational scripting, artificial intelligence, personality simulation, telerobotic remote control via wireless networking, with an interactive web interface for controling its behavior in real time.
For another Stupid Fun Club project, I also used Python to develop expressive synthetic speech authoring tools (audio speech "phonoscoping", like visual animation "rotoscoping"), and talking toy simulations.
Python is ideally suited for brainstorming and prototyping new product ideas, as well as developing custom real-time robotic software for supporting creative Stupid Fun Club projects like reality TV production.
The Armchair Empire interviewed Chris Trottier, one of the designers of The Sims and The Sims Online. She touches on some important ideas, including "Tuned Emergence" and "Design by Accretion".
Chris' honest analysis of how and why "the gameplay didn't come together until the months before the ship" is right on the mark, and that's the secret to the success of games like The Sims and SimCity.
The essential element that was missing until the last minute was tuning: The approach to game design that Maxis brought to the table is called "Tuned Emergence" and "Design by Accretion". Before it was tuned, The Sims wasn't missing any structure or content, but it just wasn't balanced yet. But it's OK, because that's how it's supposed to work!
In justifying their approach to The Sims, Maxis had to explain to EA that SimCity 2000 was not fun until 6 weeks before it shipped. But EA was not comfortable with that approach, which went against every rule in their play book. It required Will Wright's tremendous stamina to convince EA not to cancel The Sims, because according to EA's formula, it would never work.
If a game isn't tuned, it's a drag, and you can't stand to play it for an hour. The Sims and SimCity were "designed by accretion": incrementally assembled together out of "a mass of separate components", like a planet forming out of a cloud of dust orbiting around star. They had to reach critical mass first, before they could even start down the road towards "Tuned Emergence", like life finally taking hold on the planet surface. Even then, they weren't fun until they were carefully tuned just before they shipped, like the renaissance of civilization suddenly developing science and technology. Before it was properly tuned, The Sims was called "the toilet game", for the obvious reason that there wasn't much else to do!
Here are some questions and answers from the interview with The Sims designer Chris Trottier:
Kinetix has roped me into giving a talk about MAXScript at the Game Developer's Conference in Long Beach on Friday. I wanted to see if its OK to mention your use of MAXScript at Maxis and if so, maybe you could give a few bullet points on what it's OK for me to mention. Of course, I remember the note track key stuff and the Access database interface, but I'm not sure if there were other things and how all that wound up coming together.
Certainly! Here is a description of how I'm using MaxScript to implement The Sims character animation pipeline: