thierry nabeth // User Search

thierry nabeth // User Search

1  2  |  

Not multithreaded?

Sep 11, 1998, 3:50pm
Hello,

I personally considere multithreading very important.

For the reasons mentioned by esumerfd.

In particular, multithreading would be very important if we want
to try to interface the SDK with java.
(which appear to me as a better language for developing bots because
of the multithreading, the garbage collection, etc.).

Note: Encapsulation of the SDK into java shouldn't be too difficult.
Anyone interested by the idea ?


Thierry Nabeth
Research Fellow,
INSEAD CALT (the Centre for Advanced Learning Technologies).
http://www.insead.fr/CALT/

PS:
Any plan to have a java version of the SDK ?


[View Quote] > Yes that is correct the SDK is not multi-threaded. We evaluated making it
> thread-safe and decided that the additional design requirements that would
> impose would delay the SDK's release significantly when most developers will
> not even need it to be thread-safe.
>
> If demand for a thread-safe SDK is sufficient we'll consider adding that in
> a future release. Right now the goal is to get something, ANYTHING, out
> there for people to use. :)
>
> -Roland
>
[View Quote]

SDK and Java

Sep 14, 1998, 11:58am
Hello,

I prefer to start a new thread to address this question about
interfacing
SDK and Java.

However, this message is an answer to a previous message
"Re: multithreaded would be usefull if we want to interface it with
java"


language you

I do not fully agree with you, even if when there is some equivalence
beteween different languages, you can do with another language
all you you can do with another one.
For me a "better" language will allow you to implement an idea more
easily
than with a bad one. (I do not want here to enter into a debate about
which
are the language that are good, and which are the language that are
bad).
Practically, a "good" language will allow you to represent the system in
a
way that reflect in a high level way your ideas, and does not impose you

to enter into (irrelevant) details.

For instance, if multi-threading is not mandatory, on the other hand, it
can
make the implementation of different objects having concurent activities

(such as bots) much easier.
The difference will be reflected by the complexity of the architecture,
and
therefore its capacity to evolve before becoming a maintenance
nightmare.


Anyway I did not post this message to open a "religious" debate, but to
contribute
to the following:


into
Active Words, several people almost immediately offered to implement a
Java
wrapper.

I personnaly do not have the time right now to do this wrapping.
(when I will have more time, I will see if I can do something).
Besides, I do not have right now a C compiler.

On the other hand, I had the time to look a little bit at the difficulty

to do this wrapping, and my first impression is that it should really
not be too complicate to do for a programmer having already use JNI
(Java Native Interface).


The main documentation of Jana Native Interface can be found at:
http://java.sun.com/products/jdk/1.2/docs/guide/jni/index.html


Here is the idea:
----------------------------
The idea of JNI is to create a Java class with some function are tag
as Native.
such as:
public native void myNativeFunction(Object[] args);

Once the *.java file is compiled (javac), you have to run javah
(http://java.sun.com/products/jdk/1.1/docs/tooldocs/win32/javah.html)
on the *.class file to generate C stub.

You then implement the C functions (in the case of AW SDK you call the
API),
compile them, and create a dll.
------------------------------


Another possiblility that could appear to be even easier to implement,
is to use the Shared Stubs Example.
http://java.sun.com/products/jdk/faq/jnifaq.html

The idea in this example is to generate dynamically the function
that call the C-code.
----- example: call of the sin() function in java ----
/* Caculate C's sin(2.0) with Math.sin(2.0). */
CFunc sin = new CFunc(libm, "sin");
double dres = sin.callDouble(new Object[]{new Double(2.0) });
System.out.println("\nC's sin(2.0) = " + dres);
System.out.println("Math.sin(2.0) = " + Math.sin(2.0));
----------------------
This code is extracted from the example. (jnistb10.zip )

Note:
You still need to do a little bit of compilation to use this approach,
but you do not need to wrap all the functions as in the previous
approach.


Well,

That is all for now.
(I have to work for the next 2 weeks on a more urgent project).

I have not tried to answer the issues raised by esumerfd.
Perhaps, the wrapping will not work, but the better is to
try to do it, and solve the problem later.

I hope that a future release of the library will be reentrant,
since I still believe this is something very important (even if not
mandatory).

I also hope that in a not too far future, a complete java version will
be created.
(let me dream a little bit).
Indeed, the advantage of a complete java version would be plateform
independance
and for instance the possibility to run some bots on a Unix or Linux
computer.



Bye,

Thierry Nabeth (calt exec)
Research Fellow,
INSEAD CALT (the Centre for Advanced Learning Technologies)
http://www.insead.fr/CALT/


=====================================================
Subject:
Re: multithreaded would be usefull if we want to interface it with java
Date: Fri, 11 Sep 1998 11:50:46 -0700
From: "Roland Vilett" <roland at lmi.net>
Newsgroups: sdk
References: 1 , 2 , 3


>In particular, multithreading would be very important if we want
>to try to interface the SDK with java.

But not required. If a Java class were created to encapsualate the
current
SDK, the SDK wrapper methods could just be declared as synchronized. If
the
SDK is used in asynchronous mode (i.e. with callbacks installed) all SDK

methods return immediately so opportunities for one thread to block
others
while in the SDK would be minimal

>(which appear to me as a better language for developing bots because
>of the multithreading, the garbage collection, etc.).


I think the "better" language for bot development is whatever language
you
the programmer happen to be comfortable and familiar with.

>Note: Encapsulation of the SDK into java shouldn't be too difficult.
>Anyone interested by the idea ?


A couple of months ago when we first announced work on a C-level API
into
Active Words, several people almost immediately offered to implement a
Java
wrapper. I don't remember who they were though - are you guys still
around,
and if so, are you still interested? :)

