Creating Virtual Pets in Second Life®, and Beyond
Tags: secondlife, lsl, metaverse, myjourney
Published: 2022-07-09 01:23:17


[Second Life](https://secondlife.com)® is a virtual world platform launched back in 2003 by Linden Lab, inspired by the novel Snow Crash. You can be, create, explore, and do pretty much whatever you like within the [limits](https://wiki.secondlife.com/wiki/Limits) of the platform, which I find to be far more open than almost every current virtual world offering that's available these days. If you have the imagination, you can probably create it in Second Life®.

Some people have taken that creative potential and invented something known as "breedables", virtual pets that you can breed and make more pets from, all within SL.

Here you can watch a short video highlighting one of the popular breedables today:
{% embed https://www.youtube.com/watch?v=C0FhUJkJhiI %}

I of course got caught up in these cute pets, and today I have quite a few piles of various kinds rezzed in world and in my inventory - ranging from Kitty Cats, Stray Cats, Amarettos, and more.

I have always had a creative "but can I do this too?" mindset, and with SL, it was no different. I found myself trying to create clothes like t-shirts in GIMP, sculpties (this was before mesh) with various free software, and a lot of different scripts written in the Second Life® coding language known as Linden Scripting Language (LSL). I'd pore through the wiki, forums, and [OutWorldz](https://outworldz.com/) for scripts to use.

My first attempt was to take the "robot" virtual pet scripts from OutWorldz and expanded on that a bit to try to create something usable. I didn't have the ability to make or upload mesh yet, so I used sculpties. They looked rather ugly, but you've gotta start somewhere.
![An ugly sculpted pony with blue body and red hair.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lzodss4il3fsx1gffqa7.png)

After this, I eventually moved up to using a static mesh model that I found free to use, cleaned that up to make it work well with the simulator without causing much lag for people who had to render the things, and kept developing from there.
![A mesh crystalline pony in pastel colors](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k0cnrds4z7b8yxvlfxpi.png)

After a few years of this, I eventually realized that using only LSL wasn't going to cut it for much longer. I needed a server, and I needed to make sure everything would connect, it would work cleanly, and wouldn't be open for abuse by bad actors. It needed to store data like who has what pet and how much food or other items they own, data on each pet such as how old they are and various traits, and then data on each trait. From there it can be expanded easily to add fresh traits, and perhaps even let people take the pets outside of the SL platform into other spaces as development goes on.

This is where I'm still working, and I'm even redoing the models so they can make use a newer feature on the SL platform: animesh. This creates a "pseudo-avatar" out of the mesh and you can rig it up with a skeleton and have it use animations as if you were wearing it like an avatar. As you can imagine, that's a huge hit in the virtual pet scene, even though it raises the Land Impact (people can only use so much land impact on a region or parcel due to simulator limits) by at least 15. As long as the mesh itself is well-optimized, this shouldn't be too much of a problem as many existing pets already use more than 15 Land Impact.

This project has since launched me into the coding and development world. I went from learning LSL, to learning HTML, CSS, PHP, and soon C++. I've made a handful of websites for myself, to experiment with, and even for paying clients. I'm hoping to make a lot more projects and learn even more cool things to use. I've even started preliminary planning with someone for a metaverse-capable game.

It is also where I grew my love for art. Creating textures for mesh objects and avatars is an enjoyable experience that I've since expanded on by creating 2D art as well.

My hope is that in the future I'll keep imagining, creating, and dreaming. One step forward is a one step forward, and this journey has already taken me to some pretty amazing places. I'll keep on walking throughout my Second Life, and beyond. 

And I'll be posting more updates here as well.