Archive for December, 2005

A life of a life

Thursday, December 29th, 2005

So there has been so much going on in Second Life. I try to blog, but this game is taking over my Real Life. When it is time to sleep, I’m too tired to do much else, or I would play more. It seems as if my blog is becoming a Second Life blog. I wonder how long it will last.

Anyhow, I’m really addicted to scripting things in the world. Zeno Concord has an artificial life project going on called “alife”. At least, that is the name of all of his objects. The object is that you click on an object that is appealing to you. It spawns an egg and fertilizes it. The egg hatches into a similar object with some changes. Its fun to see how this little project of his has progressed. I met him through Twisted Tardis and Lynuor Richelieu.

Twisted Tardis is of my neighbors in Dagger. I met him while he was building some planets high above the clouds in the sky. It’s amazing to look at them at night. He can go on for a while just talking about the different things that he is working on them with. Down at ground level, Lynuor Richelieu was doing some landscaping for him.

I have a place of my own setup as a laboratory. The place is getting situated, but could use a few more things. I have a room to watch movies, a planetarium to watch my neighbors planets at night, and a regeneration chamber. Since My character is a bit on the sci-fi side, I needed some really cool gadget to make for sleeping.

Lynuor is a really cool woman. At the moment, she lets me build things on her parcel. I’m working on an interactive particle system with Zeno there. I’m also building some fish for her Japanese garden that react to physics. Every now and then her and I will go out to try different pose balls for her landscaping projects. You need to have two people in order to try out the couples pose balls. We found a whole string of them and made up an ongoing story about what was going on as we tried out different ones.

Alika Bertone is another member of Dagger. I was looking around at other houses and she came down and spotted me. I hung out at her place and watched a ton of music videos for a few hours with her. We would joke about what we saw and how crazy the 80’s were. Back then, anything would make it as a music video.

One person I find amazing is Cyndane Desmoulins. She owns a home in the sky that is wonderful. The roof opens up and the shades on almost every side lift up to give you a view of the clouds just below her house. She has an eye for catchy outfits and she has a ton of them. We’ll go on and talk for an hour or two just about anything while she continuously changes and shows off her wardrobe. She has also shown me some really good places to shop for skins and clothing for myself.

If you are interested in seeing what it is all about, head on over to the Second Life website and sign yourself up for a free account. You can build, explore, meet, get a job, join some groups, shop, sell items and so much more. The world is yours to do as you please.

Wagging the Fish’s Tale

Thursday, December 29th, 2005

I’ve gotten pretty good at scripting in Second Life. I’ve gotten through the basics for lists, primitives, moving objects and the such. Now I got an odd problem. I’m trying to wag a fish tail. I thought I had figured out how to do it. It looked like it was wagging just fine. The problem came when the fish rotated along its Z axis. As soon as that happened, the X axis changed and the tail rotated 90 degrees and wagged up and down.

Sooner or later, this fish will need to be able to rotate on all three axis (X, Y, Z) and still have its tail wag normally. I will just have to go back to the drawing board and work this one out. This Euler and radian stuff really has me confused with determining how to interact with the local and global axis. All I want to do is wag 20 degrees left and right. Is that so hard to do? Even a gold fish can do it.

Monitor Burnout

Tuesday, December 27th, 2005

I was in another office with my coworker today and I noticed a smell. I asked her if she smelled electric. She smelled something, but didn’t think it was electric. Her laptop had been run over by a car and the screen looked like a piece of modern art. She had a regular CRT monitor hooked up to it so she could still use it. I suggested that she should keep a close eye on it and use caution.

From there I went to my cube and sat at the desk. I had a black screen and figured the screen saver had kicked on and that the monitor went out due to my energy saving features. It even had its amber “standing by” LED turned on. This is common as I’m usually away from my desk for hours at a time. Only this time, the screen wouldn’t come on.

I jerked the mouse, typed a few keys and even hit the infamous CTRL+ALT+DEL combination of keys. Nothing. I decided to just hit the power button to turn it off and turn it back on. Snap! A very bright white horizontal line was burning across my screen as smoke came out of the back of the monitor. After some quick reflexes, the monitor was turned back off and all cables were pulled out of my battery backup system.

