Sansar Creator Interview: Galen

Note: This interview, conducted by Sansar user GranddadGotMojo, originally appeared in Chris Jackson’s News One blog, which has since shut down. Chris was kind enough to give me a copy of this interview, and Granddad consented to have it republished here in the Sansar Newsblog so it wouldn’t be lost. Thank you, Christ and Granddad!

Interview With Galen “The Programmer”, by GranddadGotMojo

Galen, who is one of Sansar’s most prolific and talented programmer/creators, sat down with me to answer some questions and share his thoughts.

Granddad: What is your programming background? What did you program in before Sansar?

Galen: I’ve been a software engineer my entire career. I started programming in high school in the late 1980’s. Like many senior programmers, I’ve worked with a lot of platforms and languages. Much of my more recent career has been in Microsoft’s mainline platform. For most of 2017, I’ve been developing software and some other content for both Second Life and Sansar, focusing on LSL, C#, T-SQL, and JavaScript.

Granddad: Tell us about Reflex and Clockwork and your ideas for creating frameworks of programs that interact? Where do you see this going to?

Galen: From day one upon arrival to Sansar during the closed alpha, it was clear to me that the main thing people felt was lacking was interactivity. By my third day, I had created the very first working door script.

My goal was to create a fleet of simple scripts that could be hooked together, LEGO-style, by non-programmers to create interactive behaviors. It took a couple of weeks to release the first version of the Reflex scripts for that purpose. Then a few more weeks to release a second version that revamped the communication and programming style.

It also featured a website with a detailed user guide to help users understand how to use the scripts. I also documented the approach that other programmers could take to write their own Reflex-compatible scripts. I genuinely wanted to set an early standard to encourage everyone to work together.

Granddad: I have looked at that site and will probably try to create an actuator. What kind of actuators or sensors do you think other programmers should try?

Galen: For now, I think I have the basic options covered because there’s not much we have access to in the existing Script API, but that will change over time. And chances are I won’t keep up with it all, so it’ll be good for others to contribute new types of sensor scripts. There are endless types of actuators people could make.

My initial goal was to cover some of the obvious basics, like making sounds, opening and closing doors, switching on lights, etc. Honestly, I have expected the first Reflex scripts other than my own to be what you might call “beadboard controllers”. By that, I mean scripts that listen to standard sensors and put together more complex responses. Like if you’ve visited three required spots, now you can open a door.

I have plans to add a bunch more features to Reflex in the near future, too. Most notably, I’d like to add a sort of personal inventory box. Picture the many video games where walking over a coin or weapon causes you to instantly add it to your inventory. Instead of your avatar having to carry a 3D object around or wait for Linden Labs to introduce a new local-inventory feature, this would just remember what you’ve acquired for you while you’re in that scene. I think that hints at the potential we have for creating sophisticated games, even now, despite Sansar’s limitations.

In my Clockworks Club demo, I have about 100 objects running the unit script that keeps them in constant motion. They compute complex motions at a rate of 50 updates per second. That’s about 5,000 total updates per second. And these are not simple computations, either. So Clockworks is all about dynamic motion.

One day I visited a nightclub styled experience. I was impressed with the feel, but I immediately noticed everything was motionless except the music video playing. It occurred to me that I had everything I needed to make a sort of light show system. I’ve already released two versions of Clockworks now. The second one introduced the idea of multi-segmented machines.

Right now, you can’t assemble a teddy bear and get scripts to move its arms in relation to its body, for example. You have to compute the motions of every single piece of it and make it act like it’s all connected together. That’s what Clockworks does. Reflex and Clockworks represent my foray into the broad field of dynamics in Sansar.

My Hoverpark experience is a next step. Reflex and Clockworks solve a nasty problem of what I call “jitter”, where gravity keeps pulling massy objects down while your script keeps putting them back in place, by setting the mass of those objects to zero so they won’t fall.

