Advertisement

MMRPG what is the best engine?

Started by April 26, 2002 06:55 PM
13 comments, last by jlowe64 22 years, 9 months ago
wow! It's true that you like to dig into much details, but it brings a lot of value to these message boards. First off, I have to admit that our positions are not that far apart. Even if I lean toward the usage of middleware, I do not intend to give a way all my hard earned profits to a middleware company only because they did make some useful libraries. However, I differ in opinion with some elements of your post:

quote:
(Zona) Not necessarily the most important thing, then again, I don't know how they're doing it.


They are actually using a business-oriented MOM as infrastructure. It's either Tibco or BEA, I can't remember. They tie in this bus with a powerful SQL database and built some game-oriented rules for world management and security policies. It's a nice solution if your expertise is low on the backend side, but priced too high IMHO.

quote:
(RebelArts)Not sure how important this is.


=-) This hand-tuned-for-AMD-processor database is probably the best-of-breed in raw performance numbers. However, they offer little client-side which obviously don't help to produce a better client (and a better experience for our customers). mySQL is less powerful, but its free.

quote:
(Quazal)This can be very important, though I'm not really sure what they truly mean by 'decentralizing' the game state.


Well, since their stuff is less 'definable'... They manage the game state on both the client-side and the server-side. On the client, you're using C++ class intances that represents remote objects as if they were local. Dead reckoning is built in, as well as network emulation. They have what they call adaptors to plug directly into Renderware and Havok, so you don't bother with distributed physics problems and 3D-network integration is a snap. On the server-side, the game state is distributed across as many PC you want and it handles dynamic load balancing among game objects, dynamic resizing of cells, etc. It's weird at first when you're used to socket programming, but it's very intuitive and powerful once you're into it. PS2, Xbox, Windows and Linux.

quote:
(BigWorld)From what I've seen, they may actually have one of the best solutions out there.


They actually have a very nice architecture. They have been working on it for years and I was very impressed with their demonstrations. You just don't feel on a variable latency network anymore. All their components being already integrated, working nicely and technically advanced. If you are developing solely for PC, then I would suggest to give it a try.

quote:
If making sure that the product is perfectly suited to your purposes is most important and maximizing return on investment, building your own product is the best way to go.


Well, there is more to middleware than time-to-market. Depending on the team you have at your disposal, you have a certain amount of risks in your development. Of course this translate into time in the end, but I feel more confident in focusing the energies of my team in areas where the most value can be created. Networking stuff has probably the less perceived value because you don't see it. But you know it's broken when it fails to deliver. If I can spend tthe equivalent of network programmer's time on pixel and vertex shaders for a distinctive look, then the consumer will most likely notice it.

quote:
You can expect to earn about 20-25% profit ratio, so around $20 Million of that will be profit. If you used a middleware product you have to ask yourself whether it was worth $6-8 Million.


I think this is where you are wrong. I take the same numbers: 20-25% profit for $20 million in my pocket. If I used a certain middleware, it costs me 250,000$, fixed price upfront. Not a bad deal. They claim they'll decrease my operating costs, so out of the $50 millions in costs, they take 50% of what I save. If they reduce my costs 20%, I get an extra five million of profits and they get five. In this scenario, the tricky part is to set the realistic profits expectation upfront and to put starting value to evaluate the savings thereafter. The next question is: its realistic to reduce operating costs by as much as 20%? They are probably the best to answer that question...

Down the road, my game compete with yours in 2-3 years, I will have spent most of my time on gameplay and graphics rather than on networking which people don't really care anyway, unless it's broken. Furthermore, I'll be making more profit than you do. My only drawback is to rely on an external codebase, so I have to make sure my supplier will be there for longer than myself.

In general, I agree with your that paying royalty is a pain. Company charging for them are generally venture-backed and have to provide hockey stick sales figures and royalties are the only way. Normally, I stand clear from them, but this time, I found an acceptable compromise between my profits and theirs. If you want badly a product that comes with royalties attached to it, I would recommand, much like you do, putting a cap on them.

(I think I went overboard too... ;-) )

[edited by - sbe08 on May 3, 2002 7:23:39 AM]

[edited by - sbe08 on May 3, 2002 7:25:17 AM]
quote:
Original post by Anonymous Poster
Also don''t forget other successful games such as Halflife, which effectively used the Q2(?) engine license as middleware. But it is very obviously not Quake 2!!!


Actually, Half-Life was based on the Quake 1 engine. Don''t feel bad though because many, many people think it was based on Quake 2. I''ve even heard people say it''s based on the Unreal engine =-)
Advertisement
It sounds like we largely agree on most things. Unfortunately I''m kind of skeptical on some of the claims that the middleware provider that you appear to be dealing with makes.

quote:
If they reduce my costs 20%


