NPCs are coming to OpenSim

Thanks to a “small bounty” from Birmingham, U.K.-based Daden Limited, OpenSim has new NPC functionality — otherwise known as non-player characters or bots.

David Burden

“Having this functionality broken was becoming a real pain for us, as having NPCs and autonomous avatars in virtual worlds is a lot of what we are about,” David Burden, Daden’s managing director, told Hypergrid Business.

Daden specializes in virtual world products for businesses, such as immersive training and learning systems and is particularly known for its line of intelligent chatbots.

Although Daden paid OpenSim core developer Justin Clark-Casey for the work, the results will be available to the entire open source community.

“We knew we’d be needing the functionality for some future projects,” said Burden. “But were also aware that a lot of other OpenSim users would like it. Seeing as we didn’t have the resources free in-house, we decided that the best solution was to use a small bounty to encourage Justin to promote the work up his to-do list so that it could go directly into core and be of benefit to the whole OpenSim community.”

One use for NPCs is in role playing games, where the NPCs could be monsters that attack players, guides who help them in their quest, or simply villagers and shop owners who help populate the landscape and make it feel realistic and interactive.

Click image above to watch video of 40 alien NPC's dancing, while wearing 3,500 prims each in attachments. (Video by Michael Cerquoni.)

NPCs could also be used to create virtual pets.

But that’s not the only use for NPCs.

“Our main use is for NPCs in training scenarios,” said Burden. “But also virtual helpers or guides and even simulated crowds in other applications. Our long term goal and aspiration still remain Caprica-esque autonomous avatars in virtual worlds.’

Now, NPCs can be created by cloning existing avatars, he said. NPCs can move around on auto-pilot, even when the original avatars are no longer logged in.

NPCs can be controlled by scripts embedded in control objects, running OSSL commands, he added. In addition, they can be controlled by the standard Second Life-style bot processes, using LibOMV. “We’re also hoping to do by region module but don’t think that’s there yet,” Burden said.

Unlike script-controlled NPCs, LibOMV-controlled NPCs are basically standard avatars, and can do anything that avatars can do — but require to be logged in as their own user accounts. These are the “bots” that populate Second Life’s camping chairs and dance floors.

NPCs controlled by region modules wouldn’t require in-world scripted objects, as the scripts would be located on the server, not in-world. This could provide additional security, and allow developers to use standard programming languages to control the NPCs.

Business bots

According to Burden, bots have an important role to play in business.

“That’s our main focus,” he said.

For example, training simulations often require characters for students to interact with — student nurses need practice patients, trainee salesmen need practice customers, and trainee firefighters need practice victims. It can get expensive to hire actors or trainers to play those parts in real time.

NPCs can also be used for virtual guides, or to populate crowd scenes, he said.

“We’ll be driving our bots using our Discourse chatbot engine — similar to but more powerful than the Pandorabots that some people use — and also using motivation, emotion and navigation engines that we are developing,” he said.

No rampaging bots — yet

Those worried about NPCs rampaging across grids, and taking over virtual civilization, can rest easy — the new scripted NPCs are limited to their regions of origin, said Clark-Casey, who is also the head of the Overte Foundation for OpenSim development and is available for private consulting projects.

“With a reasonable amount of work, they could cross borders as well,” he added — but only if other region is run on the same server.

Justin Clark-Casey

“A lot of work would probably be required to get them to cross borders where the source and destination are hosted on different simulators and both simulators are co-operative,” he added. “It’s possible, but at this point one might be better off with the LibOMV approach.”

For more information on the technical details of NPCs, see the OpenSim NPC wiki and the full list of OSSL NPC functions is here.

“I’m sure this won’t be the last word in NPC functions,” he said, “though I’m keen for people to leverage existing functionality rather than try and create a large number of specialized NPC functions that need to be maintained.”

For example, instead of creating a new NPC function, the llTarget function could serve double-purpose for NPC navigation.

He also warned users to expect some hiccups as the new functionality is rolled out and tested.

“Some bugs have emerged in the new functionality, as is to be expected in fresh dev code,” he said. “These will be nailed down over the coming weeks.”