That solves one problem but creates another: You can’t really interact with those objects. Most notably, you can’t stand on them. My hover platforms are my first attempt to solve that problem using “real physics” instead of the simulated motions involved in rapidly calling Body.SetPosition() and Body.SetOrientation(). Right now, there is a huge complexity barrier plaguing all scripters hoping to deal with getting objects to move in stable, predictable ways like my hover platforms do. It took a lot of research to get them to work as I wanted.

The basic problem has to do with dynamic balance. Think of the classic problem of balancing an upside-down broomstick on your finger. The so-called “inverted pendulum problem”. The good news for scripters is that there are algorithms that solve the inverted pendulum problem. I found and deployed one. The resulting dynamic behavior with the Hoverpark is not perfect and I would argue that that’s largely due to limitations of Sansar’s physics engine right now. I hope Linden Labs is using that experience as a testing environment.

Granddad: The Reflex, Clockwork and Hover Scripts are available on the Sansar Store aren’t they?

Galen: Yes they are.

Granddad: Speaking of Linden Labs, what do you feel are the 3 top features they should add to help programmers/scripters?

Galen: I guess the HTTP request capability will have the greatest impact on what we do. As most people know, there is no long-term persistence available to scripts right now. When the last person leaves a scene and some time has elapsed, the server running it shuts down. This is a brilliant cost-saving measure that also differentiates Sansar from Second Life in several surprising ways. But it presents a nasty challenge for us, too. I think we are all waiting for the most obvious solution to this problem is HTTP requests. That is, we expect our scripts to eventually be able to make requests out to web servers.

This would let us store data on our own custom databases, for example. And have additional computing power outside Sansar. Linden Labs has not announced exactly how or when they plan to enable this or any other external communications. I suspect they are concerned about some of the abuses that happened early on in SL’s history when they enabled scripts to send and receive emails. In general, my sense is that Linden Labs is trying to take their time when introducing new features. By contrast, LL used to introduce features very rapidly and, arguably, without much careful forethought in Second Life’s first 7 years or so.

“Touch” type interactions will have a huge impact as well. But let me expand that to say “hand and mouse interactivity”, more broadly. Right now, the closest thing we have to a touch interface is asking people to walk around. It’s like a primitive mouse. Step on this teleporter pad. Walk left or right to tilt this hover platform.

What we really need is to be able to use a mouse (or laser pointer in VR mode) to point and click. Ideally, to be able to register mouse/controller movements, too. Imagine if my hover platforms could be steered just by waving your hand or moving your mouse around. Combine that with precision pointer clicking (“touch”) and you can create complex UI panels.

One thing I want to advocate for, that Linden Labs may balk at, is text-on-a-surface. Linden Labs never really implemented this in Second Life properly, so people had to come up with torturous, clever solutions. Sadly, one of the biggest problems is that they don’t scale well to multiple languages. Ideally, Linden Labs would implement Unicode text as a form of dynamic texture. Including basic text formatting (font sizes, italics) and hyperlinks.

Let me add at this point that Sansar’s scripting capability is amazing in many ways. I don’t want to sound negative by just mentioning new features. One thing that blows my mind is how fast scripts can run.

Granddad: I think most of us programmers are glad to have your willingness to make available what you have programmed and also your willingness to help in the forums and Discord. Any last advice to the Programmers?

Galen: I guess the first is to approach it with a positive attitude. I’ve noticed there are quite a few people who complain loudly about the things Sansar doesn’t have yet. Not that asking for things is a bad idea, of course, but when you conclude that Sansar is doomed to failure because of those limitations, you’re bound to give up trying to create anything. I get frustrated by Sansar’s limitation, of course, and I put in my feature requests and bug reports. I try to make sure they are down-to-Earth achievable, too. But most importantly, I prefer to look at what we have available right now and say to myself: what cool things could I do with this now?

Honestly, that’s the main reason I’ve been so focused on dynamics in the short time I’ve been in Sansar. I don’t have a lifelong passion for it. It’s just that the combination of rapid script execution and a basic ability to move stuff around led me down that path. In a way, I’m grateful for some of the limitations. If I could do all the basic things I think Sansar’s script API should offer, I would probably be focused more on business systems and less on fun dynamics projects.

