Multiverse Developer Newsletter 2.4

Multiverse Developer Newsletter


Volume II, Issue 4


In this edition:

Corey's Column: Eco-Friendly

At Multiverse, we're obsessed with the ecosystem.

No, not the real-world ecosystem—you can get plenty of pontificating about that in other newsletters. I'm talking about the ecosystem of developers using the Multiverse platform. Obviously, this includes folks building worlds, be they games, social spaces, business tools, educational endeavors, or something else. But this ecosystem also includes, critically, developers who build content or technology for other teams to use.

For instance, say you have a small team of engineers and designers, but no 3D artists. You've got a great idea for a game, and you've coded a couple of its most unique features: innovative new types of combat and communication. Now you need to see how they feel in play-testing, and maybe use that prototype to raise some funding. The prototype needs to reflect, at least to some degree, the aesthetic you've got in mind. So you post some announcements in the classified ad section of our forums, to find contract artists who can build you a few characters and environments. Maybe you like their work so much, you actually hire them full-time when your funding comes in. I've lost track of how many times this has already happened in our community. Especially when it comes to enabling indie teams, the ecosystem is vital.

My favorite example: a few months ago someone posted in our forums the code for their world's mini-map component. They were having trouble getting it to work exactly as they wanted, and asked other folks in the forum for advice. Not only did people give advice, but one person, the ever-amazing Tim Holt, actually posted his own mini-map code, and said, "Here, just use mine." That's remarkable. Here are all these different teams—nominally competitors to one another—that share this sense of being on the edge of a huge frontier that's big enough for everyone. Why wouldn't they help each other? A rising tide lifts all boats.

We're even seeing groups build custom server plug-ins for other teams. We'll be spotlighting them in an upcoming newsletter.

A true platform has to support—in fact, relies on—this ecosystem. If people of different professions can bring the skill sets they already possess to a new medium like this, then we see a multiplicative effect. Using outside expertise, even small teams can move past otherwise insurmountable barriers to entry.

If you're part of this ecosystem, especially a team that's building technology for other teams' use, we want to hear from you. Shoot a note to Ron: random at multiverse.net. We'll be increasing our promotion of such teams, so jump on now. Let us know what you're up to, so we can let everyone else know.

--Corey
Executive Producer, Multiverse

Discuss this article in the forums

Release 1.1: Video, Flash, Scalability, and More!

By Rand McKinney (c.rand)
Multiverse Documentation Guru


In case you haven't heard, Multiverse has a new release coming out soon: version 1.1. This release focuses on expanding the programmatic capabilities of the Client and dramatically improving server scalability and performance.

Here is a taste of what you can look forward to:

Client features:

  • Displaying video, web pages, and Adobe Flash animation: The 1.1 Client will be able to display video movies, both from the asset repository and from a streaming media server; it can also display web pages and Flash animations.
  • Blended animations: The Client will support blended animations to support combinations of animations that can be played at the same time. For example, a character may be running, holding a gun, looking up, and firing all at the same time. This ability eliminates the need to create separate animations to cover all of these permutations.
  • UI enhancement: Chat bubbles, quest markers, and floating name text have been revamped for this release, and will use the same interface system used for other UI elements. The chat frame functionality will also be reimplemented in Python scripts.
  • Material scripting: You will be able to script material files from the Client scripting API.
  • Deleting characters: The character creation framework will provide the ability to delete characters.

In previous releases, the World Browser had a largely undocumented BetaWorld API associated with the server's MARS modules. The 1.1 release replaces BetaWorld with a Python scripting API that you can modify or completely replace. This will enable you to create your own original gameplay systems with new types of player interaction for quests, inventory, trade, and so on.

This change was fundamental enough it will require some manual migration when you move to the 1.1 release. We replaced references to BetaWorld, Client.Instance, and other internal client objects from all the UI scripts in the Sampleworld Interface/FrameXML directory with calls to ClientAPI interfaces and the new MARS client Python scripts. We've written a comprehensive upgrade guide to help you in this process.

Server features:

In this release, we added vastly improved performance and scalability to the server. Both the messaging system and the distributed object architecture have been reworked. For details, see Tropical: Server Fun (in the Sun), below.

Tools features:

New World Editor features:

  • You can now open a world file without loading all the object collections in the world; then, you can open the individual object collections separately. This is useful for very large worlds with many objects, and will dramatically reduce World Editor's startup time for such worlds.
  • You can choose to display objects in the tree view individually to improve performance.
  • There are lots of new camera controls.
  • You can create custom keyboard and mouse button mappings.

