I took the demo for the game engine Irrlicht and added multiplayer to it in two days.
I have to say again that Irrlicht is a great engine. Very easy to use, very well documented. I had to go to the source a few times but it was nothing major.
I took the demo for the game engine Irrlicht and added multiplayer to it in two days.
I have to say again that Irrlicht is a great engine. Very easy to use, very well documented. I had to go to the source a few times but it was nothing major.
I was thinking lately what a good market middleware is
And thinking to take that to the next step, with a game engine. I’ve noticed that game engines get many times the attention of individual libraries, much more so than the sum of their components. Imagine a game engine where each component is a specialized best-of-class library. RakNet times 7, the other 6 being graphics, physics, audio, AI, UI, and tools. If I knew 6 other developers or small companies that had the same quality as RakNet, at a similar price, it would be a great venture to join forces and make an engine as the integrated sum of those libraries. Such an engine would dominate the market immediately in terms of quality, because no existing monolithic engine, no matter how good, could beat a specialized company that focuses on that a single aspect. If you were to take all these specialized companies together then, all other engines would be fail because none of them could compete in any area.
It’s sort of like how you can take any default Windows application and find a better substitute on the net. It’s not that Microsoft did a bad job, but that their focus was on an operating system. Specialized companies turn around, find a niche market for that application, and beat Microsoft because that is their core focus. If you’re not going to do a way better job then there’s no point in entering the market.
If these libraries could be integrated seamlessly, with the full feature set for each library exposed, it would like astounding.
I’m revisiting Irrlicht to add multiplayer to one of their demos. It’s a fantastically easy to use engine that is well-written and well-documented. A few years ago I didn’t use it for Galactic Melee because of lack of tool integration support. Hopefully it’s better on that now, although Ogre didn’t turn out to be that well-integrated into tools either in hindsight.
I’ve been working with the owner of a new engine lately. It’s an interesting scenario: He paid a programmer to write an engine for him apparently on a contract basis. The programmer did so and went on his way. Then he then hired some artists to make content. That was done. He is now trying to sell the engine, and I took a look at it to see about integrating RakNet.
A concise summary is “Promising but won’t save you time”. Promising in that there are many libraries to do many different things, and with a few script calls you can get a lot done. Won’t save you time in that it is undocumented, complex, heavily specialized for a particular type of game, and uses macros and cast-from-void-pointer hacks to avoid having to write interfaces.
I read a similar complaint in the forums
User: “How do we do this?”
Owner: “Look at the source”
User: “The library is closed source. It is impossible to do anything”
Owner: “It is possible, you just have to figure it out.”
The reason for that is the owner is not a programmer, and doesn’t want to pay a programmer for general forum support.
So I brought this to his attention
Me: “If you want to succeed, you need to document your stuff. I can’t figure out how to do anything. Other people who buy it aren’t going to be able to use it, and will be pissed off.”
Owner: “The programmer said experienced users don’t need documentation. They just look at the source.”
Me: “It is closed source. The programmer is saying that because documentation is not fun to write.”
Owner: “I don’t want to pay for documentation. If we’re successful, it’ll have documentation at some point.”
Hopefully things come through for them, but I doubt it will.
I wrote DS_Multilist.h. It’s an unordered list, stack, queue, and ordered list all in one. Since the interface is the same for all 4, it’s easy to change what type of data structure you are using to tweak performance. Relatively full featured, with a sort function and fast lookups into sorted lists.
Bought a DLink router.
Took me 2 hours to figure out how to connect to it. I had to change my static IP from 192.168.1.100 to 192.168.0.100. If the 3rd octet is not a 1 it won’t connect. Found this out indirectly through the manual, although it wasn’t stated explicitly.
Took me another 2 hours to figure out how to get on the internet. I was never able to get it to automatically find the DNS servers. I had to manually set the DNS server, from back when I had a static IP through the business account. A normal user would have never been able to do this.
I don’t know how they sell these things. I’m returning it tomorrow just on principle.
Says what I’ve been saying all along, and then some.
http://www.youtube.com/watch?v=GB-4yU-8XQ0
With my setup, I typically have all spells as instant cast. This way latency and control over my follower’s movement affects my play less, and I do much better as a result.
Here’s a more advanced script than before, which is about half of the programming required to 5 box. The remainder is the in-game macros.
http://hotkeynet.com/phpBB3/viewtopic.php?f=8&t=739
I’ll post a video of how it works out later.
Currently I am level 66 and running through instances by “myself”
I am getting better at PVP, currently able to win without losses, against equal levels, 3 on “1” about half the time, mostly depending on who attacks first. Part of it is excessive latency and poor framerates. This may be better with more memory, which I have ordered and should arrive today.
I’ll post a video of PVP later as well.