I'm at loss in everything!!!
To explain, the few things I'm about to go over are the only real problems I have at the moment(atm) and they are the only things holding me back from accomplishing what I want to do.
Firstly, I'm at a loss at 3d in general, both in flash (away3d engine) and in a c/c++ 3d graphics engine called Irrlicht. I just get so lost when it comes to side engines to the actual programming language they are made in.
I don't know (idk) why but I always have a hard time dealing with side engines because it makes me feel like I'm using the language I'm using all the time in a totally different way and that I'm using a totally different language at the same time. So you people can feel my situation with that. I feel the same way with Irrlicht only I don't really use c/c++ actually, not once have I attempted c/c++ without using Irrlicht at the same time.
Secondly I am having trouble with some online flash making too. I have the entire online part down and I use my own xmlSocket server scripted with about 150 lines of javascript. I already got online parts to it down and am doing quite fine. Only I have reached the impass that every online application maker hates. SPEED!
I can't figure how to overcome it, but when I try to send over compressed encoded strings of objects over the server at a reasonably fast fps when there is more than 4 clients sending at the that rate simultaneously, it just slows down everyone. All the clients other than the player himself stop receiving data at the speed desired and have long delays.
My sending and receiving method in depth
Ok I will go over the method of which I send and receive the data currently
First I have the values prepared nice within the game (x, y, rotation, etc.). And then I make an object and give it an array in which I add all the above values and others.
From there I write the object to a bytearray and compress it. Then I use Base64 to encode the bytearray to a string. Then I send the string over with the server, the string is about 75 to 120 characters long, IDK.
And when I receive the text on the other end I decode the string to a bytearray again, I decompress it, and then I create a new object from the object read off the byte array.
After that I just simply check a few things within the array that was placed on the object by another client with some ifs. Such as finding out which username it belongs to, if its an update to a player, if a player just joined, etc. And then if everything checks out with say it was an update to a player, it sets all the values (such as x, y, rotation) to the child with the name of the players username that is provided in the array