Will corporate money corrupt the open source process?

Corporations such as Intel and IBM — and small companies like Kitely — have long been donating code to the OpenSim project. And companies routinely hire OpenSim developers to do custom work for them.

Melanie Thielker

In fact, according to OpenSim core developer and Avination grid manager Melanie Thielker, companies have even paid for OpenSim developers to work on particular code.

“But the work has been done under non-disclosure agreements,” she said, “and the reason for the code being written therefore never became public knowledge.”

This is the first time when a company has publicly paid for an OpenSim developer to work on a project of interest to them.

By paying for code, companies could potentially influence the direction of development of OpenSim, Thielker told Hypergrid Business. Thielker is also CEO of OpenSim hosting company 3D Hosting.

“But then, anyone can, they only have to invest the time to code it up and submit it,” she said. “If it’s not seriously broken, or breaks core functionality, it will be included, so any sole developer and any company using other, non-core devs can influence the development direction just as well.”

“Therefore, I don’t see this as having any detrimental effect,” she said.

Lawrence Pierce

The question to ask is whether this particular instance compromises the larger mission of the open source project, said Lawrence Pierce, a consultant who specializes in new media design and production.

“I understand very well the need for bills to be paid,” he said.

“I support this type of behaviour as long the code is shared and remains open source,” said David Miller, eLearning developer at Newmarket International (he blogs as subQuark here).

“It is amazing that anyone dedicates the time, resources, and money that Justin and [hypergrid inventor and core developer] Crista [Lopes] do to a project like OpenSim.”

David Miller

And if anyone is opposed to the influence of money on OpenSim, they can branch off the code and use only volunteer contributions, he added.

“If the group of core developers was larger, on the scale of hundreds like MOODLE has, then my view may be different,” he said. “But OpenSim is so tiny that we need to allow its core developers the freedom and trust to do what they deem best.”

Kitely CEO Ilan Tochner

“Developers need to be able to earn a decent living so I think there is no problem in OpenSim developers getting paid to build things they contribute to the shared code base,” added Kitely CEO Ilan Tochner.

“It’s good that developers can earn their living doing something that helps the community instead of working on things that don’t,” he said.

“I don’t have a problem with this practice at all,” echoed OpenSim core developer hypergrid inventor Crista Lopes, who is also a professor of informatics at the University of California, Irvine.

Crista Lopes

“Some developers contribute to OpenSim as part of their day jobs,” she said. “Others do it within different structures, and with other financial stimuli. All contributions go through the same quality control, independent of their financial context.”

However, paying bounties to developers can also be very destructive to community development if its not done right, said Simon Gutteridge, owner of UK-based grid management software company PioneerX Estates,

“It harbors a situation where the company with the biggest pool of cash has the greatest influence over software direction,” he said. “This in turn causes them to become more profitable as the software starts to trend to their particular business needs and so helping to stifle the more innovative ways the software could be used. This approach rarely works in my experience.”

Simon Gutteridge

However, he has also seen bounties work well, he added. For example, FreePBX, a web interface for the popular Asterisk VoIP system, needed refactoring recently for its popular Custom Contexts module and the original developer wasn’t interested in the work, and it was no longer core to FreePBX. The total cost of the work was priced at $4000 — and users got together and raised $4,350 for the project.

For this model to work, he said, a specific need has to be identified, the cost estimated, and community members asked to support the project with no one supporter contributing more than a third or a quarter of the total bounty amount. If the full bounty is raised, the work begins — if not, the money is refunded.

While FreePBX managed its bounty itself, other projects use third-party platforms such as Fundry to collect money, verify that work has been completed, and then pay out the bounty or refund it if not enough money is raised.

“It allows companies to use cash to influence the development cycle but only within confined boundaries and therefore does run such a high risk of a cash rich company pushing the project down a path that is ultimately in only their interest,” said Gutteridge. “The developers still get fed and can even compete for the work if they choose, driving costs down.”

The development work is only done if enough people want it, he added, so that the project is driven by community interest.

Related Posts

maria@hypergridbusiness.com'

Maria Korolov