The system administrator was on vacation so the configuration management guy and myself took care of things and left a nice note.

This monitor literally blew up. This is was Lewis’s monitor.

So for the rest of the day, I had been working on everyone else’s computers with them getting my work done. As I said before, I’m usually not in my office. It gave an interesting task for one of the new people to work with me as I walked through my tasks.

A Community Directory

Saturday, December 24th, 2005

Yes, it is another day in Second Life. I have been working on my little project with detecting land owners. My detection has become stable enough that I’ve started to work on a neat little utility for it. This “hub” is a directory of all land owners. here is a list of features I would like it to have:

  • Navigate forward/backward through list of land owners
  • Display percent of land owned
  • Display owner ratings (behavior, appearance, building)
  • Status if owner is online.
  • Teleport to owners parcel.
  • Send IM to owner
  • Allow land owners to submit image to represent there avatar and land.
  • See when owner was first detected.
  • See how long owner has had an account with SL.

A few of these probably will not make it into the game. I’ve resorted to using pie charts for the ratings and land ownership in my mock-up. Hover-text is helpful, but I do not want to use it everywhere. I may end up having a button to just say the additional information if the end-user wants to hear it.

If it becomes popular, perhaps many Sims will have there own community directories.

Earlier in the day I was having problems making a concave cylinder. I’ve seen other objects in the world where the sides bend in the middle as a curve. Lynuor Richelieu came to the rescue and taught me how to make them. It turns out that you actually start out with a Torus. This is pretty much a shape that looks like a donut. You hollow it out and then cut the outside of it off. This way, you are left with just the center. These concave cylinders make for nice stands.

Detecting land owners

Friday, December 23rd, 2005

I got to work on my detection scripts today in Second Life. Last night, I had problems where it would estimate a run time of twelve minutes and thirty seconds. The script actually ended up taking over forty minutes. The only explanation that I could come up with was that there must be a bottle neck in my code.

I focused on the number of times I keep looping through my lists of items. This was being done every time I tried to see if an owner was previously found. I looked at a few of the methods available on the Second Life Scripting Wiki. I found a method called llListFindList. This internal function goes through the list much quicker and returns the position of the item that I’m looking for. As soon as I implemented this method, my script completed in 12 minutes and 53 seconds. Being off by 23 seconds is still a little problem, but I’m not as worried about it.

I changed a few things about the object. For one, the progress is displayed every 1 second, rather then every 10 percent. This helps with those long running queries. Also, I made the progress hover over top of the object rather then have the object talk. Who needs chat logs for that kind of stuff any way?

I tried looking into saving note cards for each region that I scan, but I didn’t run into any luck. I found that I can read note cards, but I can’t create or modify them. It also appears that I may be able to email the reports to an avatar rather then have the object talk out loud.

I need to do a few extra things such as only permitting the owner to start the detection process, checking to see if the region has changed, and stop the timers if the object is rezzed or enters a new state. Most of the work left is just cleaning up after myself and trying to handle any situation that may come up.

Second Life Land Owner Detector

I should be able to package this object on its own and sell it. I’m debating on selling different versions for how accurate you want to get with the detection. The standard being 10 square meters will run in one and a half minutes. A five square meter version will run in about five minutes. Three square meters runs in almost thirteen minutes. I would sell a detection script within one square meter, but that takes an hour and fifty minutes to run the scripts. I don’t want Second Life to be pegged with executions. How accurate do you really need to get? I’m still looking for ways to make this script run faster.

Detecting every 10 square meters is accurate enough to get a list of all land owners. 3 square meters will get you a list of land owners with a very close estimate of how much land they own in that region. After putting on the final touches, my next little project will be to make an online status indicator for all the land owners in the area. I’ve got some ideas to keep the prim count down.

I’ve noticed that we have lost two land owners (Thoth Mason and Pelagia Sieyes) since yesterday, so the kiosk will need to be able to update itself once or twice a day with the current list of owners. Perhaps it can send the owner of the kiosk a message when ownership of land on the Sim changes. That way we can invite and remove landowners from our landowners association group.

