# Help me make the first step

This topic is 1463 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

## Recommended Posts

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!

Edited by Cifra

##### Share on other sites
If you've never made games then change from MMO to some other much (much) smaller single player game type (mmo's are the last kind of games i want to make). The meaning of MMO is enough.

##### Share on other sites

If you've never made games then change from MMO to some other much (much) smaller single player game type (mmo's are the last kind of games i want to make). The meaning of MMO is enough.

I understand your worry but I'd really appreciate if you could address my questions. I may opt to hire more coders besides artists and move the project forward so please respect the original post.

##### Share on other sites

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?

These are all questions of the type "if you have to ask, you really shouldn't bother asking". Show some modicum of effort and do your own goddamn research!

Yes I was afraid I was asking too much and too general. I assumed it would be better to throw several questions and hope to get some answers than just to ask one thing (which was the original idea, to ask about Unity for my particular project). Can you get any of my questions?

I really hope there are skilled enough people here to answer these questions.

Implying that we're not "skilled enough" if we can't/won't spoon-feed you answers to you ill-formed questions. That's not a very good way to start out in a community.

Since it is a beginners forum I was only trying to prevent other beginners like me from jumping in with speculations, a very common thing to happen in such forums, not everything is an attack Mnemotic :)

I understand your worry but I'd really appreciate if you could address my questions. I may opt to hire more coders besides artists and move the project forward so please respect the original post.

So you're wealthy? Because hiring people strongly implies paying them. In cash. At market rates.

I am not rich but I can funnel some money to this project. I own a small company so I know a bit about paying salaries, yup.

I have the feeling you are used to people promising the world and delivering nothing. I'm not in that demographic.

##### Share on other sites

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?

Based on the vague information you've provided, it seems to me that you're looking to develop some sort of a multiplayer dungeon crawler. I told this to my magic 8ball and it came back with the following list:

• Either a game development kit, like Unity3D; any 3D game engine under the sun, if you're feeling adventurous; or roll your own if you never want to release a game. Ever.
• Database software for persistence -- I'm partial to PostgrSQL because it isn't MySQL.
• 3D modeling and animation software for creating character models and environments. Blender, Maya and 3DMax are popular contenders. Blender are free, other have licensing costs.
• 2D art software for creating textures and concept art -- Photoshop or GIMP or MSPaint.
• Hardware for developers and/or test environment.

Rough outline of the tradition inception-development-release cycle is as follows:

1. Write a game design document.
2. Get funding.
3. Hookers and blow.
4. ???
5. Release.

Since it is a beginners forum I was only trying to prevent other beginners like me from jumping in with speculations, a very common thing to happen in such forums, not everything is an attack Mnemotic

Your questions are in a form that encourage speculation.

##### Share on other sites

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?

Based on the vague information you've provided, it seems to me that you're looking to develop some sort of a multiplayer dungeon crawler. I told this to my magic 8ball and it came back with the following list:

• Either a game development kit, like Unity3D; any 3D game engine under the sun, if you're feeling adventurous; or roll your own if you never want to release a game. Ever.
• Database software for persistence -- I'm partial to PostgrSQL because it isn't MySQL.
• 3D modeling and animation software for creating character models and environments. Blender, Maya and 3DMax are popular contenders. Blender are free, other have licensing costs.
• 2D art software for creating textures and concept art -- Photoshop or GIMP or MSPaint.
• Hardware for developers and/or test environment.

Rough outline of the tradition inception-development-release cycle is as follows:

1. Write a game design document.
2. Get funding.
3. Hookers and blow.
4. ???
5. Release.

So Unity3D is a good choice after all, good.

I'll look into RakNet.

That outline was a good try but wasn't funny at all, you gotta work on your jokes man.

Since it is a beginners forum I was only trying to prevent other beginners like me from jumping in with speculations, a very common thing to happen in such forums, not everything is an attack Mnemotic

