Hi!
I'm a long time C++ programmer (hobby) and lately I've been poking C# with a few small projects. I've always had the feeling that all these online MMO medieval games were too "fantastical" and out of line. So I thought my next project could be making one of my own.
Here's what I think I want to create:
- A realistic medieval society kind of simulator.
- Isometric perspective, or 2.5D, or 3D 45º i don't really know what you call it. It would look between this:
and this:
I havent decided yet the exact look, but you get what I mean.
- Also, ideally it would be playable by a lot of people at the same time, like Diablo.
Suming up, I'm a programmer who knows nothing about 3D or game design but I'm a very fast learner and I'm willing to invest money too (i was thinking to hire an artist if i see it's too time consuming for me for example).
What I need to know is, what technology should I use? What software does one use to achieve what I want to achieve? Should I go Unity? Should I build it from scratch using some engine? Which one and why? What should I use to do the art part? What's the general process of developing a game such as mine?
I really hope there are skilled enough people here to answer these questions.
Thank you very much!
I am going to take a different approach and rather then explain why you shouldn't do this project (as many others have already done so), I will take a bit of time to explain how I would go about doing this project.
If I were setting out to make an isometric MMO game from scratch right now I would start off by doing the following:
0. I would conduct market research to determine if the public wanted this game and perform appropriate cost/benefit analysis to determine if this was a viable project. Knowing the the project was going to cost several million dollars (or so) to develop, I would need to make sure that I was going to get a return on my investment. I would need to probably have some industry connections in order to secure venture capital to fund my project and/or to convince investors that my project was a good idea.
1. I would fully design the game mechanics, plot, quests, mechanics, ect. To make a "realistic" game is going to involve a lot of research and so I would go find reference documents and spend a great deal of effort figuring out exactly what world I was trying to create. If I had artistic skills I would create some crude concept art to show potential artists.
2. After I created the design I would start working on a technical design document. I would consider what I wanted to create and the required technology to actually pull that off. Using my experience I would select a proper technology. I would "probably" pick Unity because it has good language support, it is cross platform, and it is very popular (so that means high community support and available resources). I personally wouldn't "roll my own".
3. I would research how to construct a client/server architecture in Unity. I might start by making a simple authenticated chat program. I would look into authentication and security concerns, combined with developing a server/database backend, and defining a messaging protocol (or selecting one) for my game. I would do some research into how to build a scalable architecture.
4. I would start by getting a player moving around in the game world. I would add collision detection and I would start working on inventory control, spell system (if you have spells), and the in game tutorial.
5. I would early on consider how I was constructing my quests and the "quest engine".
6. At the point where I have gotten this far and I have a technology base with a plan and hopefully some investors, I would start trying to recruit people to join my team. I would make sure I had appropriate legal paperwork such as NDAs, revenue/worker agreements and other legal paperwork ready.
Throughout all of this I would be using project management software, doing labor forecasting, conducting technology evaluations, performing interviews, researching hardware options for the servers, setting up source code management/coding standards, ect.
Basically this is a BIG project that takes lots of money, time, talent, and dedication. You say or seem to suggest that you can bring all of that to the table, so best of luck to you.