Posts tagged as:

theosdk

Stratego, an interactive agency based in Jakarta, used our TheoAvatar SDK to build its online game called Ruma Maida:Ruma MaidThis game promotes the movie with the same name that was just released in Indonesia’s cinemas. The game’s story is loosely based on the movie, though comes up with different ending and point of view. Both stories in the game and movie came from the same message, that every building has history. We should understand that building’s history before we build/destroy that building.

This is just another example of how our isometric engine can be utilized to build interactive online games.

We recently released new version of our SDK called TheoWorlds Builder v2. It supports even more features, including terrain elevation, 8-direction charact movement, support of large maps and more. For additional information check our website.

{ 0 comments }

Half a year ago Wereld Natuur Fonds (Netherlands) purchased a copy of Theo SDK & TheoAvatar SDK bundle. They used it to build their own virtual world called Ranger Club.

Using our isometric engine to “jump start” their project, they built new features on top of it like extended avatar customization, custom rooms, virtual store and more. WNF Ranger Club looks pretty impressive with original maps and graphics – a great way to visit cold places without experiencing the low temperatures.

Thanks to Margaret Massop for the information on this project.

Ever wanted to build your own online world? Try our TheoAvatar SDK – a tool that helps you build multi-user 3D chats like TheoAvatar in Flash. It comes with Map Editor, source code and documentation. It runs on both ElectroServer and SmartFoxServer. Purchase it today and start digging into the exiting world of Massively Multiplayer Online games (MMO)!

{ 0 comments }

There is a small update for our TheoAvatarSDK users. It fixes the bug related to the interface (not to the isometric engine itself). The Room List was acting weird in some rare situations, and would sometimes switch users to an empty room. It has been fixed. All you have to do is to locate the “roomList” movieclip on the scene or in the library (It’s the one containing the ListBox with the room names) and then replace a couple of lines (or just the whole code, if it’s easier for you):

Here is the new code.

Special thanks to Drew Bennett from BYOB Simulation, who pointed this bug out to us. Drew is working on a very interesting business simulating portal using our TheoAvatarSDK. We plan to review it sometime soon.

If you want to find more about TheoAvatarSDK – visit http://www.theoworlds.com/theoavatarsdk.html

{ 0 comments }


MindOrchard team used our product – TheoAvatarSDK – to create the amazing Lego City Builder. It lets you create your own city maps and export them to jpegs.

Thanks to Arran D’Aubigny for the link.

Ever wanted to build your own online world? Try our TheoAvatar SDK – a tool that helps you build multi-user 3D chats like TheoAvatar in Flash. It comes with Map Editor, source code and documentation. It runs on both ElectroServer and SmartFoxServer. Purchase it today and start digging into the exiting world of Massively Multiplayer Online games (MMO)!

{ 0 comments }

Yesterday Jobe Makar (Electrotank) told me that they just announced ElectoServer 4 – the newest update of their popular socket server. The release is scheduled for September 2007. You can check the details here: http://www.electro-server.com/es4.aspx.

For those who don’t know, ElectroServer is a multiuser server geared toward Massively Multiplayer Online games (MMO) made in Flash.

It’s been a while since the release of ES3, and their main competitor – SmartFoxServer - looks to be ahead of he game. But the guys from Electrotank didn’t just sit on their hands: the new release is the result of a year of hard work.

The announcement page features a multiplayer tank battle game with bots and real users playing in real time. It looks very good, especially taking in consideration that Jobe put it together in ten hours, just a day before this announcement.

The list of new features is impressive. Video and audio streaming is something completely new. Check their homepage – http://www.electro-server.com/ – for an example of video streaming. ES4 is claimed to be tested on 200,000 concurrent players.

I contacted Mike Grundvig – one of the owners and the engineers behind the ES, who works remotely from Kansas City (Electrotank is based in North Carolina). He took his time and answered my question. Below is a compilation of this interview:

Dis: This “200000 gamers” test, can you tell me more about it?
Mike: That was a huge amount of work. We actually had to create a rather sophisticated set of load generating tools that we could run on multiple machines. ES4 supports two modes currently, a “stand-alone” mode and a “distributed” mode. Standalone is just like ES3 or our competitors. The server runs in a single VM on a single machine. Distributed mode uses multiple servers broken down into two types: a registry and many gateways. The registry manages and maintains state, while the gateways handle user connections. This is a LITTLE bit like the origin-edge approach Flash Media Server supports but not quite.

Dis: So how did you simulate the “200,000 gamers” test?
Mike: We used 10 gateways and 1 registry for the server-side of things. We are so confident in our performance results, we are giving away the source to the load generators and directions on how to use it to test in your own environment when you install the server. The load generation required something like 7 machines in the end. The tests were VERY accurate and realistic. When the server is released, we will release some charts showing the stats. The gateways were dual core blade servers. The registry was a quad-processor, dual core server. Everything running Linux.

Dis: Tell me more about new server API.
Mike: The server API for developing games is similar to the ES3 model, but very different in
implementation. For instance, I’m sure you are familiar with the problem of Flash recieving too many messages inbound per second. This can cause wierd lag-like behavior in the client. To combat this, developers usually have to write code that aggregates and queues messages
dynamically. In ES4, we have a very simple way that your plugin can automatically specify an outbound message to be queued for delivery and the server aggregates for you. The plugin can even specify the queue drain speed and the rest. If a message is named, then the server will only send a single instance of it. In ES4, we have a very simple way that your plugin can automatically specify an outbound message to be queued for delivery and the server aggregates for you. The plugin can even specify the queue drain speed and the rest. We always keep the message size as small as possible. The speed at which the queue drains is up to the game developer but can be changed on the fly and it is plugin specific. ES4 supports two basic protocols to keep message size down. A highly condensed text-based protocol and a tiny binary protocol for AS3 clients. Of course, we also have enough RTMP support in there for audio/video too.

