drchandra // User Search

drchandra // User Search

1  |  

GNU compiler

Oct 1, 1998, 2:09pm
My advice is to write the API encapsulation as a single class, with full
access to all of the SDK calls as methods. Make the class as transparent as
possible, so that the C++ code has exactly the same access to the API that
is available to C. Further refinements of the class structure into "real
world oriented" classes such as Instance, World, and Citizen can be
constructed on top of that.

This is a the approach I am taking with the Java encapsulation I am working
on. I have an AWJNI object, which is a Java Native Interface (JNI)
representation of the API. I plan to finish the API so that the Java side
has as faithful a representation of the native C code API as is possible.
Once this is done, the individualized objects can all be created in Java.

What might be an interesting outgrowth of this project is to combine the C++
objects with Java. Aside fromt he API encapsulation, I (and anyone else who
has the same itch) can produce a JNI interface to the C++ real world
oriented objects, and the (almost) exact same object would then be available
to Java programmers.

What is my goal? An open source, multi-platform version of the aw client.
Obviously performance will be an issue once we get to the 3D rendering, but
before then, we may be able to produce something which will allow someone to
stand at ground zero and chat in text mode. It will run anywhere, too. Maybe
even from within a Web page.

I plan to finish the AWJNI Java class and Visual C++ Native call catcher
before posting the source on web site. I have all the calls done which take
and return primitive variable types, like ints and arrays. What I'm
wrestling with right now is how to represent the Instance pointers so that
multiple Java Instance objects can all be making calls to their own C
Instance. That and the callback handlers. Any ideas from the group would
save time, and would be appreciated.

DrChandra/PK-37(281646)

--
Andrew C. Esh mailto:andrew_esh at cnt.com
http://www.mtn.org/~andrewes - ACE Home Page


[View Quote] I'm not sure I like the class names "Citizen" or "Robot"...Citizen would be
a misnomer since SDK applications are not citizens...maybe call it "Owner"
instead? And "Robot" is perhaps too restrictive a concept, since SDK apps
can be things other than bots roaming around in a world talking to
people...anyway, just a thought. You're of course welcome to create any
classes you like. :)

-Roland

[View Quote]

GNU compiler

Oct 1, 1998, 2:11pm
It's a free, open source compiler which can be compiled and installed on
many platforms, including the PC.

Check out http://www.cygnus.com/

--
Andrew C. Esh mailto:andrew_esh at cnt.com
http://www.mtn.org/~andrewes - ACE Home Page


[View Quote]

GNU compiler

Oct 1, 1998, 7:13pm
[View Quote] It's free, as in without cost. No money required. Open Source means you get
the source code to it. If you find a bug, you can fix it yourself.

>
>whats the difference between it and other c compilers?

Because it's open source, there are a lot of people on the Internet who
submit bugfixes for it. It tends to be very advanced, and stable. Since so
many people use it, it gets a lot of review, so chances are there are few
bugs that will surprise you, and any that are will be quickly fixed. Other
than that, there is little difference between this compiler and most
others. In fact, gcc is the de facto standard compiler for most Unix
systems, and all Linux systems. In other words, this is not some little
known toy compiler, it's simply the best compiler recommendation I can make.

>

--
Andrew C. Esh mailto:andrew_esh at cnt.com
http://www.mtn.org/~andrewes - ACE Home Page

Java Native Interface for AW SDK

Oct 13, 1998, 5:10pm
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 27, 1998, 11:14pm
How about if we try to coalesce these two projects into one? The Java can
just as well call your C++ encapsulation as it can a C one. If we are
working from the same base, we should be able to trade/translate object
designs.

DrChandra/PK-37

--
Andrew C. Esh mailto:andrew_esh at cnt.com
http://www.mtn.org/~andrewes - ACE Home Page


[View Quote]

Java Native Interface for AW SDK

Oct 27, 1998, 11:38pm
The current release (version 0.3) compiles on a free compiler called gcc,
available for Windows as "CygWin32" from Cygnus. You can find out more about
it, and download it from www.cygnus.com.

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.

DrChandra/PK-37

--
Andrew C. Esh mailto:andrew_esh at cnt.com
http://www.mtn.org/~andrewes - ACE Home Page


[View Quote]

Java Native Interface for AW SDK

Oct 28, 1998, 3:03pm
[View Quote] Actually, I started with C++, but then Doug picked it up and ported it to C,
and finished it. I am still evaluating that maneuver, but I'm starting to
like it. The main thing Doug did is put the project into CygWin32, which
makes it even more accessible to those who are too financially challenged to
spend big bucks on a fancy C++ development suite.

The main reason I wanted to work with C++ is because I had it, and I thought
that later additions to the project could be made based on integration
between Java objects working with C++ objects. In other words, I envisioned
objects orientedness on both sides of the JNI line. I was also thinking of
building twin versions of the object sets on top of my C++ encapsulation:
One in Java, and one in C++.