(Unresolved Name) – 3231 sq. m. (5%)
Governor Linden – 10701 sq. m. (17%)
Corben McGann – 558 sq. m. (1%)
Brigit Flasheart – 495 sq. m. (1%)
Spiritual Warrior – 12618 sq. m. (19%)
R0B0 Overlord – 495 sq. m. (1%)
Andreas Naumova – 522 sq. m. (1%)
Dinger Hartnell – 495 sq. m. (1%)
Aldaris Asturias – 495 sq. m. (1%)
jaz Dassin – 594 sq. m. (1%)
(Unresolved Name) – 2475 sq. m. (4%)
Deme Tuppakaka – 594 sq. m. (1%)
Cilae Trescothick – 594 sq. m. (1%)
Nids Ornitz – 540 sq. m. (1%)
Odile Liberty – 441 sq. m. (1%)
Vectron Unknown – 450 sq. m. (1%)
Persephone Menoptra – 990 sq. m. (2%)
Gabriel Montagne – 495 sq. m. (1%)
Berg Churchill – 567 sq. m. (1%)
Kody Bergson – 450 sq. m. (1%)
Maximillian Faust – 495 sq. m. (1%)
(Unresolved Name) – 9 sq. m. (1%)
Aspen Normandy – 495 sq. m. (1%)
Sammi Normandy – 495 sq. m. (1%)
Earnest Candour – 594 sq. m. (1%)
(Unresolved Name) – 594 sq. m. (1%)
Lampiasis Maginot – 495 sq. m. (1%)
(Unresolved Name) – 2178 sq. m. (4%)
Charlotte Menoptra – 531 sq. m. (1%)
markop Trenchmouth – 495 sq. m. (1%)
Maximillian Prudhomme – 1575 sq. m. (3%)
JaneSmith Gumshoe – 450 sq. m. (1%)
Chardonnay Mathys – 1089 sq. m. (2%)
Edmond Gavaskar – 495 sq. m. (1%)
Clark Liberty – 495 sq. m. (1%)
Arrai Lobo – 495 sq. m. (1%)
Melody Strauss – 495 sq. m. (1%)
Star Lewis – 540 sq. m. (1%)
(Unresolved Name) – 594 sq. m. (1%)
Ansuru Axon – 495 sq. m. (1%)
Aura Diamond – 450 sq. m. (1%)
Kate Mommsen – 495 sq. m. (1%)
Adrien Kuhr – 540 sq. m. (1%)
Sarah Davison – 450 sq. m. (1%)
Storm Reymont – 540 sq. m. (1%)
(Unresolved Name) – 450 sq. m. (1%)
(Unresolved Name) – 1062 sq. m. (2%)
Dedric Mauriac – 495 sq. m. (1%)
margera Bunin – 495 sq. m. (1%)
Foxknight Graff – 594 sq. m. (1%)
Brooke Boccara – 540 sq. m. (1%)
Dexter Overlord – 495 sq. m. (1%)
Pym Sartre – 495 sq. m. (1%)
Alika Bertone – 495 sq. m. (1%)
(Unresolved Name) – 594 sq. m. (1%)
Eblis Black – 495 sq. m. (1%)
Noir Maelstrom – 495 sq. m. (1%)
Cyndane Desmoulins – 495 sq. m. (1%)
Twisted Tardis – 2178 sq. m. (4%)
Ema Bessie – 495 sq. m. (1%)
Colleen Desmoulins – 495 sq. m. (1%)
Thaumata Strangelove – 594 sq. m. (1%)
KoL Maeterlinck – 594 sq. m. (1%)
Fenix Frua – 495 sq. m. (1%)
(Unresolved Name) – 540 sq. m. (1%)
Moriarty Augustus – 594 sq. m. (1%)

Scripting a name for myself

Friday, December 23rd, 2005

Second Life is still overtaking my first life. I started to build a lava lamp the other night at my lounge in the sky and showed it to one of my friends. She invited me to her shop and showed me 4 lamps that she had made. It just really put my lamp to shame. Hers were really to spec with the size, shape and color. Her textures were far better. On top of this, she was quite successful in selling them at 100 L$ each.

From that point own, I started building my own lava lamp. I looked at a few sites for reference and created a few textures. With just 4 primitive objects, I was able to put something together that looked very classy. I went through my entire library looking at free textures to use. I even found a sound of bubbles underwater that gives a nice mood to the lamp.

