View Full Version : so many questions!
Kevin
02-19-2007, 08:18 PM
I have several questions that I could probably answer with a proper manual, but I haven't found a manual for Alice yet.
1) can new objects be created and destroyed dynamically?
2) Is there a way to move with a vector velocity, or do you need to give 3 separate move commands in a doTogether (which results in jitter due to the non-simultaneous start)?
3) Is there a reference manual? or just a tutorial? (I don't want a tutorial, but I *do* want a reference manual.)
4) Is there a timer variable that can be used to detect how fast a simulation is running and adjust time steps appropriately? (Just a time-since-start variable would suffice.) [Oops---my son tells me that there is a World function for time since start, so cancel this question.]
chuck
02-19-2007, 09:15 PM
Hello Kevin,
1. I don't believe that objects can be created and destroyed dynamically, but perhaps someone has found a way to do so.
2. There is no vector move command per se, but you can turn an object to face in any direction then move in one of Alice's six principle directions from that point of view; you can use the move or move at speed commands and adjust the duration parameters for these; you could, with a little work, change the value of an object's point of view property and set the duration for the instruction to do that. You could use any of these or a a combination of these to create your own vector movement instruction.
Alice is intended to be used primarily as a teaching tool, so creating something like a vector command would be a good exercise for certain students.
I found the lack of a manual for Alice troubling, So I put together a set of notes that have been published by Thomson Learning as a six-page laminated CourseCard. The publisher owns the rights, so I can't give you a copy. Teachers can request a desk copy from Course.com, others can buy a copy from Coursedirect.com. It sells for 3 or 4 dollars. The ISBN is 978-1-4188-4675-6.
Course Technology and Prentice Hall both publish Alice textbooks. I understand that Addison Wesley and Jones & Bartlett will have new texts soon, as well.
DickBaldwin
03-24-2007, 01:43 AM
Kevin,
Regarding your question about vector moves, I believe it is possible to use the primitive moveTo method to move an object to any point in 3D space (relative to another object) by creating and populating a variable of type Position and then using it in the call to the moveTo method. (A Position variable is populated by a 3D vector.)
If the reference object is the world, then the vector that populates the variable of type Position can be viewed as containing absolute coordinates in 3D space.
This approach eliminates the requirement to make three separate calls to one of the other move methods.
Unfortunately, there appears to be a bug in the code for populating the vector. I have only been able to successfully populate the vector with literal values. When I pass the names of other variables to the set methods for the vector object, the statements seem to be ignored. I don't know if this is a bug, or if I am simply doing something incorrectly.
Like you, I have found the lack of a manual and other technical documentation to be a major concern. As a college professor, I like to know more about the topic that I am teaching than just what can be learned from the textbook that is being used to teach the course. For that, I need access to technical documentation that goes deeper into the topic than most teaching textbooks can do.
Although it isn't a manual, I am in the process of publishing an explanation with illustrations for each of the 20 primitive methods, and will have it published on my web site within a few weeks. A preliminary and incomplete version is available now near the bottom of the page at the following URL:
http://www.dickbaldwin.com/toc.htm
Dick Baldwin
DrJim
03-24-2007, 11:10 AM
The timer function is another of the undocumented functions whose operation isn't clear (at least to me). As near as I can tell, the timer starts when you start an Alice session and can't be reset - you have to manually initialize a "time since world started" variable and keep it running to actually use this function - but I would very much like to be wrong. (See the "walk" and "idle" methods that come with hebuilder/shebuilder character for examples.)
If you do have success with the time-since-start function, would you post the results. :)
The vector move is also something that would be nice, but how you specify the coordinates (as Dick Baldwin notes) has never been clear to me (or seemed to work correctly). When I want this type of function, I tend to take the easy way out - drop dummy objects and then move toward/away from the appropriate object.
Jim
DickBaldwin
03-24-2007, 11:45 AM
It is very unfortunate that the ability to populate a vector using variables in order to use it effectively with the moveTo method seems to be broken.
This appears to be the crucial link between Alice and more conventional 3D programming environments, which are often based heavily on the use of vectors.
It would be great to be able to transition students from the Alice world based on front, back, up, down, forward, backward, etc., to the more advanced and typical world based on vectors without the requirement to also change them to a different programming environment.
This problem of setting values in a vector object doesn't seem to be identified as a known bug, and the bug reporting system has been down for several weeks. Also, I wonder if the Alice team is still fixing bugs in version 2.0.
Despite all of that, Alice is a great teaching tool.
Dick Baldwin