Now that I've seen your work in C++, and thought about the actual goals and
requirements of the JNI project, I don't have a compelling reason to move
away from C. I can still see that we could both use the same C++ interface
to the AW SDK, but I don't want to move away from CygWin32 for that. For
that reason, I am looking into how well CygWin32 supports C++. I think it
does, but I'm new to it, so I need experience.

>We should discuss where we can share work.

I think the areas which we may still be able to collaborate are in UML
modeling, and general object sets. I was thinking that I could port objects
from one language to the other, and we could build a base of common AW
objects, available in both languages. I have Rational Rose, so UML modeling
and multi-language code generation is a snap. The only differences in the
object sets would be the specifics of how they call the AW SDK.

>
>I am implementing C++ because that is what I want to learn. I been doing
>java for a few years so an less interested in that implementation. Also,
the
>me, C++ is where the job market is.

Maybe. I see Java as being more productive than C++, unless you have years
of experience in C++. Usually by the time you've got that much experience,
you've priced yourself out of the general application development job
market. Also, C++ tends to be much less portable across platforms than Java.

>I think the big thing we can share is some discussions on the OO model that
>represents AW. I still consider myself a novice at modelling and an always
>interested in other peoples approaches.

This is where we can collaborate the most. Perhaps I should download and do
some analysis of your C++ code, along side the Java objects that Doug
developed. A combination of those two sources is what I'll work toward. I'll
produce a few class diagrams, upon which we can build some use-cases.

What UML modeler do you use? I will see if the evaluation version of Rose
will read the models I plan to produce, so you can at least view them.

>What are your goals for your implementation?

To look at going back to C++ without losing CygWin32. If I can do that, then
we might have a common base encapsulation layer we can both build on.

[View Quote]
--
Andrew C. Esh mailto:andrew_esh at cnt.com
http://www.mtn.org/~andrewes - ACE Home Page

Java Native Interface for AW SDK

Nov 5, 1998, 10:20pm
Yep, I understand. If you don't do C, there should be no requirement for it.
My next release will also include the binary support so you don't have to
compile anything in C.

DrChandra/PK-37
--
Andrew C. Esh mailto:andrew_esh at cnt.com
http://www.mtn.org/~andrewes - ACE Home Page


[View Quote]

Java Native Interface for AW SDK

Nov 5, 1998, 10:22pm
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


[View Quote]

Sample2 (Delphi)

Oct 14, 1998, 7:53pm
It would be nice of some kind soul were to translate this into C. I'll do
it, eventually, if someone doesn't beat me to it.

DrChandra/PK-37

--
Andrew C. Esh mailto:andrew_esh at cnt.com
http://www.mtn.org/~andrewes - ACE Home Page


[View Quote]

Sample2 (Delphi)

Oct 15, 1998, 8:05pm
Somebody musta stole the caffeine out of my Mountain Dew.

--
Andrew C. Esh mailto:andrew_esh at cnt.com
Computer Network Technology andrewes at mtn.org (finger for PGP key)
6500 Wedgwood Road 612.550.8000 (main)
Maple Grove MN 55311 612.550.8229 (direct)
http://www.cnt.com - CNT Inc. Home Page
http://www.mtn.org/~andrewes - ACE Home Page


[View Quote]

A little thought

Oct 27, 1998, 11:55pm
Sign me up!

DrChandra/PK-37
--
Andrew C. Esh mailto:andrew_esh at cnt.com
http://www.mtn.org/~andrewes - ACE Home Page


[View Quote]

AWJNI-0.3.zip (0/1)

Oct 27, 1998, 11:30pm
This is to announce the release of version 0.3 of the AW Java Native
Interface project. I have marked this message with a (0/1) because it
contains zero out of one zipfiles. If you don't want to download the zipfile
through news, then don't read the posting with (1/1) in the subject, as it
will contain the file itself. This message is just a description.

To get version 0.3 go to http://www.mtn.org/~andrewes/Awjni-0.3.zip.

If you want it via ftp, go to ftp://www.mtn.org/pub/users/andrewes. The file
you want is Awjni-0.3.zip. Obviously I have begun using long filenames, so
watch out.

The first version, 0.1, is also maintained at both locations.

This version is due mainly to the efforts of Douglas Orr. He took verison
0.1, switched the encapsulation to straight C, and finished all the calls.
He used Cygnus Win32 as an environment, so you now have a free compiler you
can build it with. I added some kudos and links to the AWJNI.HTML file, and
compiled the code to make sure CygWin handles it. I also added a couple of
changes to the new Makefile.

My plans are to port these changes back over to C++, and touch up all the
project files and the Makefile so that it still builds under all the target
environments I have previously supported. If I can do this and not have to
keep a separate C version of the encap code, I'll be happy. Otherwise, there
will be two versions. I don't want to reduce support without a good reason.