I started getting into scripting pretty heavy. I learned how to make one primitive within the group of objects talk to the others. From there, I was able to turn the light on and off when the end-user touched it. I also got the user-interface to change it’s text to say “Turn On” and “Turn Off”. When the light is off, the gradient fallout disappears, some of the faces toggle there full bright property, and the texture animation stops. When the light is turned back on, everything returns to the original state. The only difference is that the texture for the “lava” changes to the next image in the contents of the lamp.

I went ahead and started playing around even more with listeners. I have a special channel setup so that you can tell the light to change “moods” (textures), turn on/off, toggle the fallout, and list all available textures.

I bragged to my friend the next night about my little creation and she admitted that it put her lights to shame. We are talking about forming a group so that she can earn a commission selling my lamp with hers. Mine would go for a higher price since it is scripted. I’m estimating 250 L$.

Dedric poses in front of his Lava Lamps

She is also interested in using my scripting skills on group projects. Builders go hand-in-hand with scripters. My building skills are very limited. From the work that I have seen of hers, we could do some pretty cool things together along with another friend of ours (Twisted).

Today, Twisted and I formed a group for our sim (Dagger) called Dagger Landowners Association. The purpose is to get people together and get some kind of collaborative theme going. When simulators do this, it attracts more traffic to the region in general and builds a sense of community. One idea was to just have everyone make sidewalks connecting to each others property.

Twisted had an idea to build a script so that as he flew over parcels in the region, the script would build a list of names. I took on the challenge and started getting to work. I learned much about using timers, the data server, and lists (much like arrays). In the end, I found the following people owned some land in Dagger without having to fly over them:

Searching for land owners in Dagger every 3 sq. m.
Estimated time: 0 hours, 12 minutes, 26 seconds.
11% of land scanned.
22% of land scanned.
32% of land scanned.
43% of land scanned.
53% of land scanned.
64% of land scanned.
75% of land scanned.
85% of land scanned.
96% of land scanned.
Found 68 unique owners found within Dagger
10 owner names being ressolved.
(Unresolved Name) – 3231 sq. m. (5%)
Governor Linden – 10701 sq. m. (17%)
Corben McGann – 558 sq. m. (1%)
Brigit Flasheart – 495 sq. m. (1%)
Spiritual Warrior – 12618 sq. m. (19%)
R0B0 Overlord – 495 sq. m. (1%)
Andreas Naumova – 522 sq. m. (1%)
Dinger Hartnell – 495 sq. m. (1%)
Aldaris Asturias – 495 sq. m. (1%)
jaz Dassin – 594 sq. m. (1%)
(Unresolved Name) – 2025 sq. m. (4%)
Deme Tuppakaka – 594 sq. m. (1%)
Cilae Trescothick – 594 sq. m. (1%)
Nids Ornitz – 540 sq. m. (1%)
Odile Liberty – 441 sq. m. (1%)
Vectron Unknown – 450 sq. m. (1%)
Persephone Menoptra – 540 sq. m. (1%)
Thoth Mason – 450 sq. m. (1%)
Gabriel Montagne – 495 sq. m. (1%)
Berg Churchill – 567 sq. m. (1%)
Kody Bergson – 450 sq. m. (1%)
Maximillian Faust – 495 sq. m. (1%)
(Unresolved Name) – 9 sq. m. (1%)
Aspen Normandy – 495 sq. m. (1%)
Sammi Normandy – 495 sq. m. (1%)
Earnest Candour – 594 sq. m. (1%)
(Unresolved Name) – 594 sq. m. (1%)
Lampiasis Maginot – 495 sq. m. (1%)
(Unresolved Name) – 2178 sq. m. (4%)
Charlotte Menoptra – 531 sq. m. (1%)
markop Trenchmouth – 495 sq. m. (1%)
Pelagia Sieyes – 450 sq. m. (1%)
Maximillian Prudhomme – 1575 sq. m. (3%)
JaneSmith Gumshoe – 450 sq. m. (1%)
Chardonnay Mathys – 1089 sq. m. (2%)
Edmond Gavaskar – 495 sq. m. (1%)
Clark Liberty – 495 sq. m. (1%)
Arrai Lobo – 495 sq. m. (1%)
Melody Strauss – 495 sq. m. (1%)
Star Lewis – 540 sq. m. (1%)
(Unresolved Name) – 594 sq. m. (1%)
Ansuru Axon – 495 sq. m. (1%)
Aura Diamond – 450 sq. m. (1%)
Kate Mommsen – 495 sq. m. (1%)
Adrien Kuhr – 540 sq. m. (1%)
Sarah Davison – 450 sq. m. (1%)
Storm Reymont – 540 sq. m. (1%)
(Unresolved Name) – 450 sq. m. (1%)
(Unresolved Name) – 1062 sq. m. (2%)
Dedric Mauriac – 495 sq. m. (1%)
margera Bunin – 495 sq. m. (1%)
Foxknight Graff – 594 sq. m. (1%)
Brooke Boccara – 540 sq. m. (1%)
Dexter Overlord – 495 sq. m. (1%)
Pym Sartre – 495 sq. m. (1%)
Alika Bertone – 495 sq. m. (1%)
(Unresolved Name) – 594 sq. m. (1%)
Eblis Black – 495 sq. m. (1%)
Noir Maelstrom – 495 sq. m. (1%)
Cyndane Desmoulins – 495 sq. m. (1%)
Twisted Tardis – 2178 sq. m. (4%)
Ema Bessie – 495 sq. m. (1%)
Colleen Desmoulins – 495 sq. m. (1%)
Thaumata Strangelove – 594 sq. m. (1%)
KoL Maeterlinck – 594 sq. m. (1%)
Fenix Frua – 495 sq. m. (1%)
(Unresolved Name) – 540 sq. m. (1%)
Moriarty Augustus – 594 sq. m. (1%)