-Roland

SDK and Java

Sep 14, 1998, 7:54pm
Hello,

and in the end never resolve anything...

I absolutely agree.


amount of time.

This is what I had assumed.
This is also the reason why the wrapping of the SDK C-functions appear to be the best short
time solution to have a "java" version.

Note:
I believe that wrappping the SDK library into java (or Visual Basic) make a lot of sense, since it
open the use of the SDK to more people without requiring too much effort to implement. Besides,
this implementation can typically by done by the community of the developpers and not Active World,
at least in a first step.

Bye,

Thierry


[View Quote] >
> I'm glad, because such debates are always unproductive and time consuming
> and in the end never resolve anything...it's like the perennial Mac. vs. PC
> debate, some people will always prefer Macs and will back up their
> preference with endless evidence of why Macs are superior, and others will
> prefer PCs with the same extensive library of reasons why PCs are
> better...and no one will ever change their opinion and nothing ever gets
> resolved, year after year after year...
>
> Just to make the point clear, I never meant to say C is better than Java or
> anything else. Java is a great language, no doubt about it. The simple
> truth was that I could produce a C-based Active Worlds SDK in the shortest
> amount of time since the rest of Active Worlds is written in C/C++, and by
> implementing the SDK in C I could reuse large amounts of the code in the SDK
> without having to port it to another language first.
>
> -Roland

SDK and Java

Sep 16, 1998, 5:47am
Hello,

For your information, I wanted to mention the article:

"Escape the sandbox: Access native methods from an applet",
Javaworld, October 1998
http://www.javaworld.com/jw-10-1998/jw-10-apptowin32.html

Summary:
.... Several sources have shown how to use signed applets, which can bypass
browser security limitations in both Netscape
Communicator and Internet Explorer. This article takes the idea a step
further, showing how signed applets,
combined with JNI, can invoke the Win32 API directly. Using LiveConnect,
these applets can even talk to
the Win32 API directly from JavaScript! (2,000 words).


This article open the perspective of launching a AW bot from an Internet
Browser supporting java.
I believe something similar can be done creating activeX Control embedded in
a web page.
(such as it as been done in the Active X control AW client).


Thierry.


[View Quote] > Hello,
>
> I prefer to start a new thread to address this question about
> interfacing
> SDK and Java.
>
>

Still...

Feb 9, 1999, 9:44am
Hello,

Just an idea.
What about Empire ?
http://empire.idlpaper.com/toc.html

Empire is a real time, multiplayer, internet-based game, featuring
military, diplomatic, and economic goals.
(source code is available).

Thierry


[View Quote] > want an AWMonopoly bot!!! :-)

Java Native Interface for AW SDK

Oct 23, 1998, 12:48pm
Hello,

I am very pleased to see that you have encapsulated the SDK into java.
You seem to have done a very good work.

I hope I will have the time soon to experiment what you have done using
VisualAge
for Java (very nice environment that is free for educational institutions).
Unfortunatly, I do not have a C compiler now, and I am not sure that what you
have done
can compile using the GNU compiler. Would it be possible to have also a binary
version
of what you have done ? (I suppose that with a binary version, you only need a
java compiler
to develop applications).

this
NG, or should I continue to only provide the URL to it?

For me a url is perfect.
I would suggest that you also publish on your web site the html page that
exists in the zip file.


Thank you.

Thierry Nabeth,
Research Fellow,
INSEAD CALT,
http://www.insead.fr/CALT/


