Help me make the first step

Started by
26 comments, last by Hippie Geek 10 years, 3 months ago

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:

commandos_beyond_the_call_of_duty_18.jpg

and this:

eFlqW35.jpg?1

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.

Advertisement
boogyman19946

I'm going to read that post right now, it looks interesting, but let me tell you something. If throughout my life I had always listened to the "don't do X, give up, it's too hard/unlikely/impossible" I would have never gotten the best experiences i've had. And the best achivements too.

The most interesting things ever done, were always done by people going the hard/impossible path. People swiming up the river while others were just going with the natural (easy) flow.

I'll do my best to make it, and I don't say that lightly. I'm not saying you guys are wrong, chances are I won't make it to the end. But even if I don't, I'll be a better version of me.

// cifra gets off the stage and the crowd stands up clapping and crying

shadowisadog

Thank you, that is very useful. Confirms the Unity choice and some others. My plan is almost a copy, except the first point. I'm not making a game to sell, I'm making a game to enjoy, an authentic and original gaming experience. If that sells, so be it.

I'd say that Unity is a good choice; as good as many others.

It looks like you need some more research. No one but yourself can tell you what you need and want.

Unity3D, Leadwerks 3, Maratis3D, Polycode, any of these are good options; also several not listed here, as these are just the ones that "popped" in my mind right now.

The only point that worries me is that you said you are willing to put money on it, but asked nothing about marketing, IP...

The way you wrote made me believe you have solid C++ and C#, so you can code the game.

But it also looks like you know absolutely nothing about production; what probably means you shouldn't put money on anything just yet.

Grab a Game Production book or even a website where you can study this. It is important if you are going to create a big project, specially if you intend on being its leader.

I'm not saying that you need to study the production process, you need marketing, you need ... I'm just saying that you would benefit a lot from these.

boogyman19946

I'm going to read that post right now, it looks interesting, but let me tell you something. If throughout my life I had always listened to the "don't do X, give up, it's too hard/unlikely/impossible" I would have never gotten the best experiences i've had. And the best achivements too.

The most interesting things ever done, were always done by people going the hard/impossible path. People swiming up the river while others were just going with the natural (easy) flow.

I'll do my best to make it, and I don't say that lightly. I'm not saying you guys are wrong, chances are I won't make it to the end. But even if I don't, I'll be a better version of me.

// cifra gets off the stage and the crowd stands up clapping and crying

Well, I must applaud you on courage and patience. Just be aware that if you are really serious about making this, make extra sure not to spend your life savings on something the you know has a small chance of being a success. Then again, I guess I don't have to tell you that.

Yo dawg, don't even trip.

I'd say that Unity is a good choice; as good as many others.

It looks like you need some more research. No one but yourself can tell you what you need and want.

Unity3D, Leadwerks 3, Maratis3D, Polycode, any of these are good options; also several not listed here, as these are just the ones that "popped" in my mind right now.

Unity seems like the biggest one in terms of documentation and community/support. And is the one people never forget to mention.

The only point that worries me is that you said you are willing to put money on it, but asked nothing about marketing, IP...

That's because i'm not that interested in profitability just yet, if ever. Also I know a fair share of marketing, IP, communication etc. But the former reason is the most important.

But it also looks like you know absolutely nothing about production; what probably means you shouldn't put money on anything just yet.

Grab a Game Production book or even a website where you can study this. It is important if you are going to create a big project, specially if you intend on being its leader.

I'm not saying that you need to study the production process, you need marketing, you need ... I'm just saying that you would benefit a lot from these.

I agree, will do.

I think the problem here is that you're taking two completely different ballparks of speculation and saying you're in the opposite one.

To use a more pragmatic example, once upon a time people used to say man could never walk on the moon, an impossible feat of course. But we did walk on the moon, why? Because two rather large and powerfulc ountries got into a bit of a hissy fit fight over who could do it first.

The point? The point was that people said it could not be done because they believed that there existed no path to do so, it happened because thousands of very intelligent scientists and researchers and engineers in different countries set out to figure out how to make it happen, so it happened. It was hard, yes, it was thought impossible, but they did it because they followed a path that made sense.

What you are doing here, and arguing that you are not, is that you are basically going "I'm going to climb mount everest, I will do it without any equipment, planning, training, or any sort of logical path to completion that makes the almost impossible goal become possible. Basically everyone here is telling you that what you're trying to make is too much to make as a beginner. A beginner engineer would not be able to design a spacecraft that reaches the moon, they can try and say they would work all they like, but in reality the ones who did it were people who grew up wanting to be engineers and were simply contracted to do the job.

What I'm basically getting at is that you're thinking nobody here is taking you seriously because you will "defy the odds" but in reality nobody here is taking you seriously because the way you're wording your posts implies you don't actually have the knowledge or skill(even in managing other game developers) to attempt a game of this type yet. If you want everyone to take you seriously you should do your own research and come up with a game plan and then ask the talented people that post here for advice on how they would attack the problem, not to be told exactly what to do.

Personally I disagree with anyone that goes "oh put your heart and soul into it and you can code even the largest mmo with enough time and effort." If that is true I have yet to see the human being that does that, that would be machine grade insanity.

Satharis

Using your own example, going to the moon in the sixties, the moral of the story is that when they thought it was impossible, they were wrong. Period. Of course they didn't know for sure at the time, but in 1969 they found out everyone who said traveling to the moon was impossible, was completely wrong. The "impossible" word has a very clear definition in the dictionary.