Maria Korolov is editor and publisher of Hypergrid Business. She has been a journalist for more than twenty years and has worked for the Chicago Tribune, Reuters, and Computerworld and has reported from over a dozen countries, including Russia and China.

  • Now, it would seem to me, SpotON3D could learn a thing or two from this.

  • WhiteStar Magic

    This is interesting in relation to osNPC . In particular that the botFunctions and those abilities have been in Aurora-Sim since before November 2010. In fact, one of the developers posted a Youtube video quite some time ago with over 1000 bots in Aurora as well as others.

  • WhiteStar Magic

    I should have added as verification:
    https://github.com/aurora-sim/Aurora-Sim/tree/538… ( Oct.14.2010 )

    1000 bot test video which many of have seen no doubt: http://www.youtube.com/watch?v=d6We7-ZWnKY

  • Graham Mills

    Worth mentioning that this was one of the developments announced for SL at SLCC. What's the chances it will be compatible with either the Aurora or OpenSim versions (low, I guess). Also, there's a new Google Group called opensimbot that tries to pull some of this activity together.

  • o/ for subQuark! and total ed g33k out on the MOODLE mention! =p (if i look at another manifest or SCO this week, i'm gonna barf)

    it's actually scary to me (but i get anxious about almost anything) how small the number of core developers there are! OpenSim is here only by the graces of a handful of people and i am always in gratitude of their work (and in awe too) =)

    thanks OpenSim peeps and fix the PayPal account that is on the OpenSim donate page!!! it's been linked to an account that can't accept money for a year now!

    */me has money burning a hole in my pocket and am ready to nefariously influence OpenSim dev! well, at least $20 worth! from time to time* =D

  • Graham Mills

    I do like the idea of funding a student-oriented viewer variant via Fundry.

  • Mahalos to Daden folks for contributing to the ever-expanding creative potential of our ever-expanding virtual realms:)

  • Shenlei

    This is great news, and can't wait to use that functionality.

    I would, however, like to correct a small error. "This is the first time when a company has publicly paid for an OpenSim developer to work on a project of interest to them."

    This is actually an erroneous statement.

    We had Justin Clark-Casey develop the message-bridge from OpenSim to SL for us back in early 2009. The code (along with a lot of other bug fixes and the like) was developed and contributed back to OpenSim while Justin was on our payroll. The original post was here: http://shenlei.com/2009/02/03/immersive-friendly-

    Shenlei Winkler
    CEO
    Fashion Research Institute, Inc.

  • Shenlei — Thanks for the note — I had totally missed that. Did this ever become part of core OpenSim, or is it a separate module? – Maria

  • Liralen Lisle

    Very cool development, and will certainly go a long way towards making regions feel less empty.

    BTW, I was able to set up a subscription contribution to OSgrid on August 7, and received payment confirmation from PayPal on August 8, so I hope Osgrid got it. Now I'm starting to wonder…

  • And a comment just in from Kai Ludwig, director of Germany’s TalentRaspel virtual worlds Ltd. – http://www.talentraspel.com/ :

    "There are three ways to get things done:

    1. Do it yourself.
    2. Find someone that does it for free, because he likes the job you want to get done (very unlikely, because people will already work on their own ideas)
    3. Pay someone for it

    "So if you, as a company, want to turn some idea into a real existing OpenSimulator implemenation you always have to pay a freelancer for the job. Or just do it yourself. Daden just chose Option #3 and got its delivery.

    "By the way, we at TalentRaspel virtual worlds Ltd. are happy to take orders concerning every viewer or server-oriented job in the OpenSimulator field. Just ask for quotes at [email protected] "

    Ludwig currently runs the Wilder Western and OpenNeuland grids, and is an authorized reseller of PioneerX Estates' RCI grid management interface, which is currently the most advanced system in the market. (Dreamland Metaverse in second place with its platform.)

  • bristle

    i will believe it when i see it.

    • bristle

      ok justin said that it was in development for opensim. i believe him.

  • As I have always said in here. In order for progress to be alive within OPEN SIM core development. Money has to have a playing role and until then we will not be able to get much done. I am very pleased to see this happening.