[View Quote] > I have produced a first cut of the JNI for the SDK. It is not done yet. I
> thought I'd release it now in order to allow feedback. I plan to update it
> from release 5 to release 6, and then finish the rest of the calls. It's
> about 86KB in size, at present. Should I attach files of that size in this
> NG, or should I continue to only provide the URL to it?
>
> Get it at http://www.mtn.org/~andrewes/AWJNI.ZIP
>
> DrChandra/PK-37
>
> --
> Andrew C. Esh mailto:andrew_esh at cnt.com
> http://www.mtn.org/~andrewes - ACE Home Page

Java Native Interface for AW SDK

Oct 26, 1998, 11:42am
Hello,

what you want.

Yes, I was aware about this initiative that I find very useful, because an OO
interface appears
to be higher level than a C interface.
I have downloaded the GCC compiler and your encapsulation so as to have a look
at it.

However, I am personnaly interested to find a all java solution.
The reason is that I do not have enough time to use both C++ and Java, and I
prefer to invest my time in java.
I indeed plan in the long term to explore java threads (--> active objects), and
to use the Web as the interface for Bots applications. (and if I have the time,
I would like to explore mobile agents in java using the voyager framework from
Objectspace).
Besides, I believe that a java solution can be easier to use, in particular for
creating prototypes.
(java is closer to an interpreted language than C++).

Note: A C++ version also makes sens, in particular for performance reasons. But
I am currently more intersting
in designing prototypes.


....

I have only noticed now some of your messages to Dr Chandra in the bulletin
board.
Very good idea to coordinate the two initiatives.

I believe that Object Orientation is a very important thing here, and is more or
less independant
of the OO language chosen (C++ or Java).
The identification of a good set of classes encapsulating the SDK is really what
matters here.
So what you do with Dr Chandra is very useful, and will contribute very
positively to making
the design of Bots applications easier, and have more people write such
applications.

Bye, an continue the good work.

Thierry. -- insead calt


[View Quote] > The SDk is also encapsulated into C++ library compiled with GNU if that is
> what you want. Though Dr Chandra and I didn't work closely enough to ensure
> that my C++ encapsulation and his java encapsulation would work together.
>
> If this night goes wll then I will release the second version of the C++
> wrapper.
>
> Edward Sumerfield.
>
[View Quote]

Java Native Interface for AW SDK

Nov 3, 1998, 10:44am
Hello,

Thank you for the information.

But what I am looking for is the possibility to write SDK application totally
using java (JDK or VisualAge)
without having to bother (and spend time) having to install a C compiler.
The issue here is not only about money but about time. (precious time that is
better used for me to begin prototyping
applications rather than configuring a compiler, understand the deep logic of
JNI, spending time reremembering
the C language to forget it soon after, etc.).

I do not see what would prevent to have a dll that encapsulates the SDK, and
only use a java compiler !?

Actually, I am trying to explore this issues, have installed the Cygnus GPP
compiler (B20),
installed the version 0.3 of JNI encapsulation of Dr. Chandra.

In the AWJNI
I have done a "make". (make clean, than make).
It seems to have compiled ok.

I have created a new folder where I have put the files:
Aw.class
Aw.dll
Aw.class (and *.java)
AWExeption.class (and *.java)
cygwin1.dll
libaw.dll

--------
What is not clear for me is how you specify you citizen name.
(but right now I am just trying to identify something that works).


===== what I get is:
static init
aw_init - build:

int init (int build) = %d
454
void term (void)

aw_term

aw_login

int login (void) = %d
444
aw_wait

....

int world_list (void) = %d
444
aw_object_add

<< Crash >> (launch the debugger on NT).

==========

454 error message has to do with the wrong version.
(I use the build 7 of the SDK).

I didn't have the time to explore any more, but I will.

If in the mean time you have some ideas, let me know.

Note:
The content of the AWJNI folder is not very clear for me.
For instance the Hello... folder does not compile.
Besides I was not sure in the AWJNI folder what are supposed to be the
application.
Is it Aw.java as I assumed or something else ?


Bye,

Thierry Nabeth, -- calt.

[View Quote] > I just wanted to mention, I'm sure everyone's definition of "big bucks" is
> different, but I have recently seen the standard edition of Visual C++ 6.0
> for sale at online software sites for as little as $80 to $90. Just skip
> past the ~$800 "professional" version (which they usually list first) and
> look further down the list, you'll probably find it there.
>
>

.....

>

Java Native Interface for AW SDK

Nov 3, 1998, 2:11pm
Hello,

(I use the build 7 of the SDK).

I have found in the AWJNI on the documentation that AWJNI was using the build 6
of sdk.

So that should explain the error message. 454.