There are only 10 people that I can’t find the names for. I’ll have to look up the region of these folks and find out what the land properties say when I’m there. The numbers next to each name are the estimated number of square meters that the person owns. Since I’m searching every 3 meters, it thinks that I own 495 sq. m. when in fact, I own 512. Being off by 18 sq. m. doesn’t seem to be too bad for an estimate. There is also percentage next to it stating how much of the region they own. The details would get more accurate as I lower the number of square meters to scan.

The estimated time is way off. Rather then taking the estimated 12 minutes, this script took 40 minutes to complete. I need to take a look at what is causing the script to take about a half hour more then I expected. The script originally took a very long time to execute when jumping every 10 sq. m. It was such a long time to execute that I had to start breaking things up with timers. Many of my asynchronous events with the data server were not even being caught before I started using the timer events. This also helps to avoid lag on the sim.

People are starting to get impressed. I’ve got a load of ideas to expand this script, such as creating an online status board of the regions land owners.

Holiday parties

Tuesday, December 20th, 2005

I feel like I just went through 3 holiday parties last week – or was it the week before where I work. Yesterday and today there were two more. I skipped the one yesterday as it was a holiday pot-luck and gift exchange. I didn’t bring a dish or a gift to give away. Instead, I had chinese at the food court within the hotel across the street.

Today, our group was treated out to lunch at the Bistro inside the Marriott hotel. It was a nice gathering and there was much to talk about. Topics ranged from the XBox 360, Star Wars, Harry Potter, spots on dishes, Christmas preparation, Sony’s Virus’s, cold fries, and the list goes on.

The day was dragging on as we did our work. We had a problem that didn’t make sense before lunch. After coming back, I tried something just for giggles and it worked. I’m still a little confused as to why it is working. As long as it works, we can go on to the next problem. My manager says that sometimes you need a break just so that you can get a fresh point of view when you get back. There is nothing more important then Lunch. The work will still be there when you get back.

Hardware Smartware

Monday, December 19th, 2005

Playing 3D games brings to my attention that my video card is seriously lacking. My computer is pegged to do most of the work and my frames per second is really low. I believe that 15 is the bare minimum that they suggest to tweak your settings in the game for. I’m only seeing 5.

My wife seems to be doing better, but she is asking me to buy the best video card that money can buy for her. I don’t think she realizes that these cards can get into the thousands. She is in the same situation as I am. We both have come down with the low frame count sickness. I have an AGP 4x slot on my motherboard and a few PCI slots. I have yet to find out what she has. I could upgrade my motherboard to support the 8X or have PCI-E, but her motherboard seems to be custom made. My worry is that she only has a few of the old PCI slots.