I could care less about people taking me seriously or not, I came here for information, and in the end I have found more or less what I needed. As the title of the thread states, this is just to make the first step which in my native language is something like "info gathering". And that's what I'm doing. I have lots of study ahead of me and then I'll put my hands to work, when the time comes, I'll probably be coming here with more concrete questions.

By the way, I learnt your language in a few months by myself watching hollywood movies in original version and taking notes while everyone said it was impossible. They were wrong.

From Everything you wrote: I strongly advise against using Unity!!!!

I am sure all of the Unity fans will hate me for saying this. But it is my strong opinion.

I have completed projects in Unity and Unreal. For me there is no comparison.

Unreal is the winner in every single category by a landslide.

Unreal is a C++ Engine, and if you buy a full license they give you the source.

Their is also 2 levels of proprietary scripting languages that run on top of the C++ code

that help make quicker prototyping. A node based completely visual language, and

a standard Scripting language that is Unique to just this engine.

Unreal is considerably steeper learning curve, and will take you much longer to get comfortable with it.

Unity is a runtime environment where you will do most things in JavaScript, or C#

You can get something up and running in Unity pretty fast. The learning curve is not so bad.

Unity is a good stable program and it works. For most beginners it is fine.

If you are just doing this for fun this is fine.

But...................

You have already thrown out a few things about yourself such as:

you code in C++

you own your own business

you can afford to hire people

If all of this is true, then you should totally understand what I am about to explain.

At some point down the road, You will want your game performance to be as good as possible

For a simple game on the PC unity will do just fine, because modern PC's are very powerful. You can afford to be sloppy and not optimize to the max.

But PC gamers demand high levels of excellence on games, and to be a commercial success it must be very good.

Eventually, you will want to push the PC to the max (Example you want to get 4,000 players simultaneously fighting in an MMO battle everybody firing projectiles, enemies attacking, beautiful sound, beautiful environment graphics, Everything perfectly synched to the fraction of a second, etc etc). You are going to need all the control only C++ can provide.

As soon as you want to port it to a tablet or mobile. THIS BECOMES MORE IMPORTANT THAN EVER

portable devices are severely limited. So every KB of memory is going to count in a big way.

it will mean the difference from your level looking good, sounds being good, your characters looking better etc.

Whether you do PC or Mobile, eventually you will want to push the machine to its max abilities

a runtime environment program such as unity will rob you of that choice, and will dictate to you

what the runtime environment allows not the machine's max.

It is like If you build a great app in Basic and then push it to as far as you can take it.

You realize you need C++ to take it into the next level, and that you basically need to rewrite the whole thing from scratch.

I am sure you know what I mean.

It is the same thing with Unity. Nothing against them it is a great product.

But I think whatever pleasure you get out of it being easier to use, will not come close to the pain of

working a year in Unity only to realize you need to start again if you want to go any further.

I would say don't even think about Unity and go straight for Unreal or another C++ Engine.

Unreal is not that much harder to learn.

You can do most things in the editor and never need to touch the C++ code.

But the second you need, it is there, you can get the machine running to the max, and don't have to start again.

Also looking at what was released on Unity vs what was released on UDK.

You will see many huge releases on Unreal, and unity is really focused on smaller projects.

As far as support and community. There are the same if not better resources for UDK. Just check out Eat3d or 3dMotive Unreal Tutorials.

Why start with the wrong platform?

Just my $0.02

My Projects: - www.repulse.com

Also, you said:

"The most interesting things ever done, were always done by people going the hard/impossible path."

So the easy road is Unity. The hard path is Unreal. I don't believe in impossible, but the almost impossible path would be writing your own engine better than Unreal. They have been working on that for 15 years and is among the best if not the best of it's class.

One last thing. I agree with every one else who told you this project is too big for a beginner. I don't think you fully comprehend the scope of making a game that that is fun, forget about the graphic or MMO complexities for now. Just think about what I am saying for a second. Make something that is fun. It is not as easy as it seems. Fun is not just about knowing how to make the graphics and the code or making the program work, it has to be fun. If the game isn't fun, nobody will want to play it. If it is fun there is no limit to how far you can take it.

Not that you can't your MMO ever, but I would set my first target a little lower. I would set my sights on just solving the simpler problem of making a small game that people will love to play, and go from there. I am at this for a few years already, I can afford to hire a team to build whatever I want, but I wouldn't even think of tackling an MMO just yet.

My Projects: - www.repulse.com

Unity seems like the biggest one in terms of documentation and community/support. And is the one people never forget to mention.

Yep, but that is because the company behind Unity has spent a lot of money running PR campaigns targeted towards the communities of forums like these. Hobby developers mindlessly singing praises of the Unity product does start to get on my nerves ;)

I agree with JustColorado about avoiding Unity for large projects (which the OP's sounds to be). For example, its continuous integration and test system (The Editor doesnt even return !0 on error!) is almost non-existent and needs to be hacked into things like Bamboo/Jenkins. This is effectively a show stopper for any sizable project. Though it does explain why there are pretty much no AAA titles developed using it.

Plus with any generated scenes (like in many RTS/Simulator type games), the Unity editor really does lose any usefullness it did have.

http://tinyurl.com/shewonyay - Thanks so much for those who voted on my GF's Competition Cosplay Entry for Cosplayzine. She won! I owe you all beers :)

Mutiny - Open-source C++ Unity re-implementation.
Defile of Eden 2 - FreeBSD and OpenBSD binaries of our latest game.

This topic is closed to new replies.

Advertisement