ThreadBoard ArchivesSite FeaturesActiveworlds SupportHistoric Archives |
Just a quickie ... (Sdk)
Just a quickie ... // SdkgrimbleNov 2, 2002, 11:05am
Do C++ programmers who use AW prefer an exported class hierarchy (assuming
all related documentation is provided) or a consistent interface method such as that used by the AW SDK? Grims. chazradNov 2, 2002, 12:13pm
"ananas" <vha at oct31.de> wrote in news:3DC3E3CB.1DEBB935 at oct31.de:
> For me the DLL is just fine :) > [View Quote] same here grimbleNov 2, 2002, 2:01pm
Surprising (to me at least), but welcome info. You two were on my list of
answers to look out for so thanks for taking the time. Grims. [View Quote] chazradNov 3, 2002, 5:34am
wel, main reason is very simple, Grim, all programs i wrote are centered
around the DLL, to have an exported class would mean a major rewrite. If you'd asked this before i started on the sdk, i would have chosen the class. Regards Chaz "grimble" <grimble2000 at btinternet.com> wrote in news:3dc40501$1 at server1.Activeworlds.com: > Surprising (to me at least), but welcome info. You two were on my list of > answers to look out for so thanks for taking the time. > > Grims. > > [View Quote] grimbleNov 3, 2002, 12:11pm
That's fair enough. I think there's a lot of "opinion" on what is the
*right* way to implement a class library around an existing interface anyway. Some SDK functions could be implemented under different classes (as a rough example, aw_create could be invoked by CUniverse.CreateInstance() or CInstance.Create()) and everyone really has their own view on which is best depending on personal style. Sticking to the existing style is probably the least contentious ... heh. The only reason I asked was that I'm building an extra layer around the SDK (mainly for my benefit) with additional attributes/methods and which generates "implied" events (like activity in areas, instance/world/universe session tables, instance specific event handlers, etc.) where the limitations of the existing SDK allows and I figured if I ever managed to complete it I'd share it for use by anyone interested. Internally it uses a class structure that reflects (my interpretation of) the implicit SDK "objects", but the amount of exception handling in the code and documentation for the exports required to share the class library itself would be much greater than if it was kept under wraps and only accessed internally (i.e. exporting C-compliant methods from a DLL). Hence the question ... Thanks anyway, Grims [View Quote] chazradNov 3, 2002, 12:20pm
Yes i was also looking at implementing a sdk wrapper beyond the one i
have already www.petrossa.com./download/botclass.zip But i also came to the conclunsion that using the dll is easier,also because AW doesn't export their user structures which makes for alot of extra work on the developers side. (i still assume that most of SDK is in C not c++). Finally having overcome most hurdles i hesitate to switch.... (still very interseted in eyeballing the class though :) "grimble" <grimble2000 at btinternet.com> wrote in news:3dc53c95$1 at server1.Activeworlds.com: > The only reason I asked was that I'm building an extra layer around > the SDK (mainly for my benefit) with additional attributes/methods and > which generates "implied" events (like activity in areas, > instance/world/universe session tables, instance specific event > handlers, etc.) where the limitations of the existing SDK allows and I > figured if I ever managed to complete it I'd share it for use by > anyone interested. Internally it uses a class structure that reflects > (my interpretation of) the implicit SDK "objects", but the amount of > exception handling in the code and documentation for the exports > required to share the class library itself would be much greater than > if it was kept under wraps and only accessed internally (i.e. > exporting C-compliant methods from a DLL). Hence the question ... > > grimbleNov 3, 2002, 2:41pm
I've always felt a little disappointed that the AW SDK is aimed at the level
it is. Yes, the "lowest" level always gives the developer more control and so leaves less reliance on the SDK itself. Unfortunately, without adding what amounts to "standard" code within each application for things like object handling, session management, and event filtering/routing, only obvious bot applications can be developed (greeters, chatters, followers, etc.). There *are* examples for things like session tables around, but even when these are provided as components that can be included in an application, there still needs to be some technical understanding to be able to use them. The most common request that I get from people is "How do I track an avatar in my world" or "How do I find the object number of an object I want to update" - both requiring in-app "caching" of information previously provided or sought. What I would like to see (and this is the driver for what I am doing here) is more "feature" based methods/events in the AW SDK. Citizens who release their own components or code snippets can't be around to support them forever and (as seen on a number of occasions in these newsgroups) are often rudely taken for granted by others (poor old Xelag being a classic example of someone regularly abused). There needs to be an SDK that goes beyond "this has happened", "that has happened" and more focussed on what AW is all about ...people, objects and the environment in general, and this really needs to come from AW rather than obliging citizens. Grims. (as opinionated as ever) [View Quote] chazradNov 3, 2002, 2:58pm
Couldn't agree more. It would already help if AW would just expose their
internal memoryblocks where they keep track of all pertinent data. a simple memcpy would then fill your instance with all the pertinent data at once. It is then a very simple task to build a tracker of anything. Why on earth they resorted to this convoluted system where you have to ask for each item seperately beats me. I think at least a quarter of my code only goes to tracking and maintaining visitor lists, which AW does also at the same time. This is really irritating to say least that you know all the info is there already anyway, but you have to sweat it out to find it and maintain it yourself also. Oh well, back to the grindstone, tnx for your thoughts Grim "grimble" <grimble2000 at btinternet.com> wrote in news:3dc55fc4$1 at server1.Activeworlds.com: > example of someone regularly abused). There needs to be an SDK that > goes beyond "this has happened", "that has happened" and more focussed > on what AW is all about ...people, objects and the environment in > general, and this really needs to come from AW rather than obliging > citizens. > |