What is more surprising is that I have the same error message even after I have
subsituted
the new Aw.h (of the Build 7 sdk) in the AWCyg.h and AwData.h !??

(of course, I have done a new make clean, recompiled using make, transfered the
new
libaw.dll, etc.).



Chandra >> In the next version of AWJNI, I will leave the C/C++ portions of the
code
built, so that someone can use the interface without doing any building
outside of Java. Look for it next week.

Oops, I had not seen this message.
I believe this is better for me to wait for this update.

Bye,

Thierry -- calt.








[View Quote] > Hello,
>
> Thank you for the information.
>
> But what I am looking for is the possibility to write SDK application totally
> using java (JDK or VisualAge)
> without having to bother (and spend time) having to install a C compiler.
> The issue here is not only about money but about time. (precious time that is
> better used for me to begin prototyping
> applications rather than configuring a compiler, understand the deep logic of
> JNI, spending time reremembering
> the C language to forget it soon after, etc.).
>
> I do not see what would prevent to have a dll that encapsulates the SDK, and
> only use a java compiler !?
>
> Actually, I am trying to explore this issues, have installed the Cygnus GPP
> compiler (B20),
> installed the version 0.3 of JNI encapsulation of Dr. Chandra.
>
> In the AWJNI
> I have done a "make". (make clean, than make).
> It seems to have compiled ok.
>
> I have created a new folder where I have put the files:
> Aw.class
> Aw.dll
> Aw.class (and *.java)
> AWExeption.class (and *.java)
> cygwin1.dll
> libaw.dll
>
> --------
> What is not clear for me is how you specify you citizen name.
> (but right now I am just trying to identify something that works).
>
> ===== what I get is:
> static init
> aw_init - build:
>
> int init (int build) = %d
> 454
> void term (void)
>
> aw_term
>
> aw_login
>
> int login (void) = %d
> 444
> aw_wait
>
> ...
>
> int world_list (void) = %d
> 444
> aw_object_add
>
> << Crash >> (launch the debugger on NT).
>
> ==========
>
> 454 error message has to do with the wrong version.
> (I use the build 7 of the SDK).
>
> I didn't have the time to explore any more, but I will.
>
> If in the mean time you have some ideas, let me know.
>
> Note:
> The content of the AWJNI folder is not very clear for me.
> For instance the Hello... folder does not compile.
> Besides I was not sure in the AWJNI folder what are supposed to be the
> application.
> Is it Aw.java as I assumed or something else ?
>
> Bye,
>
> Thierry Nabeth, -- calt.
>
[View Quote]

Java Native Interface for AW SDK

Nov 9, 1998, 10:58am
Hello,

I have managed to make the AWJNI with the new build (7) version.
I had to do some substitution in the *.h, the *.c and the *.java files.

(I use grep to identify what where BUILD was used).

The only problem, is that in the aw.java file, the version is hard coded.
=====
Aw awcall = new Aw();
System.out.println("int init (int build) = %d\n" +awcall.AWinit (5));
=====
5 is the version here.


On the other hand, I didn't have to time to figure out exactely how to specify
the login
and the password, and more generally what *.java file to use to start a demo.
(I have used aw.java, but I am not sure this is the correct file).

====== (from aw.java)
awcall.AWterm ();
System.out.println("int login (void) = %d\n" +awcall.AWlogin ());
System.out.println("int wait (int milliseconds) = %d\n" +awcall.AWwait
(10));
System.out.println("int int (ATTRIBUTE a) = %d\n" +awcall.AWint_get
(CITIZEN_NUMBER));
System.out.println("int i_set (ATTRIBUTE a, int value) = %d\n"
+awcall.AWint_set (CITIZEN_NUMBER, 1));
System.out.println("char* string (ATTRIBUTE a) = %d\n" +awcall.AWstring
(LOGIN_NAME));
System.out.println("int string_set (ATTRIBUTE a, char *value) = %d\n"
+awcall.AWstring_set (LOGIN_NAME, "DrChandra"));
System.out.println("int bool (ATTRIBUTE a) = %d\n" +awcall.AWbool
(CITIZEN_BETA));
System.out.println("int bool_set (ATTRIBUTE a, int value) = %d\n"
+awcall.AWbool_set (CITIZEN_BETA, 1));
System.out.println("int enter (char *world, int avatars) = %d\n"
+awcall.AWenter ("AW", 21));
======

It would be nice if we could have a clean version of the JNI folder, with a very
short description of the
function of the different files.
I can eventually help on this, but it takes me a lot of time to try to
understand, and besides I am afraid that
what I do will be obsolet with the new version.


