PehJota's Blog
Details on my various projects, rants and discussions on virtual reality, and other random crap that's barely even worth reading.
Details on my various projects, rants and discussions on virtual reality, and other random crap that's barely even worth reading.
Professional insanity.
Innovation at its most radical point.
Because dis are serious bizniss.
Innovation at its most radical point.
Because dis are serious bizniss.
Odin Project - Status Update - Nov. 21, 2009
Posted 11-22-2009 at 03:57 AM by PehJota
For about the past two and a half months, I've been working on a new bot application called Odin. Its tagline is "Powerful, innovative, versatile, cross-platform". It aims to be an advanced program with support for an infinite number of bots in one or many universes, a powerful and intuitive API, many never-before-seen features to make it highly dynamic and extensible, and the ability to perform nearly any imaginable task from world server administration to running something like a high-end multi-world RPG.
A description of all major planned features and plugin ideas can be found at http://odin.pehjota.com/docs/roadmap. And the official project announcement can be found here in the AW forums blogs at http://forums.activeworlds.com/blog.php?b=700 or in the official Odin Project documentation pages at http://odin.pehjota.com/docs/files/announcement.
This is just a status update now for anyone who may be interested. I have been working on developing Odin anytime I find some spare time. I've completed or nearly completed the bot and bot management controls, virtual type-less AW attributes, event and callback interfaces, and timing. I've also just about finished the coordinates module (which would manage, among other things, bot and avatar locations and could parse both absolute and relative coordinates with a customizable syntax), but I'm rewriting it to be cleaner and more developer-friendly. I have yet to write the plugins, userlist, permissions, HTTP remote file retrieval, and update modules. Once I've finished all of that and put it through alpha testing, I can write some plugins and release a public beta.
Stay tuned and watch the roadmap for more updates. And I'm hoping to have a public beta and some plugins this January.
A description of all major planned features and plugin ideas can be found at http://odin.pehjota.com/docs/roadmap. And the official project announcement can be found here in the AW forums blogs at http://forums.activeworlds.com/blog.php?b=700 or in the official Odin Project documentation pages at http://odin.pehjota.com/docs/files/announcement.
This is just a status update now for anyone who may be interested. I have been working on developing Odin anytime I find some spare time. I've completed or nearly completed the bot and bot management controls, virtual type-less AW attributes, event and callback interfaces, and timing. I've also just about finished the coordinates module (which would manage, among other things, bot and avatar locations and could parse both absolute and relative coordinates with a customizable syntax), but I'm rewriting it to be cleaner and more developer-friendly. I have yet to write the plugins, userlist, permissions, HTTP remote file retrieval, and update modules. Once I've finished all of that and put it through alpha testing, I can write some plugins and release a public beta.
Stay tuned and watch the roadmap for more updates. And I'm hoping to have a public beta and some plugins this January.

Total Comments 5
Comments
|
|
Well I rewrote the coordinates module last night, and I'm finally happy with it (it's readable! yay!). But now I want to rewrite the bot class to clean up the code structure, make sure my design and logic are correct, and implement a cool new "extensible base object" class I wrote, which allows me to make read-only object properties (rather than just public and private) and allows plugin developers to extend certain objects in my API (adding properties and methods to objects).
Once I do that I'll be able to tackle my first major checkpoint: getting a bot into a world! Yes, I've been programming this thing for about two and a half months and I still haven't gotten it into a world. That's because I decided to build a complex but innovative coordinates module to control the locations of bots. I just kind of think something like '$bot->coordinates->coords = "WHooPLA 20s 0w 0a 0 0p";' just looks a bit nicer than calling aw_enter, individually setting the AW_MY_* attributes, and calling aw_state_change. But... Brainblast! (Ha, sorry, had to.) I'm thinking I could modify that code to be even shorter... '$bot->coordinates' points to an instance of the Coordinates class. Individual coordinate elements can be accessed like '$bot->coordinates->x' and '$bot->coordinates->coords' is a coordinates string. But what if I made the coordinates string just '$bot->coordinates'? It attempts to overwrite the read-only Bot class property 'coordinates' you say? Bah! I can modify my extensible base object class to handle something like this... with my own custom PHP magic method call! I can check for a method like '__overwrite' in my Coordinates object. In that method I could then set the coordinates to the new string, parsing the string into the various elements. However this becomes complicated when I try to *get* '$bot->coordinates'. Am I trying to get the coordinates object (for the purpose of setting a property like x or z), or am I trying to get a coordinates string? I suppose the context would help. That is, if I try to echo '$bot->coordinates' or write it to a file, PHP will try to cast it to a string, and the magic method '__toString' would be called. Then I could return the coordinates string. I don't know, it's a bit complex. I'll have to think about it, and for now I'll leave it as is. Anyway, long pointless post that I'm sure no one will read. I'm just hoping to get Odin into a world within the next couple days. |
Posted 11-24-2009 at 05:35 AM by PehJota
|
|
|
That's a hell of long comment. Shouldn't this be in a separate blog post instead of a comment?
![]() |
Posted 11-24-2009 at 10:01 AM by Legion
|
|
|
Heh, well I figured it was related to this blog post, and I didn't plan on making it so long to begin with. So I thought I'd just comment on this post rather than start a whole new post just for that. The next long-winded update I post, however, will be its own blog entry.
![]() |
Posted 11-24-2009 at 02:38 PM by PehJota
|
|
|
Keep up the good work! It's been a while since we've had a major bot released to the public.
![]() |
Posted 11-24-2009 at 04:30 PM by Hyper Anthony
|
|
|
Thanks Anthony!
![]() This program runs on PHP and is designed for developers to customize it to do whatever they want, but I intend to package it such that the average person can install, run, and customize it with minimal effort and technical knowledge. And once it matures I plan on building at least one web-based GUI interface system to make configuration even easier. |
Posted 11-24-2009 at 09:29 PM by PehJota
|
Recent Blog Entries by PehJota
- Odin Project - Userlist Benchmark Testing - To Use Or Not To Use SQLite (01-17-2010)
- Tutorial: Installation of php_aw on Windows Systems (01-14-2010)
- Bearded Babies. (01-07-2010)
- Messing with Trolls (01-07-2010)
- Odin Project - Configure my plugin, Mr. hAPI Face. - (Status Update - Jan. 1, 2010) (01-02-2010)




I'm just hoping to get Odin into a world within the next couple days.