Your questions are in a form that encourage speculation.

Experts don't speculate ;)

##### Share on other sites

"I have the feeling you are used to people promising the world and delivering nothing. I'm not in that demographic."

The others all do say that as well, though... :-)

But I really mean it...

##### Share on other sites
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

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.

##### Share on other sites

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.

Edited by dejaime

##### Share on other sites

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.

##### Share on other sites

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.

##### Share on other sites

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.

##### Share on other sites
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.

##### Share on other sites

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 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.

Just my $0.02 Edited by JustColorado #### Share this post ##### Link to post ##### Share on other sites 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. Edited by JustColorado #### Share this post ##### Link to post ##### Share on other sites 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. Edited by Karsten_ #### Share this post ##### Link to post ##### Share on other sites no AAA titles developed using it. That pretty much sums it up for Unity. One other recommendation on an Engine that works great for ISO 3d games. SFML I have done projects in this one also and I loved working with it. Also a great community there and it is Free. I haven't tried it for iOS or Droid yet. So I can't vouch for that. But for PC it worked fantastic. #### Share this post ##### Link to post ##### Share on other sites All people talking about Unreal, great points. I never heard of it but I will look into it and make a decision. Unity really seemed easy to learn and develop with but what you are saying makes a lot of sense. To Unity fanboys, is it really that sloppy/inefficient you think? PS: I was thinking making the game a browser game like deadfrontier, Unity seems to make it easy, i don't know about Unreal. Edited by Cifra #### Share this post ##### Link to post ##### Share on other sites While I agree with the advice that was given about Unreal Engine, I don't think they knew you were developing a browser game. Most people saying they want to make an MMO mean they want to make an MMO that will finally dethrone World of Warcraft. Had you posted screenshots of Dead Frontier instead of Diablo, people probably would have reacted very differently and had far more advice and far less ridicule. Dead Frontier uses Unity, so obviously Unity will work if that is your goal. You can look up a game's Wikipedia entry, and you'll often see what engine they use. Please don't try to start a flame war by telling Unity fanboys that anyone said it is very sloppy and inefficient. Unity is just fine for most uses, and I think even fanboys will admit you're unlikely to see the next Call of Duty release being powered by Unity. #### Share this post ##### Link to post ##### Share on other sites Personally I am not a fan of UnrealScript. I have done some work in UDK and even written an article (http://www.gamedev.net/page/resources/_/technical/game-programming/using-c-managed-dlls-in-udk-r3203) or two about using it, however for the game project I am currently working on we abandoned UDK in favor of Unity. When using UDK (without source code access of course) it seems that you are very tied into the Unreal way of doing things. The editor and graphics capabilities of UDK are top notch, however I think Unity provides more flexibility when it comes to programming possibilities. I think others might be neglecting the fact that unless you have some serious cash and connections or are an established studio (in which case you might not be asking this question) you will NOT have C++ source code access to the Unreal engine in the current version. That is just not going to happen period. According to http://devmaster.net/devdb/engines/unreal-engine-3 : Cost is estimated to be more than$700,000

In that case then UDK is not a C++ engine but an UnrealScript one for development (with the possibility to use DLLs, but that will not work on mobile).

Also keep in mind that for UDK 4 UnrealScript is being dropped in favor of C++. http://forums.beyondunreal.com/showthread.php?t=198378 . I do not know if it is a good idea to invest in a proprietary scripting language that is being replaced in the future. At least coding in C# or a standardized language provides potential that some of the source code base could be moved over to other technologies. UDK 4 might be a good option for a C++ engine (assuming there is a version for indie developers that has C++ available...) but that is going to be some unknown amount of time in the future.

I am assuming the people who developed the games on this list: http://unity3d.com/gallery/made-with-unity/game-list found that Unity performed reasonably for them as they were able to create games in it.