Thierry -- calt.


[View Quote] > Yes, 0.3 is build 6. Next one. Not sure when. Anyone willing to do the
> update is welcome to do so, unless I get to it first.
>
> --
> Andrew C. Esh mailto:andrew_esh at cnt.com
> http://www.mtn.org/~andrewes - ACE Home Page
>
>

Chatter Bots resources.

Feb 23, 1999, 8:49am
Hello,

I have search a little bit on the Internet about Chatter Bots:

Here are a few starting points:

The Simon Laven Page about ChatterBots.
http://www.student.toplinks.com/hp/sjlaven/

List of ChatterBots from Botspot
http://botspot.com/search/s-chat.htm


You can also find in some place some source code.
Unfortunatly, I was not able to find yet a (free) java library / toolbox
for parsing and analysing
the input so that I can write my own chatterbots in a high level way.

If you know about such a library (from people doing some research work
in linguistic for instance), let me know.

Thanks,

Thierry Nabeth
INSEAD CALT
http://www.insead.fr/CALT/

movement etc...

Nov 16, 1998, 7:07am
Hello,

I would just like to mention some theoretical work (well, let's say
academic work, since prototypes are built) related to the concurent
object models.
Practically, it consist in introducing concurency by associated a thread
of execution to objects.
Those objects are called "active objects".

I remember to have read a very interesting paper writen by Denis Caromel
in JOOP (Journal of Object Oriented Programing) many years ago. I was not
able to remember the exact reference of the paper, but you will find some
information about active object in Denis Caromel page.
(http://www.inria.fr/sloop/personnel/Denis.Caromel/).
I know this is more academic work, but it might give you an interesting
perspective (models) about how to define a software architecture with
many different bots.

Note:
However, you have to be aware (see "Walter Knupe" message) that the SDK
is not currently thread safed, and therefore that you can not use this
model in Active World now. I hope this will be possible in the future.


Another field of computer sciences that have addressed object autonomy is
Distributed Artificial Intelligence, and more particularly Agent
Technologies.
You will find a starting point about Agent Technologies at:
http://www.insead.fr/CALT/Encyclopedia/ComputerSciences/Agents/

Bye,

Thierry Nabeth
Research Fellow,
INSEAD CALT (the Centre for Advanced Learning Technologies)
http://www.insead.fr/CALT/


[View Quote] > I'd like to give my bot some autonomous movement (like the hambot's
> random movement), but don't quite know where to start. I recently
> migrated from windows 3.11 (shame on me) so know nothing about
> threads, except that they exist. What are the options?
>
> I could create a timer object for each bot (would that be = to
> creating a new thread?). I already have one timer object for
> aw_wait(). Can anybody give a hint? I use vb, its bad enough having a
> deaf bot, I don't want him to look paralized as well!
>
> ;o) confused, XelaG

movement etc...

Nov 19, 1998, 8:26am
Hello,

objects for it.

I agree, active objects are not absolutely needed, and would be "overkill" in
that case.
On the other hand, such approach allows the implementation of a more
distributed architecture,
that is very clean and easier to maintain.

My intention in previous email was more to suggest alternative directions to
design
AW applications rather than providing a very concrete answer to the original
email.
(I apologize if I have confused some of you)

The limit to 3 bots may be changed in the future, and you could imagine
very easily the design in AW of a AW SDK application that would animate many
(tens of) smart
(but not neccessary very intelligent) objects. Such an approach is very
common in the domain or artificial life
(see the SWARM system for instance).

Thierry Nabeth
--- calt.


[View Quote] > Since a bot programm has a 3 bots limit, i guess you don't need active
> objects for it. the programm responds quite well to 3 bots from a single
> thread. even lengthy build operations do not stop other bots from
> responding, since the sdk functions call your callbacks while waiting for
> server results.
>
> just my 2 cents..
>
> Walter
>
> Thierry Nabeth schrieb in Nachricht <364FEB68.1C6F396B at insead.fr>...

chess games

Dec 7, 1998, 8:21am
Hello,

Just for your information:

Tim Mann's Chess Page
http://www.research.digital.com/SRC/personal/Tim_Mann/chess.html

Should be possible to interface one of those Chess engine to the SDK.


Thierry Nabeth,
INSEAD CALT
http://www.insead.fr/CALT/


