I’m having some internal conflicts at the moment regarding if I should start to sell my products again or not. There is a gray line that I don’t want to cross, now that my real life company is within the virtual environment of Second Life. The other problems is that I wasn’t doing so great selling things anyhow. The last I saw, I was making roughly 75 dollars a month at best. At one time, I was making around 500 US$ a month.
There are many excuses that I have come up with as to why sales have gone down over the past few years. I’m starting to focus on one that brings up diversity. The thinking goes like this. I had so many products, that I couldn’t concentrate on the quality of one. Therefore, competition is able to easily surpass the features and quality that I offer. If I just focus on one thing alone, then I could have a fighting chance in a niche market. In addition, it wouldn’t be as hard to determine how to advertise my product since I would only be advertising one thing alone.
In the past, my products often targeted people who owned land so that they could take the product out of inventory. I am starting to think a bit different. In the past, I had thought the only alternative was clothing. However, there are also services. Subscribe-o-matic is one such service. Although the individual users do not pay for it, the owner of the product pays a service fee if there are more than 500 people who subscribe.
The idea of automated services is what I am starting to look into. Free to use by the majority of people, but paid for by the individual owners who control the content. There is an additional part to this equation though. I want to leave it open to expand outside of Second Life. Perhaps OpenSim, and then maybe websites too. The first part would be an in-world server to hand out inventory as prizes, and the individual items that you find. This is your basic inventory server (think of XStreetSL, JEVN, Apez.biz, etc.). The difference is that instead of handing out inventory for money, it hands out inventory as a reward for finding things. I designed one a few years ago for the Relay for Life of Second Life. People were able to find a collection of records that had 10 second sound clips of songs done by in-world musicians. Amazingly enough, I had 18 songs from musicians that agreed to be a part of it. Once people found all the records, they got a trophy.
With the idea of a new system that was HTTP based, I used Gliffy to create a diagram of how it all works.
Flowchart Digram of Prize Box made using Gliffy
The main thing that I’m thinking of here also is that this shouldn’t have anything to do with my employer. There is a scavenger hunt in place on the island, but I did not design it, it is not like the system I have designed for RFL or the one I am working on. I am hoping to have a system that is very easy for novice users to just rez it and forget it.
In addition, I have setup a virtual PC with LAMP using Ubuntu to start testing against before putting out money for a hosted solution. It should cut down on costs during development, and perhaps even speed it up.
Half of me is still not certain if I should keep going. Is the business plan sound? Do I even have a business plan? Would people buy into this? The other half is just begging to do something with what little spare time I have regardless if everyone hates it.
When an image is uploaded, it is compressed to cut down on the overall file size. This helps to download images quicker for people who need to see that image on a prim. The problem that I have with this is that I do not have control over this compression for large images. As more compression is applied, the image losses more of its quality.
For smaller images, I am provided with a check box labeled, “Lossy”. I am either losing a lot of quality, or none at all. This check box for smaller images was made available after people complained about the lack quality of uploaded images being used for sculpties. Sculpties are prims that have their mesh defined by an image. Accuracy becomes a very high priority with sculptured images. Since sculpty images are essentially images of data, the original data is mutated through this compression.
Smaller images are fine now, but larger ones still have problems. “Lossy Compression“, as it is called, is originally meant to be able to allow you to reduce the file size of an image, but still retain the same quality of the original. Often a graphic artist will adjust this by eye until they can start to notice changes. Since the process is automated, I have no control over this.
Most large images are fine for this compression because they are photographs or contain gradients. These work best with Lossy Compression. However, when an image contains text or data, Lossy Compression becomes a nightmare. Imagine if you saved a text document of your thesis for school, uploaded it, and found that the schools website compressed it so that the words were changed into synonyms that didn’t make sense in the context given, or missing a letter here or there just to save space.
The reason behind my problems is just that. I tried in the past to automate uploading large image with RSS data. My attempt was to put 9 pictures on this image and clip the texture to show only 1 picture at a time, thus cutting down on the file size needed to download 9 individual images, and reduced download time swapping between each image. I had everything done. A bot was setup to pull the most recent articles from an RSS feed, compose them into an image, and upload them. The problem came with the quality of the images themselves after being uploaded. The text was very hard to read, and appeared as if it hadn’t finished downloading yet.
Original Animated Preview
This brings me to my problem from this weekend. I tried to make a progress bar consisting of 100 images within one large image. Rather than have the end-user download 100 individual images as a task progressed, I would show one portion of a larger image. It was a tedious process to create each individual frame to represent the progress. In the end, I had converted it to a GIF animation to verify everything had looked fine before uploading the grid of images. I saved my image as a bitmap file, so that their would be no question on my end that I may have performed some compression before uploading. Even the image preview looked fine. When I went to use the image in-world, I could not make out any of the text in the image. I did wait until the “Loading…” text disappeared in the texture under the texture tab.
I found that when I saved the image back to my hard drive, the image then appeared crisp in second life, and the image on my local hard disc was similar to the original. I could still make out little bits of differences due to compression. This is starting to lead me to believe that the Second Life servers are storing something close to the original images, but choosing to send a highly compressed image instead. This becomes a problem, because people are not going to be looking at my prims, and then saving a copy of the image displayed to their local hard drive in order to see it clearly.
When I first started writing about this, I thought it would be great if we could choose the amount of compression that is applied to our uploaded images. However, it seems that compression may be done on the fly in the back, each time an image is requested. I’m scratching my head over this one. I simply wanted to be able to display a nice graphical progress bar, but the constraints are getting in the way. Why does the Second Life viewer state that a texture is done loading, when it is not? Is it still downloading? Why is the quality so horrible until you save it to your local hard drive?
I no longer have land to build upon, so I started looking for sandboxes. These are places that invite people to build all they want. Unfortunately, they are often plagued by griefers. I went to a non-Linden owned sandbox, hoping to avoid the chance of running into one. It wasn’t long before spyros Emolite started to give me some problems. He started by saying hello in another language, and then started a small conversation asking what I was doing. He immediately asked to go behind a “blue thing” so that he and I would be alone, not to be scared, and he will be soft. I asked “Please go away”. Shockingly, he agreed, notified me that I would loose something very big, and actually left! Wierd. posted by Dedric Mauriac on RezzMe using a blogHUD : [blogHUD permalink]
In this episode, I discuss the evolution of copying objects within the virtual world of Second Life, possible solutions to the problem, as well as thoughts on why past actions have not worked.
I am a contestant tonight for the first question. At the moment, we are all arriving early to get everyone setup before the big show. posted by Dedric Mauriac on Spindrift using a blogHUD : [blogHUD permalink]
Today I was interviewed by Radar Masukami. I had originally thought the interview was going to be specifically with my real life company, in which my manager and I were determining who of us, or if both of us would be interviewed together. The interview turned out to cover a lot about my experience in many different avenues of Second Life, outside of my company. It turned out to be an interesting conversation, but I was consistently plagued with a dry throat, and talking wasn’t helping. After editing, hopefully it will all sound okay.
I’ve started to work on creating a game of life in a virtual environment based off on John Conway’s Game of Life. The game itself is based on a simple set of rules and demonstrates some really amazing behavior based on the initial patterns to start it off.
The first phase that I am going through is to work out how to use the least amount of resources. The game of life runs best on large binary grids when watching animations of gliders as well as large oscillators. I could probably get away with using 1 prim to represent 40 cells using some of the techniques that I used for my old tic-tac-toe game. In short, I can use a prism to display 5 different faces. Each of those faces can show a portion of a texture representing 8 cells. Multiply 5 by 8 and you get 40. I can probably start of with a 10×16 grid (4 prims), but make it dynamically expandable in some way.
With the Tic-Tac-Toe game, there are 27 possible of combinations on a 3 celled grid displaying 3 different states (x, o, empty). You could probably call it a trinary numbering system. I used a lot of randomization to keep looking for possible ways to layout a texture. It took a fair amount of time for the computer to come up with something.
For this project, I had 256 possible combinations with an 8 celled grid of on/off. There are more combinations to look for, and using a horizontal texture map seemed a bit out of the question, as it was a bit complex just to do 27 for the tic-tac-toe game. Instead, I started looking at other options. I decided to go with a two dimensional texture map. I could simply layout all possible combinations on a 928(16 groups)x16 grid. With 14, 848 cells, this would be too large to manage. I decided to write a program that could detect patterns within a smaller grid going forward, backward, up, and down. This would give me a better way to layout the image. In addition, the program is able to detect patterns through wrapping. That means, the last column may have the first bit, and then the first 7 columns on the same row contain the rest of the byte. This further gives the advantage of condensing the total number of rows and columns needed on the grid.
Another problem that I was starting to run into was time. I am a problem that was so complex, that I couldn’t create an answer on my own, and making random guesses had the potential of not finding an answer in my life time. I started to look into the ideas behind evolution itself. Evolution has some basic fundamentals such as mating, sensing fitness, and mutations. There is far more behind it, but these were the ideas that I pulled out and applied to programming. I made a simple program that had the following mating ritual.
Loop through each organism and pick two additional organisms.
The least fit organism dies and is replaced by the offspring of the other two.
Repeat.
Fitness was based on the number of unique patterns found within the organisms “DNA”. The DNA was an array of bits that represented if a cell in a grid was on or off. The offspring’s DNA was a combination of both of the parents. If one parent had a specific DNA as “on” and another as “off”, I randomly choose between the two. Once the hereditary portion was determined, I then applied mutations on 10% of the DNA and flipped them.
Just to mess with the gene pool, I decided to just kill off 1% of the organism’s, and replace them with fresh organisms with all new randomized DNA to simulate a change in population.
The end results were always different. Sometimes, the answer came immediately. Other times, the answer took a lot longer. One thing that I found helpful was the number of organisms available. A very large pool of organisms was usually able to solve the answer more quickly.
In the end, I now have a 16×16 grid (256 cells) of binary values that represent 256 possible values. This is 98.8% smaller than literally writing out each cell. I have tried to work with smaller grid’s, but they haven’t worked out to all 256 possible values just yet. I would have considered myself lucky if I could get one with an 8×8 grid. There is a possibility that I could get it smaller if I work with diagonal rows as well.
I’m sure that I got a lot of theory’s wrong, and there is probably a better way of finding an answer to this problem. Who knows? However, this was the way that I found the answer on my own. I just find it interesting that evolution is helping me to create the components to create the game of life.
If you have computer problems, can’t get an application to work over the internet, or you are plagued by viruses, cross out my name and look for the next person to take advantage of.
I wasn’t able to attend ThinkBalm’s (an innovation community) fourth Un-Lecture last Friday, but my manager was able to give a short presentation to those who could attend. A video has been posted giving a summary of the event. ThinkBalm invited us as well as a few others to give a 10 minute presentation about what we are doing in virtual environments and how we use them for work.
I finished my entry for the 100 word stories podcast weekly challenge this week. You have until Friday if you would also like to submit an entry. This week, the podcast has been taken over by pirates! If you are wondering why, it is because when the entries come out this Saturday (September 19) it will be International Talk Like A Pirate Day.
Making Pirate Ships
I had to do a bit of homework trying to learn how to talk like a pirate. Just by coincidence, I had just played through The Secret of Monkey IslandSpecial Edition on my XBox 360 this past weekend. I hadn’t played that since the EGA version on my IBM PS/1 back in the early 90′s and often daydreamed about playing the VGA version. I remembered the silly stump joke in the original game and wondered about the forest in the special edition hunting for it. I gave up and later found that they removed that from later versions of the game. I still remember calling tech support for those missing floppies to the catacombs. However, I did get disk 5 for the roland sound drivers.
Anyhow, here is my entry.
A ship over the helm bin spyed flying the queens flag.
The cap’n bin orderin I an’ me harties to board the ship.
I bin plunderin the seven seas all me life.
Never did I see a dog be small fer the number o sharp-tongued wenches aboard.
A boxom wench twice shivered me timbers before days end.
Harr, the treasures bin good to me and me mates.
Me harties bin looting the cargo of sugar and spices.
Jim Lad pried one open.
Arrr.
A large chest with no booty.
Tis no one wanted fer tem selves but the capn’s squire.
I saw Torley post a few videos (iNudge demo and Fake stutter edit) on YouTube regarding a music program called inudge. I decided to try it out for myself and have some fun. It’s a bit simple. They say you can make songs, but in reality, it gets a bit repetitive. It would be much more interesting if it could change chords between each repition for a bit of variety.
I started wandering around and found that the makers (Hobnox) actually have a more detailed version called Audio Tool. Looking at a YouTube video tutorial for Audio Tool, I had thought it was probably a pretty expensive desktop application. Much to my surprise, it turned out to be a flash-based web application that is free to use. Just like inudge, it also has a tone matrix in addition to tools that look like electronics.
When I went to record the audio, it limited me to five minutes. I didn’t see a reason to record more than 15 seconds worth since the audio simply repeats itself. The next step, (to save the audio), requires you to login. It is free to create an account. It then asks for a name and description fo the song before it uploads. It failed to upload for me from the Audio Tool. I tried a couple times, and even started from scratch to try and save again. It appears that I have a 2 GB file storage limit, and that I can upload music, video, and pictures from my computer as well for anyone to view on my personalized page.
I started using drawing tools with AutoCad 13 and 3D studio release 4. They were available at the labs at the Art Institute of Pittsburgh, but not for students to work at home. The price was phenominal as well. The alternative was pretty much TrueSpace since it was affordable – which was cool because it worked on Windows. Later, 3D studio also came out for Windows. I’ve always known about Calgari’s TrueSpace and had used it in the past. 3D modeling had long faded from being a hobby over the years after my hard drive was ruined from a trip where my mom transported my computer in the open rain for a few hours. Although I’ve started doing a lot of work in 3D with Second Life, it doesn’t provide anywhere near the power of most stand-alone 3D modeling tools.
Much to my surprise, I discovered that TrueSpace is free. I thought it was maybe an older version that was free, to promote a newer one. Reading the news, they stated that yes, TrueSpace has been free since July of 2008. Where was I all this time? In addition … Microsoft (of all companies) has acquired Calgari (the company that published TrueSpace). In addtion, my little space navigator is supported in TrueSpace with a separate driver download. So now I’m downloading TrueSpace for my 3D modeling hobbies that isn’t as complex as blender or as expensive as 3DS Max or Maya. Still, I need to relearn everything I forgot.
So the big questions are:
Why did Microsoft purchase this company/software?
Will the product still be in development and get new features?
Will Microsoft eventually charge for newer versions?
Is Microsoft considering using the truePlay/trueServe to setup a virtual world? (Maybe something to do with virtual/deep earth?)
I just finished my entry for the 100 word stories weekly challenge #177, peas in a pod. Each week, everyone is invited to compose a story of only 100 words for a given topic. The winner gets to choose the topic for the next week. I find it fun and interesting because the audio aspect of it (optional) gives me a bit of creativity with sound effects and such. This week, I used Microsoft Songsmith for my background music. I think I finally found a use for that software that isn’t so corny. In addition, I put on my Foley artist hat and added a lot of sound effects using Audacity to really give it some life. I’m a bit tempted to make a small machinima to go with it as well.
Here is my entry:
The professor guided his android daughter, Sally, into the cloning machine. He closed the door and turned it on. The machine started making loud noises until it came to a complete stop. Sally stepped out of the machine. Than, Sally stepped out of it again. The two girls were like peas in a pod. He couldn’t tell one from the other. The two girls looked at each other, and then looked at the professor. They giggled and then pushed him into the machine and ran it in reverse. The professor came out, only half the man he used to be.
I can’t wait to hear what the others have entered.
There are many aspects to virtual environments. Some are purely for entertainment, such as World of Warcraft™ (Wow), but others are mixed with real business (just like the real world outside your door). Second Life is no different. Pooky lays it out that she has too many business propositions to work on. Watch the video, and spread it around. You can even buy Pooky & The Tune Bugs merchandise if you want.
My monorail project is commong along fine. Although OpenSIM is having some pretty constraining limitations regarding both vehicle scripts and region crossing, I’m still able to move ahead on some alternative methods of working with physics. Rather than relying on methods that assist in developing vehicles, I am able to use scripts for simple phsyics to work with force, acceleration, torque, mass, gravity, etc.
My latest development is to use functions related to trigonometry to plot a path around the center of 16 regions for a circle that has a 760 meter diameter. This permits me to identify exactly where I am in relation to the predefined path, and how far I have deviated off my path in unfortunate circumstances.
The physics comes in with me automating a vehicle to travel on the path. Here is a small video of my latest experiments.
I took a trip to best buy to go window shopping. From my estimates, I only needed a 40 GB hard drive to run Vista. I don’t usually buy hard drives at brick-and-morter stores, but I decided to poke my head in and see what was available. Besides, the condition of my current computer left me bored out of my mind.
I was shocked to see low prices and high capacity. I found a 320 GB hard drive for $69.99. It has eight times the capacity I was looking for at only half the price I was expecting from a walk-in. I found two other drives with the same capacity and manufacturer at significantly higher prices. The only difference I could see was that one was slower, and one was faster than the cheapest one. Still, I would have preferred to find a smaller hard drive as the current one that is in the computer will probably become my data drive. This becomes a bit more useful with changing cache folders and scratch disks for browsers, photoshop, and perhaps Second Life itself.
So tonight, I’ll be occupied in reinstalling my OS, and then installing programs! I’ll be hunting for my software keys, disks, and deauthorizing software on my current configuration. The checklist is building, but here is a quick inventory:
At the moment, my computer is having a melt down. Essentially, my computer has somehow gotten corrupted.
Visual Studio.Net 2008 asks me to reinstall because the compiler can’t be created.
VS.Net reinstallation fails due to unremovable read-only attribute on Config.Msi folder
Windows Audio Service (and many others) will not start – Not enough storage is available to complete this operation (I only have 270 GB free on my HD and using 1.89 GB of 4 GB ram
Can’t uninstall programs – windows installer corrupted?
So yea … I’m trying to backup anything I can think of, deactivate software, make a list of whats installed, etc. I’ll probably end up running to the store for a new hard drive next week on pay day to swap out disks and reinstall the os. I don’t like reformatting hard disks, as I don’t have anything to roll back to or use for reference. I usually forget to do a few things anyway. Until then, no voice, no sound, no fun, bleh!
The good news is that a while back, I moved the OpenSIM service to another computer. Everyone there is safe from my demise.
You are currently browsing the Virtually Speaking blog archives for September, 2009.
Summary
Lewis Moten has been creating various interactive objects within the virtual world since November 28, 2005. He is often known as Dedric Mauriac of Dedric Mauriac’s Gadget Shop. Lewis will often post updates about his progress on his blog on a daily basis.
In the real world, Lewis has held positions filling the role as a software architect, graphic illustrator, technical writer, software analyst, technical lead, and database administrator over the course of his professional career. He is capable of wearing multiple hats and leading others to provide efficient and high quality software solutions. His technical expertise is reflected through is creations in the virtual environment.