The first step would be to identify what exactly we have in regards to slots on the motherboard and existing video cards.

On top of this, my hard drive is overloaded. The thing appears to be defraging itself 24/7. This worries me because it might wear itself out through overuse. I would reformat the thing, but I have too many things that need to be backed up. I’m considering buying a new master hard drive and setting the old one up to be setup as a slave.

That brings up a weird concern. Why do they call them master and slave drives? It just seems so negative to have that weasel its way into the technical field. Why not call them parent/child drives? Maybe it’s all political.

Free Online Games Review

Sunday, December 18th, 2005

I’ve just been addicted to these free games recently. I can’t get my eyes away from them. The latest ones are Project Entropia and Second Life. Both are free to download the clients and play within a 3D universe with thousands of other players.

Project Entropia was neat for a while because it was the only one I was aware of. The problem with it is that they are really heavy on trying to get your money – even though it is free. The game is set up so that you are at a disadvantage. Your weapons and armor constantly degrade and you have to keep repairing them. You never make a profit from any of your killing runs, so eventually you run out of money. Once you don’t have any cash in the game, you can’t do anything except chat with the locals or go “sweating”.

Sweating is the process of extracting sweat from creatures. You usually end up dieing a lot. The price of sweat depends on how much other players will pay for it. It is so low that it will take a long time before you can upgrade your weapons again to go out and hunt. If you don’t have the patience, then you go ahead and buy in-game money with real money. This is where Project Entropia seems to make its money.

Some people joke about Project Entropia being free. It is a very expensive game in my own opinion. They advertise that you can make real money by cashing out your in-game money. This seems to attract most newcomers. People give up after a while when they realize how hard it is just to sustain there own character without investing in it.

Second Life is a bit different. I was having lots of fun without money. In fact, they give free accounts a small weekly allowance. You can build things rite away and sell them to others. You are not limited to what you can build. It is up to your own imagination. You can also script things to react to other players such as playing sounds, spinning around, giving them free items, or just about anything.

So what is the catch? You can only acquire land if you have a paid account. The more additional land you want to own, the higher the monthly rate. Just like project Entropia, you can also purchase and sell in-game money as well for real cash. Paid accounts increase your weekly allowance by ten times. It is also possible to pay for your monthly fees with in-game money – so the game could still actually be free if you are good at selling things.

In Second Life, you don’t kill things. Actually, I am wrong. Some people have built games within the game. One is called Dark Life and you can kill enemies there. It also seems that there are more mature people in it. I don’t run into many young adults. This probably has to do with the fact that it isn’t a game of killing things.

Some people have come to Second Life from a paid game called The Sims Online (TSO). This is similar to Second Life in the ability to build things, but TSO was very limited. You had to pay for every small thing such as building a section of a wall. You could only choose from a small list of what kind of look you wanted to put on your walls. You were limited in the ways you could make money. On top of that, only a maximum of 16 people could visit any one place at once.

Closing a door

Wednesday, December 14th, 2005

I’ve been building a home for myself within Second Life. I choose to go with a castle theme since most people in my area (Dagger) seem to be doing the same. My neighbor had a nice drawbridge and gave me a copy. It was a sample object made by the Lindens themselves.

The thing was huge, ugly, and didn’t animate well. I went to work on finding my own sounds for each event and working out the details to make it animate more smoothly. I thought it would be simple. It wasn’t. My own bridge wanted to rotate on its center axis. When I created and linked an object on the edge of it, it rotated from the bottom. Smoothing out the number of steps was a bit complicated. I learned about some methods (llGetRot, llEuler2Rot, llSetRot) that I’m still not sure about. There was a lot of trial and error. In the end, I now have a working drawbridge.

Angel and I spent a good time trying to find sounds so that the door would close with a nice creaking sound followed by a low thud. We ended up using two separate sounds and joining them together in Audacity. Second Life complained that the sound could not be longer then 10 seconds. We had some fun adjusting the speed and pitch.

On a side note, Angel and I are happily playing Second Life together without getting booted from the system. It looks like the network adjustments that I made last night were exactly what we needed. I danced with her for an hour and then went to go on building. I returned the extra hub today and got my money back.