Why virtual world content creators should look beyond Second Life and OpenSim
I’ve been creating virtual world content since 2005, selling games like Greedy Greedy primarily in Second Life. I plan to stay in Second Life and continue supporting my games and developing new products there until the lights go out.
I’ve also been on the look-out for a new virtual world to expand into for quite some time. Until recently, that’s never really panned out. I was an early adopter of Blue Mars, for example, and that’s a story that doesn’t need retelling. I was also excited for Sansar when it was first announced but found myself unable to muster any enthusiasm for the platform after it became clear that supporting scripted content is not a priority for them. I’ve not been enchanted by the many OpenSim grids that have sprouted up, which I’ll discuss in more detail below.
I bet many other Second Life-based developers have also wondered which world they should expand into, but are also not happy with the most well-promoted alternatives. It’s probably why many of them are reluctant to diversify, especially if they’re still making decent money from Second Life. But on Second Life’s 16th anniversary, maybe it’s time to take stock of what we have, and whether we deserve better.
Shiny updates, deep-seated problems
My games in Second Life have been rebuilt from scratch more times than I can remember, but they’re shackled to the same fundamental problems each time. They get prettier as we got sculpted prims and later mesh, and they get faster and less resource intensive as we get new scripting functions, but Second Life is still comparatively ancient technology with cripplingly severe limitations and no application outside of itself.
I genuinely love Second Life for what it has accomplished and what it has brought to my life, but a byproduct of Linden Lab’s insistence on going it their own way in every aspect of the platform, from the engine to the scripting language, means that nothing works as it should. The LSL programming language is terrible in every conceivable way and thus forces you into writing terrible code. Its very nature binds you to a myriad of coding practices that would get you beaten with a sturdy rod anywhere else. We are forced into accepting compromises at every corner to accommodate limitations on not just the language, but also things like horrible physics, a severely outdated graphics system, and a “land impact” algorithm which punishes you seemingly arbitrarily for trivial changes.
But Second Life’s biggest problems aren’t even outdated tech — it’s the fact that creators are increasingly feeling left like they’re holding the bag. Piracy is absolutely RAMPANT in Second Life, and creators have been screaming for Linden Lab to address the issue for years, and years, and years, and it falls on deaf ears. Then charge us more to do business there every year. I understand the need for Linden Lab as a company to make money to support their platform, I don’t begrudge them that… but they’re not supporting us in turn, the creators who make the platform what it is.
My wife was astounded when she started doing customer support for my business. “Is there always this much piracy?” she asked me. Yes, unfortunately. It’s one of our biggest customer service issues: People who’ve bought pirated games off of the Second Life Marketplace — 90 percent of them don’t even realize they didn’t buy it from me until they dig back through their order history to find out who they actually paid for the item. When you see pirated rare gacha items going for thousands of Linden Dollars on the Marketplace, it really starts to feel like Linden Lab is profiting from their inaction on the issue.
What about OpenSim as an alternative?
I have great respect for the OpenSim community, but in general, most of the problems I’m pointing out with Second Life also apply to OpenSim: Graphical limitations, physics limitations, scripting limitations. OpenSims may be slightly better in some ways, but they’re not substantially better in any meaningful way. In great part, the platform was built out of a sense of frustration over many aspects of Second Life. For example. If you want to develop in Second Life, it’s very expensive to get started. A region is a huge investment just for R&D, and you start out way in the hole even if you eventually make it to market. It can be cost prohibitive to even consider a hobby or experimental project.
However, while OpenSims tend to be cheaper — or even free if running them yourselves — they’re also fundamentally just a slightly different flavor of Second Life, with most of the same limitations. It tries hard to sweeten the deal with things like higher prim limits, but those higher prim limits mostly just exacerbate flaws in the underlying architecture.
No doubt OpenSim can be a slightly better Second Life, but fundamentally it faces the same problems and most of the same limitations by virtue of using the Second Life viewer and thus trying to remain compatible with Second Life. Emulating a broken system isn’t going to produce a non-broken system.
Solutions exist – if Linden Lab would ever implement them
I can rail all day about the problems plaguing Second Life, but it feels a little disingenuous without suggesting some concrete solutions:
I. Nuanced permissions
A big need, obviously, is putting some real effort put into fixing exploits that allow piracy to run rampant. The permission system is a joke when people can duplicate no-copy/trans objects by the truckload with little effort. They need to restore the integrity of their permission system so that creators have control over their products again.
Mod/copy/trans is incredibly hamfisted and doesn’t give creators a great deal of choice in how their products are used even when it’s being properly enforced. “Resellable” should be separate from “Transferable.” “Modifiable” shouldn’t be a blanket option. I should be able to let customers modify the colors and textures of something without, for example, being able to add new scripts to it. I should get to decide whether my scripts can be reset or not by the consumer, independent of modify. Give us more flexibility.
II. Greatly improved, fully-integrated shopping
Second Life is distilled consumerism. It lives, breathes, and makes love to commerce. Why then is the shopping system such an absolute disjointed wreck? It’s the ONE THING that Second Life should nail perfectly above all else, and it’s one of the worst aspects of the platform. Shopping on the Marketplace is completely divorced from shopping in-world. The Marketplace is a cluttered, antiquated mess. Store owners can’t even organize their own stores in any meaningful way. It’s frustrating to use for both creators and consumers.
The in-world shopping experience isn’t any better. The only built-in commerce system is so primitive that almost nobody uses it anymore, and instead relies on a revolving door of third party vendor systems that sometimes just disappear overnight. It’s frustrating and time consuming for creators who have to close their stores up and spend days or weeks installing a new vendor system. Second Life forces creators to spend an inordinate amount of time doing what should be the easiest thing imaginable: Selling stuff.
Why can’t this all just be one big, unified commerce system where we have a store with merchandise delivered and managed in a central location, so consumers get the same experience whether they’re buying in-world or through the website?
One crazy side benefit to doing this would be region performance. Those third-party vendor systems often have an ENORMOUS amount of scripts in them, just to sell stuff. You get a store with a hundred items for sale, and you’ve added hundreds of scripts to the region for no reason.
III. Instant product updates
This ties into shopping. If I need to send out an update to my games, I have to first box the item (because scripts can’t deliver folders outside of the sim, only single boxes), then a copy has to go in my update server, another copy has to go in my vendors, then another copy has to go in a Marketplace folder. These should all be the same thing! I made it the same for my own store by creating my own custom vendor system, and all of my products go into boxes in my update server. Marketplace orders trigger the update server and my in-world vendors also trigger the update server, as do redeliveries from my store (but not redeliveries from Marketplace, because there’s no way to do that, so I had to turn Marketplace redeliveries off). I essentially had to step back down to the old school “Magic Box” system to unify them, and that’s absurd.
I should be able to drop items into my Marketplace folder in my inventory and just be done. No boxing. No “update servers”. Marketplace should do that. For updates, I should be able to just swap the contents of that folder out and call it a day. I should be able to sell Marketplace items in-world, and customers should be able to get redeliveries of those items, and scripts should be able to trigger a Marketplace delivery for updates. Press an update button on the product, script says “Hey Marketplace, redeliver item #NNNNNN” and that is all that should be required.
This whole system could be so simple, so elegant, unified, intuitive, and centralized, but it’s not any of those things.
I do hope Linden Lab implements solutions to these problems, because as I said, I have every intention of selling content in Second Life for the world’s lifetime. But it’s painful to contrast them with an existing alternative.
The case for unity — and Sinespace
Sinespace approached me last year about bringing Greedy Greedy over to their platform. I nearly binned the initial communication about it because at this point, I’m quite accustomed to
getting frequent requests to bring my games over to the latest OpenSim grids, which almost universally have economically unviable userbases. But after clicking through to the Sinespace website I realized this was something different and new! (And as I later learned, it was founded by Adam Frisby, one of OpenSim’s original founders.)
I can only speak for myself, but Sinespace won me over because it feels like it offers what others have promised in the past, but is actually delivering on. Its use of the powerful, AAA-level, industry-proven Unity game engine means that learning to develop content for the Sinespace platform gives you valuable skills that are applicable outside of this one platform: Standardized languages, standardized assets, and standardized work flows. It offers a level of creative expression that I believe is currently unrivaled in other platforms, with the advantage of having the existing Unity developer resources to learn from.
I think the moment I said “I’m in” was a seemingly small thing on the surface, but is actually an enormous headache in Second Life. When you put a product to market in Sinespace, you can update that product on a platform-wide level at any time. If I discover a bug in Greedy Greedy that needs fixing, or I decide to add a new feature, every Greedy Greedy table on the platform gets my changes instantly. I don’t have to beg, bribe, and cajole my customers into updating their products, it just happens. No more customers coming to me complaining about a bug in their Greedy Greedy table that I fixed 6 years ago, but they never bothered updating. The ability to rapidly iterate on product design without having to worry about shipping a faulty product that you can’t undo means you can be incredibly agile with your development process. It also means a drastic reduction in customer service load!
Sinespace also offers a separate staging/preview grid from the main grid. While you’re building or developing your products/regions, you can connect to them and interact with them and test them and you’re not paying enormous costs just to have that R&D phase. When you’re ready, you push a button and it moves wholesale to the main grid in a ready-to-ship state.
If you spin up a new region and it doesn’t work out the way you want, just delete it. This also means if you need to change something up, like redecorate
your store for Christmas, you can have a staging version that you decorate up without disturbing the live version, and just push a button when it’s time to
go. Even on the main live
grid, everyone has free region space up to a certain size.
Going forward while keeping it real
Again, I’m not in any way advocating that people leave Second Life. For all its faults, it’s still a wonderful, creative place, and remains the largest base of consumers and creators. Just from a business perspective, it’d be crazy to cut ties and move away from that as a source of revenue. However, my thought has always been that “nothing lasts forever.” Especially in the world of tech. Apple just killed iTunes, after all.
Things change, they evolve, they try to keep up, but eventually everything gets replaced by something newer. This will happen to Second Life eventually. I’m not trying to fear monger here — I’m not saying it’s this year, or even the next 5 years, but it would be naive to think that Second Life will somehow be the exception and last forever. Think about how many other virtual worlds have already come and gone. We hope on its 16th birthday that it has another 16 years in it, but that would be pretty incredible in the world of technology.
If developers asked my advice, I would just say “Don’t be complacent.” Complacency means not just that one day you might wake up and find out that we’re having a wake for Second Life and you’ve got nothing else going on, but that you may miss many exciting and beneficial things along the way. If you always go only to the same Italian restaurant every week, then you’re missing out on the incredible Indian cuisine the next block over. You don’t have to cut out Italian from your diet, but neither should it be the ONLY thing you eat.
I don’t want people to abandon Second Life. What I want is for Linden Lab to address the issues that creators struggle with every day, and have been struggling with for years, or I fear that Second Life won’t last as long as it otherwise could. We can cope with limitations and we can power through problems, but feeling like we’ve been abandoned is much harder to survive. And in the end, the future of virtual worlds is entirely reliant on the creators who make the stuff that people want to buy.