Another piece of advice for scripters is: reach out to other creators. Make friends. Offer all you can to help them. Honestly, most of us are stuck in our hidey-holes creating stuff on our own. This isn’t always good. One sad outcome is that people seem to be flexing their own skills brilliantly and not really collaborating enough with one another. Collaboration should be one of our rallying cries for the rest of 2017. Linden Labs should rush to support and encourage it.

Granddad: Great advice. One last question, If we came to your house for dinner, what would you prepare for us?

Galen: Man. Save the hard questions for last, will ya? Just going on what I have in my kitchen now, I’d probably make fresh tacos from scratch. First thing that comes to mind.

Granddad: Sounds good. We will be right over. I will bring the Cervezas.

Galen: Awesome.

 

Advertisements

Sansar Creator Interview: Tina Fayet

I first met Tina Fayet at an in-world casual meetup on August 9th. She stood out because she was wearing a pair of steampunk wings which she had created herself using the Oculus Medium 3D sculpting tool in her VR headset.

Wings Created in Oculus Medium 2 9 August 2017

Wings Created in Oculus Medium 9 August 2017

I asked Tina recently if she would consent to an interview via email and she said yes.

Can you tell me a little bit about yourself and your background, and how did you get started making and selling objects for virtual worlds?  

The first time I ever created anything for a virtual world would be when I made a multiplayer map for the Duke Nukem 3D game. It came out for the PC in a nice little bundle package with a level editor. I was 11.
I took a brief design studies course in high school (1 semester), and a 3-month drafting course at a local technical school. I gravitated towards 3D drafting and was able to get work designing mostly oilfield equipment but I also have experience designing everything from boats, vacuum trucks, swimming pools, electrical panels, renovation plans. Pretty much anything under the sun that needed to be fabricated. And most recently I’ve gotten into designing clothing and Sci-fi stuff for Sansar.

When I first met you, you were wearing a pair of steampunk wings you had created using Oculus Medium. Can you tell me more about that project, what your workflow was like, and what do you think about Oculus Medium as a tool for content creation?

I honestly can’t give enough credit to Oculus Medium for being a very easy way of getting artistic 3D models from my mind into Sansar. As I’ve said, a lot of my professional experience is doing drafting and engineering plans, renovations, stuff that requires straight edges and calculations. I always had a problem bridging the gap between my 2D hand drawings skills and my 3D design knowledge.

Tina Fayet's Skull CapeTina Fayet Skull Cape 2

Caption: Tina’s skull cape (photos posted by Tina to Facebook)

Where do you draw your inspiration for making virtual objects?  For example, what was your inspiration and what was the process you followed in creating your wonderful skull cape?

When creating something in Oculus Medium it’s very much like sketching; you start with an idea and it kind of just evolves from there. I set out to make a necklace, I started with something going around the neck. I added some shoulder pads, shaved a little off here, added a little bit of clay there. What would it look like if I put some skulls right here, oh that’s exactly what it would look like! It’s a very fluid experience.

What advice would you give to beginning content creators in Sansar?

I’m not a good person to get advice from when it comes to designing content for Sansar. I could say that being part of a team would be way easier than having to take all of this on yourself, especially if you’re going to be working scripting into your content.

 

 

Sansar Creator Interview: Maxwell Graf

Maxwell Graf Neptune's Revenge 2 Sansar Screenshot 5 August 2017This is a picture of Sansar creator Maxwell Graf, on the deck of his storm-tossed ship in the experience Neptune’s Revenge. Max, who is well known in Second Life for his brand Rustica, has had a rather unique perspective on Sansar: he was among the very first people invited into the closed beta by Linden Lab!

Max was kind enough to consent to an interview via chat (which I have edited somewhat for clarity and space reasons).

Could you give a bit of an introduction to yourself and how you got involved in creating content for virtual worlds? In other words, how did you get started?