Another cool feature you might be interested in, is the fact that we support strongly-typed objects spanning languages now. So clients written in java can send native data to an actonscipt plugin and vise-versa. We have this ability interspersed all throughout the server so that public/private messages, room/user variables, etc. can contain a payload of typed data. The data is sent over the wire in a neutral format but we convert it to the appropriate data type
on the recipient side. So a “long” sent from a java plugin becomes a “number” on the AS2 client.

Also, we built the server intending to support multiple languages easily and now we just need to add some.

There are lots of other kick-$$$ abilities in the server too ;) . For instance, we are now a fully web-based administration. It’s rock solid and supports everything. Like we support the ability to upload extensions (groups of plugins/event handlers) via the web. So you create an extension, zip it up and you can upload it to the server from the admin and deploy it. Also extensions support hot reloading. We will have a big article on the exact behavior of reloading. I think people will understand what we are talking about when they see it.

Another huge plus: we now have multiple language filters/flooding filters and they can be
specified uniquely per room, and users can be in many rooms/zones at once. For instance, you have a MMO game where people need to be able to check with each other while running around the world.

There is a lot more under the covers and we are documenting it as fast as we can.

Mike also revealed that they will be launching a new redesigned website, so it looks like ElectroServer is up for some big breakthrough.

In light of this announcement it makes sense to mention their competitors – SmartFoxServer. Interestingly, the SFS is behind the major hit Club Penguin, while ES is powering Webkinz. Those two major MMO are going head to head, and the later one may even have the lead, according to compete.com – read our last blog port about it. This makes this competition even more interesting.

I contacted Marco Lapi from SFS team, asking about their latest plans, and got this reply:

“The next release will concentrate on firewall proxies, we’re releasing a new SFS module that will extend connectivity to all those clients who can’t establish a direct socket connection. This is probably the request that has been asked more frequently, so it was about time to focus on the issue. We have evaluated various “canonical” solutions but none of them offered a good-enough performance when compared to a speedy socket connection. Finally we seem to have solved the problem.

We’re currently in beta and results are really promising. A public beta should follow during September.”

So, with both major players announcing new releases in September, it looks like it’s going to be a busy month for MMO developers!

Ever wanted to build your own online world? Try our TheoAvatar SDK – a tool that helps you build multi-user 3D chats like TheoAvatar in Flash. It comes with Map Editor, source code and documentation. It runs on both ElectroServer and SmartFoxServer. Purchase it today and start digging into the exiting world of Massively Multiplayer Online games (MMO)!

{ 0 comments }

In order to run TheoAvatar 1.2.2 on SmartFoxServer, you will need to use 1.4.x version or older, which is available for download here:

http://www.theoworlds.com/avatar/socketserver/SFSPRO_win_1.2.5.exe

Note that if you purchase SmartFoxServer 1.5.x license, it will also work for 1.4.x, as it’s independent from server version.

Thanks to Marco Lapi (www.smartfoxserver.com) for providing this info.

{ 2 comments }

Our artists at TheoWorlds.com just finished creating a new set of characters for TheoAvatar chat – they can walk, sit and even dance. Each character’s animation is made from 32 frames with multiple matching layers of clothes. It took about 400 images to assemble each character.

In case you are planning to create your own The Office Space game or the next Habbo-like online community, here are some tips from our animators on drawing avatar characters in isometric view:

  • If you are trying to draw realistic human avatars with high level of details, you’ll need to use references. There are two options here: 3D and photography. If you choose 3D, the easiest way is to use characters libraries from Poser. If you are more comfortable with photography, you can just capture your co-workers on the camera. Just make sure they know about it. We used the latest approach as it was more fun. Doing it in 3D would, probably, be faster.
    After you resize down these reference pictures, you can draw on top of them, adjusting the details on the pixel level.
  • Use minimum number of frames to represent each animation. Try to keep your total files size small and also reduce the amount of work. To keep it as smooth as possible, make the differences between frames smaller. For example, if you draw the walking animation – try smaller steps and less arm swing.
  • Animate the characters in Flash early. Don’t rely on animated GIFs. Moving the characters around in Flash will help you test the animation early on. You can do corrections while it’s not too late. It also helps you find the optimal animation speed.
  • Draw symmetrical characters so you can “mirror” their animations of opposite directions. For example, our characters are moving in 8 directions, 3 of them being just “mirrored”.
  • Less is more. If you are using multiple layers of clothes (for customizing the look) you will have to animate each of them to match the character’s animation. So more character animations you have – more clothes animation to create. It grows almost exponentially, so stand the temptation of creating a lot of “cool moves”.

For inspiration, check devianART gallery on pixel art isometric characters:
http://browse.deviantart.com/digitalart/pixelart/characters/iso/?order=9&alltime=yes


{ 0 comments }

A lot of questions on our Flash isometric engine (http://www.theoworlds.com/tie.html) are about performance. The most common one is: how many characters can we have on one map, without a significant slowdown. We did put together a simple performance demo:

http://www.theoworlds.com/avatar/performance/performance_demo.html

It’s a large map with 20 characters moving simultaneously and using collision detection. As you can see, it runs just fine.

This test doesn’t do any network synchronization (which is used in mutiplayer games and chats). It just tests the Flash rendering/calculation speed. In out TheoAvatar chat we limit the number of users per room to 10. It’s not because of synchronization issues, but because having overcrowded chat rooms makes it very difficult to communicate. It’s better to have multiple smaller rooms.

If you want to create your own Flash games and chats using our engine, check the information on TheoSDK and TheoAvatar SDK pages.

{ 2 comments }