Additionally, we've made a number of improvements to the other tools. We are working hard to implement some of the more sweeping tools features you have requested (yes, terrain editing is top on the list) and hope to be able to release them soon.

Discuss this article in the forums

GDC 2008: Call for Booth Partners

Want to join the Multiverse booth at GDC 2008 in San Francisco, and show off your world to the game developer community? As in past conferences, top teams will be joining Multiverse at our booth on the Expo show floor. It gives you a valuable chance to show off your work as well as attend the conference. It helps us to spotlight the diversity of our developer community, and the awesome and innovative work you are doing.

We're still putting together our plans for our presence at GDC, to be held in San Francisco Feb. 18-22, 2008. All the details aren't worked out, but we will make space for selected Multiverse developers who are ready to demo their work. To be considered for one of the available slots, you must submit your world to us for review by January 7, 2008.

For the details of the submission process, including the schedule and evaluation criteria, see this forum thread: http://update.multiverse.net/forum/viewtopic.php?p=26539&theme=multiverse#26539

The past conferences have been very successful (and fun) for all involved: great exposure, great experience, great connection between the developer teams and Multiverse. If you're interested, let me know! Send an email to random at multiverse, and we'll get the ball rolling.

Discuss this article in the forums

Worlds in Progress: Two New Worlds in the Multiverse Network

By Ron Meiners (Random)
Multiverse Developer Relations Manager

Last week, Multiverse developers launched two new prototype worlds as part of the Worlds in Progress (WIP) program: LunarQuest and Force of Arms.

The RETRO laboratory, a serious games research group at the University of Central Florida, with funding by the National Science Foundation, launched a preview of LunarQuest, a virtual Lunar expedition with educational aims in science, technology, engineering, and mathematics (STEM). RETRO laboratory's Multiverse effort is led by Tim Holt, a longstanding member of our developer community and a very helpful and capable engineer.

Wardog Studios, led by Patrick Hamilton, launched a preview of Force of Arms, their futuristic mech fighting game. The preview is focused on a tour of one of the bases from the game, including mechs and a recorded audio tour guide. The Wardog team have also been Multiverse developers since the beginning, and are solid contributors in the forums.

By giving the public an early look at their worlds, these developers generate pre-launch buzz that helps to attract users, makes their work known to press, developers, and potential partners that come to the Multiverse site, and provides a proof of concept to show to potential investors. It's a great way to motivate a team as well.

We here at Multiverse appreciate the teams that go the distance to make this happen. It demonstrates the capability of the Multiverse platform, and the diversity and innovation of our developer community. If your team is ready to join WIP please drop me (random) a line at Multiverse.

If you want to check out these worlds, just launch the 1.0 Multiverse world browser/client, and they'll be among the choices of worlds to connect to.

Congrats to these teams on these very real milestones! Their worlds look great, and there are some very exciting developments to come!

Discuss this article in the forums

Guest Column: Accelerate on Building a Business in Multiverse

By Chris Condon, VP Development, Accelerate Technology

Most folks are naturally excited about starting a new job, often buzzing with anticipation. But the worst part about starting a new job is the first few weeks. This period is stressful, it's frustrating, and generally disorganized. Sometimes the orientation program is "death-by-PowerPoint," sometimes it's "death-by-forms," but it's almost always a buzz-kill. Companies spend a lot of money convincing new recruits that they're coming to a great place to work, then sour the experience with a downright lousy orientation.

There is a better way: on-boarding and new employee training using a virtual world.

The early days and months on the job are full of the kinds of learning that virtual worlds are the best at providing: location learning, contextual learning, simulation, relationship-building. Multiverse enabled us to hit the ground running, and focus on our world while knowing we were building on a solid technology foundation. Plus, because Multiverse will be able to interchange user data with external databases, it can pull double-duty by hooking required tasks, knowledge acquisition, and systems configuration to the company's Enterprise Resource Planning (ERP) system or intranets.

Accelerate Technology has built a demo using Multiverse to provide an example. A new employee logs into the virtual 3D company campus. She meets a computer-generated character who guides her to the security office, where she orders a badge inside the 3D world. Now imagine: she uses her computer's web-cam to take her own picture. The order is generated by the virtual world and sent automatically, with the picture, to the networked badge machine in the HR department. The HR person activates it and slips it into the new employee's first-day packet of info.

This is only one example of the power that 3D worlds, especially robust and well-engineered ones like Multiverse, can add to the first few critical months on the job.