I wonder for instance if the developers of the game https://www.mwtactics.com/landing/ from the above list realize that they really need the power of C++ to save them from having to completely start over? How embarrassing for them indeed.

I am not a Unity "fan boy", but I do think it is a decent tool. I am not a fan of the fact that the pro version costs $1500 or that other licenses for other platforms cost even more for instance... however it seems to be a fair price if you are an indie studio serious about creating a game. Realistically unless you are a major AAA game studio I think Unity is a reasonable choice. It may be true that no AAA games have been created in it and it may be true that it is not the ideal choice if you are after extreme performance, but that does not mean that it is not an acceptable choice for an indie game or for a beginner. Anyway the true answer is pick the right tool for the job period. Perform a technology evaluation and consider your specific needs when picking technologies. Do not just blindly jump on ANY bandwagon no matter how much it is recommended. Pick technology based on REQUIREMENTS. Edited by shadowisadog #### Share this post ##### Link to post ##### Share on other sites Personally I am not a fan of UnrealScript. I have done some work in UDK and even written an article (http://www.gamedev.net/page/resources/_/technical/game-programming/using-c-managed-dlls-in-udk-r3203) or two about using it, however for the game project I am currently working on we abandoned UDK in favor of Unity. When using UDK (without source code access of course) it seems that you are very tied into the Unreal way of doing things. The editor and graphics capabilities of UDK are top notch, however I think Unity provides more flexibility when it comes to programming possibilities. I think others might be neglecting the fact that unless you have some serious cash and connections or are an established studio (in which case you might not be asking this question) you will NOT have C++ source code access to the Unreal engine in the current version. That is just not going to happen period. According to http://devmaster.net/devdb/engines/unreal-engine-3 : Cost is estimated to be more than$700,000

In that case then UDK is not a C++ engine but an UnrealScript one for development (with the possibility to use DLLs, but that will not work on mobile).

Also keep in mind that for UDK 4 UnrealScript is being dropped in favor of C++. http://forums.beyondunreal.com/showthread.php?t=198378 . I do not know if it is a good idea to invest in a proprietary scripting language that is being replaced in the future. At least coding in C# or a standardized language provides potential that some of the source code base could be moved over to other technologies. UDK 4 might be a good option for a C++ engine (assuming there is a version for indie developers that has C++ available...) but that is going to be some unknown amount of time in the future.

I am assuming the people who developed the games on this list: http://unity3d.com/gallery/made-with-unity/game-list found that Unity performed reasonably for them as they were able to create games in it.

I wonder for instance if the developers of the game https://www.mwtactics.com/landing/ from the above list realize that they really need the power of C++ to save them from having to completely start over? How embarrassing for them indeed.

I am not a Unity "fan boy", but I do think it is a decent tool. I am not a fan of the fact that the pro version costs \$1500 or that other licenses for other platforms cost even more for instance... however it seems to be a fair price if you are an indie studio serious about creating a game.

Realistically unless you are a major AAA game studio I think Unity is a reasonable choice. It may be true that no AAA games have been created in it and it may be true that it is not the ideal choice if you are after extreme performance, but that does not mean that it is not an acceptable choice for an indie game or for a beginner.

Anyway the true answer is pick the right tool for the job period. Perform a technology evaluation and consider your specific needs when picking technologies. Do not just blindly jump on ANY bandwagon no matter how much it is recommended. Pick technology based on REQUIREMENTS.

Its not that strange that it isn't used for AAA games, Unity and UDK are not AAA engines. (UE3 was 4 years old and pretty much at the end of its life as an AAA engine when Epic repackaged it as the UDK for indies and hobbyists), the current version of Unity is able to match many(but not all) of todays AAA games technologically but if you start developing a AAA game today you can't settle for matching what your customers are allready playing, by the time you release that simply won't be enough anymore.

a UE4 version of the UDK is unlikely to make an appearance until after UE4 has played out its role on the AAA market and thus won't really be an option for indies and hobbyists for a few more years.