I got started in VR from 2 directions, and kind of ended up with the 2 paths crossing when I found SL. I was working with a company doing 3D rapid prototyping for the product design concepts I was doing for them, so [I was] researching 3D and real life intersections. I was also playing a lot of solid hours worth of Guild Wars, but kept being more interested in the design than not dying. I kept thinking I wanted to design the environments and content.

Again, finding SL was a real blessing because it was exactly the answer to both of those needs. In very short order, I was starting my own content company designing the products I wanted to design, mostly fantasy-based ideas. I made a huge castle on the mainland in SL in 2006. That was Rustica castle, and it was also the city of LagnMoor within the outer wall. Those two names have appeared, again, in Sansar. Rustica is my brand in SL. (Ryan’s note: SL Marketplace link, in-world store)

What other virtual worlds have you created content for? Yesterday you mentioned both Blue Mars and Cloud Party. I remember you from both.

Yes, I spent about a year in each of those places before they shuttered (RIP AltspaceVR, by the way). I have also been over in SineSpace for about a year. I tried High Fidelity, but quickly left after my personal information “may have accidentally been compromised,” but that was only one reason among several. I did dabble a little with some of the other virtual properties out there, like there.com, some of the open source grids, and even Habbo Hotel back in the day.

May I ask what the other reasons for leaving High Fidelity were? You don’t have to go into detail if you don’t want to. I’m just curious.

Mostly issues with the open access aspects and open source nature of it. Generally, I am a proponent of open source, but content has to come from somewhere and sometimes it comes from places it shouldn’t and is used the wrong way. I saw a lot of IP and copyright issues that concerned the hell out of me, basically. Not sure if that’s an issue any longer, but it was enough for me.

OK got it. Next question. When and how did you get involved with the Sansar closed beta program? How did you hear about it and when did you start?

I heard about it through SL when they announced it a few years ago, and have been following along closely. To be open [and] candid about it, I wrote personal letters and made phone calls for about literally 17 months or so, usually waiting for about a month or two between attempts, to get invited or onboard. I was the annoying SL designer who would not stop knocking on the door. I signed up in September of last year, so [it’s been] almost a whole year. When I got in, it was build 1 and we are at 10 or 11 I think.

When you first started in September 2016, what was Sansar like? What sorts of challenges did you face at the very beginning?

It was a dark and scary place. “….and the earth was without form, and void and darkness did encompass the ends of the earth.”

When I got in, there were people who had accounts before I got here, I could see some comments on the forum, but when I started spending time in here there were really only two other people I ever saw in here doing anything for a while, Loz Hyde and Paul LaPointe, both of whom I knew well from SL. Like animals in a strange land, we herded together for a couple months and there was literally no one else in the world. It was very cool, but also like, why are there not lots of people here making things?

So you were surprised that in the beginning there were so few of you in the closed beta.

It surprised me then the same way it is surprising a lot of people now I think, which is to say that it was a lot earlier in development than I thought. I did not expect it to be alpha, really at all. I was thinking more like it would be where we will be in a year. I think it was great though because it gave me a chance, once I started to think about what was here, to really sort of do a lot of things that even [Linden] Lab had not had the time or people to do yet. To find all the sides of the box, so to speak. To push the limits and break as many things as we could. Like, really basic things like “I wonder how big a texture can be?” or “How far can this land go.” A lot of what I consider the real meat and potatoes of beta testing. Find the holes, find the flaws.

So it was very much a process of test, change one thing, and re-test, and change another thing, and re-test…..

I used my mountain range and trees as a sort of standard method; I use the same resources now that I use in all the worlds I tested, because it was not only a touchstone of familiarity, I knew the assets already and worked with them, but it gave me a measuring stick for Sansar to compare to how those assets worked in other places. I could see how things were here in a very distinct and easy to grasp way.

Can you talk in more detail about your Rustica build and how that tested the limits of Sansar at that time? I remember you saying that it took a LONG time to upload that landscape as one big mesh.

Well, the size of it being 4,096 metres square (which is a massive chunk of land, 16 of the 256-metre Second Life regions per side), but just one big mesh terrain with one big set of materials on it. They [Linden Lab] had not really done that, and for good reason, but I wanted to see what would grind things to a halt. What happens if I plant 1,000 trees? 10,000?