Discuss this article in the forums

Tropical: Server Fun in the Sun

By Steve Jankowski
Multiverse Lead Server Engineer

Most successful MMO games and worlds are capable of hosting millions of players simultaneously. Even the least successful MMO can host tens of thousands of players. Keeping those players engaged requires large environments with thousands of objects, mobs, NPCs, and activities.

The current Multiverse server, designed for prototypes with merely hundreds of players, was not intended to handle worlds of this scale, which is why we're pleased to announce the next version of our server technology, code-named Project Tropical. The Tropical server architecture provides a new foundation that will enable you to build and launch worlds that can scale up to tens of thousands of simultaneous players and beyond.

A New Foundation

You might be rolling your eyes: yet another software project derailed by a massive rewrite.

Never fear, sanity prevails! The fundamental Multiverse server architecture is sound: processes, plug-ins, publish/subscribe messaging, the quad-tree, plug-in scripting, and so on; it's all good stuff. All we're doing is updating some of the individual parts. In some cases, we simply need to rework the implementation without affecting the API.

However, some cases require more dramatic changes. When an API itself hinders scalability, we are creating a new API to encompass new ideas. The results are dramatic performance improvements enabling massive scalability, which make the pain of such API changes worthwhile.

This article is an overview of Project Tropical and describes the Tropical features in the 1.1 release.

Version 1.1 server release

We will deliver the Project Tropical server over several platform releases. The first release will contain the majority of the API changes, and deliver some of the biggest performance improvements. Subsequent efforts will have few API changes. This article is an overview of Project Tropical and describes the Tropical features in the first release.

Currently, we are finalizing the code for version 1.1, testing it, documenting it, and writing the conversion guide. Due to the API changes, we are taking extra effort with the code and the documentation. Future releases will avoid dramatic API changes, so we're cross-checking the changes against our future plans.

The payoff: killer performance

Our tests show that a single Tropical server can support well over 1000 players, a significant upgrade over the previous server release. We conducted our performance tests on a quad core 2 GHz server, using test players that move randomly every five to fifteen seconds. We plan to write a more systemic performance test that incorporates mobs, players, and static objects. We're all pretty excited to see how these dramatic performance advances will impact your individual projects. We are rigorously testing and documenting the server right now, and will release it soon. We look forward to your feedback!

Read the continuation of this article in the Multiverse Developer Wiki.

Discuss this article in the forums

New on the Wiki

Most of our documentation efforts currently are focused on the upcoming 1.1 release. To enable us to work freely on the wiki, but maintain the existing documentation for users of the 1.0 platform, we created a "snapshot" of the wiki, called the Version 1.0 wiki. Until we release version 1.1 (and you are ready to upgrade), refer to the Version 1.0 wiki for documentation. To remind you that this is the 1.0-specific wiki, it has a special look, with a red border around the main article area and a prominent disclaimer on the front page.

Once we release 1.1, and you are ready to upgrade, refer to the primary Multiverse Wiki for all your documentation needs. If you are contributing or editing documentation, you may wish to work on the primary wiki, to ensure that your efforts are carried forward beyond the current release.

Additionally, to address concerns about what code works on what version, we've added a couple of new templates: use the "Code Example" to indicate that you've tested a particular piece of example code, including the date and version of the platform on which you tested it. Use the "NotTested" template to explicitly indicate example code which has not yet been tested.

On the Version 1.0 wiki, developer Slinky created a lengthy detailed tutorial, Creating a Faction Plug-in. Slinky, along with developers PaulO, KarlMarx, and others helped to revise the tutorial for version 1.0. It's an instructive example of a generally useful plug-in.

To encourage and organize contributions to the wiki, we created Team Wiki, an informal group of Multiverse developers who are interested in contributing to, refining, and developing the wiki. One of the first members is Quamquam, who helped to categorize most of the articles on the wiki, among other contributions. As recognition for his efforts, we made Quamquam the first external wiki admin (sysop). As an admin, he can delete pages, protect and unprotect pages, edit protected pages, block and unblock IPs, and use other special wiki features. Congrats, Quamquam, and thanks for your contributions!

Found in the Forums:

"...Picture a scenario built up from a long list of small random encounters. Many of these encounters hint at being part of something bigger, without specifying what. Like the real world version actually figuring out the story would require a fair degree of socializing between players, perhaps with groups or guilds forming simply to get to the bottom of the mystery. The need to work together regardless of individual capability could only strengthen the game."

FrequencyPattern, Multiverse Developers Forums