Virtual Goods Update

Neptun is growing. After the basic functions are complete, we started implementing an experimental version of virtual item interactions. Interactions enable simple work flows. Later we will extend these work flows, add more complex work flows and graphics for objects on web pages.

This sounds very theoretic. Lets make an example: you can have a coffee machine. You put the coffee machine from your inventory down to your web site. You can add stuff to the coffee machine, say coffee beans, water and a power source. Then you can tell the coffee machine to make coffee for your friends.
Your visitors can use a cup to take coffee from the machine, which results in ... (I will tell later). You will get the water somewhere on the web from a fountain. The water can also be used to grow plants on your web site. Plants need seeds. Some plants can be harvested for wood. This is just an example.

Virtual goods on the Web will work like in other games. But now they can be everywhere. Not just inside a facebook game. They can be on your homepage, on your community page, your forum, anywhere you go. We will take care, that plants will not overgrow web pages. Hopefully you will help us. And plants are not the end. All you can do INSIDE of games will be possible OUTSIDE on the Web. Not inside an artificial world, but on the real Internet.

And yes: we feel a little bit guilty for programming virtual goods now, before you have avatars. But I admit, that virtual goods are so much fun and we want to research this segment a bit further before we go back to the client and the avatar. Please be patient. In the meantime: the community version of weblin is still running. You can grow the community by offering the download on your Web site.

For programmers: This is how Neptun looks like in Firefox. It is just a list of controls for programmers. Neptun has now 40 test functions (the portal has 69). The large blue text shows links for these tests. Each link execute a single test. The "All Test" link executes all at once. At the top is a link ("Items") to the item list as before and a way to stop the server ("Quit").

Neptun: Virtual Items Server

Avatars will have an inventory of virtual items. They will be able to buy, sell, build, trade and loot virtual items. A server manages all these items and everything you do with items. Over the last 3 weeks we implemented such a component. This is our first version of a virtual item server. It is called "Neptun".

In October and November we implemented a first version of the web portal and a simple form of an inventory. Back then, we simulated our items. Now, they are real.

The inventory is now populated by the item server. In other words: items are alive inside the item server. If you see them on the web portal, then the portal fetches all it needs to display them from the item server. As usual, items are also stored in a database for safety. But in the database they are only passive. In the item server they are active and you can do something with them.

What you can do comes later. For now these items have a place to be seen (the inventory of the portal) and a place to live (the item server). It is actually much better to see virtual items on a web page of the portal, than in the item server. On the portal they have translated text and images.

Developers can also see items in the item server, but this is much more bare bone. So, this is how Neptun looks like. It has a web user interface, but it shows only technical data. There is a list of item numbers and item properties. Not much for the user, but very informative for developers.

For the programmers: Neptun is implemented in C#. We program, debug and test in MS Visual Studio 9. Then, we run the program on Linux with mono.

State of the Avatar

It was quiet during the last 2 months. The main reason is, that we started working permanently in a day job. Since this project has no funding, we can not afford any longer to live without income.

I continue to work in this project in the evenings and on weekends. Clearly, work progresses more slowly. We can not hold any previously announced deadline of the roadmap.

There has also been a shuffle in responsibilities in the project. More about that later.

I just want to tell you, that we did not abandon the project. There will be a new virtual presence system with avatars and virtual goods on all web pages. We are continuing to work. Only the mode and the speed changed, because we have to work for a living.

On the other hand I will blog more in the future. I will tell more frequently what we are developing so, that you kan keep track of the project.

Browser Navigation (FF)

Browser Navigation has been implemented for Firefox. It is a substantial Firefox extension in Javascript and some C++ client code. But we are very happy, that we do not need the hook DLL like weblin.

Internet Explorer has been deferred. We are an open source project, so supporting open source browsers has priotity. IE support will come later.

Christmas and New Year

We planned to work on browser navigation for Firefox and IE over the holidays. Browser navigation means to detect browsers and tabs and feed navigated URLs to the avatar client. In addition the client needs coordinates of browser windows and always up to date visiblity information of tabs. Windows and tabs can do a lot of weird stuff, including being closed and switched at any time and being minimized. Many cases, much work.

Unfortunately, the holidays were full of visiting friends, chill out, party. So, the navigation work did not progress as planned. We will continue tomorrow. Promised.

Happy New Year!

OVW Meeting 5

The next open virtual world meeting will take place next monday @ Bar Knut, Ottensen 18:00 h.

Topics:
  • Current developments
  • Roadmap
  • License
  • Idea exchange
Place: Cafe Bar Knut, Ottensen 22765, Hamburg, Germany
Date: Monday, 21.12.2009, 18:00 MET

Come join us.
It is open for everyone, devs, users, donators, press...

Thoughts on Testing

While programming we write extensive tests. Tests are extra program code, which checks many functions. Basically every piece of code must be tested and be testable all the time. This is the programmers way to make sure, that a complex program works, even if things change over time.

The new client has now more than 100 test functions, each checking a group of functions. The upcoming portal just reached 50. Both are growing quickly with the number of feature blocks in the code. Sometimes we spend complete days writing tests. This sounds much, but it is worth the time, because tests easily spare much time later that would be spent debugging. Writing so much test code is a part of agile development.

Read more about testing on my blog