Sign in to follow this  
AltairZeroquat

delete this thread please

Recommended Posts

ApochPiQ    23005
There does not exist any off-the-shelf software which is both highly feature-rich in the specific areas you want, [i]and[/i] free/cheap. Either you build it yourself, which is not feasible, or you buy it, which is again (for money reasons) probably not feasible.

As such, [url="http://www.gamedev.net/blog/355/entry-2250155-why-you-shouldnt-be-making-an-mmo/"]this[/url] is obligatory reading.

Share this post


Link to post
Share on other sites
nfries88    1154
[quote name='AltairZQ' timestamp='1309393712' post='4829334']
Is there an engine in the market that would allow to do this? And that could render that amount of objects without suffering? And of course that doesn't cost houndreds of thousands of dollars (although it would be interesting to know also).[/quote]
With no work at all? None exist.
You will need to do a large amount of programming/scripting regardless of how flexible or inflexible your world is. The only "game engine" that can simply be downloaded and function entirely on its own to be a complete game, is a complete game. Sorry.

[quote]Or maybe the most viable option would be to create the engine myself? I wouldn't need fancy state-of-the-art graphics, just a basic lighting and shadows. What i'm more worried about is performance.

Also, the idea i have in mind is an MMO not too centered in combat, rather a sandbox MMO where combat would be one option out of many. I would like to recreate a living world with a basic ecology and some other features not found in traditional comercial MMOs. For instance player freezing under extreme cold.[/quote]
Here I can help you.

If you're a C++ programmer, Boost has a few excellent libraries that will help you on the server-side of things (in MMOs, you interact with other people via connecting to a server, in case you weren't aware). Boost.Thread (concurrency) and Boost.Asio (highly scalable network) are the most important of these, but there's also Boost.Filesystem (crawling your hard disk), Boost.Pool (for managing your own memory), and Boost.MSM (useful for any interact-able game objects; such as NPCs, players, and the blocks to an extent).

On the client side of things, there's a few different libraries you could use. Irrlicht, Ogre, SDL+OpenGL, ClanLib+OpenGL, some cheap proprietary engine; it's up to you.

I've done a ton of work with MMO servers, so I'm pretty familiar with those concepts. Boost will save you a crazy amount of dev time there, with little performance hit (in fact, Boost.asio will probably implement the network better than you would yourself -- it's a godsend for anyone wanting to write a scalable server).

Share this post


Link to post
Share on other sites
wildpins    40
Big World Technologies + Python scripting + 9 months of solid scripting + 3 months of solid modeling and you can make a full sandbox minecraft.

Share this post


Link to post
Share on other sites
JackTheRapper    150
[quote name='AltairZQ' timestamp='1309427954' post='4829474']
As someone said (Raundy Pausch), brick walls are there to separate the people that really want something from those that don't.
[/quote]

Yes, but you have to be realistic. Practice does NOT make perfect, practice only makes perfect when you're practising the right thing. I'm sure you'll learn lots of interesting things by tackling (and, realistically, ultimately failing) such a project, but the things you'll learn most certainly won't be about MMO games. It's akin to repeatedly running into a brick wall to learn that new shoes can cause painful blisters. There's easier and more efficient ways to learn such things. I'm not saying this to rain on your parade, if you have a strong desire to make the game you desire then you'll have the drive to go through the necessary precursory steps (which takes time). Building up your skills and experience in incremental steps takes more strength of character and determination than steeling yourself up for foolhardy challenges such as making a MMO game with absolutely no experience.

Share this post


Link to post
Share on other sites
nfries88    1154
[quote name='AltairZQ' timestamp='1309427954' post='4829474]
If nothing of the above works for me then I would have to build it, with something like Boost as you suggested, [b]nfries88[/b]. How long would that take me, providing I can work lets say the average 40 hours a week in the project. 1 year? 5 years? 10 years? (I can't spend more time than that :)).
[/quote]
Depends on your own ability as a programmer, how quickly you can learn new APIs and solve problems, and the dependability of other developers you gather.

1 year is a fair estimate for a basic Minecraft-like MMO. Certainly less than 5 years.

Share this post


Link to post
Share on other sites
Mayple    187
Building and MMO probably isn't the smartest thing however if you want google[b] Maniac Digger[/b]. It is an open source C++ minecraft style game. I am sure after learning and working with it, you can customize it to how you want.

-Mayple

Share this post


Link to post
Share on other sites
Katie    2244
"1) Would a commercial enginge available for Indies (up to 5000$) allow this level of costumization"

No. You're going to have scalability issues. Why? Because most extant MMOs (and hence their engines) are based around rather static world geometry. Minecraft keeps the geometry local and generates by psuedorandom techniques when required, saving the areas as it does so.

In order that you can have a landscape like that but which can be altered by any of the players, you'll need to store the whole landscape (in the way Minecraft does) but also to send deltas in that landscape to all players who can see the change (and you'll need to determine who can see each change). In addition you not only have to tell players connected now about changed geometry, you'll need to tell all the players who will reconnect later about changes.

It's not impossible, but it's a difficult problem to solve well. Which brings me onto the next part...

" If nothing of the above works for me then I would have to build it, with something like Boost as you suggested, [b]nfries88[/b]. How long would that take me, providing I can work lets say the average 40 hours a week in the project. 1 year? 5 years? 10 years? (I can't spend more time than that"

If you are at the stage of referring to Boost as "something like Boost" then you have a number of things ahead of you.

You need to;

1. Get good at C++.
2. Get good at games development.
3. Write this game.

There's a reason why, when I go shopping for good C++ developers, I'm looking for people who've been using it for several years. It takes of the order of 10000 hours to get good at something. There are about 2000 working hours in the year, so 5 years is the point at which people could be good. 5 years does not MAKE a good C++ developer[2] but the chances of someone with a year of it being good are so small it's not worth worrying about. It's not that I wouldn't hire them, but I would be aware that if I hire them I'd be expecting to have a lot of conversations about segfaults.[1]

Games dev is a related but different set of skills. It's about understanding how to handle game loops, to defer doing things, to cache things, to handle inputs in the right way, to look at a set of problems and understand how to solve them not just in performant ways but within the envelopes of games. To understand things like "good enough is good enough", "faking it is cheaper than doing it" and "neither you nor the player needs this". These are skills which also need honing. They're less technical than the development -- they're about psychology, project scope management, product ownership and control. But they still need to be learned and practiced.

I'm telling you all this because "1 year is a fair estimate for a basic Minecraft-like MMO. Certainly less than 5 years" is almost certainly untrue. It's not a malicious lie; it's an untruth born of optimism. But it's still unlikely to be true. And you'll be disappointed. Minecraft's a tricky problem to solve -- and to be clear here, Notch is NOT a beginner. It's not his first released game nor is it his first released bit of software. And it's taken him a year. And an MMO version of it is a step further on.

Why DOES everyone want to write an MMO as their first game? What happened to implementing things like Qix or Pong or Breakout so that you get the hang of the basic principles before leaping straight into client-server software that is complex by anyone's standards?





[1] Yes, I know everyone here is an EXPERT in C++, and that you all got that way in just a couple of weeks and that you're all exceptional in this. So don't even bother telling me.

[2] This is a common commercial error in hiring processes.

Share this post


Link to post
Share on other sites
Tom Sloper    16040
[quote name='AltairZQ' timestamp='1309393712' post='4829334']
delete this thread please
[/quote]
No. I'll close it, but you did a bad thing deleting all your questions. Do not do that again on this forum.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this