[View Quote] > How about making a chess game SDK application, as well as other popular
> board games.
> I don't know anything about the SDK or programming languages so don't
> laugh at my idea.
>
> Maybe it can be done by placing commented tags on certain quads on the
> objects which can be used for reference points. For example, the SDK
> app can tell the piece that has a tag of bknight to move to the square
> tagged as b6 and if the square b6 (across b spaces and down 6 spaces) is
> matched already with an opponent's piece, the opponent's piece will be
> sent to a quad off the board somewhere that is labeled wcaptured (for
> white captured). Also, maybe the bot can be programmed to only move
> certain pieces in specific legal chess moves.
>
> The application could be customized to be used with any game, whether in
> existence now or created by the world owner's imagination.
>
> I don't know if it would work, but I thought it might be worth a shot to
> propose it.

SDK and JAVA

Feb 8, 1999, 12:49pm
Hello,

I am currently spending some time trying to make the it work with Visual Age For Java.
(http://www.software.ibm.com/ad/vajava/ )
Note: Academic institution can have a free copy of VAG professional.
(see http://www.ibm.com/java/academic/ )

It does not yet fully work, (there seem to be some limitation in VAJ and JNI, and in
particular, I was not yet able to have the callback work) and I can not spend as much
time as I would like.
I will post more information about this later, but if you are interested, I can send
you now more information (and source code) about how to run AWSDKJava and VAJ.

Thierry

Thierry Nabeth
Research Fellow,
INSEAD CALT (the Centre for Advanced Learning Technologies)
http://www.insead.fr/CALT/

PS:
My page for Java resources:
http://www.insead.fr/CALT/Encyclopedia/ComputerSciences/Internet/Java/

[View Quote] > Thierry has a page setup with download of version 0.3.
>
> http://www.insead.fr/CALT/Encyclopedia/ComputerSciences/VR/Worlds/Alpha/AWSDKJava/
>
> Edward Sumerfield.
>
[View Quote]

AWSDKJava available

Feb 16, 1999, 1:50pm
Hello,

The Java encapsulation of the sdk is available at:
http://www.insead.fr/CALT/Encyclopedia/ComputerSciences/VR/Worlds/Alpha/AWSDKJava/

This version does not seem to be totally complete.
(for instance query() function does not return anything), but most of
the other functions have been encapsulated.

You only need a java compiler and a java engine to use AWSDKJava.
So preliminary testing have been done with IBM Visual Age for Java 2.0.
(some problems remain with setting event handlers).

Bye,

Thierry Nabeth,
Research Fellow,
INSEAD CALT (the Centre for Advanced Learning Technologies)
http://www.insead.fr/CALT/

new version of AWSDKJava for Build 15 available.

Aug 3, 1999, 7:36am
Hello,

You will find at url
http://www.insead.fr/CALT/Encyclopedia/ComputerSciences/VR/Worlds/Alpha/AWSDKJava/

a new version of AWSDKJava for Build 15.


The only thing function that has not (yet) been encapsulated is the
query() function.

Versions of the dll works for both Jdk 1.1.7B (VAJ* IDE) and 1.2.2.
Besides an exemple of use with Visual Age for Java is provided
(including a few pictures).
*VAJ= IBM VisualAge for Java.

The main difference wiht the previous version is:

* the dll has been renamed awjava.dll (instead of libaw.dll)
* the VAJ IDE version now works !!!!!
* a jar jdk1.2 version of the VAJ IDE version is provided.

Note: (making the system work with VAJ).
The problem in the previous version was that the SDK was call
from another thread than the main thread, which caused the
system to crash (because the sdk is not reentrant).
Note: swing (the java GUI library) is not reentrant either.
The solution was to call all the sdk function from the main thread in
using

==============================loop thread==============================
public void run() {
......
Runnable awProcessEvent = new Runnable () {
public void run() {
try {
Aw aw = getAwSession();
aw.awWait(0);
} catch (Exception ex) {
System.out.println("EXCEPTION: "+ex);
ex.printStackTrace();
}
}
};

......
while (true) {
SwingUtilities.invokeAndWait(awProcessEvent);
Thread.sleep(20);
}
.....
}
===============================================================


Thierry Nabeth
INSEAD CALT
http://www.insead.fr/CALT/

A Javascript version of the SDK should be a good idea.

Aug 3, 1999, 7:49am
Hello,

As I was creating the java version of the SDK
http://www.insead.fr/CALT/Encyclopedia/ComputerSciences/VR/Worlds/Alpha/AWSDKJava/

it poped me that it should be rather easy to create a Javascript version
of the SDK. (which would provide another script/interpreted language to write
bot applications,
in particular from the non hard-core programmers).

The idea would consist in importing into java (using the sdk), the java version
of javascript. (js.jar).
See more about a java version of the javascript at http://www.mozilla.org/rhino/

Unfortunatly (as I did a few tests) I couldn't manage to make it work.
I am wondering if there are some imcompatibilities with Rhino and VisualAge for
Java.
But the idea still sound very good.

If you have any experience using javascript from inside java,
(or would be interested in doing this javascript version :-))
let me know,...

Bye,

Thierry Nabeth
INSEAD CALT
http://www.insead.fr/CALT/

Open API and Protocol. (Bots, etc.)

May 13, 1998, 3:04pm
Hello,

I would be personnaly very interested to begin to build (wrap) kind of
real application with active
world as the user computer interface. (such as electronic commerce
applications).
I would also very much like like to explore populating active world with
articficial agents.
(agents that goes beyond robot builder, and that are able to really
interact with the environnement).

For this it would be usefull to have access to an API and a protocol.

We could for instance imagine to have a richer action part of the
rendereware object, or something similar.
For instance, when I would click on an object, I would trigger a query
in a database.

We could also imagine that the protocole would allow us to get some
information about the environment such as who are
the avatars next to me, but also allow some registration to some
trigerring events. For instance, tell me when a new message
was posted on the chatboard. This could very usefull to implement
chaterbots in active world. (I believ that Blaxxun has began to do
something in this direction).


I would be interested to have your ideas in that subject.


Roland (and other people of COF), could would please let me (and the
people of this group) know what you
think about opening the system and allowing to connect to other
application and write bots.
Is it:
* not considered as enough important. (not the priority now)
* too risky. (the bots in IRC are for instance a nuisance).
* to time consuming to develop.
* to complicate (at a technical level, at a business level)
* etc.

Do you think to do something in this direction. (what, when, etc.) ?

Thanks,

Thierry Nabeth
INSEAD CALT
http://www.insead.fr/CALT/

Open API and Protocol. (Bots, etc.)

May 14, 1998, 3:23pm
Thank you Eep².


Please, if some of you have some information / interest in this domain, post an answer to this message in the newsgroup.

If there is enough material, I will collect this information to put it on a web page.

Two items could be considered:
* tools and technologies. (make include behaviours for avatars).
* applications.


Bye,


Thierry.

PS:
Collection of agents related resources I have collected. (not for alpha world, but in general):
http://www.insead.fr/CALT/Encyclopedia/ComputerSciences/Agents/


My collection of VR related resources:
http://www.insead.fr/CALT/Encyclopedia/ComputerSciences/VR/vr.htm


[View Quote] > Supposedly, there have been bots in AW before (1+ years ago), but I've never seen any. An AW API has been rumored by Protagonist, but who knows if or when it actually will be developed. Hamfon is working on a bot program that uses TCP/IP (and whatever else--ask him for more info) and it should be released "soon". He said he was going beta with it a few days ago and asked for my email address but I haven't received anything yet.
>
[View Quote]

Open API and Protocol. (Bots, etc.)

May 14, 1998, 3:25pm
Post in reply to this item technologies and tools related to bots and agents in active worlds.

Open API and Protocol. (Bots, etc.)

May 14, 1998, 3:26pm
Reply in this item about application of bots that you know about

Open API and Protocol. (Bots, etc.)

May 14, 1998, 3:31pm
RoboBuilderhttp://users.netonecom.net/~lmauk/roboinfo.html

RoboBuilder is a program written in Visual Basic that takes control of your Active Worlds Browser.

It is used to automate some of the building actions.

Thierry Nabeth

PS:
I have nothing to do with RobotBuilder, but just reference the resource.

Open API and Protocol. (Bots, etc.)

May 14, 1998, 3:51pm
You will find a robot greeter in the world $2KOOL.

Name: max kool

The bots greets you when you enter, and then automaticaly move to
different places.
You can use the joint command to follow this bots.

Dialogue when you enter the world:
============
Immigration Officer: Welcome to Koolworlds Space Castles, ***
max kool: HELLO Welcome to Koolworlds....
max kool: my name is MAX.....I'm a robot greeter for Koolworlds
max kool: the flashing buttons you see will transport you to KOOL sites
in this world.
max kool: Please look around and enjoy yourself.
===========

Thierry Nabeth
INSEAD CALT
http://www.insead.fr/CALT/

PS:
I read about this robots in one of the newsgroup.

Open API and Protocol. (Bots, etc.)

May 16, 1998, 7:44pm
Oops, you are right, this is not necessary the best place to put this com=
ment.

Yet, the idea was to me to try to gather a community of people interested=
about bots' and other similar
besties, and make them express their needs.

In have found now that the posting in the wishlist ask for things that do=
not try to see in the long
term. In other world, I believe there should be more "dream" wish and uto=
pies, even if those dreams will
take a very long time before becoming a reality.
Note: I am not at all for the very concret posting I have seen on the con=
trary. I just like sometimes
to find also a long term vision about what is being done, that's all.

Bye,

Thierry.

PS:
English is not my native language. Pardon me if I sometime make some err=
ors.

[View Quote] > Um, this has what to do with a wishlist? Most people here already know =
about RoboBuilder. This should be in worldbuilders, if any newsgroup.
>
[View Quote]

Introduction of real anonymous object. (object that anyone can move)

May 14, 1998, 4:03pm
Hello Roland.

Would it be possible to introduced objects that can be moved by
everybody ?
This would be interesting if we wanted to play soccers in active world.
(the ball is an object that can be moved by everybody).

Another idea would be the possibility to change the owner of an object.
This would be useful to introduce the concept of transaction in active
world.
(I know there exist a possibility, but I believe we would need something
more easy to use).

We could even imagine to introduce the idea of virtual money at some
point, and more generaly objects
that you can carry with you and exchange with other people.

No flame please about the idea in introducing commerce inside active
world.
I do not want to make money but more do research about ecommerce and
economics dynamics
in virtual worlds.
But comments are welcome :-).