Beware, there are two versions of code here. The C one is made by the
Makefile, and is working. The C++ version, and all the project files are
still at version 0.1. The project needs merging, and testing.

DrChandra/PK-37

--
Andrew C. Esh mailto:andrew_esh at cnt.com
http://www.mtn.org/~andrewes - ACE Home Page

Awjni-0.3.zip (1/1)

Nov 5, 1998, 10:18pm
As I understand it, you are able to designate an object to pass to the C
code portion of the JNI call. The C code must make JNI specific calls to
call one of the methods of that object. My expectation is that we will have
to agree on a name or some other agreed upon designator for that method.
Then the callback catcher on the C side can be written to grab the object
being referred to in the callback, and call the designated method, always.

Since I did not write most of the code for this version of the AWJNI, I have
not yet looked at how the callbacks are implemented. What this all means is
that it is possible, but probably not yet implemented.

Time is kind of hard to come by, lately. Maybe I can give a bteer answer
tomorrow, or over the weekend. I still have to convert it to Build 7, too.

DrChandra/PK-37

--
Andrew C. Esh mailto:andrew_esh at cnt.com
http://www.mtn.org/~andrewes - ACE Home Page


[View Quote]

AWJNI 0.3 plus events

Nov 10, 1998, 7:00pm
I appreciate any efforts made. Getting the time together to actually "fold
in" the changes from various sources is somewhat difficult for me. I
apologize for that. Hey, at least it's open source. :)

DrChandra/PK-37

--
Andrew C. Esh mailto:andrew_esh at cnt.com
http://www.mtn.org/~andrewes - ACE Home Page


[View Quote]

MonopolyBot

Jan 8, 1999, 6:33pm
Oh please please please: Make the board big enough for a normal sized av to
stand on. That way we can walk around the board, watching where the bot
which is our gamepiece move from place to place. Make the houses real life
sized, too.

Hey, why not make another version of this which can be used with any
property? Players load their favorite places into the bot which become the
properties. The bot assigns random values to each property. While the game
is running, the bot decides whose turn it is, and rolls the dice. Then it
teleports to the property that is that many moves down its list. All the
game players join the bot, and the player whose turn it is get to decide if
they want to "buy" that property. Instead of Boardwalk, we could "buy"
Wascally Wabbit's Amusement Park. We could also have the bot automatically
use ground zero as one of the places, so people gradually find out about the
game. The game plays continuously, and announces winners every half hour.
Perhaps some sort of uction could take place at each poperty location, and
eventually, the auction results could be used to determine the basic value
of each location. That way, having a high monopoly game value for your
location could go into the consideration of a Cy award. This also acts as a
tourguide.

Drchandra/PK-37
--
Andrew C. Esh mailto:andrew_esh at cnt.com
http://www.mtn.org/~andrewes - ACE Home Page


[View Quote]

MonopolyBot

Jan 13, 1999, 2:33pm
This is exactly why I suggested developing a game that is loosely based on
Monopoly, but it really just buying and selling property in AW (multiple
worlds). We don't have to have the same rules. We don't need any artwork.
The players themselves are the game pieces. The bot is the bank, real estate
agent, and auctioneer. This is about as tough as a trivia bot. Want to prime
the bot's cache of locations? Give it the contents of the AW Yellow Pages.

DrChandra/PK-37
--
Andrew C. Esh mailto:andrew_esh at cnt.com
http://www.mtn.org/~andrewes - ACE Home Page


[View Quote]

SDK Question...

Jan 13, 1999, 2:21pm
Why does the file have to come from the same host the bot is running on? Why
not have a bot that knows where to get files via anonymous FTP? An aw user
asks the bot for a file, and the bot gets the file via FTP, and at the same
time sends it to the user via AW Client File Transfer. That way, the bot
becomes a signpost to Internet files, and doesn't consume space for files on
the bot server. Of course the bot server could be the source for the FTP
transfer, as well. This is that same idea as attaching a MIDI file from a
third party site to one of your objects in AW. You don't store the file, you
just refer to it in its present location, making use of it in the context of
the AW world.

DrChandra/PK-37

--
Andrew C. Esh mailto:andrew_esh at cnt.com
http://www.mtn.org/~andrewes - ACE Home Page


[View Quote]

Hoping and Wishing

Oct 30, 1998, 7:53pm
You should talk, speed breath. Have you been living so fast you've gotten a
month and a half ahead of the rest of us, or are you so wacked out you can't
figure out how to FIX YOUR SYSTEM CLOCK? :)

(I may not be with it all the time, but I know it's not December yet.)

DrChandra/PK-37

--
Andrew C. Esh mailto:andrew_esh at cnt.com
http://www.mtn.org/~andrewes - ACE Home Page


[View Quote]

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