Yes, it took like 3.5 hours [to upload the Rustica landscape]. Optimized, that same content now takes under 10 minutes. A lot of things happened. For one, we found better ways of doing things. Optimizing, etc. I mean, once you get to a certain size, it just slows down. It was not about crashing the system so much as just making it take forever because of something like the variation in terrain height, messing with the physics. We would work directly with the devs to try and define why that was problematic and find a better way to do it.

From a performance aspect, they have really made a very solid foundation for what they can now add on top of it. Even under extreme duress, the existing application and system architecture runs really solid – it’s a very robust piece of software they have created to begin with. This first week of open beta is a good example of that: the system still has not had a crash. With the exception of a few bugs, the opening went off without a hiccup, which is a testament to how solid the engine is.

So when did you publish your very first experience, do you have a date you remember?

I published something the first day I think, because the first thing you want to do is not be alone there and have (in this case, Loz and Paul) other people come over so we could talk about it. “Hey, come look this this damn thing, maybe we can figure out why it does not work.” We spent a lot of time diagnosing each other’s sickness. I mean, we would try to get Jason or someone from the lab if we could, but any snippet of how to make something work was shared religiously. That was part of what’s great about closed betas, you bond and help each other out, its like you’ve beenthroughh it together.

I think the biggest thing that has impressed me was just overall how robust the product has been. They really made a super solid foundation for this platform.

Hopefully, part of what this has been about for me is knowing that I will be able, someday, to look back on this time fondly, as I sit in my rocking chair at the Shady Renders’ Rest Simulator for Old Avatars and yell at the noobs to get off the landing pad.

LOL! That might come sooner than you like!

I think there is a different method for things here, it’s not necessarily more complex, just different. People will have to learn how to get things right here, but it will be easier for them as time goes [on]. It really is more like [how] the rest of the world outside SL builds things, and that will be a transition for everyone, but harder for some than others. It’s just a process.

SL is such a part of my life, for over ten years now, but I always regretted not being able to be in it from the beginning. I was and am very happy to be able to take part in the beginning of Sansar. It has been a real privilege. When they announced the contest, I was able to come up with the idea to take several of my scenes and – with a modicum of changes – connect them together to form a storyline. Starting with Lagnmoor, to Neptunes’ Revenge, to Rune, to AntFarm, to Respite – you go on a journey from one to the next. Each uses some new features in it, like video water, fire, 360-degree video sky, etc. I want people to know that there are clues at each one, to find the teleport to the next, starting from Lagnmoor. (Ryan’s note: I very highly recommend that you visit all five of Max’s Sansar experiences listed here!  Try to find the route that leads from one to the next, it’s great fun!)

I just love your Neptune’s Revenge experience. I made it one of my Picks of the Day. How did you do it?

The actually dynamic aspect of the scripting [is] to make the sphere move. It’s not just a video playing inside a sphere, it is also scripted so the sphere moves along a path, so the ship feels like it’s moving when it’s perfectly still.

So you were actually able to get the video sphere you are projecting on to move?

Yes, that’s the rocking motion. Up/down/forward/back along a path. But it works the same to your mind as if you were moving on the ship. I’m really just waiting for some fixes for the video, like the overall quality of playback and and the dead pause between loops.

Well, Max, this has been a great conversation. I don’t think I have any other questions. You’ve given me some GREAT quotes to use! Is there anything that you want to add to what we’ve already talked about?

Just to stress again to everyone…SL is fine and Sansar is still really in alpha. All the things we want that have not been released are on the road map and will be part of it, but if you focus on what is here so far, you can see it’s a really solid start to what will hopefully be an awesome platform. I think it has a long road ahead of it, but if this is how they have started, then I can’t see it really failing. It certainly is not going to poof into vapour like Blue Mars and Cloud Party did. What it does end up becoming is not anything I can guess. I want to make games!

 

Sansar Creator Interview: Agustine