Bye,

Thierry Nabeth
Research Fellow
INSEAD CALT
http://www.insead.fr/CALT/

Introduction of real anonymous object. (object that anyone can move)

May 16, 1998, 7:27pm
We could imagine (if an open API/protocol is available) that third party=
would be ready to implement those ideas.
Those ideas may eventualy later be integrated in the main system.

I believe that Apple had such an approach.
We can enventually considere that Netscape with its pluggins had also som=
ething similar.
But those exemplesare not neccessary the better. (when you know that Appl=
e isstill in big trouble, and what happened to the
Netscape browser).
Anyway, I believe this is something a very common approach in the softwar=
e industry (and even in distribution): when you do
not have the resources, you try to let other do the job. The only thing t=
o watch is not to loose control.

Thierry

[View Quote] > Good luck. AW hasn't and can't develop this fast. There are MANY things=
that have been suggested and are even on a list of future improvements (=
dubbed The List=99) that still aren't implemented yet. If you can provide=
COF with additional programmers or monetary support to hire additional p=
rogrammers, perhaps AW will develop faster.
>
[View Quote]

I found the idea interesting.

May 16, 1998, 8:03pm
Dean,

I must say that the point you raised was interesting.
I indeed have personnaly some problem indentifying the world that are
The solution about the classification was not bad at all for me.
And it is better than not classification at all (for me of course).

