YOU DON'T NEED TO BE AN ARTIST!

My modest opinion: Croquet is not very easy to understand now (nov 2004). Many things need to change until the ultimate launch or Croquet will be only an academic toy...

"Easy and intuitive interface" is the name-of-the-game ...

We could have, by example, a main interface for Squeak-Croquet applications like you are seeing.

In the "main space": Private we will have that applications that we use alone and off line. They can access databases or files on our machine drives. Word processor is something in this category. More of then will be Squeak projects having a 2D interface, but we can have also monouser 3D games.

In the other "main space" , we can have what I call: Solo applications. They are applications that we use connected, but individually. Something like e-commerce without any online attendance. Another example: scientific papers available to read etc. It's something like a 3D web.

Finally the "jewels of the crown": the "multiuser" applications. In the previous lesson we said about an email that could be created by 2 directors of a company when they are in different continents, using a Squeak-Croquet application. We can have also, by examples: a virtual class/course having students doing an exercice together "virtually", many generic 3D chat areas, video-conference, group discutions about the design of a piece of engineering that everybody can see and change, many 3D multiplayer games, e-commerce having online suport etc. etc.

Resume: in this "Multi" area you will have:

OK, only some criticism... Back to the course.

***************************

I imagine that you have seeing many spaces having "glorious" 3D models - waterfalls etc. and you are having the idea that you need to be, not only a programer but an artist to use Croquet.

If you are, like me, an old commercial and administractive application developer and not a 3D modeler, heavy user of 3ds max or Maya; or if you don't have money to buy this fabulous 3D modelers - if you are a 3dsmax-less -, I imagine that you are thinking:

"This Croquet can be a problem to me"... "
I will need to contract  - and pay! - a designer to do the 3D part 
of any application"... 
"My God...
Good old days when we only need to know 25 intructions of Assembler!"       

This IS NOT true!

You don't need to be Da Vinci or a Rodin. The Croquet 3D interface is only a "metaphor" to facilitate the use of "multiuser applications". The 3D windows and Portals and defaul avatar (Alice or Mr. Rabbit) are standards. And customized avatares or sceneries for your spaces are like "wall papers", don't need to be used or to be "pieces of art".

Of course, if you are trying to create an application that is a 3D game or some 3D scientifc experiment you need to be a 3D modeler.

And, in the near future, if Croquet is a success, will appear , I hope, many "tools" to facilitate the creation of this 3D sceneries and avatares - like wallpapers they are a useless in the practical sense but funny to have one. To have fun is an important part of our life... Try not to be "serious" all the time...

By example, you can be a "3dsmax-less" and create this:

We did, in 30 minutes, something that you can use for the creation of characters (avatares in the future?) that YOU can costumize in 5 minutes, not using 3ds max and not having any talent for design.

We will call this guys: the "legoics" - they are from the satelite: "Legodula" (a satelite of the world of the croqueteers: TeaLand)

OBSERVATION: Another satelite of Tealand is the "DMU-Homeworld plataform", also near Legobula and a place where "legoics" like to go to meet eachothers. You can visit DMU-Homeworld (a 3D virtual space for chat about this Tutorial and Croquet) going to this link

Please, download this:

DMU1.ZIP file

Unzip it. Don't use the folders Croquet and Contents. Create, inside the old C:\Croquet\Content, the strucuture:

The exercice we will do first, is: to put the "default" legoic character inside a Croquet world.

We will not repeat in details the sequence of programming because it's similar of the previous lesson:

We create first a new Class: LegoicM - the M is from "Male". Someone having time (and 3ds max) could create the legoic Female and put him available for our comunity....

We create a new function that put the "legoicM" available to be added in the space:

makeLegoicM: sp  
| tframe |

tframe := (TLoad3DSMax new initializeWithFileName: 
	   (FileDirectory pathFrom:
            {'C:/Croquet'. 'Content'. 'LegoicM'. 'avatarM.ASE'}) 
	   scale: 0.1 shadeAngle: 90.1 textureMode: GLReplace) frame.
tframe translationX: 0 y: -3 z: 0.
"tframe rotationAroundX: -90."
tframe boundsDepth: 3.
tframe initBounds.
sp  addChild: tframe.

CODE COMMENTS:

Look the complete code to create an space and add our yellow guy:

initializeDefaultSpace 

| space  |
"Create a new space"
space := TSpace new.
"Make a light"
self makeLight: space.
"Make a floor"
self makeFloor: space fileName:'lawn.BMP'.
"Add the minifig"
self makeLegoicM: space. 
^space.

CODE COMMENTS:

OBSERVATION: I hope that, after this first lessons of our course you are beginning to understand the "philosophy" of application creation in Croquet. We create some spaces ( could be 3 main - Private, Solo and Multi - like we sugested above and some others inside Local Portals) and go adding many "objects" to it. This objects can be: 3D spaces with 3D windows having 2D Squeak applications, Portals-3D spaces to go to other 3D spaces - and finally 3D not-utilitary models - things only for fun, like wallpapers exists today - or spaces having 3D games.

We create a function to make each object - this can be rationalized - and we call each one in the function initializeDefaultSpace that will be called by the "script for the Workspace". We run this script, erase all the auxiliary windows used in "development time" and do a "big save". Reopening Croquet (in the Window, Mac or Linux interface) we will have our Croquet desktop/main-page, route for all the Squeak-Croquet applications.

And the "script for the Workspace", we know very well. Here, doing a desktop usefull only for tests, we have :

 
sM:= LegoicM new. 
win:=   SystemWindow new.
lf:= LayoutFrame new.
lf leftFraction:0.
lf rightFraction:1.
lf topFraction:0.
lf bottomFraction:1.
win setLabel: 'SPACE & MINIFIG'.
win addMorph: sM fullFrame:lf.
win openInWorldExtent: 300@150. 
sM requestInitialSpace.

If you "do it-ize" (oops!) this last script, we will see our boy:

For creation of a new, customized virtual guy, you need to create, inside the folder: C:\Croquet\Contents, another folder, having the name of the new guy (by example: Peter).

Inside this folder (Peter) you copy the file: avatarM.ASE and create a new folder: Textures.

Copy, inside this new Textures folder, all the files of the downloaded folder Textures.

Now you can open, using the Windows normal "PaintBrush", any file of this folder and change it. By example: you open the file legs.JPG and change the color. The legs of the new guy will have this new color .

You can change the "chest" of the guy opening: chest.JPG and designing, by example, only the letters of his name - like you can see at one of the ilustrations above.

And you can change its face, opening the file: theFace.JPG and modifying it (very easy to do).

After this "image changements", you need to create a new function that will be similar to: makeLegoicM (can have the name: makePeter).

You need to have modified lines - new object-reference (tframe1)and, pay attention, new folder! :

tframe1 := (TLoad3DSMax new initializeWithFileName: 
	   (FileDirectory pathFrom:
            {'C:/Croquet'. 'Content'. ' Peter '. 'avatarM.ASE'}) 
	   scale: 0.1 shadeAngle: 90.1 textureMode: GLReplace) frame.
tframe1 translationX: 20 y: -3 z: -30. "We have changed the position for the new guy"

And, in the function initializeDefaultSpace, put the new lines:

 
"Add the new minifig"
 self  makePeter : space. 

TIP: You can use similar folder structure and codes to put, inside a Croquet world, any model created in 3ds max, having textures, and exported like .ASE file . If you do a ramp - having inclination - , the avatar (Alice or the Rabbit) will go up in the ramp. Some collisions against walls are not working very well now (it's beta-time. folks!)... You can design doors, windows, trees etc. having "normal sizes in the external world reference" on imperial units - feet - and, after, to use the scale: 0.1 to be consistent with the Alice's size .

Today (Out 2004) we can't change the default avatares - Alice and the Rabbit (it's beta-time, folks!). But soon it will be possible. And we will try to adapt this "primitive system", for eachone to do his customized avatar - showing his real "persona" .

And, who knows, it will be possible, someday in the future, the use of a webcam-dynamic-image-of -the-user, for the image of the avatar's face. Something like :




PREVIOUS LESSON NEXT LESSON
T. CONTENTS HOMEPAGE

DISCLAIMER: This material can be translated for any language, and reproduced total or partially by anybody using any type of media. But, please, don't put your name like author. And let me know if it was useful (americo@dmu.com).The use of any code, 3D model or technique published is free and doesn't need to have any reference about this source.The author is not responsible for any damage that the material can cause to your professional or sexual life.