I''m guessing that you''re using the networking one. Unfortunately, if you review overall costs (check http://www.gamedev.net/community/forums/topic.asp?whichpage=2&pagesize=20&topic_id=91818 for a post by myself on bandwidth costs in comparison to overall costs and I''m still not listing a lot of stuff), you will find that bandwidth cost maximizing is almost a non-issue. You can pay for twice the bandwidth that you need and you still would probably only be touching maybe 20% of your overall costs and that''s with my inflated rates of cost.

Figure that most games want to average around 1kB/sec to support enough updates to keep the game playable, but not so much as to exclude some areas being playable for those still on bad modem connections. Also, at highest peak times, you will only see 25% of your userbase online. This means that you need 1kB/sec per 4 users. Every 100k users will run you 25MB/sec, or 200Mb/sec. Using figures that someone who works for a company that spends a LOT on bandwidth (they send over 1.5Gb/sec during peak times), you should be spending at most $.40 per 1kB/sec in a colocation situation. Those 100k users will cost you around $10k to support every month ( (100k*25%)*.40) if you can keep your bandwidth usage down to around 1kB/sec. If you can''t keep it down to an average of 1kB/sec, you''re not going to go very far anyway and you''ll end up losing a lot of customers who can''t deal with the lag issues in higher population areas and during combat.

If you go with his (the person who actually knows about bandwidth costs) figures instead of mine (the person who''s basing pricing on having a line run 7 years ago, the last time I actually did research on OC3 costs) on bandwidth costs, you''re looking at having less than 4% of your costs be bandwidth related. You can''t save 20% of your overall costs on bandwidth. The only way that you can save 20% is if you are saving a lot on customer service.

I''d suggest looking into hiring a networking person. I''m just not seeing how this company can optimize the information that you''re sending and receiving without you devoting an employee to it anyway. Sure, gamers aren''t usually good networking guys, but there are a good number of networking guys who want to learn game programming and if their way in is to program a nice reliable UDP layer, I''m sure they''d do as good a job as possible and while they won''t save you 20% on bandwidth, you should be only spending $2 for every 16 users every month anyway... unless you''re spending the rediculous amount of money that it would cost to get OC12s run to your location.
Well, sorry for the delay, I''ve been away for awhile...

quote:
Unfortunately, if you review overall costs, you will find that bandwidth cost maximizing is almost a non-issue. You can pay for twice the bandwidth that you need and you still would probably only be touching maybe 20% of your overall costs and that''s with my inflated rates of cost.


I reviewed your costs and it gives only a portion of the reality. Assuming about 100,000 network equipement, you factor 540,833$ of monthly costs on revenues of 1M$. Then, you need to amortize your development costs. If you assume 5M$ development costs, then you will amortize your development in about 11 months, assuming you sustain 100,000 subscribers. Then, your profit margins will be 46% during your equipment amortization period and overall, your ROI will establish itself around 4.65x for 4 years operations. (without adjusting for subscribers fluctuations)

In my game, I can route realtime data packets outside my server farm, probably saving 50% of bandwidth over your assumption. On the infrastructure side, my game state engine better exploit my server farm. Each server blades (worth 2500$) can support about 2500 object, PC or NPC. I have about 40 NPC for each online player, meaning I save 2/3 your infrastructure costs, excluding my 25,000$ database server (which is used on average once a minute per artive object). Assuming the same network equipment costs (100,000$) and the network middleware royalty, my profit margins are 52%. Oh yeah, because my backend is monitored partially by the middleware provider, I save 2 MIS guys... Then, factor in your development costs: $4,000,000 for me, one million less because I didn''t had to care with the client side, cross-platform issues, dead reckoning, distributed physics, lag, server load balancing, etc. Then again, I add 250,000$ for the cost of the upfront license. In the end, the same revenues results in an ROI of 6.57, which is 41% greater than you.

quote:
You can''t save 20% of your overall costs on bandwidth.


As you can see, I don''t expect to save 20% of my overall cost because of bandwidth optimization. In the above scenario, only 4% is attributed to bandwidth savings.

Early in the development process, we only serve ourselves by doing a throughout evaluation of what''s available to us. Most people I know that used physics and 3D middleware wouldn''t choose anything else. Networking is new and not a lot of companies are getting it right. In the end, we are doing this job because we love it and because we would like to make money. If showing an increased ROI with lower risks provide better chance to sign a publisher/getting the product out, then I would say one''s better off with middleware than building it yourself. In the end, the risks vs rewards equation is prevailing...

r u a newbie? indie? or bigwig with capital?

choose nevrax if newbie or indie.. www.nevrax.org

seems workable enough (not a coder but a Project Mgr so correct me if im wrong)

still needs bump mapping and directx8 type shader effects though.. but has client and server all free.. uses 3d max for art an stuff.. bezier instead of heighmaps (can do cliff walls... overhangs, etc..)

yeh id try that i think..

but whaddu i know
No matter where you go, there you are -Buckaroo Bonzai

This topic is closed to new replies.

Advertisement