Of course there are problems if a world belongs to several category.
Still, a world usually belong to a category more than other ones.
The problem is exactely the same in Object Oriented technology with inheritence.
There are not so much case when single inheritance can not be used, even if the solution is not
perfect).
Yahoo had also the same problem with their classification: they use now direct acyclic graph, but
they
still rely very much on a hierarchy.


The idea advanced by TechnoZeus is also interesting but more difficult to implement.
5bye the way, it remind me what they try to set-up with a much larger extent with XML).

Thierry Nabeth
INSEAD CALT
http://www.insead.fr/CALT/

[View Quote] > Thank you, TechnoZeus. I appreciate you offering an alternative rather
> than just ripping my ideas to shreds. Instead of just finding faults
> like some people, you presented a suitable alternative that I can agree
> upon.
>
[View Quote]

Option available to see the message better in the 3D world. Speetch synthetise and recognition ?

May 20, 1998, 9:35am
Hello,

I would be interested to have an option to see the message displayed
better in the 3D panel.
Like bubbles in a cartoon. (I remember that microsoft has very visible
to display dialogues in their
2D technology).

I expect this way (but only the experiment can confirm), that we will
less disrupted when we
interact with other people needing to have a look at the chat panel. (of
course we still need to use the chat
panel to write message).

Another solution would be to use speetch synthetise and recognition (but
not telephony !).

Thierry Nabeth,
INSEAD CALT
http://www.insead.fr/

Grouping Objects.

Aug 7, 1998, 6:32am
Hello,

I would just like to suggest the possibility to group objects in active
world.
(I heve not seen this suggestion posted).

This function is very common in 2D systems (Powerpoint, etc.), and can
be very
usefull to dupplicate/ move/ etc. large number of object, and create
library of complex
objects (without to have to go to renderware authoring).

Thierry Nabeth,
INSEAD CALT
http://www.insead.fr/CALT/

1  2  |  
Awportals.com is a privately held community resource website dedicated to Active Worlds.
Copyright (c) Mark Randall 2006 - 2024. All Rights Reserved.
Awportals.com   ·   ProLibraries Live   ·   Twitter   ·   LinkedIn