Agustine's Horse Carousel in Ryan's Garden 2 Sansar 26 July 2017

Tucked away in a corner of the Ryan’s Garden experience in Sansar is my favourite Sansar creation to date: a rotating musical horse carousel.  You have to wander a little bit into the forest to find it (hint: listen for the sound of the calliope).  The creator, a Sansar user by the name of Agustine, has been a literal one-man object-making army since he was invited into the Sansar closed beta in December 2016 (the same time I started). He has no less than 250 items he created in the Sansar Store already, anything and everything from a medieval style guillotine to a shiny red disco dance floor!   (Here’s a listing sorted by price, with the many freebies he offers listed first.  Grab a kickable football or beach ball!)

One of the many regular features I plan for the Sansar Newsblog is a creator interview series, where I ask questions of the many creators who have already been attracted to Linden Lab’s new virtual world.  And the first interview in this series is with my friend Agustine.  (A second interview with Maxwell Graf will be published tomorrow sometime.)

Can you tell me a little bit about yourself and your background, and how did you get started making and selling objects for virtual worlds?

Howdy Ryan, I’m currently 47 years of age and can tell you that my first dabbling of art started at age 7, doing simple 2-dimensional real life still art. It was not until college years when I really found a big interest in computers and 3D graphics, but I was majoring humanities so I switched to a major in Microcomputer Graphics Applications. At that same time, I got into game modding with UnrealEngine and I created a basic western-themed game named “LawDogs Mod”. I am impressed today that people still download that old game, and I feel perhaps maybe should make a sequel.

It was not until about 2005 when a German artist friend of mine told me about Second Life. He kept insisting that I try it, but I thought it was kinda absurd living a fantasy life online. After several tries, my friend finally won and he got me hooked into virtual worlds. Now that Sansar is here, I continue that same path of 3D content creation for the community and I can’t believe how far I’ve come along doing this.

I understand that you are building a Western themed experience in Sansar. Can you tell me more about that project, and what challenges have you faced making it?

Capture2

Though I have a few experiences in the plans, my main one is a western themed experience that I am slowly developing on my own. At this early beta stage of Sansar it’s been very difficult to fully take advantage of common features to give the experience the life it needs, things such as smoothly animated props, animated water, and interactive props are few of those challenges, but considering the progress the team at Sansar has made, the future is looking bright for this project. (Ryan’s note: Agustine’s Western experience is not yet published in the Sansar Atlas, and therefore not yet accessible to the public.  The pictures you see here were given to me by Agustine.)

Capture

Where do you draw your inspiration for making virtual objects? For example, what was your inspiration and what was the process you followed in creating your wonderful horse carousel?

Old western history and art and spaghetti western movie classics have been the primary motivation and inspiration which drive to most of the 3D artwork I do, but I also have a great interest in gothic and Victorian art for its elegant beauty.

My horse carousel project all started about February when a few people were requesting one. At first, I really didn’t find the motivation to make one until I got a few more requests. By then, I took the liberty to research classic old time horse carousels and started sketching, jotting, and brainstorming how I wanted mine. However, there was one challenge that I could not solve and that was the horse itself. Organic modelling such as humans and animals is not my speciality, so it took some time till I finally found a candidate to fill that void. It still needs a very smooth keyframe animation, but I know that feature soon will be added to Sansar. Also, sometime down the road avatars in Sansar will be able to ride on that carousel, which will make the experience extremely dynamic.

(Ryan’s note: I cannot wait for better keyframe animations to come!  My carousel definitely has a little hiccup in its current rotation script LOL!)

What advice would you give to beginning content creators in Sansar?

To those of you finding great interest in 3D art creation, do your homework and take your time and do basic, easy steps in learning 3D/2D graphics. If you’re on a budget and cannot afford premium software, try taking advantage of the very well-received community-made graphics design software out there. (Ryan’s note: for example, Blender and Gimp.) Don’t be afraid to ask the more experienced users on the Sansar forum for tips, assistance and help. That’s why we are here.. until then friends, Happy Atlas surfing!